[llvm-dev] [GSoC] Improve inlining using inter-procedural analysis or profile

Jakub (Kuba) Kuderski via llvm-dev llvm-dev at lists.llvm.org
Mon Feb 8 11:57:26 PST 2021


Hi Liqiang,

Here are some papers that may be loosely related to the problem you
described, without any particular order:

1. Automatic construction of inlining heuristics using machine learning,
Sameer Kulkarni et al., 2013
https://dl.acm.org/doi/10.1109/CGO.2013.6495004
2. Adaptive online context-sensitive inlining, Kim Hazelwood, David Grove,
2003
http://www.cs.cmu.edu/afs/cs/academic/class/15745-s07/www/papers/hazelwood-cgo03.pdf
3. An Adaptive Strategy for Inline Substitution, Keith Cooper et al., 2008
https://link.springer.com/chapter/10.1007/978-3-540-78791-4_5
4. Automatic Tuning of Inlining Heuristics, John Cavazos, Michael F.P.
O’Boyle, 2005  https://www.eecis.udel.edu/~cavazos/cpc-2006.pdf
5. Towards Better Inlining Decisions Using Inlining Trials, Jeffrey Dean,
Craig Chambers, 1994
https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.50.1043&rep=rep1&type=pdf
6. Exploiting Hardware Performance Counters with Flow and Context Sensitive
Profiling, Glenn Ammons et al., 1997
http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.45.2010
7. Boosting Inlining Heuristics, Nuno Lopes, 2010
https://web.ist.utl.pt/nuno.lopes/pubs/inline-stats10.pdf

-Jakub

On Mon, Feb 8, 2021 at 8:26 AM Liqiang Tao via llvm-dev <
llvm-dev at lists.llvm.org> wrote:

> To Whom it May Concern,
>
> I am Liqiang Tao, a graduate student in the Graduate School of Arts and
> Sciences of the University of Tokyo.
>
> First, I would like to talk about my interests here. When I saw the Open
> Projects page, I was attracted by this area.
>
> > Moreover, we want to explore the case that is helpful to group strongly
> related functions together and optimize them as a group instead of
> displaying them individually. I consider whether it is possible to inline
> some related methods to improve performance.
>
> Then I found a paper[1]. In this paper, the methods are inlined by
> clusters rather than individuals. The profile and IR size are applied to
> decide inline or not. I also noticed that the profile directed inlining, as
> a todo item, also appears in the Open Projects page. It might be a nice
> start, right?
>
> Besides, if possible, I am also interested in applying inter-procedural
> analysis or static analysis to guide inlining. Unfortunately, I didn't find
> any paper about this idea. Could you please provide me with some
> suggestions about this? Is there any process related to these ideas in LLVM?
>
> As for my background relevant to this project:
> * I am participating in porting V8 to RISC-V from July, 2020.
> https://github.com/v8-riscv/v8
> * Recently, I began learning the inliner code in LLVM. And I also tried to
> create my own pass to be familiar with LLVM infrastructure.
>
> Looking forward to more discussions,
>
> Best Wishes,
> Liqiang Tao
>
> [1] An Optimization-Driven Incremental Inline Substitution Algorithm for
> Just-In-Time Compilers
> https://dl.acm.org/doi/10.5555/3314872.3314893
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>


-- 
Jakub Kuderski
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20210208/a5527974/attachment.html>


More information about the llvm-dev mailing list