use getArgOperand (corrected by CallInst::ArgOffset) instead of getOperand
authorGabor Greif <ggreif@gmail.com>
Wed, 30 Jun 2010 09:19:23 +0000 (09:19 +0000)
committerGabor Greif <ggreif@gmail.com>
Wed, 30 Jun 2010 09:19:23 +0000 (09:19 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107273 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Transforms/Scalar/CodeGenPrepare.cpp

index f645a5a1c4a6095b32073f253f80226168e3213a..272066c8c0c4b89af047649212f1187d8a6ac760 100644 (file)
@@ -548,7 +548,8 @@ protected:
     CI->eraseFromParent();
   }
   bool isFoldable(unsigned SizeCIOp, unsigned, bool) const {
-    if (ConstantInt *SizeCI = dyn_cast<ConstantInt>(CI->getOperand(SizeCIOp)))
+      if (ConstantInt *SizeCI = dyn_cast<ConstantInt>(CI->getArgOperand(SizeCIOp
+                                                        - CallInst::ArgOffset)))
       return SizeCI->isAllOnesValue();
     return false;
   }