diff options
| author | Dehao Chen <dehao@google.com> | 2017-08-02 03:03:19 +0000 |
|---|---|---|
| committer | Dehao Chen <dehao@google.com> | 2017-08-02 03:03:19 +0000 |
| commit | 3246dc3df1b9aaabd62e0542033fb67e50da311a (patch) | |
| tree | bae3932e9b05767cc35a077f41b5dd68def1d2da /llvm/lib/LTO | |
| parent | a350f656a5a870b7ccf31fe89f8aed79606c0b2c (diff) | |
| download | bcm5719-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.cpp | 17 |
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. |

