Fix a bug in my previous patch, thanks to Jay Foad for
pointing this out and correcting the patch!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44907 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Analysis/ConstantFolding.cpp b/lib/Analysis/ConstantFolding.cpp
index ebf2786..a810b0f 100644
--- a/lib/Analysis/ConstantFolding.cpp
+++ b/lib/Analysis/ConstantFolding.cpp
@@ -427,10 +427,10 @@
// there is a truncation or extension that we aren't modeling.
if ((CE0->getOpcode() == Instruction::IntToPtr &&
CE0->getOperand(0)->getType() == IntPtrTy &&
- CE0->getOperand(1)->getType() == IntPtrTy) ||
+ Ops[1]->getOperand(0)->getType() == IntPtrTy) ||
(CE0->getOpcode() == Instruction::PtrToInt &&
CE0->getType() == IntPtrTy &&
- CE0->getOperand(0)->getType() == CE0->getOperand(1)->getType())) {
+ CE0->getOperand(0)->getType() == Ops[1]->getOperand(0)->getType())) {
Constant *NewOps[] = {
CE0->getOperand(0), cast<ConstantExpr>(Ops[1])->getOperand(0)
};