summaryrefslogtreecommitdiffstats
path: root/llvm/lib/LTO
diff options
context:
space:
mode:
authorDehao Chen <dehao@google.com>2017-08-02 03:03:19 +0000
committerDehao Chen <dehao@google.com>2017-08-02 03:03:19 +0000
commit3246dc3df1b9aaabd62e0542033fb67e50da311a (patch)
treebae3932e9b05767cc35a077f41b5dd68def1d2da /llvm/lib/LTO
parenta350f656a5a870b7ccf31fe89f8aed79606c0b2c (diff)
downloadbcm5719-llvm-3246dc3df1b9aaabd62e0542033fb67e50da311a.tar.gz
bcm5719-llvm-3246dc3df1b9aaabd62e0542033fb67e50da311a.zip
Fix the bug that parseAAPipeline is not invoked in runNewPMPasses in release compiler.
Summary: The logic is guarded by "assert". Reviewers: davidxl, davide, chandlerc Reviewed By: davide, chandlerc Subscribers: sanjoy, llvm-commits, mehdi_amini Differential Revision: https://reviews.llvm.org/D36195 llvm-svn: 309787
Diffstat (limited to 'llvm/lib/LTO')
-rw-r--r--llvm/lib/LTO/LTOBackend.cpp17
1 files changed, 9 insertions, 8 deletions
diff --git a/llvm/lib/LTO/LTOBackend.cpp b/llvm/lib/LTO/LTOBackend.cpp
index 6d1e37fa7e1..5c113212041 100644
--- a/llvm/lib/LTO/LTOBackend.cpp
+++ b/llvm/lib/LTO/LTOBackend.cpp
@@ -141,12 +141,13 @@ static void runNewPMPasses(Config &Conf, Module &Mod, TargetMachine *TM,
AAManager AA;
// Parse a custom AA pipeline if asked to.
- assert(PB.parseAAPipeline(AA, "default"));
+ if (!PB.parseAAPipeline(AA, "default"))
+ report_fatal_error("Error parsing default AA pipeline");
- LoopAnalysisManager LAM;
- FunctionAnalysisManager FAM;
- CGSCCAnalysisManager CGAM;
- ModuleAnalysisManager MAM;
+ LoopAnalysisManager LAM(Conf.DebugPassManager);
+ FunctionAnalysisManager FAM(Conf.DebugPassManager);
+ CGSCCAnalysisManager CGAM(Conf.DebugPassManager);
+ ModuleAnalysisManager MAM(Conf.DebugPassManager);
// Register the AA manager first so that our version is the one used.
FAM.registerPass([&] { return std::move(AA); });
@@ -158,7 +159,7 @@ static void runNewPMPasses(Config &Conf, Module &Mod, TargetMachine *TM,
PB.registerLoopAnalyses(LAM);
PB.crossRegisterProxies(LAM, FAM, CGAM, MAM);
- ModulePassManager MPM;
+ ModulePassManager MPM(Conf.DebugPassManager);
// FIXME (davide): verify the input.
PassBuilder::OptimizationLevel OL;
@@ -181,9 +182,9 @@ static void runNewPMPasses(Config &Conf, Module &Mod, TargetMachine *TM,
}
if (IsThinLTO)
- MPM = PB.buildThinLTODefaultPipeline(OL, false /* DebugLogging */);
+ MPM = PB.buildThinLTODefaultPipeline(OL, Conf.DebugPassManager);
else
- MPM = PB.buildLTODefaultPipeline(OL, false /* DebugLogging */);
+ MPM = PB.buildLTODefaultPipeline(OL, Conf.DebugPassManager);
MPM.run(Mod, MAM);
// FIXME (davide): verify the output.
OpenPOWER on IntegriCloud