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

2007-06-21 Thread Chris Lattner
Changes in directory llvm/lib/Transforms/Scalar: InstructionCombining.cpp updated: 1.774 -> 1.775 --- Log message: Significantly improve the documentation of the instcombine divide/compare transformation. Also, keep track of which end of the integer interval overflows occur on. This fixes Tr

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

2007-06-20 Thread Chris Lattner
Changes in directory llvm/lib/Transforms/Scalar: InstructionCombining.cpp updated: 1.773 -> 1.774 --- Log message: refactor a bunch of code out of visitICmpInstWithInstAndIntCst into its own routine. --- Diffs of the changes: (+134 -123) InstructionCombining.cpp | 257

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

2007-06-18 Thread Chris Lattner
Changes in directory llvm/lib/Transforms/Scalar: InstructionCombining.cpp updated: 1.772 -> 1.773 --- Log message: silence a bogus warning Duraid ran into. --- Diffs of the changes: (+1 -1) InstructionCombining.cpp |2 +- 1 files changed, 1 insertion(+), 1 deletion(-) Index: llvm/li

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

2007-06-14 Thread Chris Lattner
Changes in directory llvm/lib/Transforms/Scalar: InstructionCombining.cpp updated: 1.771 -> 1.772 --- Log message: Generalize many transforms to work on ~ of vectors in addition to ~ of integer ops. This implements Transforms/InstCombine/and-or-not.ll test3/test4, and finishes off PR1510: http

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

2007-06-14 Thread Chris Lattner
Changes in directory llvm/lib/Transforms/Scalar: InstructionCombining.cpp updated: 1.770 -> 1.771 --- Log message: Implement two xforms: 1. ~(~X | Y) === (X & ~Y) 2. (A|B) & ~(A&B) -> A^B This allows us to transform ~(~(a|b) | (a&b)) -> a^b. This implements PR1510: http://llvm.org/PR1510 f

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

2007-06-14 Thread Chris Lattner
Changes in directory llvm/lib/Transforms/Scalar: InstructionCombining.cpp updated: 1.769 -> 1.770 --- Log message: delete some obviously dead vector operations, which deletes a few thousand operations from Duraids example. --- Diffs of the changes: (+12 -1) InstructionCombining.cpp | 13

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

2007-06-06 Thread Chris Lattner
> > Fix PR1499: http://llvm.org/PR1499 . Very nice, thanks again Lauro! -Chris > > --- > Diffs of the changes: (+4 -0) > > InstructionCombining.cpp |4 > 1 files changed, 4 insertions(+) > > > Index: llvm/lib/Transforms/Scalar/InstructionCombining.cpp > diff -u llvm/lib/Transforms/Sca

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

2007-06-06 Thread Lauro Ramos Venancio
Changes in directory llvm/lib/Transforms/Scalar: InstructionCombining.cpp updated: 1.768 -> 1.769 --- Log message: Fix PR1499: http://llvm.org/PR1499 . --- Diffs of the changes: (+4 -0) InstructionCombining.cpp |4 1 files changed, 4 insertions(+) Index: llvm/lib/Transforms/Sca

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

