[PATCH] D38641: [Inline][WIP] Expose more inlining opportunities by further constraining call site arguments based on splitting an OR condition.

Jun Bum Lim via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Oct 12 09:55:52 PDT 2017


junbuml added a comment.

> This is good stuff, but I don't feel Inliner is the right place to do such transformation.
> Narrowly speaking, it is callsite splitting transformation -- but in general it can be enhanced to handle more general block cloning/splitting to enable more const/predicate propagation (similar to jumpthreading)? IPA-cp based function cloning can also benefit from this.

Yes, this change itself is callsite splitting of which profitability is tightly related with the inline cost. That's why I placed this in inliner.  Making this more general for blocks might be good, but I'm not sure about the profitability check in general and the range of blocks we have to cover.  When isolating this just for callsite splitting, I wasn't able to find any other good place other than inliner. I will be happy to hear any suggestion.


https://reviews.llvm.org/D38641





More information about the llvm-commits mailing list