diff options
| -rw-r--r-- | llvm/lib/Passes/PassBuilderPipelines.cpp | 6 | ||||
| -rw-r--r-- | llvm/test/Transforms/PGOProfile/ctx-prof-use-prelink.ll | 1 |
2 files changed, 4 insertions, 3 deletions
diff --git a/llvm/lib/Passes/PassBuilderPipelines.cpp b/llvm/lib/Passes/PassBuilderPipelines.cpp index 6ebf262..8f151a9 100644 --- a/llvm/lib/Passes/PassBuilderPipelines.cpp +++ b/llvm/lib/Passes/PassBuilderPipelines.cpp @@ -1181,8 +1181,8 @@ PassBuilder::buildModuleSimplificationPipeline(OptimizationLevel Level, // Enable contextual profiling instrumentation. const bool IsCtxProfGen = !IsPGOInstrGen && IsPreLink && PGOCtxProfLoweringPass::isCtxIRPGOInstrEnabled(); - const bool IsCtxProfUse = !UseCtxProfile.empty() && !PGOOpt && - Phase == ThinOrFullLTOPhase::ThinLTOPreLink; + const bool IsCtxProfUse = + !UseCtxProfile.empty() && Phase == ThinOrFullLTOPhase::ThinLTOPreLink; if (IsPGOInstrGen || IsPGOInstrUse || IsMemprofUse || IsCtxProfGen || IsCtxProfUse) @@ -1673,7 +1673,7 @@ PassBuilder::buildThinLTOPreLinkDefaultPipeline(OptimizationLevel Level) { // In pre-link, for ctx prof use, we stop here with an instrumented IR. We let // thinlto use the contextual info to perform imports; then use the contextual // profile in the post-thinlink phase. - if (!UseCtxProfile.empty() && !PGOOpt) { + if (!UseCtxProfile.empty()) { addRequiredLTOPreLinkPasses(MPM); return MPM; } diff --git a/llvm/test/Transforms/PGOProfile/ctx-prof-use-prelink.ll b/llvm/test/Transforms/PGOProfile/ctx-prof-use-prelink.ll index 7959e4d..56ed92e 100644 --- a/llvm/test/Transforms/PGOProfile/ctx-prof-use-prelink.ll +++ b/llvm/test/Transforms/PGOProfile/ctx-prof-use-prelink.ll @@ -4,6 +4,7 @@ ; There is no scenario currently of doing ctx profile use without thinlto. ; ; RUN: opt -passes='thinlto-pre-link<O2>' -use-ctx-profile=something_that_does_not_exist %s -S | FileCheck %s +; RUN: opt -debug-info-for-profiling -passes='thinlto-pre-link<O2>' -use-ctx-profile=something_that_does_not_exist %s -S | FileCheck %s declare void @bar() |
