Make sure that an upgraded index is also inserted into the VIndices
authorReid Spencer <rspencer@reidspencer.com>
Fri, 26 Jan 2007 20:29:52 +0000 (20:29 +0000)
committerReid Spencer <rspencer@reidspencer.com>
Fri, 26 Jan 2007 20:29:52 +0000 (20:29 +0000)
otherwise it gets ignored.

This fixes test/CodeGen/X86/2006-05-11-InstrSched.ll

Thanks to Evan Cheng for noticing this.

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

tools/llvm-upgrade/UpgradeParser.y

index 14183a40cbc2953e37b5dd6d142042a4f6451daf..30d7271115340fb668b7771460ecd54f515640a6 100644 (file)
@@ -1169,13 +1169,15 @@ const Type* upgradeGEPIndices(const Type* PTy,
       // all indices for SequentialType elements. We must retain the same 
       // semantic (zext) for unsigned types.
       if (const IntegerType *Ity = dyn_cast<IntegerType>(Index->getType()))
-        if (Ity->getBitWidth() < 64 && (*Indices)[i].S == Unsigned)
+        if (Ity->getBitWidth() < 64 && (*Indices)[i].S == Unsigned) {
           if (CIndices)
             Index = ConstantExpr::getCast(Instruction::ZExt, 
               cast<Constant>(Index), Type::Int64Ty);
           else
             Index = CastInst::create(Instruction::ZExt, Index, Type::Int64Ty,
               makeNameUnique("gep_upgrade"), CurBB);
+          VIndices[i] = Index;
+        }
     }
     // Add to the CIndices list, if requested.
     if (CIndices)