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

2007-06-01 Thread Zhou Sheng
Changes in directory llvm/lib/CodeGen: IntrinsicLowering.cpp updated: 1.85 -> 1.86 --- Log message: Make LowerCTPOP() support arbitrary bitwidth integer type. --- Diffs of the changes: (+22 -9) IntrinsicLowering.cpp | 31 ++- 1 files changed, 22 insertions(+),

[llvm-commits] CVS: llvm-test/SingleSource/UnitTests/Integer/bits.h

2007-06-01 Thread Reid Spencer
Changes in directory llvm-test/SingleSource/UnitTests/Integer: bits.h updated: 1.11 -> 1.12 --- Log message: Add int8 --- Diffs of the changes: (+1 -0) bits.h |1 + 1 files changed, 1 insertion(+) Index: llvm-test/SingleSource/UnitTests/Integer/bits.h diff -u llvm-test/SingleSource/U

[llvm-commits] CVS: llvm-test/SingleSource/UnitTests/Integer/reduce_xor.reference_output

2007-06-01 Thread Reid Spencer
Changes in directory llvm-test/SingleSource/UnitTests/Integer: reduce_xor.reference_output updated: 1.1 -> 1.2 --- Log message: Add the exit code to the reference output. --- Diffs of the changes: (+1 -0) reduce_xor.reference_output |1 + 1 files changed, 1 insertion(+) Index: llvm-t

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

2007-06-01 Thread Dale Johannesen
On Jun 1, 2007, at 1:28 PM, Dale Johannesen wrote: > > On Jun 1, 2007, at 1:24 PM, Duncan Sands wrote: >> Suppose a successor S1 has isLandingPad true because it is >> a landing pad for some other MBB, and some later successor (S2) >> has isLandingPad true because it is the landing pad for this >

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

2007-06-01 Thread Dale Johannesen
Changes in directory llvm/lib/CodeGen: BranchFolding.cpp updated: 1.62 -> 1.63 --- Log message: Fix CorrectExtraCFGEdges to allow for multiple LandingPad targets. --- Diffs of the changes: (+6 -9) BranchFolding.cpp | 15 ++- 1 files changed, 6 insertions(+), 9 deletions(-)

[llvm-commits] CVS: llvm/lib/CodeGen/README.txt

2007-06-01 Thread Dale Johannesen
Changes in directory llvm/lib/CodeGen: README.txt updated: 1.6 -> 1.7 --- Log message: Fancier algorithm in tail-merge comment implemented, so remove comment. --- Diffs of the changes: (+0 -18) README.txt | 18 -- 1 files changed, 18 deletions(-) Index: llvm/lib/CodeGen

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

2007-06-01 Thread Dale Johannesen
Changes in directory llvm/lib/CodeGen: BranchFolding.cpp updated: 1.61 -> 1.62 --- Log message: Implement smarter algorithm for choosing which blocks to tail-merge. See test/CodeGen/X86/test-pic-jtbl.ll for a case where it works well; shaves another 10K off our favorite benchmark. I was hesita

[llvm-commits] CVS: llvm/test/CodeGen/X86/test-pic-jtbl.ll

2007-06-01 Thread Dale Johannesen
Changes in directory llvm/test/CodeGen/X86: test-pic-jtbl.ll updated: 1.4 -> 1.5 --- Log message: Implement smarter algorithm for choosing which blocks to tail-merge. See test/CodeGen/X86/test-pic-jtbl.ll for a case where it works well; shaves another 10K off our favorite benchmark. I was hesi

[llvm-commits] CVS: llvm/lib/ExecutionEngine/Interpreter/Execution.cpp Interpreter.cpp

2007-06-01 Thread Reid Spencer
Changes in directory llvm/lib/ExecutionEngine/Interpreter: Execution.cpp updated: 1.184 -> 1.185 Interpreter.cpp updated: 1.39 -> 1.40 --- Log message: For PR1486: http://llvm.org/PR1486 : Avoid overwriting the APInt instance with 0 bytes which causes the bitwidth to be set to 0 (illegal) produ

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

2007-06-01 Thread Devang Patel
Changes in directory llvm/lib/Transforms/Scalar: LICM.cpp updated: 1.101 -> 1.102 --- Log message: Insert new instructions in AliasSet. --- Diffs of the changes: (+5 -1) LICM.cpp |6 +- 1 files changed, 5 insertions(+), 1 deletion(-) Index: llvm/lib/Transforms/Scalar/LICM.cpp dif

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

