[llvm-commits] CVS: llvm/utils/TableGen/DAGISelEmitter.cpp

2007-06-19 Thread Chris Lattner
Changes in directory llvm/utils/TableGen: DAGISelEmitter.cpp updated: 1.297 - 1.298 --- Log message: silence warning when assertions are disabled. --- Diffs of the changes: (+1 -2) DAGISelEmitter.cpp |3 +-- 1 files changed, 1 insertion(+), 2 deletions(-) Index:

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

[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

[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 print

[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

[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

[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

[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

[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

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 targets with

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 isReallyRematerializable

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 already considered

[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:

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 override

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 we want to

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 looking at the

[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 have side

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 marked isload/isstore/

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 cases

[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-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:

[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

[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] 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)