Skip interleaved debug info when fast-forwarding through

allocations.  Apparently the assumption is there is an
instruction (terminator?) following the allocation so I
am allowing the same assumption.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66716 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Dale Johannesen 2009-03-11 22:19:43 +00:00
parent a597a97618
commit a891518c4d

View File

@ -10954,10 +10954,10 @@ Instruction *InstCombiner::visitAllocationInst(AllocationInst &AI) {
InsertNewInstBefore(New, AI);
// Scan to the end of the allocation instructions, to skip over a block of
// allocas if possible...
// allocas if possible...also skip interleaved debug info
//
BasicBlock::iterator It = New;
while (isa<AllocationInst>(*It)) ++It;
while (isa<AllocationInst>(*It) || isa<DbgInfoIntrinsic>(*It)) ++It;
// Now that I is pointing to the first non-allocation-inst in the block,
// insert our getelementptr instruction...