[llvm] 50c876a - [nfc][ctx_prof] Remove the need for `PassBuilder` to know about `UseCtxProfile` (#104492)
via llvm-commits
llvm-commits at lists.llvm.org
Thu Aug 15 13:16:58 PDT 2024
Author: Mircea Trofin
Date: 2024-08-15T13:16:55-07:00
New Revision: 50c876a486ebc1a8fbf6f20214b1cf914729c443
URL: https://github.com/llvm/llvm-project/commit/50c876a486ebc1a8fbf6f20214b1cf914729c443
DIFF: https://github.com/llvm/llvm-project/commit/50c876a486ebc1a8fbf6f20214b1cf914729c443.diff
LOG: [nfc][ctx_prof] Remove the need for `PassBuilder` to know about `UseCtxProfile` (#104492)
Added:
Modified:
llvm/include/llvm/Analysis/CtxProfAnalysis.h
llvm/lib/Analysis/CtxProfAnalysis.cpp
llvm/lib/Passes/PassBuilder.cpp
llvm/lib/Passes/PassRegistry.def
Removed:
################################################################################
diff --git a/llvm/include/llvm/Analysis/CtxProfAnalysis.h b/llvm/include/llvm/Analysis/CtxProfAnalysis.h
index f0e2aeb0f92f74..d0fb99fe1966a6 100644
--- a/llvm/include/llvm/Analysis/CtxProfAnalysis.h
+++ b/llvm/include/llvm/Analysis/CtxProfAnalysis.h
@@ -79,7 +79,7 @@ class CtxProfAnalysis : public AnalysisInfoMixin<CtxProfAnalysis> {
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 7b4666b29a1936..d0ccf4ba537f84 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<std::unique_ptr<MemoryBuffer>> MB = MemoryBuffer::getFile(Profile);
diff --git a/llvm/lib/Passes/PassBuilder.cpp b/llvm/lib/Passes/PassBuilder.cpp
index c528863d1870a4..3200767282b226 100644
--- a/llvm/lib/Passes/PassBuilder.cpp
+++ b/llvm/lib/Passes/PassBuilder.cpp
@@ -334,8 +334,6 @@ cl::opt<bool> PrintPipelinePasses(
"(best-effort only)."));
} // namespace llvm
-extern cl::opt<std::string> 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 18f4aa19224da0..442c972fc616fc 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())
More information about the llvm-commits
mailing list