aboutsummaryrefslogtreecommitdiff
path: root/lib/Transforms/TransformInternals.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Transforms/TransformInternals.cpp')
-rw-r--r--lib/Transforms/TransformInternals.cpp30
1 files changed, 10 insertions, 20 deletions
diff --git a/lib/Transforms/TransformInternals.cpp b/lib/Transforms/TransformInternals.cpp
index 3f61864c9c..f9ee232b08 100644
--- a/lib/Transforms/TransformInternals.cpp
+++ b/lib/Transforms/TransformInternals.cpp
@@ -141,35 +141,25 @@ const Type *ConvertableToGEP(const Type *Ty, Value *OffsetVal,
if (BI) { // Generate code?
BasicBlock *BB = (*BI)->getParent();
- if (Expr.Var->getType() != Type::UIntTy) {
- CastInst *IdxCast = new CastInst(Expr.Var, Type::UIntTy);
- if (Expr.Var->hasName())
- IdxCast->setName(Expr.Var->getName()+"-idxcast");
- *BI = ++BB->getInstList().insert(*BI, IdxCast);
- Expr.Var = IdxCast;
- }
+ if (Expr.Var->getType() != Type::UIntTy)
+ Expr.Var = new CastInst(Expr.Var, Type::UIntTy,
+ Expr.Var->getName()+"-idxcast", *BI);
if (ScaleAmt && ScaleAmt != 1) {
// If we have to scale up our index, do so now
Value *ScaleAmtVal = ConstantUInt::get(Type::UIntTy,
(unsigned)ScaleAmt);
- Instruction *Scaler = BinaryOperator::create(Instruction::Mul,
- Expr.Var, ScaleAmtVal);
- if (Expr.Var->hasName())
- Scaler->setName(Expr.Var->getName()+"-scale");
-
- *BI = ++BB->getInstList().insert(*BI, Scaler);
- Expr.Var = Scaler;
+ Expr.Var = BinaryOperator::create(Instruction::Mul, Expr.Var,
+ ScaleAmtVal,
+ Expr.Var->getName()+"-scale",*BI);
}
if (Index) { // Add an offset to the index
Value *IndexAmt = ConstantUInt::get(Type::UIntTy, (unsigned)Index);
- Instruction *Offseter = BinaryOperator::create(Instruction::Add,
- Expr.Var, IndexAmt);
- if (Expr.Var->hasName())
- Offseter->setName(Expr.Var->getName()+"-offset");
- *BI = ++BB->getInstList().insert(*BI, Offseter);
- Expr.Var = Offseter;
+ Expr.Var = BinaryOperator::create(Instruction::Add, Expr.Var,
+ IndexAmt,
+ Expr.Var->getName()+"-offset",
+ *BI);
}
}