[NFC][DebugInfo][RemoveDIs] Use iterators to insert in callsite-splitting (#74455)
This patch gets call site splitting to use iterators for insertion rather than instruction pointers. When we switch on non-instr debug-info this becomes significant, as the iterators are going to signal whether or not a position is before or after debug-info. NFC as this isn't going to affect the output of any existing test.
This commit is contained in:
@@ -372,10 +372,10 @@ static void splitCallSite(CallBase &CB,
|
||||
return;
|
||||
}
|
||||
|
||||
auto *OriginalBegin = &*TailBB->begin();
|
||||
BasicBlock::iterator OriginalBegin = TailBB->begin();
|
||||
// Replace users of the original call with a PHI mering call-sites split.
|
||||
if (CallPN) {
|
||||
CallPN->insertBefore(OriginalBegin);
|
||||
CallPN->insertBefore(*TailBB, OriginalBegin);
|
||||
CB.replaceAllUsesWith(CallPN);
|
||||
}
|
||||
|
||||
@@ -399,13 +399,13 @@ static void splitCallSite(CallBase &CB,
|
||||
for (auto &Mapping : ValueToValueMaps)
|
||||
NewPN->addIncoming(Mapping[CurrentI],
|
||||
cast<Instruction>(Mapping[CurrentI])->getParent());
|
||||
NewPN->insertBefore(&*TailBB->begin());
|
||||
NewPN->insertBefore(*TailBB, TailBB->begin());
|
||||
CurrentI->replaceAllUsesWith(NewPN);
|
||||
}
|
||||
CurrentI->dropDbgValues();
|
||||
CurrentI->eraseFromParent();
|
||||
// We are done once we handled the first original instruction in TailBB.
|
||||
if (CurrentI == OriginalBegin)
|
||||
if (CurrentI == &*OriginalBegin)
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user