diff options
author | Dan Gohman <gohman@apple.com> | 2011-03-02 01:34:10 +0000 |
---|---|---|
committer | Dan Gohman <gohman@apple.com> | 2011-03-02 01:34:10 +0000 |
commit | 7290868a1ba52b5b82b4c30807301b63b2b14cf1 (patch) | |
tree | 425053aff3deacbd6e9f55692c8dd3b59e5405c3 /llvm/lib/Analysis/ScalarEvolutionExpander.cpp | |
parent | 15fed7af3c050a7cb42316fa8c92f69fa9ffe1a0 (diff) | |
download | bcm5719-llvm-7290868a1ba52b5b82b4c30807301b63b2b14cf1.tar.gz bcm5719-llvm-7290868a1ba52b5b82b4c30807301b63b2b14cf1.zip |
Don't re-use existing addrec expansions if they contain casts.
This fixes PR9259.
llvm-svn: 126812
Diffstat (limited to 'llvm/lib/Analysis/ScalarEvolutionExpander.cpp')
-rw-r--r-- | llvm/lib/Analysis/ScalarEvolutionExpander.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/llvm/lib/Analysis/ScalarEvolutionExpander.cpp b/llvm/lib/Analysis/ScalarEvolutionExpander.cpp index b7c110f28cf..f2d23c4be70 100644 --- a/llvm/lib/Analysis/ScalarEvolutionExpander.cpp +++ b/llvm/lib/Analysis/ScalarEvolutionExpander.cpp @@ -858,7 +858,8 @@ SCEVExpander::getAddRecExprPHILiterally(const SCEVAddRecExpr *Normalized, // loop already visited by LSR for example, but it wouldn't have // to be. do { - if (IncV->getNumOperands() == 0 || isa<PHINode>(IncV)) { + if (IncV->getNumOperands() == 0 || isa<PHINode>(IncV) || + isa<CastInst>(IncV)) { IncV = 0; break; } |