[PATCH] D30572: Remove equal BBs from a function

Davide Italiano via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Mar 24 16:38:00 PDT 2017


davide added a comment.

In https://reviews.llvm.org/D30572#699284, @avt77 wrote:

> Now I found and fixed issues raised during bootstrap. The bootstrap works perfectly now. And I got some numbers: on such huge files like clang, llc, etc. we have about 0.1% size of file decreasing. At the moment I'm using the most possible conservative approach but collected numbers show that we can get better results: it's for sure.
>
> Davide, I'm doing this transformation at this point of pipeline because I'd like to do it after all other layout related transformations. Is it the answer on your question? And the same answer about middle level: I'd like to do this transformation when all others are done but there are still something what can be optimized. Maybe I'm wrong?


Sorry, missed this one.
44 kilobytes on llc release (44MB in release) seem a saving really small to justify the complexity of  a new pass.
You should really consider leveraging existing pass to do this transformation as already pointed out and even before that, you may want to conduct an analysis on small/medium/large size executables in order to understand what's the number of duplicated basic block and therefore what's the hypothetical gain.

Last but not least, why do you want this transformation ;) ?


https://reviews.llvm.org/D30572





More information about the llvm-commits mailing list