<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
</head>
<body bgcolor="#FFFFFF" text="#000000">
Dear LLVM community,<br>
<br>
I am a GSoC student this year working on the project of improving
alias analysis in LLVM.<br>
<br>
The proposal initially came from a discussion I had with various
devs on the mailing list some time ago [1]. The general goal of this
project is to make alias analysis (in particular, cfl-aa) "better",
and to be more concrete here is a list of objectives I had in mind:<br>
<br>
- Evaluating the current state of cfl-aa, and fix all known bugs. <br>
- Improving the precision of cfl-aa. Although flow sensitivity may
not be very helpful for LLVM in its current form, field sensitivity
should be something important and I'll definitely try to add it to
cfl-aa. Given the complexity LLVM's memory model has, my guess is
that I may need to spend most of my summer on this task.<br>
- Improving the performance of cfl-aa. (It is fairly efficient in
its current form, IMO. Further performance tuning may be needed if
more features such as field sensitivity were added.)<br>
- Understanding how various clients interacts with cfl-aa, and
exploring various ways to minimize precision/performance losses
caused by the interaction.<br>
- If time permits, maybe I can look at scev-aa and try to bring it
back to the compilation pipeline.<br>
<br>
I know these objectives are not as clear cut as other GSoC projects
people used to have, and it is hard to come up with a clear schedule
as well as a success metric. Nevertheless even if my contributions
may seem fragmented and incremental, I felt that as long as the work
is useful to the community, it is going to be the most valuable
summer I've ever had as a student.<br>
<br>
** Current Status **<br>
<br>
I've submitted a simple patch last week (D19776) to fix a subtle bug
in cfl-aa. After applying the patch on
<meta http-equiv="content-type" content="text/html; charset=utf-8">
r267335 and bootstrap LLVM/clang with cfl-aa enabled on its own as
well as behind basic-aa on an x86 machine, I ran test-suite with lit
and saw no failed test cases. I didn't time the tests in any
rigorous way, but it didn't look like cfl-aa add very noticable
performance overhead. It may be a good time, I think, to call for
people's help to test cfl-aa on their internal codebase. If
everything goes well, we should be able to safely turn on cfl-aa by
default soon.<br>
<br>
Let me conclude this introduction by saying thank you for accepting
my proposal, and in particular I want to thank my mentors George and
Hal for the providing me with so much support and guidance. Please
let me know if you have any comments or suggestions.<br>
<br>
[1] <a class="moz-txt-link-freetext" href="http://lists.llvm.org/pipermail/llvm-dev/2016-March/096851.html">http://lists.llvm.org/pipermail/llvm-dev/2016-March/096851.html</a><br>
<pre class="moz-signature" cols="72">--
Best Regards,
--
Jia Chen
Department of Computer Science
University of Texas at Austin
<a class="moz-txt-link-abbreviated" href="mailto:jchen@cs.utexas.edu">jchen@cs.utexas.edu</a></pre>
</body>
</html>