From d04f3e028d3287e43d4b84efcc33c2816ac9d3d6 Mon Sep 17 00:00:00 2001 From: Yuanfang Chen Date: Mon, 10 Aug 2020 17:50:04 -0700 Subject: [PATCH] [CodeGen] Make MMI immutable NPM pass --- llvm/include/llvm/CodeGen/MachineModuleInfo.h | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/llvm/include/llvm/CodeGen/MachineModuleInfo.h b/llvm/include/llvm/CodeGen/MachineModuleInfo.h index 0ee595b5b5ce..a37708c55370 100644 --- a/llvm/include/llvm/CodeGen/MachineModuleInfo.h +++ b/llvm/include/llvm/CodeGen/MachineModuleInfo.h @@ -54,8 +54,8 @@ class Module; //===----------------------------------------------------------------------===// /// This class can be derived from and used by targets to hold private /// target-specific information for each Module. Objects of type are -/// accessed/created with MMI::getInfo and destroyed when the MachineModuleInfo -/// is destroyed. +/// accessed/created with MachineModuleInfo::getObjFileInfo and destroyed when +/// the MachineModuleInfo is destroyed. /// class MachineModuleInfoImpl { public: @@ -251,6 +251,12 @@ public: return Personalities; } /// \} + + // MMI owes MCContext. It should never be invalidated. + bool invalidate(Module &, const PreservedAnalyses &, + ModuleAnalysisManager::Invalidator &) { + return false; + } }; // End class MachineModuleInfo class MachineModuleInfoWrapperPass : public ImmutablePass {