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

Liqiang Tao via llvm-dev llvm-dev at lists.llvm.org
Mon Feb 8 05:26:37 PST 2021


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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20210208/4b39eb71/attachment.html>


More information about the llvm-dev mailing list