Re: [llvm-commits] CVS: llvm/lib/Target/X86/X86InstrFPStack.td X86InstrInfo.cpp X86InstrInfo.h X86InstrInfo.td X86InstrMMX.td X86InstrSSE.td

2007-06-19 Thread Evan Cheng
On Jun 18, 2007, at 10:29 PM, Chris Lattner wrote: > > Hi Dan, > > I'm sorry to be such a pain, but this seems like a step backward. > We've gone from having an explicit flag in the .td files to having > another magic table in the .cpp file (somewhat amusing because > 'duplicable' just made the o

[llvm-commits] CVS: llvm/lib/Transforms/Scalar/GVNPRE.cpp

2007-06-19 Thread Owen Anderson
Changes in directory llvm/lib/Transforms/Scalar: GVNPRE.cpp updated: 1.40 -> 1.41 --- Log message: Handle constants in phi nodes properly. This fixes test/Transforms/GVNPRE/2007-06-18-ConstantInPhi.ll --- Diffs of the changes: (+10 -1) GVNPRE.cpp | 11 ++- 1 files changed, 10 i

[llvm-commits] CVS: llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp ScheduleDAG.cpp SelectionDAG.cpp

2007-06-19 Thread Dan Gohman
Changes in directory llvm/lib/CodeGen/SelectionDAG: DAGCombiner.cpp updated: 1.312 -> 1.313 ScheduleDAG.cpp updated: 1.125 -> 1.126 SelectionDAG.cpp updated: 1.407 -> 1.408 --- Log message: Pass a SelectionDAG into SDNode::dump everywhere it's used, in prepration for needing the DAG node to pri

[llvm-commits] CVS: llvm/lib/Target/Alpha/AlphaISelDAGToDAG.cpp

2007-06-19 Thread Dan Gohman
Changes in directory llvm/lib/Target/Alpha: AlphaISelDAGToDAG.cpp updated: 1.69 -> 1.70 --- Log message: Pass a SelectionDAG into SDNode::dump everywhere it's used, in prepration for needing the DAG node to print pre-legalize extended value types, and to get better debug messages with target-sp

[llvm-commits] CVS: llvm/lib/Target/IA64/IA64ISelDAGToDAG.cpp

2007-06-19 Thread Dan Gohman
Changes in directory llvm/lib/Target/IA64: IA64ISelDAGToDAG.cpp updated: 1.65 -> 1.66 --- Log message: Pass a SelectionDAG into SDNode::dump everywhere it's used, in prepration for needing the DAG node to print pre-legalize extended value types, and to get better debug messages with target-spec

[llvm-commits] CVS: llvm/include/llvm/Analysis/ScalarEvolution.h

2007-06-19 Thread Dan Gohman
Changes in directory llvm/include/llvm/Analysis: ScalarEvolution.h updated: 1.21 -> 1.22 --- Log message: Rename ScalarEvolution::deleteInstructionFromRecords to deleteValueFromRecords and loosen the types to all it to accept Value* instead of just Instruction*, since this is what ScalarEvoluti

[llvm-commits] CVS: llvm/lib/Analysis/ScalarEvolution.cpp

2007-06-19 Thread Dan Gohman
Changes in directory llvm/lib/Analysis: ScalarEvolution.cpp updated: 1.120 -> 1.121 --- Log message: Rename ScalarEvolution::deleteInstructionFromRecords to deleteValueFromRecords and loosen the types to all it to accept Value* instead of just Instruction*, since this is what ScalarEvolution us

[llvm-commits] CVS: llvm/lib/Transforms/Scalar/IndVarSimplify.cpp LoopStrengthReduce.cpp

2007-06-19 Thread Dan Gohman
Changes in directory llvm/lib/Transforms/Scalar: IndVarSimplify.cpp updated: 1.122 -> 1.123 LoopStrengthReduce.cpp updated: 1.141 -> 1.142 --- Log message: Rename ScalarEvolution::deleteInstructionFromRecords to deleteValueFromRecords and loosen the types to all it to accept Value* instead of j

Re: [llvm-commits] CVS: llvm/lib/Target/X86/X86InstrFPStack.td X86InstrInfo.cpp X86InstrInfo.h X86InstrInfo.td X86InstrMMX.td X86InstrSSE.td

2007-06-19 Thread Chris Lattner
>> This achieves two things: >> >> 1. Just looking at the .td file, you can tell which instructions are >> candidates for remat. >> 2. The isRematerializable predicate is faster for instructions that >> are not remat-able. >> 3. The isReallyRematerializable only needs to be implemented by >> target

Re: [llvm-commits] CVS: llvm/lib/Target/X86/X86InstrFPStack.td X86InstrInfo.cpp X86InstrInfo.h X86InstrInfo.td X86InstrMMX.td X86InstrSSE.td

2007-06-19 Thread Evan Cheng
On Jun 19, 2007, at 8:06 AM, Chris Lattner wrote: >>> This achieves two things: >>> >>> 1. Just looking at the .td file, you can tell which instructions are >>> candidates for remat. >>> 2. The isRematerializable predicate is faster for instructions that >>> are not remat-able. >>> 3. The isReall

Re: [llvm-commits] CVS: llvm/lib/Target/X86/X86InstrFPStack.td X86InstrInfo.cpp X86InstrInfo.h X86InstrInfo.td X86InstrMMX.td X86InstrSSE.td

2007-06-19 Thread Chris Lattner
On Jun 19, 2007, at 9:38 AM, Evan Cheng wrote: >>> If we are really concerned about the speed, then I agree the hybrid >>> approach is the best. Sorry about the confusion. >> >> Speed is something to consider, but I don't think it should override >> maintainability. >> >>> Not to mention I had al

[llvm-commits] CVS: llvm/tools/llvm-ld/llvm-ld.cpp

2007-06-19 Thread Chris Lattner
Changes in directory llvm/tools/llvm-ld: llvm-ld.cpp updated: 1.53 -> 1.54 --- Log message: Fix pr1448: http://llvm.org/PR1448 --- Diffs of the changes: (+20 -14) llvm-ld.cpp | 34 -- 1 files changed, 20 insertions(+), 14 deletions(-) Index: llvm/tools/

Re: [llvm-commits] CVS: llvm/lib/Target/X86/X86InstrFPStack.td X86InstrInfo.cpp X86InstrInfo.h X86InstrInfo.td X86InstrMMX.td X86InstrSSE.td

2007-06-19 Thread Evan Cheng
On Jun 19, 2007, at 9:40 AM, Chris Lattner wrote: > > On Jun 19, 2007, at 9:38 AM, Evan Cheng wrote: > If we are really concerned about the speed, then I agree the hybrid approach is the best. Sorry about the confusion. >>> >>> Speed is something to consider, but I don't think it should

Re: [llvm-commits] CVS: llvm/lib/Target/X86/X86InstrFPStack.td X86InstrInfo.cpp X86InstrInfo.h X86InstrInfo.td X86InstrMMX.td X86InstrSSE.td

2007-06-19 Thread Chris Lattner
>> It seems that simple remat works for things that: >> >> 1. have no side effects >> 2. have no register inputs >> >> Is there another condition? > > Can't think of any. > >> >> If so, simple remat can check #2 today, just by itself looking at the >> machineinstr. Given that, it comes down to how

Re: [llvm-commits] CVS: llvm/lib/Target/X86/X86InstrFPStack.td X86InstrInfo.cpp X86InstrInfo.h X86InstrInfo.td X86InstrMMX.td X86InstrSSE.td

2007-06-19 Thread Evan Cheng
On Jun 19, 2007, at 10:31 AM, Chris Lattner wrote: >>> It seems that simple remat works for things that: >>> >>> 1. have no side effects >>> 2. have no register inputs >>> >>> Is there another condition? >> >> Can't think of any. >> >>> >>> If so, simple remat can check #2 today, just by itself l

[llvm-commits] [128613] add a new -mllvm -disable-llvm-optzns option, which can be used

2007-06-19 Thread clattner
Revision: 128613 Author: clattner Date: 2007-06-19 10:49:09 -0700 (Tue, 19 Jun 2007) Log Message: --- add a new -mllvm -disable-llvm-optzns option, which can be used to isolate changes in the code made by llvm optimizers from changes make by GCC FE optimizations. Modified Paths: ---

Re: [llvm-commits] CVS: llvm/lib/Target/X86/X86InstrFPStack.td X86InstrInfo.cpp X86InstrInfo.h X86InstrInfo.td X86InstrMMX.td X86InstrSSE.td

2007-06-19 Thread Chris Lattner
>>> I don't see a better way so I guess this will be a targetinstrinfo >>> bit (true for those with side-effects). >> >> Okay, the tricky thing here is instructions that have "conditional >> side effects". For example, all instructions marked isload/isstore/ >> iscall etc should be considered to h

Re: [llvm-commits] CVS: llvm/lib/Target/X86/X86InstrFPStack.td X86InstrInfo.cpp X86InstrInfo.h X86InstrInfo.td X86InstrMMX.td X86InstrSSE.td

2007-06-19 Thread Evan Cheng
On Jun 19, 2007, at 10:54 AM, Chris Lattner wrote: I don't see a better way so I guess this will be a targetinstrinfo bit (true for those with side-effects). >>> >>> Okay, the tricky thing here is instructions that have "conditional >>> side effects". For example, all instructions mark

[llvm-commits] [128616] Fix a recent regression that broke the logical __builtin_*pd ops.

2007-06-19 Thread clattner
Revision: 128616 Author: clattner Date: 2007-06-19 11:40:06 -0700 (Tue, 19 Jun 2007) Log Message: --- Fix a recent regression that broke the logical __builtin_*pd ops. Modified Paths: -- apple-local/branches/llvm/gcc/config/i386/llvm-i386.cpp Modified: apple-local/b

[llvm-commits] [128618] Fix some problems handling function pointers where the default

2007-06-19 Thread clattner
Revision: 128618 Author: clattner Date: 2007-06-19 13:17:40 -0700 (Tue, 19 Jun 2007) Log Message: --- Fix some problems handling function pointers where the default unary conversions were not applied. Many thanks to Fariborz Jahanian for writing this patch. Modified Paths: --

[llvm-commits] CVS: llvm/lib/Target/ARM/ARMISelLowering.cpp ARMISelLowering.h ARMInstrInfo.td

2007-06-19 Thread Evan Cheng
Changes in directory llvm/lib/Target/ARM: ARMISelLowering.cpp updated: 1.56 -> 1.57 ARMISelLowering.h updated: 1.16 -> 1.17 ARMInstrInfo.td updated: 1.112 -> 1.113 --- Log message: Allow predicated immediate ARM to ARM calls. --- Diffs of the changes: (+14 -1) ARMISelLowering.cpp |7 +++

Re: [llvm-commits] CVS: llvm/lib/Target/X86/X86InstrFPStack.td X86InstrInfo.cpp X86InstrInfo.h X86InstrInfo.td X86InstrMMX.td X86InstrSSE.td

2007-06-19 Thread Christopher Lamb
On Jun 19, 2007, at 10:31 AM, Chris Lattner wrote: It seems that simple remat works for things that: 1. have no side effects 2. have no register inputs Is there another condition? Can't think of any. If so, simple remat can check #2 today, just by itself looking at the machineinstr.

[llvm-commits] CVS: llvm/lib/CodeGen/IfConversion.cpp

2007-06-19 Thread Evan Cheng
Changes in directory llvm/lib/CodeGen: IfConversion.cpp updated: 1.58 -> 1.59 --- Log message: Avoid if-converting simple block that ends with unconditional branch or fallthrough unless it branches / falls to the 'false' block. Not profitable, may end up increasing code size. --- Diffs of th

[llvm-commits] CVS: llvm-test/MultiSource/Benchmarks/Olden/tsp/Makefile

2007-06-19 Thread Evan Cheng
Changes in directory llvm-test/MultiSource/Benchmarks/Olden/tsp: Makefile updated: 1.8 -> 1.9 --- Log message: Increase test size to something more reasonable. --- Diffs of the changes: (+1 -1) Makefile |2 +- 1 files changed, 1 insertion(+), 1 deletion(-) Index: llvm-test/MultiSource

[llvm-commits] CVS: llvm-test/MultiSource/Benchmarks/Olden/power/power.h

2007-06-19 Thread Evan Cheng
Changes in directory llvm-test/MultiSource/Benchmarks/Olden/power: power.h updated: 1.5 -> 1.6 --- Log message: Increase test size to something more reasonable. --- Diffs of the changes: (+4 -4) power.h |8 1 files changed, 4 insertions(+), 4 deletions(-) Index: llvm-test/Mul

[llvm-commits] CVS: llvm-test/MultiSource/Benchmarks/Olden/mst/Makefile

2007-06-19 Thread Evan Cheng
Changes in directory llvm-test/MultiSource/Benchmarks/Olden/mst: Makefile updated: 1.14 -> 1.15 --- Log message: Increase test size to something more reasonable. --- Diffs of the changes: (+1 -1) Makefile |2 +- 1 files changed, 1 insertion(+), 1 deletion(-) Index: llvm-test/MultiSour

[llvm-commits] CVS: llvm-test/MultiSource/Benchmarks/Olden/em3d/Makefile

2007-06-19 Thread Evan Cheng
Changes in directory llvm-test/MultiSource/Benchmarks/Olden/em3d: Makefile updated: 1.7 -> 1.8 --- Log message: Increase test size to something more reasonable. --- Diffs of the changes: (+3 -1) Makefile |4 +++- 1 files changed, 3 insertions(+), 1 deletion(-) Index: llvm-test/MultiSo

Re: [llvm-commits] CVS: llvm/lib/Target/X86/X86InstrFPStack.td X86InstrInfo.cpp X86InstrInfo.h X86InstrInfo.td X86InstrMMX.td X86InstrSSE.td

2007-06-19 Thread Chris Lattner
>> Okay, the tricky thing here is instructions that have "conditional >> side effects". For example, all instructions marked isload/isstore/ >> iscall etc should be considered to have side effects (as would >> anything with implicit definitions), but loads from constant pools >> and other special

[llvm-commits] CVS: llvm-test/MultiSource/Benchmarks/Olden/bh/Makefile

2007-06-19 Thread Evan Cheng
Changes in directory llvm-test/MultiSource/Benchmarks/Olden/bh: Makefile updated: 1.12 -> 1.13 --- Log message: Increase test size to something more reasonable. --- Diffs of the changes: (+6 -0) Makefile |6 ++ 1 files changed, 6 insertions(+) Index: llvm-test/MultiSource/Benchmar

[llvm-commits] CVS: llvm/include/llvm/Transforms/IPO/InlinerPass.h

2007-06-19 Thread Tanya Lattner
Changes in directory llvm/include/llvm/Transforms/IPO: InlinerPass.h added (r1.1) --- Log message: Move inliner pass header file. --- Diffs of the changes: (+64 -0) InlinerPass.h | 64 ++ 1 files changed, 64 insertions(+) Index: l

[llvm-commits] CVS: llvm/lib/Transforms/IPO/InlineSimple.cpp Inliner.cpp

2007-06-19 Thread Tanya Lattner
Changes in directory llvm/lib/Transforms/IPO: InlineSimple.cpp updated: 1.85 -> 1.86 Inliner.cpp updated: 1.41 -> 1.42 --- Log message: Inliner pass header file was moved. --- Diffs of the changes: (+3 -2) InlineSimple.cpp |3 ++- Inliner.cpp |2 +- 2 files changed, 3 insertio

[llvm-commits] CVS: llvm/lib/Transforms/IPO/Inliner.h

2007-06-19 Thread Tanya Lattner
Changes in directory llvm/lib/Transforms/IPO: Inliner.h (r1.13) removed --- Log message: Moved Inliner.h to include/llvm/Transforms/IPO/InlinerPass.h --- Diffs of the changes: (+0 -0) 0 files changed ___ llvm-commits mailing list llvm-commits@

[llvm-commits] CVS: llvm/lib/Transforms/Scalar/GVNPRE.cpp

2007-06-19 Thread Owen Anderson
Changes in directory llvm/lib/Transforms/Scalar: GVNPRE.cpp updated: 1.41 -> 1.42 --- Log message: Make dependsOnInvoke much more specific in what it tests, which in turn make it much faster to run. This reduces the time to optimize lencondwith a debug build on PPC from ~450s to ~300s. ---

[llvm-commits] CVS: llvm/lib/Transforms/Scalar/GVNPRE.cpp

2007-06-19 Thread Owen Anderson
Changes in directory llvm/lib/Transforms/Scalar: GVNPRE.cpp updated: 1.42 -> 1.43 --- Log message: Use a DenseMap instead of an std::map for the value numbering. This reduces the time to optimize lencod on a PPC Debug build from ~300s to ~140s. --- Diffs of the changes: (+5 -4) GVNPRE.cp

[llvm-commits] CVS: llvm/lib/Target/ARM/ARMISelLowering.cpp

2007-06-19 Thread Evan Cheng
Changes in directory llvm/lib/Target/ARM: ARMISelLowering.cpp updated: 1.57 -> 1.58 --- Log message: Be more conservative of duplicating blocks. --- Diffs of the changes: (+1 -1) ARMISelLowering.cpp |2 +- 1 files changed, 1 insertion(+), 1 deletion(-) Index: llvm/lib/Target/ARM/ARMIS

[llvm-commits] CVS: llvm/lib/Transforms/Scalar/GVNPRE.cpp

2007-06-19 Thread Owen Anderson
Changes in directory llvm/lib/Transforms/Scalar: GVNPRE.cpp updated: 1.43 -> 1.44 --- Log message: Get rid of an unneeded helper function. --- Diffs of the changes: (+9 -19) GVNPRE.cpp | 28 +--- 1 files changed, 9 insertions(+), 19 deletions(-) Index: llvm/lib/