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
// all indices for SequentialType elements. We must retain the same
// semantic (zext) for unsigned types.
if (const IntegerType *Ity = dyn_cast<IntegerType>(Index->getType()))
// 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);
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)
}
// Add to the CIndices list, if requested.
if (CIndices)