forked from OSchip/llvm-project
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). llvm-svn: 101604
This commit is contained in:
parent
71336f213b
commit
4e5eb5ae1b
|
@ -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…
Reference in New Issue