From afad84e676123a4cdeffeed0062c8449c38bc6e3 Mon Sep 17 00:00:00 2001 From: Francis Visoiu Mistrih Date: Wed, 14 Feb 2018 20:23:05 +0000 Subject: [PATCH] [CodeGen] Print predecessors, successors, then liveins in -debug printing Reorder them to match MIR. Predecessors are only comments, and they're not usually printed in MIR. llvm-svn: 325166 --- llvm/lib/CodeGen/MachineBasicBlock.cpp | 35 +++++++++++++------------- 1 file changed, 18 insertions(+), 17 deletions(-) diff --git a/llvm/lib/CodeGen/MachineBasicBlock.cpp b/llvm/lib/CodeGen/MachineBasicBlock.cpp index 46419ed0ab25..78cd9d6d2bb0 100644 --- a/llvm/lib/CodeGen/MachineBasicBlock.cpp +++ b/llvm/lib/CodeGen/MachineBasicBlock.cpp @@ -325,18 +325,16 @@ void MachineBasicBlock::print(raw_ostream &OS, ModuleSlotTracker &MST, const TargetRegisterInfo *TRI = MF->getSubtarget().getRegisterInfo(); const MachineRegisterInfo &MRI = MF->getRegInfo(); const TargetInstrInfo &TII = *getParent()->getSubtarget().getInstrInfo(); - if (!livein_empty() && MRI.tracksLiveness()) { - if (Indexes) OS << '\t'; - OS.indent(2) << "liveins: "; - bool First = true; - for (const auto &LI : liveins()) { - if (!First) + // Print the preds of this block according to the CFG. + if (!pred_empty()) { + if (Indexes) OS << '\t'; + // Don't indent(2), align with previous line attributes. + OS << "; predecessors: "; + for (auto I = pred_begin(), E = pred_end(); I != E; ++I) { + if (I != pred_begin()) OS << ", "; - First = false; - OS << printReg(LI.PhysReg, TRI); - if (!LI.LaneMask.all()) - OS << ":0x" << PrintLaneMask(LI.LaneMask); + OS << printMBBReference(**I); } OS << '\n'; } @@ -372,15 +370,18 @@ void MachineBasicBlock::print(raw_ostream &OS, ModuleSlotTracker &MST, } } - // Print the preds of this block according to the CFG. - if (!pred_empty()) { + if (!livein_empty() && MRI.tracksLiveness()) { if (Indexes) OS << '\t'; - // Don't indent(2), align with previous line attributes. - OS << "; predecessors: "; - for (auto I = pred_begin(), E = pred_end(); I != E; ++I) { - if (I != pred_begin()) + OS.indent(2) << "liveins: "; + + bool First = true; + for (const auto &LI : liveins()) { + if (!First) OS << ", "; - OS << printMBBReference(**I); + First = false; + OS << printReg(LI.PhysReg, TRI); + if (!LI.LaneMask.all()) + OS << ":0x" << PrintLaneMask(LI.LaneMask); } OS << '\n'; }