2007-05-22 Thread Chris Lattner
Changes in directory llvm/lib/Transforms/Scalar: InstructionCombining.cpp updated: 1.767 -> 1.768 --- Log message: fix a miscompilation when passing a float through varargs --- Diffs of the changes: (+1 -2) InstructionCombining.cpp |3 +-- 1 files changed, 1 insertion(+), 2 deletions(-

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

2007-05-18 Thread Chris Lattner
Changes in directory llvm/lib/Transforms/Scalar: InstructionCombining.cpp updated: 1.766 -> 1.767 --- Log message: Fix Transforms/InstCombine/2007-05-18-CastFoldBug.ll, a bug that devastates objc code due to the way the FE lowers objc message sends. --- Diffs of the changes: (+8 -0) Instru

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

2007-05-14 Thread Chris Lattner
Changes in directory llvm/lib/Transforms/Scalar: InstructionCombining.cpp updated: 1.765 -> 1.766 --- Log message: Fix Transforms/InstCombine/2007-05-14-Crash.ll --- Diffs of the changes: (+16 -7) InstructionCombining.cpp | 23 --- 1 files changed, 16 insertions(+), 7

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

2007-05-11 Thread Dan Gohman
Changes in directory llvm/lib/Transforms/Scalar: InstructionCombining.cpp updated: 1.764 -> 1.765 LoopRotation.cpp updated: 1.13 -> 1.14 --- Log message: Fix typos. --- Diffs of the changes: (+3 -3) InstructionCombining.cpp |2 +- LoopRotation.cpp |4 ++-- 2 files changed,

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

2007-05-11 Thread Chris Lattner
Changes in directory llvm/lib/Transforms/Scalar: InstructionCombining.cpp updated: 1.763 -> 1.764 --- Log message: fix regressions from my previous checking, including Transforms/InstCombine/2006-12-08-ICmp-Combining.ll --- Diffs of the changes: (+2 -2) InstructionCombining.cpp |4 ++

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

2007-05-10 Thread Chris Lattner
Changes in directory llvm/lib/Transforms/Scalar: InstructionCombining.cpp updated: 1.762 -> 1.763 --- Log message: fix Transforms/InstCombine/2007-05-10-icmp-or.ll --- Diffs of the changes: (+10 -5) InstructionCombining.cpp | 15 ++- 1 files changed, 10 insertions(+), 5 delet

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

2007-05-06 Thread Chris Lattner
Changes in directory llvm/lib/Transforms/Scalar: InstructionCombining.cpp updated: 1.760 -> 1.761 --- Log message: Fix a bug in my previous patch --- Diffs of the changes: (+1 -1) InstructionCombining.cpp |2 +- 1 files changed, 1 insertion(+), 1 deletion(-) Index: llvm/lib/Transform

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

2007-05-05 Thread Chris Lattner
Changes in directory llvm/lib/Transforms/Scalar: InstructionCombining.cpp updated: 1.759 -> 1.760 --- Log message: Implement Transforms/InstCombine/cast_ptr.ll --- Diffs of the changes: (+22 -1) InstructionCombining.cpp | 23 ++- 1 files changed, 22 insertions(+), 1 d

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

2007-05-04 Thread Chris Lattner
Changes in directory llvm/lib/Transforms/Scalar: InstructionCombining.cpp updated: 1.757 -> 1.758 --- Log message: Fix InstCombine/2007-05-04-Crash.ll and PR1384: http://llvm.org/PR1384 --- Diffs of the changes: (+14 -10) InstructionCombining.cpp | 24 ++-- 1 files c

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

2007-04-27 Thread Chris Lattner
Changes in directory llvm/lib/Transforms/Scalar: InstructionCombining.cpp updated: 1.753 -> 1.754 --- Log message: fix a bug triggered by 403.gcc --- Diffs of the changes: (+1 -2) InstructionCombining.cpp |3 +-- 1 files changed, 1 insertion(+), 2 deletions(-) Index: llvm/lib/Transfo

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

2007-04-27 Thread Chris Lattner
Changes in directory llvm/lib/Transforms/Scalar: InstructionCombining.cpp updated: 1.752 -> 1.753 --- Log message: Fix several latent bugs in EmitGEPOffset that didn't manifest with its previous clients. This fixes MallocBench/gs --- Diffs of the changes: (+51 -35) InstructionCombining.cp

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

2007-04-27 Thread Chris Lattner
On Apr 27, 2007, at 8:44 PM, Nick Lewycky wrote: > Chris Lattner wrote: >> + if (OrigBase) { >> +// If we were able to index down into an element, >> create the GEP >> +// and bitcast the result. This eliminates one >> bitcast, potentially >> +//

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

2007-04-27 Thread Chris Lattner
Changes in directory llvm/lib/Transforms/Scalar: InstructionCombining.cpp updated: 1.751 -> 1.752 --- Log message: uhn zap cvs --- Diffs of the changes: (+0 -6) InstructionCombining.cpp |6 -- 1 files changed, 6 deletions(-) Index: llvm/lib/Transforms/Scalar/InstructionCombining.

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

2007-04-27 Thread Nick Lewycky
Chris Lattner wrote: > + if (OrigBase) { > +// If we were able to index down into an element, create the GEP > +// and bitcast the result. This eliminates one bitcast, > potentially > +// two. > +Instruction *NGEP = new GetElementPtrInst(Or

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

2007-04-27 Thread Chris Lattner
Changes in directory llvm/lib/Transforms/Scalar: InstructionCombining.cpp updated: 1.750 -> 1.751 --- Log message: Implement PR1345: http://llvm.org/PR1345 and Transforms/InstCombine/bitcast-gep.ll --- Diffs of the changes: (+104 -28) InstructionCombining.cpp | 132 +

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

2007-04-27 Thread Chris Lattner
Changes in directory llvm/lib/Transforms/Scalar: InstructionCombining.cpp updated: 1.749 -> 1.750 --- Log message: refactor some code relating to pointer cast xforms, pulling it out of the codepath for unrelated casts. --- Diffs of the changes: (+56 -53) InstructionCombining.cpp | 109 ++

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

2007-04-18 Thread Zhou Sheng
Changes in directory llvm/lib/Transforms/Scalar: InstructionCombining.cpp updated: 1.748 -> 1.749 ScalarReplAggregates.cpp updated: 1.84 -> 1.85 --- Log message: Make use of ConstantInt::isZero instead of ConstantInt::isNullValue. --- Diffs of the changes: (+5 -5) InstructionCombining.cpp

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

2007-04-14 Thread Chris Lattner
Changes in directory llvm/lib/Transforms/Scalar: InstructionCombining.cpp updated: 1.747 -> 1.748 --- Log message: Extend store merging to support the 'if/then' version in addition to if/then/else. This sinks the two stores in this example into a single store in cond_next. In this case, it

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

2007-04-14 Thread Chris Lattner
Changes in directory llvm/lib/Transforms/Scalar: InstructionCombining.cpp updated: 1.746 -> 1.747 --- Log message: refactor some code, no functionality change. --- Diffs of the changes: (+77 -58) InstructionCombining.cpp | 135 ++- 1 files chang

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

2007-04-14 Thread Chris Lattner
Changes in directory llvm/lib/Transforms/Scalar: InstructionCombining.cpp updated: 1.744 -> 1.745 --- Log message: Implement Transforms/InstCombine/vec_extract_elt.ll, transforming: define i32 @test(float %f) { %tmp7 = insertelement <4 x float> undef, float %f, i32 0

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

2007-04-14 Thread Chris Lattner
Changes in directory llvm/lib/Transforms/Scalar: InstructionCombining.cpp updated: 1.743 -> 1.744 --- Log message: Implement InstCombine/vec_demanded_elts.ll:test2. This allows us to turn unsigned test(float f) { return _mm_cvtsi128_si32( (__m128i) _mm_set_ss( f*f )); } into: _test:

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

2007-04-13 Thread Chris Lattner
Changes in directory llvm/lib/Transforms/Scalar: InstructionCombining.cpp updated: 1.742 -> 1.743 --- Log message: Implement PR1201: http://llvm.org/PR1201 and test/Transforms/InstCombine/malloc-free-delete.ll --- Diffs of the changes: (+23 -8) InstructionCombining.cpp | 31 +++

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

2007-04-10 Thread Chris Lattner
Changes in directory llvm/lib/Transforms/Scalar: InstructionCombining.cpp updated: 1.741 -> 1.742 --- Log message: Turn stuff like: icmp slt i32 %X, 0 ; :0 [#uses=1] sext i1 %0 to i32 ; :1 [#uses=1] into: %X.lobit = ashr i32 %X, 31

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

2007-04-10 Thread Chris Lattner
Changes in directory llvm/lib/Transforms/Scalar: InstructionCombining.cpp updated: 1.740 -> 1.741 --- Log message: Simplify some comparisons to arithmetic, this implements: Transforms/InstCombine/icmp.ll --- Diffs of the changes: (+27 -0) InstructionCombining.cpp | 27 +++

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

2007-04-10 Thread Chris Lattner
Changes in directory llvm/lib/Transforms/Scalar: InstructionCombining.cpp updated: 1.739 -> 1.740 --- Log message: canonicalize (x (x >s -1) and (x >u 2147483647) -> (x A == MIN return new ICmpInst(ICmpInst::ICMP_EQ, Op0, SubOne(CI)); + // (x (x >s -1) -> true if sign bit clea

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

2007-04-10 Thread Chris Lattner
Changes in directory llvm/lib/Transforms/Scalar: InstructionCombining.cpp updated: 1.738 -> 1.739 --- Log message: fix a miscompilation of: define i32 @test(i32 %X) { entry: %Y = and i32 %X, 4 ; [#uses=1] icmp eq i32 %Y, 0 ; :0 [#uses=1] sext

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

2007-04-09 Thread Chris Lattner
Changes in directory llvm/lib/Transforms/Scalar: InstructionCombining.cpp updated: 1.737 -> 1.738 --- Log message: Strengthen the boundary conditions of this fold, implementing InstCombine/set.ll:test25 --- Diffs of the changes: (+3 -3) InstructionCombining.cpp |6 +++--- 1 files chang

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

2007-04-08 Thread Chris Lattner
Changes in directory llvm/lib/Transforms/Scalar: InstructionCombining.cpp updated: 1.736 -> 1.737 --- Log message: Fix PR1304: http://llvm.org/PR1304 and Transforms/InstCombine/2007-04-08-SingleEltVectorCrash.ll --- Diffs of the changes: (+10 -2) InstructionCombining.cpp | 12 +

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

2007-04-08 Thread Chris Lattner
Changes in directory llvm/lib/Transforms/Scalar: InstructionCombining.cpp updated: 1.735 -> 1.736 --- Log message: Eliminate useless insertelement instructions. This implements Transforms/InstCombine/vec_insertelt.ll and fixes PR1286: http://llvm.org/PR1286 . We now compile the code from tha

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

2007-04-08 Thread Chris Lattner
Changes in directory llvm/lib/Transforms/Scalar: InstructionCombining.cpp updated: 1.734 -> 1.735 --- Log message: reenable this xform, whoops :) --- Diffs of the changes: (+2 -1) InstructionCombining.cpp |3 ++- 1 files changed, 2 insertions(+), 1 deletion(-) Index: llvm/lib/Transfo

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

2007-04-08 Thread Chris Lattner
Changes in directory llvm/lib/Transforms/Scalar: InstructionCombining.cpp updated: 1.733 -> 1.734 --- Log message: Fix regression on Instcombine/apint-or2.ll --- Diffs of the changes: (+29 -30) InstructionCombining.cpp | 59 +++ 1 files change

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

2007-04-08 Thread Chris Lattner
Changes in directory llvm/lib/Transforms/Scalar: InstructionCombining.cpp updated: 1.732 -> 1.733 --- Log message: Generalize the code that handles (A&B)|(A&C) to work where B/C are not constants. Add a new xform to simplify (A&B)|(~A&C). THis implements InstCombine/or2.ll:test1 --- Diffs

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

2007-04-06 Thread Chris Lattner
Changes in directory llvm/lib/Transforms/Scalar: InstructionCombining.cpp updated: 1.731 -> 1.732 --- Log message: implement Transforms/InstCombine/malloc2.ll and PR1313: http://llvm.org/PR1313 --- Diffs of the changes: (+11 -1) InstructionCombining.cpp | 12 +++- 1 files change

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

2007-04-04 Thread Dale Johannesen
Changes in directory llvm/lib/Transforms/Scalar: InstructionCombining.cpp updated: 1.730 -> 1.731 --- Log message: Prevent transformConstExprCastCall from generating conversions that assert elsewhere. --- Diffs of the changes: (+35 -0) InstructionCombining.cpp | 35 ++

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

2007-04-04 Thread Jeff Cohen
Changes in directory llvm/lib/Transforms/Scalar: InstructionCombining.cpp updated: 1.729 -> 1.730 --- Log message: Fix 2007-04-04-BadFoldBitcastIntoMalloc.ll --- Diffs of the changes: (+5 -4) InstructionCombining.cpp |9 + 1 files changed, 5 insertions(+), 4 deletions(-) Index

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

2007-04-03 Thread Duncan Sands
Changes in directory llvm/lib/Transforms/Scalar: InstructionCombining.cpp updated: 1.728 -> 1.729 --- Log message: Fix comment. --- Diffs of the changes: (+1 -1) InstructionCombining.cpp |2 +- 1 files changed, 1 insertion(+), 1 deletion(-) Index: llvm/lib/Transforms/Scalar/Instructi

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

2007-04-03 Thread Chris Lattner
Changes in directory llvm/lib/Transforms/Scalar: InstructionCombining.cpp updated: 1.727 -> 1.728 --- Log message: Fix a bug I introduced with my patch yesterday which broke Qt (I converted some constant exprs to apints). Thanks to Anton for tracking down a small testcase that triggered this!

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

2007-04-03 Thread Chris Lattner
Changes in directory llvm/lib/Transforms/Scalar: InstructionCombining.cpp updated: 1.726 -> 1.727 --- Log message: reinstate the previous two patches, with a bugfix :) ldecod now passes. --- Diffs of the changes: (+525 -493) InstructionCombining.cpp | 1018

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

2007-04-03 Thread Anton Korobeynikov
> Reverting back to 1.723. The last two commits broke JM (and possibily others) > on ARM. Definitely. Qt is broken too. Funny, but I see exactly the same errors, as soon after Reid's InstCombine APIntifiaction (some bits are missing, so tool outputs "settitle" instead of "setTitle" :) ). Will inve

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

2007-04-03 Thread Evan Cheng
Changes in directory llvm/lib/Transforms/Scalar: InstructionCombining.cpp updated: 1.725 -> 1.726 --- Log message: Reverting back to 1.723. The last two commits broke JM (and possibily others) on ARM. --- Diffs of the changes: (+491 -524) InstructionCombining.cpp | 1015 +++

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

2007-04-02 Thread Chris Lattner
Changes in directory llvm/lib/Transforms/Scalar: InstructionCombining.cpp updated: 1.724 -> 1.725 --- Log message: Split a whole ton of code out of visitICmpInst into visitICmpInstWithInstAndIntCst. --- Diffs of the changes: (+524 -520) InstructionCombining.cpp | 1044

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

2007-04-02 Thread Chris Lattner
Changes in directory llvm/lib/Transforms/Scalar: InstructionCombining.cpp updated: 1.723 -> 1.724 --- Log message: Fix PR1253: http://llvm.org/PR1253 and xor2.ll:test[01] --- Diffs of the changes: (+30 -1) InstructionCombining.cpp | 31 ++- 1 files changed,

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

2007-04-02 Thread Zhou Sheng
Changes in directory llvm/lib/Transforms/Scalar: InstructionCombining.cpp updated: 1.722 -> 1.723 --- Log message: 1. Make use of APInt operation instead of using ConstantExpr::getXXX. 2. Use cheaper APInt methods. --- Diffs of the changes: (+19 -26) InstructionCombining.cpp | 45 +++

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

2007-04-02 Thread Zhou Sheng
Changes in directory llvm/lib/Transforms/Scalar: InstructionCombining.cpp updated: 1.721 -> 1.722 --- Log message: Use uint32_t for bitwidth instead of unsigned. --- Diffs of the changes: (+29 -29) InstructionCombining.cpp | 58 +++ 1 files cha

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

2007-04-01 Thread Chris Lattner
Changes in directory llvm/lib/Transforms/Scalar: InstructionCombining.cpp updated: 1.720 -> 1.721 --- Log message: Wrap long line --- Diffs of the changes: (+3 -3) InstructionCombining.cpp |6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-) Index: llvm/lib/Transforms/Scalar/I

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

2007-04-01 Thread Chris Lattner
Changes in directory llvm/lib/Transforms/Scalar: InstructionCombining.cpp updated: 1.719 -> 1.720 --- Log message: use more obvious function name. --- Diffs of the changes: (+1 -1) InstructionCombining.cpp |2 +- 1 files changed, 1 insertion(+), 1 deletion(-) Index: llvm/lib/Transfor

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

2007-04-01 Thread Chris Lattner
Changes in directory llvm/lib/Transforms/Scalar: InstructionCombining.cpp updated: 1.718 -> 1.719 --- Log message: simplify (x+c)^signbit as (x+c+signbit), pointed out by PR1288: http://llvm.org/PR1288 . This implements test/Transforms/InstCombine/xor.ll:test28 --- Diffs of the changes: (+

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

2007-04-01 Thread Chris Lattner
Changes in directory llvm/lib/Transforms/Scalar: InstructionCombining.cpp updated: 1.717 -> 1.718 --- Log message: simplify this code, make it work for ap ints --- Diffs of the changes: (+6 -17) InstructionCombining.cpp | 23 ++- 1 files changed, 6 insertions(+), 17 d

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

2007-04-01 Thread Zhou Sheng
Changes in directory llvm/lib/Transforms/Scalar: InstructionCombining.cpp updated: 1.716 -> 1.717 --- Log message: Avoid unnecessary APInt construction. --- Diffs of the changes: (+17 -18) InstructionCombining.cpp | 35 +-- 1 files changed, 17 insertions(+

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

2007-03-31 Thread Reid Spencer
Changes in directory llvm/lib/Transforms/Scalar: InstructionCombining.cpp updated: 1.715 -> 1.716 --- Log message: For PR1297: http://llvm.org/PR1297 : Support overloaded intrinsics bswap, ctpop, cttz, ctlz. --- Diffs of the changes: (+7 -25) InstructionCombining.cpp | 32 +++

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

2007-03-31 Thread Chris Lattner
Changes in directory llvm/lib/Transforms/Scalar: InstructionCombining.cpp updated: 1.714 -> 1.715 --- Log message: Fix InstCombine/2007-03-31-InfiniteLoop.ll --- Diffs of the changes: (+3 -1) InstructionCombining.cpp |4 +++- 1 files changed, 3 insertions(+), 1 deletion(-) Index: llv

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

2007-03-30 Thread Chris Lattner
> Use APInt operators to calculate the carry bits, remove this loop. Nice :) -Chris > > > --- > Diffs of the changes: (+2 -16) > > InstructionCombining.cpp | 18 ++ > 1 files changed, 2 insertions(+), 16 deletions(-) > > > Index: llvm/lib/Transforms/Scalar/InstructionCombinin

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

2007-03-30 Thread Zhou Sheng
Changes in directory llvm/lib/Transforms/Scalar: InstructionCombining.cpp updated: 1.713 -> 1.714 --- Log message: Delete dead code. --- Diffs of the changes: (+0 -1) InstructionCombining.cpp |1 - 1 files changed, 1 deletion(-) Index: llvm/lib/Transforms/Scalar/InstructionCombining.

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

2007-03-30 Thread Zhou Sheng
Changes in directory llvm/lib/Transforms/Scalar: InstructionCombining.cpp updated: 1.712 -> 1.713 --- Log message: Use APInt operators to calculate the carry bits, remove this loop. --- Diffs of the changes: (+2 -16) InstructionCombining.cpp | 18 ++ 1 files changed, 2 in

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

2007-03-30 Thread Zhou Sheng
Changes in directory llvm/lib/Transforms/Scalar: InstructionCombining.cpp updated: 1.711 -> 1.712 --- Log message: Make sure the use of ConstantInt::getZExtValue() for shift amount safe. --- Diffs of the changes: (+20 -18) InstructionCombining.cpp | 38 ---

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

2007-03-30 Thread Zhou Sheng
Changes in directory llvm/lib/Transforms/Scalar: InstructionCombining.cpp updated: 1.710 -> 1.711 --- Log message: 1. Make sure the use of ConstantInt::getZExtValue() for getting shift amount is safe. 2. Use new method on ConstantInt instead of (? :) operator. 3. Use new method uge() on Cons

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

2007-03-29 Thread Zhou Sheng
在 2007-03-29四的 23:20 -0700,Reid Spencer写道: > On Thu, 2007-03-29 at 23:08 -0700, Chris Lattner wrote: > > On Mar 28, 2007, at 6:57 PM, Zhou Sheng wrote: > > > > > @@ -540,8 +540,10 @@ > > >if (I->getOpcode() == Instruction::Shl) > > > if ((CST = dyn_cast(I->getOperand(1 { > > >

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

2007-03-29 Thread Chris Lattner
On Mar 28, 2007, at 7:26 PM, Zhou Sheng wrote: > InstructionCombining.cpp updated: 1.706 -> 1.707 > --- > Log message: > > Clean up codes in InstCombiner::SimplifyDemandedBits(): > 1. Line out nested call of APInt::zext/trunc. > 2. Make more use of APInt::getHighBitsSet/getLowBitsSet. > 3. Use AP

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

2007-03-29 Thread Reid Spencer
On Thu, 2007-03-29 at 23:08 -0700, Chris Lattner wrote: > On Mar 28, 2007, at 6:57 PM, Zhou Sheng wrote: > > > @@ -540,8 +540,10 @@ > >if (I->getOpcode() == Instruction::Shl) > > if ((CST = dyn_cast(I->getOperand(1 { > >// The multiplier is really 1 << CST. > > -

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

2007-03-29 Thread Chris Lattner
On Mar 28, 2007, at 6:57 PM, Zhou Sheng wrote: > @@ -540,8 +540,10 @@ >if (I->getOpcode() == Instruction::Shl) > if ((CST = dyn_cast(I->getOperand(1 { >// The multiplier is really 1 << CST. > - Constant *One = ConstantInt::get(V->getType(), 1); > -

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

2007-03-29 Thread Zhou Sheng
Changes in directory llvm/lib/Transforms/Scalar: InstructionCombining.cpp updated: 1.709 -> 1.710 --- Log message: Use APInt operation instead of ConstantExpr::getXX. --- Diffs of the changes: (+6 -6) InstructionCombining.cpp | 12 ++-- 1 files changed, 6 insertions(+), 6 deletio

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

2007-03-29 Thread Zhou Sheng
Changes in directory llvm/lib/Transforms/Scalar: InstructionCombining.cpp updated: 1.708 -> 1.709 --- Log message: 1. Make more use of APInt::getHighBitsSet/getLowBitsSet. 2. Let APInt variable do the binary operation stuff instead of using ConstantExpr::getXXX. --- Diffs of the changes:

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

2007-03-28 Thread Zhou Sheng
Changes in directory llvm/lib/Transforms/Scalar: InstructionCombining.cpp updated: 1.707 -> 1.708 --- Log message: Clean up some codes in InstCombiner::SimplifyDemandedBits(). --- Diffs of the changes: (+6 -12) InstructionCombining.cpp | 18 ++ 1 files changed, 6 insertio

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

2007-03-28 Thread Zhou Sheng
Changes in directory llvm/lib/Transforms/Scalar: InstructionCombining.cpp updated: 1.706 -> 1.707 --- Log message: Clean up codes in InstCombiner::SimplifyDemandedBits(): 1. Line out nested call of APInt::zext/trunc. 2. Make more use of APInt::getHighBitsSet/getLowBitsSet. 3. Use APInt[] operat

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

2007-03-28 Thread Zhou Sheng
Changes in directory llvm/lib/Transforms/Scalar: InstructionCombining.cpp updated: 1.705 -> 1.706 --- Log message: 1. Make the APInt variable do the binary operation stuff if possible instead of using ConstantExpr::getXX. 2. Use constant reference to APInt if possible instead of expensive

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

2007-03-28 Thread Zhou Sheng
Changes in directory llvm/lib/Transforms/Scalar: InstructionCombining.cpp updated: 1.704 -> 1.705 --- Log message: Avoid unnecessary APInt construction. --- Diffs of the changes: (+2 -3) InstructionCombining.cpp |5 ++--- 1 files changed, 2 insertions(+), 3 deletions(-) Index: llvm/l

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

2007-03-28 Thread Zhou Sheng
Changes in directory llvm/lib/Transforms/Scalar: InstructionCombining.cpp updated: 1.703 -> 1.704 --- Log message: 1. Make more use of getLowBitsSet/getHighBitsSet. 2. Use APInt[] instead of "X & SignBit". 3. Clean up some codes. 4. Make the expression like "ShiftAmt = ShiftAmtC->getZExtValue()

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

2007-03-28 Thread Reid Spencer
On Wed, 2007-03-28 at 14:23 +0800, Zhou Sheng wrote: > 在 2007-03-27二的 22:17 -0700,Reid Spencer写道: > > > >KnownOne |= NewBits; > > > > - KnownZero &= ~NewBits; > > > > -} else { // Input sign bit unknown > > > > - KnownZero &= ~NewBits; > > > > -

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

2007-03-28 Thread Zhou Sheng
Changes in directory llvm/lib/Transforms/Scalar: InstructionCombining.cpp updated: 1.702 -> 1.703 --- Log message: 1. Make more use of getLowBitsSet/getHighBitsSet. 2. Make the APInt value do the zext/trunc stuff instead of using ConstantExpr::getZExt(). --- Diffs of the changes: (+3 -5)

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

2007-03-27 Thread Zhou Sheng
在 2007-03-27二的 22:17 -0700,Reid Spencer写道: > Sheng, > > A correction to my last email .. > > On Tue, 2007-03-27 at 22:13 -0700, Reid Spencer wrote: > > > // If the sign bit of the input is known set or clear, then we know > > > the > > > // top bits of the result. > > > -APInt InS

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

2007-03-27 Thread Reid Spencer
Sheng, A correction to my last email .. On Tue, 2007-03-27 at 22:13 -0700, Reid Spencer wrote: > > // If the sign bit of the input is known set or clear, then we know the > > // top bits of the result. > > -APInt InSignBit(APInt::getSignBit(SrcTy->getBitWidth())); > > -InSignBi

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

2007-03-27 Thread Zhou Sheng
Changes in directory llvm/lib/Transforms/Scalar: InstructionCombining.cpp updated: 1.701 -> 1.702 --- Log message: Use UnknownBIts[BitWidth-1] instead of UnknownBIts & SignBits. --- Diffs of the changes: (+1 -1) InstructionCombining.cpp |2 +- 1 files changed, 1 insertion(+), 1 deletio

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

2007-03-27 Thread Reid Spencer
Sheng, Some important feedback .. Reid. On Tue, 2007-03-27 at 21:19 -0500, Zhou Sheng wrote: > > Changes in directory llvm/lib/Transforms/Scalar: > > InstructionCombining.cpp updated: 1.699 -> 1.700 > --- > Log message: > > Clean up codes in ComputeMaskedBits(): > 1. Line out nested use of ze

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

2007-03-27 Thread Zhou Sheng
Changes in directory llvm/lib/Transforms/Scalar: InstructionCombining.cpp updated: 1.700 -> 1.701 --- Log message: Remove unused APInt variable. --- Diffs of the changes: (+0 -3) InstructionCombining.cpp |3 --- 1 files changed, 3 deletions(-) Index: llvm/lib/Transforms/Scalar/Instru

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

2007-03-27 Thread Zhou Sheng
Changes in directory llvm/lib/Transforms/Scalar: InstructionCombining.cpp updated: 1.699 -> 1.700 --- Log message: Clean up codes in ComputeMaskedBits(): 1. Line out nested use of zext/trunc. 2. Make more use of getHighBitsSet/getLowBitsSet. 3. Use APInt[] != 0 instead of "(APInt & SignBit) !=

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

2007-03-27 Thread Reid Spencer
Changes in directory llvm/lib/Transforms/Scalar: InstructionCombining.cpp updated: 1.698 -> 1.699 --- Log message: For PR1280: http://llvm.org/PR1280 : When converting an add/xor/and triplet into a trunc/sext, only do so if the intermediate integer type is a bitwidth that the targets can handle

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

2007-03-27 Thread Evan Cheng
Changes in directory llvm/lib/Transforms/Scalar: InstructionCombining.cpp updated: 1.697 -> 1.698 --- Log message: Unbreaks non-debug builds. --- Diffs of the changes: (+2 -0) InstructionCombining.cpp |2 ++ 1 files changed, 2 insertions(+) Index: llvm/lib/Transforms/Scalar/Instructio

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

2007-03-26 Thread Reid Spencer
Changes in directory llvm/lib/Transforms/Scalar: InstructionCombining.cpp updated: 1.696 -> 1.697 --- Log message: Implement some minor review feedback. --- Diffs of the changes: (+3 -3) InstructionCombining.cpp |6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-) Index: llvm/

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

2007-03-26 Thread Reid Spencer
Changes in directory llvm/lib/Transforms/Scalar: InstructionCombining.cpp updated: 1.695 -> 1.696 --- Log message: For PR1271: http://llvm.org/PR1271 : Fix another incorrectly converted shift mask. --- Diffs of the changes: (+1 -1) InstructionCombining.cpp |2 +- 1 files changed, 1 ins

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

2007-03-26 Thread Chris Lattner
Changes in directory llvm/lib/Transforms/Scalar: InstructionCombining.cpp updated: 1.694 -> 1.695 --- Log message: eliminate use of std::set --- Diffs of the changes: (+4 -6) InstructionCombining.cpp | 10 -- 1 files changed, 4 insertions(+), 6 deletions(-) Index: llvm/lib/Tran

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

2007-03-26 Thread Chris Lattner
On Mar 26, 2007, at 11:33 AM, Reid Spencer wrote: > On Mon, 2007-03-26 at 11:29 -0700, Chris Lattner wrote: >>> @@ -57,6 +57,9 @@ >>> #include "llvm/ADT/STLExtras.h" >>> #include >>> #include >>> +#ifndef NDEBUG >>> +#include >>> +#endif >> >> Please don't conditionally #include files. > >

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

2007-03-26 Thread Reid Spencer
On Mon, 2007-03-26 at 11:29 -0700, Chris Lattner wrote: > > @@ -57,6 +57,9 @@ > > #include "llvm/ADT/STLExtras.h" > > #include > > #include > > +#ifndef NDEBUG > > +#include > > +#endif > > Please don't conditionally #include files. Why? You would get sstream #included in a release build wh

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

2007-03-26 Thread Chris Lattner
> @@ -57,6 +57,9 @@ > #include "llvm/ADT/STLExtras.h" > #include > #include > +#ifndef NDEBUG > +#include > +#endif Please don't conditionally #include files. Thanks for the patch, making instcombine's debug output nicer would be very helpful, -chris > using namespace llvm; > using na

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

2007-03-26 Thread Reid Spencer
Changes in directory llvm/lib/Transforms/Scalar: InstructionCombining.cpp updated: 1.693 -> 1.694 --- Log message: Get better debug output by having modified instructions print both the original and new instruction. A slight performance hit with ostringstream but it is only for debug. Also, cle

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

2007-03-26 Thread Reid Spencer
Changes in directory llvm/lib/Transforms/Scalar: InstructionCombining.cpp updated: 1.692 -> 1.693 --- Log message: Get the number of bits to set in a mask correct for a shl/lshr transform. --- Diffs of the changes: (+1 -1) InstructionCombining.cpp |2 +- 1 files changed, 1 insertion(+)

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

2007-03-25 Thread Reid Spencer
Changes in directory llvm/lib/Transforms/Scalar: InstructionCombining.cpp updated: 1.691 -> 1.692 --- Log message: For PR1271: http://llvm.org/PR1271 : Fix SingleSource/Regression/C/2003-05-21-UnionBitFields.c by changing a getHighBitsSet call to getLowBitsSet call that was incorrectly converte

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

2007-03-25 Thread Reid Spencer
Changes in directory llvm/lib/Transforms/Scalar: InstructionCombining.cpp updated: 1.690 -> 1.691 --- Log message: For PR1271: http://llvm.org/PR1271 : Remove a use of getLowBitsSet that caused the mask used for replacement of shl/lshr pairs with an AND instruction to be computed incorrectly. I

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

2007-03-25 Thread Chris Lattner
Changes in directory llvm/lib/Transforms/Scalar: InstructionCombining.cpp updated: 1.689 -> 1.690 --- Log message: implement Transforms/InstCombine/cast2.ll:test3 and PR1263: http://llvm.org/PR1263 --- Diffs of the changes: (+21 -1) InstructionCombining.cpp | 22 +-

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

2007-03-25 Thread Chris Lattner
> Index: llvm/lib/Transforms/Scalar/InstructionCombining.cpp > diff -u llvm/lib/Transforms/Scalar/InstructionCombining.cpp:1.688 > llvm/lib/Transforms/Scalar/InstructionCombining.cpp:1.689 > --- llvm/lib/Transforms/Scalar/InstructionCombining.cpp:1.688 Sun > Mar 25 00:33:51 2007 > +++ llvm/lib/

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

2007-03-25 Thread Reid Spencer
Changes in directory llvm/lib/Transforms/Scalar: InstructionCombining.cpp updated: 1.688 -> 1.689 --- Log message: Some cleanup from review: * Don't assume shift amounts are <= 64 bits * Avoid creating an extra APInt in SubOne and AddOne by using -- and ++ * Add another use of getLowBitsSet * C

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

2007-03-25 Thread Chris Lattner
>> Right. ConstantInt's are immutable, so it doesn't really need to be >> marked const. I'm saying that the implementation of these methods >> shouldn't build a "1" apint, then add it. Instead, it should just >> increment an apint with ++. > > Yup. I've already changed it to: > > static Constant

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

2007-03-25 Thread Reid Spencer
On Sun, 2007-03-25 at 12:25 -0700, Chris Lattner wrote: > > > >>> +/// SubOne - Subtract one from a ConstantInt > >>> static ConstantInt *SubOne(ConstantInt *C) { > >> > >> Shouldn't these use ++/-- on APInt? That seems more efficient. > > > > I should really have these functions declare the para

  1   2   3   4   5   >