Revert a patch that is unsafe, due to out of range array accesses in inner
authorChris Lattner <sabre@nondot.org>
Thu, 25 May 2006 21:25:12 +0000 (21:25 +0000)
committerChris Lattner <sabre@nondot.org>
Thu, 25 May 2006 21:25:12 +0000 (21:25 +0000)
array scopes possibly accessing valid memory in outer subscripts.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28478 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Transforms/Utils/Local.cpp

index 3998923dd1ac46986f794e07180ba148646db8a0..f0da3e554c0e8a0a11136504ef336f84db3c6a9e 100644 (file)
@@ -274,7 +274,7 @@ Constant *llvm::ConstantFoldLoadThroughGEPConstantExpr(Constant *C,
     } else if (ConstantInt *CI = dyn_cast<ConstantInt>(I.getOperand())) {
       if (const ArrayType *ATy = dyn_cast<ArrayType>(*I)) {
         if ((uint64_t)CI->getRawValue() >= ATy->getNumElements())
-          C = UndefValue::get(ATy->getElementType());
+         return 0;
         if (ConstantArray *CA = dyn_cast<ConstantArray>(C))
           C = CA->getOperand((unsigned)CI->getRawValue());
         else if (isa<ConstantAggregateZero>(C))
@@ -285,7 +285,7 @@ Constant *llvm::ConstantFoldLoadThroughGEPConstantExpr(Constant *C,
           return 0;
       } else if (const PackedType *PTy = dyn_cast<PackedType>(*I)) {
         if ((uint64_t)CI->getRawValue() >= PTy->getNumElements())
-          C = UndefValue::get(PTy->getElementType());
+          return 0;
         if (ConstantPacked *CP = dyn_cast<ConstantPacked>(C))
           C = CP->getOperand((unsigned)CI->getRawValue());
         else if (isa<ConstantAggregateZero>(C))