2007-06-01 Thread Owen Anderson
Changes in directory llvm/lib/Transforms/Scalar: GVNPRE.cpp updated: 1.9 -> 1.10 --- Log message: clean() needs to process things in topological order. --- Diffs of the changes: (+21 -28) GVNPRE.cpp | 49 + 1 files changed, 21 insertions(+)

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

2007-06-01 Thread Evan Cheng
Changes in directory llvm/lib/Target/ARM: ARMInstrInfo.td updated: 1.108 -> 1.109 --- Log message: Opcode modifier s comes after condition code. e.g. addlts, not addslt. --- Diffs of the changes: (+20 -20) ARMInstrInfo.td | 40 1 files changed, 20

[llvm-commits] [127931] Fix union comparison code when handling hard ada cases :)

2007-06-01 Thread clattner
Revision: 127931 Author: clattner Date: 2007-06-01 13:42:56 -0700 (Fri, 01 Jun 2007) Log Message: --- Fix union comparison code when handling hard ada cases :) Patch by Duncan Sands. Thanks for beating this into me Duncan. Modified Paths: -- apple-local/branches/ll

Re: [llvm-commits] [127801] When an LLVM type has struct padding that overlaps with important fields of

2007-06-01 Thread Duncan Sands
> > Okay, do you have a testcase that demonstrates this? > > I will synthesize one for you. Actually a testcase would be pointless, since the compiler crashes during the (Ada) compiler build. It wouldn't be pointless if I could make a C or C++ testcase, but I don't think it can be done except in

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

2007-06-01 Thread Evan Cheng
Changes in directory llvm/lib/CodeGen: IfConversion.cpp updated: 1.20 -> 1.21 --- Log message: Correctly mark early-exit on the false path. --- Diffs of the changes: (+9 -8) IfConversion.cpp | 17 + 1 files changed, 9 insertions(+), 8 deletions(-) Index: llvm/lib/CodeGen

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

2007-06-01 Thread Dale Johannesen
On Jun 1, 2007, at 1:24 PM, Duncan Sands wrote: > Suppose a successor S1 has isLandingPad true because it is > a landing pad for some other MBB, and some later successor (S2) > has isLandingPad true because it is the landing pad for this > MBB. What will happen? When we get to S1 foundPad is set

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

2007-06-01 Thread Duncan Sands
Hi Dale, > > it struck me that this patch seems to assume that if a successor > > is a landing pad then it is necessarily a landing pad for the > > current MBB. > > I wasn't intending to assume that; how so? > > > But couldn't it be the landing pad for some other > > MBB, and simply a normal suc

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

2007-06-01 Thread Dale Johannesen
On Jun 1, 2007, at 12:56 PM, Duncan Sands wrote: > Hi Dale, > >> Arrange for only 1 of multiple branches to landing pad to be kept. That should be "successors", not "branches", but you've gotten past that > it struck me that this patch seems to assume that if a successor > is a landing pa

Re: [llvm-commits] [127801] When an LLVM type has struct padding that overlaps with important fields of

2007-06-01 Thread Duncan Sands
Hi Chris, > Okay, do you have a testcase that demonstrates this? I will synthesize one for you. > Also, the code for handling "large arrays" isn't needed. This code > is only called for fixed size structures that are small. Hey, you are the one who used getInt64 to get the array length! :) A

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

2007-06-01 Thread Duncan Sands
Hi Dale, > Arrange for only 1 of multiple branches to landing pad to be kept. it struck me that this patch seems to assume that if a successor is a landing pad then it is necessarily a landing pad for the current MBB. But couldn't it be the landing pad for some other MBB, and simply a normal suc

Re: [llvm-commits] [127801] When an LLVM type has struct padding that overlaps with important fields of

2007-06-01 Thread Chris Lattner
>> Does this actually cause a problem? This function is only called if >> the outer struct has constant size. TreeToLLVM::EmitAggregateCopy >> checks that TREE_CODE(TYPE_SIZE(type)) == INTEGER_CST is true before >> calling into this code. > > Yes, it crashes the compiler. Remember that the funct

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

2007-06-01 Thread Owen Anderson
Changes in directory llvm/lib/Transforms/Scalar: GVNPRE.cpp updated: 1.8 -> 1.9 --- Log message: Fix Expression comparison, which in turn fixes a value numbering error. --- Diffs of the changes: (+11 -12) GVNPRE.cpp | 23 +++ 1 files changed, 11 insertions(+), 12 dele

[llvm-commits] CVS: llvm-www/header.incl

