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

Chris Lattner lattner at cs.uiuc.edu
Mon May 26 18:42:01 PDT 2003


Changes in directory llvm/lib/Transforms/Scalar:

InstructionCombining.cpp updated: 1.83 -> 1.84

---
Log message:

Fix bug: InstCombine/2003-05-26-CastMiscompile.ll


---
Diffs of the changes:

Index: llvm/lib/Transforms/Scalar/InstructionCombining.cpp
diff -u llvm/lib/Transforms/Scalar/InstructionCombining.cpp:1.83 llvm/lib/Transforms/Scalar/InstructionCombining.cpp:1.84
--- llvm/lib/Transforms/Scalar/InstructionCombining.cpp:1.83	Thu May 22 14:07:21 2003
+++ llvm/lib/Transforms/Scalar/InstructionCombining.cpp	Mon May 26 18:41:32 2003
@@ -897,7 +897,7 @@
         CSrc->getType()->getPrimitiveSize() < CI.getType()->getPrimitiveSize()){
       assert(CSrc->getType() != Type::ULongTy &&
              "Cannot have type bigger than ulong!");
-      unsigned AndValue = (1U << CSrc->getType()->getPrimitiveSize()*8)-1;
+      uint64_t AndValue = (1ULL << CSrc->getType()->getPrimitiveSize()*8)-1;
       Constant *AndOp = ConstantUInt::get(CI.getType(), AndValue);
       return BinaryOperator::create(Instruction::And, CSrc->getOperand(0),
                                     AndOp);





More information about the llvm-commits mailing list