Changes in directory llvm/lib/Transforms/Scalar:

InstructionCombining.cpp updated: 1.402 -> 1.403
---
Log message:

make this 64 bit clean, fixed test30 of 
/Regression/Transforms/InstCombine/add.ll

---
Diffs of the changes:  (+1 -1)

 InstructionCombining.cpp |    2 +-
 1 files changed, 1 insertion(+), 1 deletion(-)


Index: llvm/lib/Transforms/Scalar/InstructionCombining.cpp
diff -u llvm/lib/Transforms/Scalar/InstructionCombining.cpp:1.402 
llvm/lib/Transforms/Scalar/InstructionCombining.cpp:1.403
--- llvm/lib/Transforms/Scalar/InstructionCombining.cpp:1.402   Mon Oct 31 
12:35:52 2005
+++ llvm/lib/Transforms/Scalar/InstructionCombining.cpp Wed Nov  2 12:35:40 2005
@@ -710,7 +710,7 @@
     // X + (signbit) --> X ^ signbit
     if (ConstantInt *CI = dyn_cast<ConstantInt>(RHSC)) {
       unsigned NumBits = CI->getType()->getPrimitiveSizeInBits();
-      uint64_t Val = CI->getRawValue() & (1ULL << NumBits)-1;
+      uint64_t Val = CI->getRawValue() & (~0ULL >> (64- NumBits));
       if (Val == (1ULL << (NumBits-1)))
         return BinaryOperator::createXor(LHS, RHS);
     }



_______________________________________________
llvm-commits mailing list
llvm-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits

Reply via email to