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
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
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
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
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
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
>
> 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
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
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(-
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
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
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,
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 ++
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
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
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
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
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
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
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
>> +//
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.
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
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 +
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 ++
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
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
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
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
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:
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 +++
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
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 +++
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
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
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
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 +
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
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
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
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
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
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 ++
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
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
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!
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
> 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
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 +++
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
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,
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 +++
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
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
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
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: (+
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
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(+
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 +++
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
> 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
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.
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
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 ---
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
在 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 {
> > >
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
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.
> > -
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);
> -
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
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:
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
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
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
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
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()
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;
> > > > -
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)
在 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
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
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
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
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
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) !=
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
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
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/
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
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
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.
>
>
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
> @@ -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
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
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(+)
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
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
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 +-
> 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/
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
>> 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
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 - 100 of 421 matches
Mail list logo