@@ -143,7 +143,9 @@ void EmitAssemblyHelper::EmitAssembly(
143143 TheModule->setDataLayout (TM->createDataLayout ());
144144 }
145145
146- #if LLVM_VERSION_MAJOR >= 12
146+ #if LLVM_VERSION_MAJOR >= 13
147+ llvm::PassBuilder PB (TM.get (), llvm::PipelineTuningOptions (), llvm::None);
148+ #elif LLVM_VERSION_MAJOR >= 12
147149 llvm::PassBuilder PB (false , TM.get (), llvm::PipelineTuningOptions (),
148150 llvm::None);
149151#elif LLVM_VERSION_MAJOR >= 9
@@ -152,10 +154,17 @@ void EmitAssemblyHelper::EmitAssembly(
152154 llvm::PassBuilder PB (TM.get (), llvm::None);
153155#endif
154156
157+ #if LLVM_VERSION_MAJOR >= 13
158+ llvm::LoopAnalysisManager LAM;
159+ llvm::FunctionAnalysisManager FAM;
160+ llvm::CGSCCAnalysisManager CGAM;
161+ llvm::ModuleAnalysisManager MAM;
162+ #else
155163 llvm::LoopAnalysisManager LAM (false );
156164 llvm::FunctionAnalysisManager FAM (false );
157165 llvm::CGSCCAnalysisManager CGAM (false );
158166 llvm::ModuleAnalysisManager MAM (false );
167+ #endif
159168
160169 // Register the AA manager first so that our version is the one used.
161170 FAM.registerPass ([&] { return PB.buildDefaultAAPipeline (); });
@@ -177,7 +186,11 @@ void EmitAssemblyHelper::EmitAssembly(
177186 PB.registerLoopAnalyses (LAM);
178187 PB.crossRegisterProxies (LAM, FAM, CGAM, MAM);
179188
189+ #if LLVM_VERSION_MAJOR >= 13
190+ llvm::ModulePassManager MPM;
191+ #else
180192 llvm::ModulePassManager MPM (false );
193+ #endif
181194
182195 if (TargetOpts.BackendTarget == EWASM) {
183196 MPM.addPass (LoweringInteger ());
0 commit comments