When decling to reuse existing expressions that involve casts, ignore

bitcasts, which are really no-ops here. This fixes slowdowns on
MultiSource/Applications/aha and others.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127031 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Dan Gohman
2011-03-04 20:46:46 +00:00
parent c42fb5f81c
commit a7a841adb8
2 changed files with 46 additions and 1 deletions

View File

@@ -859,7 +859,7 @@ SCEVExpander::getAddRecExprPHILiterally(const SCEVAddRecExpr *Normalized,
// to be.
do {
if (IncV->getNumOperands() == 0 || isa<PHINode>(IncV) ||
isa<CastInst>(IncV)) {
(isa<CastInst>(IncV) && !isa<BitCastInst>(IncV))) {
IncV = 0;
break;
}