diff --git a/llvm/lib/Target/SPIRV/SPIRVAsmPrinter.cpp b/llvm/lib/Target/SPIRV/SPIRVAsmPrinter.cpp index c2a6e51913a0a..c0fb217e8006f 100644 --- a/llvm/lib/Target/SPIRV/SPIRVAsmPrinter.cpp +++ b/llvm/lib/Target/SPIRV/SPIRVAsmPrinter.cpp @@ -611,7 +611,7 @@ void SPIRVAsmPrinter::outputModuleSections() { // Get the global subtarget to output module-level info. ST = static_cast(TM).getSubtargetImpl(); TII = ST->getInstrInfo(); - MAI = &SPIRVModuleAnalysis::MAI; + MAI = &getAnalysis().MAI; assert(ST && TII && MAI && M && "Module analysis is required"); // Output instructions according to the Logical Layout of a Module: // 1,2. All OpCapability instructions, then optional OpExtension instructions. diff --git a/llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp b/llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp index a95f393b75605..9aa815b13e76e 100644 --- a/llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp +++ b/llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp @@ -2126,8 +2126,6 @@ static void patchPhis(const Module &M, SPIRVGlobalRegistry *GR, } } -struct SPIRV::ModuleAnalysisInfo SPIRVModuleAnalysis::MAI; - void SPIRVModuleAnalysis::getAnalysisUsage(AnalysisUsage &AU) const { AU.addRequired(); AU.addRequired(); diff --git a/llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.h b/llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.h index 41c792a98534f..4e9ca064b8d37 100644 --- a/llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.h +++ b/llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.h @@ -222,7 +222,7 @@ struct SPIRVModuleAnalysis : public ModulePass { bool runOnModule(Module &M) override; void getAnalysisUsage(AnalysisUsage &AU) const override; - static struct SPIRV::ModuleAnalysisInfo MAI; + struct SPIRV::ModuleAnalysisInfo MAI; private: void setBaseInfo(const Module &M);