Ignore debug intrinsics in yet more places.

llvm-svn: 99580
This commit is contained in:
Dan Gohman 2010-03-26 00:33:27 +00:00
parent 382a96550b
commit d42e09d91e
1 changed files with 4 additions and 1 deletions

View File

@ -2827,6 +2827,7 @@ Value *LSRInstance::Expand(const LSRFixup &LF,
IP = Tentative; IP = Tentative;
} }
while (isa<PHINode>(IP)) ++IP; while (isa<PHINode>(IP)) ++IP;
while (isa<DbgInfoIntrinsic>(IP)) ++IP;
// Inform the Rewriter if we have a post-increment use, so that it can // Inform the Rewriter if we have a post-increment use, so that it can
// perform an advantageous expansion. // perform an advantageous expansion.
@ -2864,8 +2865,10 @@ Value *LSRInstance::Expand(const LSRFixup &LF,
// so that it is dominated by its operand. If the original insert point // so that it is dominated by its operand. If the original insert point
// was already dominated by the increment, keep it, because there may // was already dominated by the increment, keep it, because there may
// be loop-variant operands that need to be respected also. // be loop-variant operands that need to be respected also.
if (L->contains(LF.UserInst) && !DT.dominates(IVIncInsertPos, IP)) if (L->contains(LF.UserInst) && !DT.dominates(IVIncInsertPos, IP)) {
IP = IVIncInsertPos; IP = IVIncInsertPos;
while (isa<DbgInfoIntrinsic>(IP)) ++IP;
}
break; break;
} }
Start = AR->getStart(); Start = AR->getStart();