diff --git a/llvm/include/llvm/Analysis/CtxProfAnalysis.h b/llvm/include/llvm/Analysis/CtxProfAnalysis.h index f0e2aeb0f92f7..d0fb99fe1966a 100644 --- a/llvm/include/llvm/Analysis/CtxProfAnalysis.h +++ b/llvm/include/llvm/Analysis/CtxProfAnalysis.h @@ -79,7 +79,7 @@ class CtxProfAnalysis : public AnalysisInfoMixin { public: static AnalysisKey Key; - explicit CtxProfAnalysis(StringRef Profile) : Profile(Profile) {}; + explicit CtxProfAnalysis(StringRef Profile = ""); using Result = PGOContextualProfile; diff --git a/llvm/lib/Analysis/CtxProfAnalysis.cpp b/llvm/lib/Analysis/CtxProfAnalysis.cpp index 7b4666b29a193..d0ccf4ba537f8 100644 --- a/llvm/lib/Analysis/CtxProfAnalysis.cpp +++ b/llvm/lib/Analysis/CtxProfAnalysis.cpp @@ -96,6 +96,9 @@ GlobalValue::GUID AssignGUIDPass::getGUID(const Function &F) { } AnalysisKey CtxProfAnalysis::Key; +CtxProfAnalysis::CtxProfAnalysis(StringRef Profile) + : Profile(Profile.empty() ? UseCtxProfile : Profile) {} + PGOContextualProfile CtxProfAnalysis::run(Module &M, ModuleAnalysisManager &MAM) { ErrorOr> MB = MemoryBuffer::getFile(Profile); diff --git a/llvm/lib/Passes/PassBuilder.cpp b/llvm/lib/Passes/PassBuilder.cpp index c528863d1870a..3200767282b22 100644 --- a/llvm/lib/Passes/PassBuilder.cpp +++ b/llvm/lib/Passes/PassBuilder.cpp @@ -334,8 +334,6 @@ cl::opt PrintPipelinePasses( "(best-effort only).")); } // namespace llvm -extern cl::opt UseCtxProfile; - AnalysisKey NoOpModuleAnalysis::Key; AnalysisKey NoOpCGSCCAnalysis::Key; AnalysisKey NoOpFunctionAnalysis::Key; diff --git a/llvm/lib/Passes/PassRegistry.def b/llvm/lib/Passes/PassRegistry.def index 18f4aa19224da..442c972fc616f 100644 --- a/llvm/lib/Passes/PassRegistry.def +++ b/llvm/lib/Passes/PassRegistry.def @@ -20,7 +20,7 @@ #endif MODULE_ANALYSIS("callgraph", CallGraphAnalysis()) MODULE_ANALYSIS("collector-metadata", CollectorMetadataAnalysis()) -MODULE_ANALYSIS("ctx-prof-analysis", CtxProfAnalysis(UseCtxProfile)) +MODULE_ANALYSIS("ctx-prof-analysis", CtxProfAnalysis()) MODULE_ANALYSIS("dxil-metadata", DXILMetadataAnalysis()) MODULE_ANALYSIS("dxil-resource", DXILResourceAnalysis()) MODULE_ANALYSIS("inline-advisor", InlineAdvisorAnalysis())