aboutsummaryrefslogtreecommitdiff
path: root/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
diff options
context:
space:
mode:
authorBob Wilson <bob.wilson@apple.com>2010-01-30 00:41:10 +0000
committerBob Wilson <bob.wilson@apple.com>2010-01-30 00:41:10 +0000
commit6ecfccfd55274187368b86d7f2e65f77d1921c36 (patch)
tree07f2cf49b5debb0cbc5ef115d836b5bf19ac976a /lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
parent8ad1f0e28456f67cbaa4381063795b1c263550a3 (diff)
Use more specific types to avoid casts. No functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94863 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp')
-rw-r--r--lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp12
1 files changed, 6 insertions, 6 deletions
diff --git a/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp b/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
index e58c954e91..422ffd03a8 100644
--- a/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
+++ b/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
@@ -115,9 +115,9 @@ static Instruction *InstCombineLoadCast(InstCombiner &IC, LoadInst &LI,
// Okay, we are casting from one integer or pointer type to another of
// the same size. Instead of casting the pointer before the load, cast
// the result of the loaded value.
- Value *NewLoad =
+ LoadInst *NewLoad =
IC.Builder->CreateLoad(CastOp, LI.isVolatile(), CI->getName());
- cast<LoadInst>(NewLoad)->setAlignment(LI.getAlignment());
+ NewLoad->setAlignment(LI.getAlignment());
// Now cast the result of the load.
return new BitCastInst(NewLoad, LI.getType());
}
@@ -202,12 +202,12 @@ Instruction *InstCombiner::visitLoadInst(LoadInst &LI) {
// load (select (Cond, &V1, &V2)) --> select(Cond, load &V1, load &V2).
if (isSafeToLoadUnconditionally(SI->getOperand(1), SI, TD) &&
isSafeToLoadUnconditionally(SI->getOperand(2), SI, TD)) {
- Value *V1 = Builder->CreateLoad(SI->getOperand(1),
+ LoadInst *V1 = Builder->CreateLoad(SI->getOperand(1),
SI->getOperand(1)->getName()+".val");
- Value *V2 = Builder->CreateLoad(SI->getOperand(2),
+ LoadInst *V2 = Builder->CreateLoad(SI->getOperand(2),
SI->getOperand(2)->getName()+".val");
- cast<LoadInst>(V1)->setAlignment(LI.getAlignment());
- cast<LoadInst>(V2)->setAlignment(LI.getAlignment());
+ V1->setAlignment(LI.getAlignment());
+ V2->setAlignment(LI.getAlignment());
return SelectInst::Create(SI->getCondition(), V1, V2);
}