From 6bfe1d944a70d4d98a323e8cb9e94e6fa0d44f9d Mon Sep 17 00:00:00 2001 From: Davide Italiano Date: Thu, 5 Oct 2017 18:36:01 +0000 Subject: [PATCH] [NewPassManager] Run global dead code elimination after the inliner. This is the same exact change we did for the current pass manager in rL314997, but the new pass manager pipeline already happened to run GlobalOpt after the inliner, so we just insert a run of GDCE here. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@315003 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Passes/PassBuilder.cpp | 1 + test/Other/new-pm-defaults.ll | 1 + test/Other/new-pm-thinlto-defaults.ll | 1 + 3 files changed, 3 insertions(+) diff --git a/lib/Passes/PassBuilder.cpp b/lib/Passes/PassBuilder.cpp index c9cc0c5ae38..9bf5dbd8e65 100644 --- a/lib/Passes/PassBuilder.cpp +++ b/lib/Passes/PassBuilder.cpp @@ -670,6 +670,7 @@ PassBuilder::buildModuleOptimizationPipeline(OptimizationLevel Level, // Optimize globals now that the module is fully simplified. MPM.addPass(GlobalOptPass()); + MPM.addPass(GlobalDCEPass()); // Run partial inlining pass to partially inline functions that have // large bodies. diff --git a/test/Other/new-pm-defaults.ll b/test/Other/new-pm-defaults.ll index e9e33ff6424..6e5c679e3d9 100644 --- a/test/Other/new-pm-defaults.ll +++ b/test/Other/new-pm-defaults.ll @@ -179,6 +179,7 @@ ; CHECK-O-NEXT: Running pass: PassManager<{{.*}}Module{{.*}}> ; CHECK-O-NEXT: Starting llvm::Module pass manager run. ; CHECK-O-NEXT: Running pass: GlobalOptPass +; CHECK-O-NEXT: Running pass: GlobalDCEPass ; CHECK-O-NEXT: Running pass: EliminateAvailableExternallyPass ; CHECK-O-NEXT: Running pass: ReversePostOrderFunctionAttrsPass ; CHECK-O-NEXT: Running pass: RequireAnalysisPass<{{.*}}GlobalsAA diff --git a/test/Other/new-pm-thinlto-defaults.ll b/test/Other/new-pm-thinlto-defaults.ll index f98c393f798..47074adbcb2 100644 --- a/test/Other/new-pm-thinlto-defaults.ll +++ b/test/Other/new-pm-thinlto-defaults.ll @@ -168,6 +168,7 @@ ; CHECK-POSTLINK-O-NEXT: Running pass: PassManager<{{.*}}Module{{.*}}> ; CHECK-POSTLINK-O-NEXT: Starting llvm::Module pass manager run. ; CHECK-POSTLINK-O-NEXT: Running pass: GlobalOptPass +; CHECK-POSTLINK-O-NEXT: Running pass: GlobalDCEPass ; CHECK-POSTLINK-O-NEXT: Running pass: EliminateAvailableExternallyPass ; CHECK-POSTLINK-O-NEXT: Running pass: ReversePostOrderFunctionAttrsPass ; CHECK-POSTLINK-O-NEXT: Running pass: RequireAnalysisPass<{{.*}}GlobalsAA -- 2.50.1