https://github.com/arsenm updated https://github.com/llvm/llvm-project/pull/99751
>From c10130fca09ad69a523969af1a5e24a11505fd5f Mon Sep 17 00:00:00 2001 From: Matt Arsenault <matthew.arsena...@amd.com> Date: Sat, 20 Jul 2024 00:01:47 +0400 Subject: [PATCH] AsmPrinter: Avoid use of MachineFunction::getMMI --- llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp | 11 ++++++----- llvm/lib/CodeGen/AsmPrinter/DwarfCFIException.cpp | 2 +- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp b/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp index b46a6d348413b..91b5703944f3d 100644 --- a/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp +++ b/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp @@ -1669,8 +1669,8 @@ void AsmPrinter::emitPCSections(const MachineFunction &MF) { } /// Returns true if function begin and end labels should be emitted. -static bool needFuncLabels(const MachineFunction &MF) { - MachineModuleInfo &MMI = MF.getMMI(); +static bool needFuncLabels(const MachineFunction &MF, + const MachineModuleInfo &MMI) { if (!MF.getLandingPads().empty() || MF.hasEHFunclets() || MMI.hasDebugInfo() || MF.getFunction().hasMetadata(LLVMContext::MD_pcsections)) @@ -1944,7 +1944,7 @@ void AsmPrinter::emitFunctionBody() { // are automatically sized. bool EmitFunctionSize = MAI->hasDotTypeDotSizeDirective() && !TT.isWasm(); - if (needFuncLabels(*MF) || EmitFunctionSize) { + if (needFuncLabels(*MF, *MMI) || EmitFunctionSize) { // Create a symbol for the end of function. CurrentFnEnd = createTempSymbol("func_end"); OutStreamer->emitLabel(CurrentFnEnd); @@ -2587,8 +2587,9 @@ void AsmPrinter::SetupMachineFunction(MachineFunction &MF) { bool NeedsLocalForSize = MAI->needsLocalForSize(); if (F.hasFnAttribute("patchable-function-entry") || F.hasFnAttribute("function-instrument") || - F.hasFnAttribute("xray-instruction-threshold") || needFuncLabels(MF) || - NeedsLocalForSize || MF.getTarget().Options.EmitStackSizeSection || + F.hasFnAttribute("xray-instruction-threshold") || + needFuncLabels(MF, *MMI) || NeedsLocalForSize || + MF.getTarget().Options.EmitStackSizeSection || MF.getTarget().Options.BBAddrMap || MF.hasBBLabels()) { CurrentFnBegin = createTempSymbol("func_begin"); if (NeedsLocalForSize) diff --git a/llvm/lib/CodeGen/AsmPrinter/DwarfCFIException.cpp b/llvm/lib/CodeGen/AsmPrinter/DwarfCFIException.cpp index 49f3fc1a1fa59..087ee02a7f2b3 100644 --- a/llvm/lib/CodeGen/AsmPrinter/DwarfCFIException.cpp +++ b/llvm/lib/CodeGen/AsmPrinter/DwarfCFIException.cpp @@ -90,7 +90,7 @@ void DwarfCFIException::beginFunction(const MachineFunction *MF) { shouldEmitLSDA = shouldEmitPersonality && LSDAEncoding != dwarf::DW_EH_PE_omit; - const MCAsmInfo &MAI = *MF->getMMI().getContext().getAsmInfo(); + const MCAsmInfo &MAI = *MF->getContext().getAsmInfo(); if (MAI.getExceptionHandlingType() != ExceptionHandling::None) shouldEmitCFI = MAI.usesCFIForEH() && (shouldEmitPersonality || shouldEmitMoves); _______________________________________________ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits