mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-17 21:35:07 +00:00
As a temporary workaround for post-RA not handling DebugValue instructions,
just remove them all. Radar 7873207 (working around the root problem of Radar 7759363). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101604 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
23eaf26fa3
commit
8295d4c96c
@ -265,6 +265,17 @@ bool PostRAScheduler::runOnMachineFunction(MachineFunction &Fn) {
|
||||
// Initialize register live-range state for scheduling in this block.
|
||||
Scheduler.StartBlock(MBB);
|
||||
|
||||
// FIXME: Temporary workaround for <rdar://problem/7759363>: The post-RA
|
||||
// scheduler has some sort of problem with DebugValue instructions that
|
||||
// causes an assertion in LeaksContext.h to fail occasionally. Just
|
||||
// remove all those instructions for now.
|
||||
for (MachineBasicBlock::iterator I = MBB->begin(), E = MBB->end();
|
||||
I != E; ) {
|
||||
MachineInstr *MI = &*I++;
|
||||
if (MI->isDebugValue())
|
||||
MI->eraseFromParent();
|
||||
}
|
||||
|
||||
// Schedule each sequence of instructions not interrupted by a label
|
||||
// or anything else that effectively needs to shut down scheduling.
|
||||
MachineBasicBlock::iterator Current = MBB->end();
|
||||
|
Loading…
x
Reference in New Issue
Block a user