<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>