[PATCH] D38154: [PassManager] Run global opts after the inliner

Chandler Carruth via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sat Oct 7 16:12:34 PDT 2017


chandlerc added a comment.

In https://reviews.llvm.org/D38154#891384, @andjo403 wrote:

> when this was merged in to rust I noticed that it did not give any gain.
>  I think that I made some thing wrong when I tested your modification from my original patch.
>  as I understand it is to late at this location due to the most time is spent "in" addFunctionSimplificationPasses.
>
> what was the problem with having the GDCE pass directly after the add of the inliner?


That breaks the entire pipelining model of the LLVM passes and inliner. =/

The only thing I know to help at that point would be to build a CGSCC version of GlobalDCE. This is something we've wanted for quite some time, but it is a fair amount of work. And it will also be substantially more interesting in the new pass manager model of the call graph.


Repository:
  rL LLVM

https://reviews.llvm.org/D38154





More information about the llvm-commits mailing list