OSDN Git Service

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 f645a5a..272066c 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;
   }