[llvm-dev] [RFC] Add a module inliner (original) (raw)
David Blaikie via llvm-dev llvm-dev at lists.llvm.org
Mon Aug 30 09:52:13 PDT 2021
- Previous message: [llvm-dev] [RFC] Add a module inliner
- Next message: [llvm-dev] [RFC] Add a module inliner
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
+a couple of folks who might have some thoughts/ideas here
On Tue, Aug 24, 2021 at 8:57 AM Liqiang Tao via llvm-dev < llvm-dev at lists.llvm.org> wrote:
In my GSoC 2021, my goal is to evaluate the value of different callsite visiting orderings, which is inspired by paper[1][2]. I've already enabled doing such an exploration within the constraints of the current SCC inliner (https://reviews.llvm.org/D104028). Exploring more advanced callsite orderings is not possible with the current SCC inliner. The current SCC inliner runs on each SCC in a bottom-up traversal, which means that the inline order is limited to a bottom-up order.
To address this limitation, I would like to add a module inliner, which processes all call sites in a given module at a time instead of a given SCC. This gives us flexibility on the order in which we process call sites. The module inliner would be disabled by default, to minimize code churn to the existing codebase and make it easier to remove it. Also, to avoid unnecessary abstractions, which would complicate the existing codebase, some code is copied from SCC inliner. Lastly, to foster collaboration, I would propose landing it in trunk rather than a branch. Best wishes, Liqiang Tao ---- [1] Aleksandar Prokopec, Gilles Duboscq, David Leopoldseder, and Thomas Würthinger. 2019. An optimization-driven incremental inline substitution algorithm for just-in-time compilers. In Proceedings of the 2019 IEEE/ACM International Symposium on Code Generation and Optimization (CGO 2019). [2] Dhruva R. Chakrabarti and Shin-Ming Liu. 2006. Inline Analysis: Beyond Selection Heuristics. In Proceedings of the International Symposium on Code Generation and Optimization (CGO '06).
LLVM Developers mailing list llvm-dev at lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20210830/28df9099/attachment.html>
- Previous message: [llvm-dev] [RFC] Add a module inliner
- Next message: [llvm-dev] [RFC] Add a module inliner
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]