> Index: llvm/lib/Transforms/Utils/LowerAllocations.cpp > diff -u llvm/lib/Transforms/Utils/LowerAllocations.cpp:1.64 llvm/ > lib/Transforms/Utils/LowerAllocations.cpp:1.65 > --- llvm/lib/Transforms/Utils/LowerAllocations.cpp:1.64 Wed Dec 6 > 11:46:33 2006 > +++ llvm/lib/Transforms/Utils/LowerAllocations.cpp Mon Dec 11 > 23:05:00 2006 > @@ -122,14 +122,15 @@ > MallocArg = ConstantInt::get(Type::ULongTy, TD.getTypeSize > (AllocTy)); > else > MallocArg = ConstantExpr::getSizeOf(AllocTy); > - MallocArg = ConstantExpr::getCast(cast<Constant>(MallocArg), > IntPtrTy); > + MallocArg = ConstantExpr::getIntegerCast(cast<Constant> > (MallocArg), > + IntPtrTy, true / > *SExt*/);
This is always trunc or bitcast. > if (MI->isArrayAllocation()) { > if (isa<ConstantInt>(MallocArg) && > cast<ConstantInt>(MallocArg)->getZExtValue() == 1) { > MallocArg = MI->getOperand(0); // Operand * 1 = > Operand > } else if (Constant *CO = dyn_cast<Constant>(MI->getOperand > (0))) { > - CO = ConstantExpr::getCast(CO, IntPtrTy); > + CO = ConstantExpr::getIntegerCast(CO, IntPtrTy, true / > *SExt*/); This should zext, not sext. > MallocArg = ConstantExpr::getMul(CO, cast<Constant> > (MallocArg)); > } else { > Value *Scale = MI->getOperand(0); > -Chris _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits