diff options
Diffstat (limited to 'llvm/lib/CodeGen/InlineSpiller.cpp')
-rw-r--r-- | llvm/lib/CodeGen/InlineSpiller.cpp | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/llvm/lib/CodeGen/InlineSpiller.cpp b/llvm/lib/CodeGen/InlineSpiller.cpp index 478ea9b2bc5..007e9283d83 100644 --- a/llvm/lib/CodeGen/InlineSpiller.cpp +++ b/llvm/lib/CodeGen/InlineSpiller.cpp @@ -617,9 +617,12 @@ void InlineSpiller::reMaterializeAll() { MachineInstr &MI = *RegI++; // Debug values are not allowed to affect codegen. - if (MI.isDebugInstr()) + if (MI.isDebugValue()) continue; + assert(!MI.isDebugInstr() && "Did not expect to find a use in debug " + "instruction that isn't a DBG_VALUE"); + anyRemat |= reMaterializeFor(LI, MI); } } @@ -933,7 +936,7 @@ void InlineSpiller::spillAroundUses(unsigned Reg) { MachineInstr *MI = &*(RegI++); // Debug values are not allowed to affect codegen. - if (MI->isDebugInstr()) { + if (MI->isDebugValue()) { // Modify DBG_VALUE now that the value is in a spill slot. MachineBasicBlock *MBB = MI->getParent(); LLVM_DEBUG(dbgs() << "Modifying debug info due to spill:\t" << *MI); @@ -942,6 +945,9 @@ void InlineSpiller::spillAroundUses(unsigned Reg) { continue; } + assert(!MI->isDebugInstr() && "Did not expect to find a use in debug " + "instruction that isn't a DBG_VALUE"); + // Ignore copies to/from snippets. We'll delete them. if (SnippetCopies.count(MI)) continue; |