2007-06-01 Thread Chris Lattner
Changes in directory llvm-www: header.incl updated: 1.59 -> 1.60 --- Log message: add dev mtg to sidebar --- Diffs of the changes: (+9 -0) header.incl |9 + 1 files changed, 9 insertions(+) Index: llvm-www/header.incl diff -u llvm-www/header.incl:1.59 llvm-www/header.incl:1.6

[llvm-commits] CVS: llvm-www/header.incl OldNews.html

2007-06-01 Thread Chris Lattner
Changes in directory llvm-www: header.incl updated: 1.58 -> 1.59 OldNews.html updated: 1.6 -> 1.7 --- Log message: rotate news off sidebar --- Diffs of the changes: (+1 -10) OldNews.html |1 + header.incl | 10 -- 2 files changed, 1 insertion(+), 10 deletions(-) Index: llv

[llvm-commits] CVS: llvm-www/OldNews.html

2007-06-01 Thread Chris Lattner
Changes in directory llvm-www: OldNews.html updated: 1.5 -> 1.6 --- Log message: various updates --- Diffs of the changes: (+5 -3) OldNews.html |8 +--- 1 files changed, 5 insertions(+), 3 deletions(-) Index: llvm-www/OldNews.html diff -u llvm-www/OldNews.html:1.5 llvm-www/OldNew

[llvm-commits] CVS: llvm-www/OldNews.html

2007-06-01 Thread Chris Lattner
Changes in directory llvm-www: OldNews.html updated: 1.4 -> 1.5 --- Log message: rotate some news --- Diffs of the changes: (+18 -0) OldNews.html | 18 ++ 1 files changed, 18 insertions(+) Index: llvm-www/OldNews.html diff -u llvm-www/OldNews.html:1.4 llvm-www/OldNews.h

[llvm-commits] CVS: llvm-www/www-index.html

2007-06-01 Thread Chris Lattner
Changes in directory llvm-www: www-index.html updated: 1.142 -> 1.143 --- Log message: actually link to the dev mtg slides :) --- Diffs of the changes: (+4 -4) www-index.html |8 1 files changed, 4 insertions(+), 4 deletions(-) Index: llvm-www/www-index.html diff -u llvm-www

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

2007-06-01 Thread Duncan Sands
Hi Dale, > Arrange for only 1 of multiple branches to landing pad to be kept. you seem to assume that there is at most one landing pad block for a given MBB, i.e. that all invokes in the MBB unwind to the same landing pad. Are you sure that's true? Ciao, Duncan. ___

Re: [llvm-commits] [127801] When an LLVM type has struct padding that overlaps with important fields of

2007-06-01 Thread Duncan Sands
> > Hi Chris, this breaks the Ada build since the TYPE_SIZE may not be > > a constant: > > > >> + if (TYPE_SIZE(type) == 0 || > >> + PadStartBits >= int(TREE_INT_CST_LOW(TYPE_SIZE(type))) || > > > > I've attached a fix, which includes some other tweaks for arrays > > (not very important) pl

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

2007-06-01 Thread Evan Cheng
Changes in directory llvm/lib/Target/ARM: ARMISelLowering.cpp updated: 1.55 -> 1.56 --- Log message: Set ARM ifcvt duplication limit to 3 for now. --- Diffs of the changes: (+1 -0) ARMISelLowering.cpp |1 + 1 files changed, 1 insertion(+) Index: llvm/lib/Target/ARM/ARMISelLowering.cpp

[llvm-commits] CVS: llvm/include/llvm/Target/TargetLowering.h

2007-06-01 Thread Evan Cheng
Changes in directory llvm/include/llvm/Target: TargetLowering.h updated: 1.126 -> 1.127 --- Log message: Target specific ifcvt code duplication limit. --- Diffs of the changes: (+21 -3) TargetLowering.h | 24 +--- 1 files changed, 21 insertions(+), 3 deletions(-) Ind

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

2007-06-01 Thread Duncan Sands
Changes in directory llvm/lib/CodeGen/SelectionDAG: SelectionDAGISel.cpp updated: 1.454 -> 1.455 --- Log message: Since TypeInfos are passed as i8 pointers, a NULL TypeInfo should be passed as a null i8 pointer not as a 0 i32. --- Diffs of the changes: (+2 -4) SelectionDAGISel.cpp |6 +

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

2007-06-01 Thread Evan Cheng
Changes in directory llvm/lib/CodeGen: IfConversion.cpp updated: 1.19 -> 1.20 --- Log message: Ifcvt triangle: don't ifcvt 'true' BB if it has other predecessors; don't merge 'false' BB if it has other predecessors. --- Diffs of the changes: (+18 -3) IfConversion.cpp | 21 +++