[llvm] r240852 - CodeGen: Create a proper ModuleSlotTracker for MachineInstr
Duncan P. N. Exon Smith
dexonsmith at apple.com
Fri Jun 26 16:18:44 PDT 2015
Author: dexonsmith
Date: Fri Jun 26 18:18:44 2015
New Revision: 240852
URL: http://llvm.org/viewvc/llvm-project?rev=240852&view=rev
Log:
CodeGen: Create a proper ModuleSlotTracker for MachineInstr
Another follow-up related to r240848: try a little harder to share slot
tracking calculations within a single `MachineInstr` dump. This is
unrelated to `MachineFunction::print()`, since that should be passing
through the function's `ModuleSlotTracker` by now, but could affect the
speed of dumping from a debugger if there is more than one IR-level
operand.
Modified:
llvm/trunk/lib/CodeGen/MachineInstr.cpp
Modified: llvm/trunk/lib/CodeGen/MachineInstr.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/MachineInstr.cpp?rev=240852&r1=240851&r2=240852&view=diff
==============================================================================
--- llvm/trunk/lib/CodeGen/MachineInstr.cpp (original)
+++ llvm/trunk/lib/CodeGen/MachineInstr.cpp Fri Jun 26 18:18:44 2015
@@ -1532,8 +1532,13 @@ void MachineInstr::dump() const {
}
void MachineInstr::print(raw_ostream &OS, bool SkipOpers) const {
- ModuleSlotTracker DummyMST(nullptr);
- print(OS, DummyMST, SkipOpers);
+ const Module *M = nullptr;
+ if (const MachineBasicBlock *MBB = getParent())
+ if (const MachineFunction *MF = MBB->getParent())
+ M = MF->getFunction()->getParent();
+
+ ModuleSlotTracker MST(M);
+ print(OS, MST, SkipOpers);
}
void MachineInstr::print(raw_ostream &OS, ModuleSlotTracker &MST,
More information about the llvm-commits
mailing list