summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Analysis/ScalarEvolutionExpander.cpp
diff options
context:
space:
mode:
authorDan Gohman <gohman@apple.com>2010-02-12 20:39:25 +0000
committerDan Gohman <gohman@apple.com>2010-02-12 20:39:25 +0000
commit1a8674e60b972e98f7f3a1ef5b4eeb5b5dcb5f29 (patch)
tree750698e8044c98b83d9c408e7df39e2ff4933572 /llvm/lib/Analysis/ScalarEvolutionExpander.cpp
parent9aa30fbe0229c3b6583a9be13fcccebd893cdd63 (diff)
downloadbcm5719-llvm-1a8674e60b972e98f7f3a1ef5b4eeb5b5dcb5f29.tar.gz
bcm5719-llvm-1a8674e60b972e98f7f3a1ef5b4eeb5b5dcb5f29.zip
Fix a case of mismatched types in an Add that turned up in 447.dealII.
llvm-svn: 96007
Diffstat (limited to 'llvm/lib/Analysis/ScalarEvolutionExpander.cpp')
-rw-r--r--llvm/lib/Analysis/ScalarEvolutionExpander.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/llvm/lib/Analysis/ScalarEvolutionExpander.cpp b/llvm/lib/Analysis/ScalarEvolutionExpander.cpp
index 9439d084c49..5de55fed482 100644
--- a/llvm/lib/Analysis/ScalarEvolutionExpander.cpp
+++ b/llvm/lib/Analysis/ScalarEvolutionExpander.cpp
@@ -792,6 +792,7 @@ Value *SCEVExpander::expandAddRecExprLiterally(const SCEVAddRecExpr *S) {
// Re-apply any non-loop-dominating scale.
if (PostLoopScale) {
+ Result = InsertNoopCastOfTo(Result, IntTy);
Result = Builder.CreateMul(Result,
expandCodeFor(PostLoopScale, IntTy));
rememberInstruction(Result);
@@ -803,6 +804,7 @@ Value *SCEVExpander::expandAddRecExprLiterally(const SCEVAddRecExpr *S) {
const SCEV *const OffsetArray[1] = { PostLoopOffset };
Result = expandAddToGEP(OffsetArray, OffsetArray+1, PTy, IntTy, Result);
} else {
+ Result = InsertNoopCastOfTo(Result, IntTy);
Result = Builder.CreateAdd(Result,
expandCodeFor(PostLoopOffset, IntTy));
rememberInstruction(Result);
OpenPOWER on IntegriCloud