<div dir="ltr">To Whom it May Concern,<br><br>I am Liqiang Tao, a graduate student in the Graduate School of Arts and Sciences of the University of Tokyo.<br><br>First, I would like to talk about my interests here. When I saw the Open Projects page, I was attracted by this area.<br><br><div>> 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. <br></div><div><br></div><div>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?<br></div><br>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?<br><br>As for my background relevant to this project:<br>* I am participating in porting V8 to RISC-V from July, 2020.<br><a href="https://github.com/v8-riscv/v8">https://github.com/v8-riscv/v8</a><br>* Recently, I began learning the inliner code in LLVM. And I also tried to create my own pass to be familiar with LLVM infrastructure.<br><br>Looking forward to more discussions,<br><br>Best Wishes,<br>Liqiang Tao<br><br>[1] An Optimization-Driven Incremental Inline Substitution Algorithm for Just-In-Time Compilers<br><a href="https://dl.acm.org/doi/10.5555/3314872.3314893">https://dl.acm.org/doi/10.5555/3314872.3314893</a></div>