Changes in directory llvm/lib/Transforms/Scalar:
InstructionCombining.cpp updated: 1.514 -> 1.515 --- Log message: simplify --- Diffs of the changes: (+8 -12) InstructionCombining.cpp | 20 ++++++++------------ 1 files changed, 8 insertions(+), 12 deletions(-) Index: llvm/lib/Transforms/Scalar/InstructionCombining.cpp diff -u llvm/lib/Transforms/Scalar/InstructionCombining.cpp:1.514 llvm/lib/Transforms/Scalar/InstructionCombining.cpp:1.515 --- llvm/lib/Transforms/Scalar/InstructionCombining.cpp:1.514 Tue Sep 19 23:44:59 2006 +++ llvm/lib/Transforms/Scalar/InstructionCombining.cpp Wed Sep 20 10:37:57 2006 @@ -1603,18 +1603,14 @@ CI = dyn_cast<CastInst>(RHS); Other = LHS; } - if (CI) { - const Type *UIntPtrTy = TD->getIntPtrType(); - const Type *SIntPtrTy = UIntPtrTy->getSignedVersion(); - if((CI->getType() == UIntPtrTy || CI->getType() == SIntPtrTy) - && isa<PointerType>(CI->getOperand(0)->getType())) { - Instruction* I2 = new CastInst(CI->getOperand(0), - PointerType::get(Type::SByteTy), "ctg", &I); - WorkList.push_back(I2); - I2 = new GetElementPtrInst(I2, Other, "ctg", &I); - WorkList.push_back(I2); - return new CastInst(I2, CI->getType()); - } + if (CI && CI->getType()->isSized() && + (CI->getType()->getPrimitiveSize() == + TD->getIntPtrType()->getPrimitiveSize()) + && isa<PointerType>(CI->getOperand(0)->getType())) { + Value* I2 = InsertCastBefore(CI->getOperand(0), + PointerType::get(Type::SByteTy), I); + I2 = InsertNewInstBefore(new GetElementPtrInst(I2, Other, "ctg2"), I); + return new CastInst(I2, CI->getType()); } } _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits