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.

llvm-svn: 127031
This commit is contained in:
Dan Gohman
2011-03-04 20:46:46 +00:00
parent 8c2d3f4248
commit aa036eedb8
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;
}