mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-25 04:02:41 +01:00
[CodeGen] Fix printing bundles in MIR output
Delay printing the newline until after the opening bracket was printed, e.g. BUNDLE implicit-def $r1, implicit-def $r21, implicit $r1 { renamable $r1 = S2_asr_i_r renamable $r1, 1 renamable $r21 = A2_tfrsi 0 } instead of BUNDLE implicit-def $r1, implicit-def $r21, implicit $r1 { renamable $r1 = S2_asr_i_r renamable $r1, 1 renamable $r21 = A2_tfrsi 0 } llvm-svn: 329719
This commit is contained in:
parent
78fa2dfe59
commit
10c6f26680
@ -1244,10 +1244,11 @@ public:
|
||||
/// \p TII is used to print the opcode name. If it's not present, but the
|
||||
/// MI is in a function, the opcode will be printed using the function's TII.
|
||||
void print(raw_ostream &OS, bool IsStandalone = true, bool SkipOpers = false,
|
||||
bool SkipDebugLoc = false,
|
||||
bool SkipDebugLoc = false, bool AddNewLine = true,
|
||||
const TargetInstrInfo *TII = nullptr) const;
|
||||
void print(raw_ostream &OS, ModuleSlotTracker &MST, bool IsStandalone = true,
|
||||
bool SkipOpers = false, bool SkipDebugLoc = false,
|
||||
bool AddNewLine = true,
|
||||
const TargetInstrInfo *TII = nullptr) const;
|
||||
void dump() const;
|
||||
/// @}
|
||||
|
@ -408,12 +408,13 @@ void MachineBasicBlock::print(raw_ostream &OS, ModuleSlotTracker &MST,
|
||||
|
||||
OS.indent(IsInBundle ? 4 : 2);
|
||||
MI.print(OS, MST, IsStandalone, /*SkipOpers=*/false, /*SkipDebugLoc=*/false,
|
||||
&TII);
|
||||
/*AddNewLine=*/false, &TII);
|
||||
|
||||
if (!IsInBundle && MI.getFlag(MachineInstr::BundledSucc)) {
|
||||
OS << " {";
|
||||
IsInBundle = true;
|
||||
}
|
||||
OS << '\n';
|
||||
}
|
||||
|
||||
if (IsInBundle)
|
||||
|
@ -1235,7 +1235,8 @@ LLVM_DUMP_METHOD void MachineInstr::dump() const {
|
||||
#endif
|
||||
|
||||
void MachineInstr::print(raw_ostream &OS, bool IsStandalone, bool SkipOpers,
|
||||
bool SkipDebugLoc, const TargetInstrInfo *TII) const {
|
||||
bool SkipDebugLoc, bool AddNewLine,
|
||||
const TargetInstrInfo *TII) const {
|
||||
const Module *M = nullptr;
|
||||
const Function *F = nullptr;
|
||||
if (const MachineFunction *MF = getMFIfAvailable(*this)) {
|
||||
@ -1253,7 +1254,7 @@ void MachineInstr::print(raw_ostream &OS, bool IsStandalone, bool SkipOpers,
|
||||
|
||||
void MachineInstr::print(raw_ostream &OS, ModuleSlotTracker &MST,
|
||||
bool IsStandalone, bool SkipOpers, bool SkipDebugLoc,
|
||||
const TargetInstrInfo *TII) const {
|
||||
bool AddNewLine, const TargetInstrInfo *TII) const {
|
||||
// We can be a bit tidier if we know the MachineFunction.
|
||||
const MachineFunction *MF = nullptr;
|
||||
const TargetRegisterInfo *TRI = nullptr;
|
||||
@ -1486,7 +1487,8 @@ void MachineInstr::print(raw_ostream &OS, ModuleSlotTracker &MST,
|
||||
OS << " indirect";
|
||||
}
|
||||
|
||||
OS << '\n';
|
||||
if (AddNewLine)
|
||||
OS << '\n';
|
||||
}
|
||||
|
||||
bool MachineInstr::addRegisterKilled(unsigned IncomingReg,
|
||||
|
@ -32,8 +32,7 @@
|
||||
; debug value as KILL'ed, resulting in a DEBUG_VALUE node changing codegen! (or
|
||||
; hopefully, triggering an assert).
|
||||
|
||||
; CHECK: BUNDLE implicit-def dead $itstate{{.*}}
|
||||
; CHECK-NEXT: {
|
||||
; CHECK: BUNDLE implicit-def dead $itstate{{.*}} {
|
||||
; CHECK: DBG_VALUE debug-use $r1, debug-use $noreg, !"u"
|
||||
; CHECK-NOT: DBG_VALUE killed $r1, $noreg, !"u"
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user