[PATCH] D38154: [PassManager] Run global opts after the inliner
Davide Italiano via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Sep 21 14:42:09 PDT 2017
davide added a comment.
I didn't actually notice until now that a bunch of tests are failing (I tested on several codebases, but not in LLVM itself :)
So I'm going to audit all of them and see whether the Xform makes sense.
********************
Testing Time: 44.51s
********************
Failing Tests (17):
LLVM :: CodeGen/AMDGPU/early-inline.ll
LLVM :: Other/pass-pipelines.ll
LLVM :: ThinLTO/X86/diagnostic-handler-remarks-with-hotness.ll
LLVM :: ThinLTO/X86/diagnostic-handler-remarks.ll
LLVM :: Transforms/Coroutines/ArgAddr.ll
LLVM :: Transforms/Coroutines/coro-split-01.ll
LLVM :: Transforms/Coroutines/ex0.ll
LLVM :: Transforms/Coroutines/ex1.ll
LLVM :: Transforms/Coroutines/ex2.ll
LLVM :: Transforms/Coroutines/ex3.ll
LLVM :: Transforms/Coroutines/ex4.ll
LLVM :: Transforms/Coroutines/ex5.ll
LLVM :: Transforms/Coroutines/no-suspend.ll
LLVM :: Transforms/Coroutines/phi-coro-end.ll
LLVM :: Transforms/Inline/devirtualize.ll
LLVM :: Transforms/Inline/inline_minisize.ll
LLVM :: Transforms/PhaseOrdering/globalaa-retained.ll
================
Comment at: lib/Transforms/IPO/PassManagerBuilder.cpp:513
+ PM.add(createGlobalOptimizerPass());
+ PM.add(createGlobalDCEPass());
}
----------------
efriedma wrote:
> Are you sure this is where you meant to put these passes...? GlobalOpt and GlobaDCE are module passes, so you're separating the inliner from the function simplification passes.
No, you're right, they should be outside the `if` (actually, that's where I put that in the first place, then wrongly moved).
https://reviews.llvm.org/D38154
More information about the llvm-commits
mailing list