From 9a258664024d12a06ba8eb9344e270a9bb5f5d87 Mon Sep 17 00:00:00 2001 From: Matt Arsenault Date: Wed, 24 Jul 2024 12:27:00 +0400 Subject: CodeGen: Avoid using MachineFunction::getMMI in MachineModuleSlotTracker (#100310) --- llvm/lib/CodeGen/MIRPrinter.cpp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'llvm/lib/CodeGen/MIRPrinter.cpp') diff --git a/llvm/lib/CodeGen/MIRPrinter.cpp b/llvm/lib/CodeGen/MIRPrinter.cpp index 48c3e0d..63fb887 100644 --- a/llvm/lib/CodeGen/MIRPrinter.cpp +++ b/llvm/lib/CodeGen/MIRPrinter.cpp @@ -101,13 +101,15 @@ namespace llvm { /// format. class MIRPrinter { raw_ostream &OS; + const MachineModuleInfo &MMI; DenseMap RegisterMaskIds; /// Maps from stack object indices to operand indices which will be used when /// printing frame index machine operands. DenseMap StackObjectOperandMapping; public: - MIRPrinter(raw_ostream &OS) : OS(OS) {} + MIRPrinter(raw_ostream &OS, const MachineModuleInfo &MMI) + : OS(OS), MMI(MMI) {} void print(const MachineFunction &MF); @@ -222,7 +224,7 @@ void MIRPrinter::print(const MachineFunction &MF) { MachineFunctionProperties::Property::TracksDebugUserValues); convert(YamlMF, MF.getRegInfo(), MF.getSubtarget().getRegisterInfo()); - MachineModuleSlotTracker MST(&MF); + MachineModuleSlotTracker MST(MMI, &MF); MST.incorporateFunction(MF.getFunction()); convert(MST, YamlMF.FrameInfo, MF.getFrameInfo()); convertStackObjects(YamlMF, MF, MST); @@ -1005,12 +1007,13 @@ void llvm::printMIR(raw_ostream &OS, const Module &M) { Out << const_cast(M); } -void llvm::printMIR(raw_ostream &OS, const MachineFunction &MF) { +void llvm::printMIR(raw_ostream &OS, const MachineModuleInfo &MMI, + const MachineFunction &MF) { // RemoveDIs: as there's no textual form for DbgRecords yet, print debug-info // in dbg.value format. ScopedDbgInfoFormatSetter FormatSetter( const_cast(MF.getFunction()), WriteNewDbgInfoFormat); - MIRPrinter Printer(OS); + MIRPrinter Printer(OS, MMI); Printer.print(MF); } -- cgit v1.1