[PATCH] D65376: Randomly outline code for cold regions
Aditya Kumar via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Aug 1 09:53:49 PDT 2019
hiraditya added a comment.
In D65376#1607799 <https://reviews.llvm.org/D65376#1607799>, @vsk wrote:
> I think that this is probably too risky. I've seen that splitting out the wrong block can introduce major performance regressions (up to and including stack overflow).
>
> As a future direction for code reordering in llvm, a pass that operates on the machine instruction level may have more promise. At that level, there's a reduced/eliminated code size penalty and landingpads can be moved easily. There's less pass ordering flexibility, but experiments seem to show that late splitting works better anyway.
Agreed, this is mostly intended for specific workloads where wrong out-ling doesn't incur major overhead. e.g., user facing applications, applications where initial load time is a major issue etc. We can keep this disabled by default so that only interested parties can use it. For some cases it can provide major startup improvements.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D65376/new/
https://reviews.llvm.org/D65376
More information about the llvm-commits
mailing list