[PATCH] D107897: [FuncSpec] Don't specialize function which are easy to inline

Sjoerd Meijer via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Aug 13 00:57:28 PDT 2021


SjoerdMeijer added a comment.

Interesting discussion, and fair points have been raised. So there's definitely the question of phase ordering, and/or also PGO. But the way I look at this is that function specialisation is hot off the press, and there's a lot of unexplored territory, these 2 topics mentioned earlier included, and then we have also the ThinLTO question.

As explained, there's a reason for the current pipeline organisation, and this minor addition, this one-liner to check `AlwaysInline` makes sense in this context. This allows us to get a better baseline, i.e. an function specialisation version for which we can measure compile-time increases compared to clang with function specialisation, and GCC which has this enabled by default. This is my short/mid term objective: see if we can get a first version enabled by default to reach parity with GCC.

Like I said, I feel PGO is another topic that is indeed totally unexplored, and I can also easily imagine that for PGO things looks very different and is a different use case. And if I understood this correctly, that the pass ordering may look different:

> I think we may go towards a different pass timing for plain vs pgo optimization pipelines.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D107897/new/

https://reviews.llvm.org/D107897



More information about the llvm-commits mailing list