mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-06-13 04:38:24 +00:00
During branch folding avoid inserting redundant DBG_VALUE machine instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132148 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@ -1056,6 +1056,19 @@ ReoptimizeBlock:
|
||||
!MBB->hasAddressTaken() && !MBB->isLandingPad()) {
|
||||
DEBUG(dbgs() << "\nMerging into block: " << PrevBB
|
||||
<< "From MBB: " << *MBB);
|
||||
if (PrevBB.begin() != PrevBB.end()) {
|
||||
MachineBasicBlock::iterator PrevBBIter = PrevBB.end();
|
||||
--PrevBBIter;
|
||||
MachineBasicBlock::iterator MBBIter = MBB->begin();
|
||||
while (PrevBBIter != PrevBB.begin() && MBBIter != MBB->end()
|
||||
&& PrevBBIter->isDebugValue() && MBBIter->isDebugValue()) {
|
||||
if (!MBBIter->isIdenticalTo(PrevBBIter))
|
||||
break;
|
||||
MachineInstr *DuplicateDbg = MBBIter;
|
||||
++MBBIter; -- PrevBBIter;
|
||||
DuplicateDbg->eraseFromParent();
|
||||
}
|
||||
}
|
||||
PrevBB.splice(PrevBB.end(), MBB, MBB->begin(), MBB->end());
|
||||
PrevBB.removeSuccessor(PrevBB.succ_begin());;
|
||||
assert(PrevBB.succ_empty());
|
||||
|
Reference in New Issue
Block a user