<div dir="ltr"><div>> <span style="font-size:12.8px">What's the magic rune to enable cfl-aa?</span></div><div><br></div><div>We have two magical opt flags: -use-cfl-aa and -use-cfl-aa-in-codegen :)</div><div><br></div><div>IIRC, both of them should cause CFLAA to be enabled as a last resort.</div><div></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, May 12, 2016 at 12:38 AM, Daniel Berlin <span dir="ltr"><<a href="mailto:dberlin@dberlin.org" target="_blank">dberlin@dberlin.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">(Just to note: the other issue i remember with CFL-AA is that it currently causes performance loss. This is quite common when you increase precision, because things move/change things they couldn't before, and often do so without the natural bounds imprecision provided before :P)<div><br></div></div><div><div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, May 12, 2016 at 12:29 AM, James Molloy via llvm-dev <span dir="ltr"><<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Yep, same. What's the magic rune to enable cfl-aa?<div><br></div><div>James</div></div><div><div><br><div class="gmail_quote"><div dir="ltr">On Thu, 12 May 2016 at 05:58 Philip Reames via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div text="#000000" bgcolor="#FFFFFF">
<div>On 05/11/2016 05:16 PM, George Burgess
IV via llvm-dev wrote:<br>
</div>
<blockquote type="cite">
<div dir="ltr">
<div>> <span style="font-size:12.8px">After applying the
patch on 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</span><br>
</div>
<div><span style="font-size:12.8px"><br>
</span></div>
<div><span style="font-size:12.8px">Woohoo! This is great news.
:D</span></div>
</div>
</blockquote></div><div text="#000000" bgcolor="#FFFFFF">
Awesome!</div><div text="#000000" bgcolor="#FFFFFF"><br>
<blockquote type="cite">
<div dir="ltr">
<div><span style="font-size:12.8px"><br>
</span></div>
<div><span style="font-size:12.8px">I'm not sure how closely
everyone is reading the intro emails, so we may get more
help if we also send a slightly more targeted "Hey, CFLAA
isn't obviously broken anymore. Please help us find any
other problems/please report performance numbers to us,"
email. Whether we do that this very second, or when GSoC
actually starts, is up to you.</span></div>
</div>
</blockquote></div><div text="#000000" bgcolor="#FFFFFF">
Once this lands in tree, I'll do a run on our codebase to see if I
see anything obvious. I suspect others can do the same.</div><div text="#000000" bgcolor="#FFFFFF"><br>
<br>
Philip</div><div text="#000000" bgcolor="#FFFFFF"><br>
<blockquote type="cite">
<div dir="ltr">
<div class="gmail_extra"><br>
<div class="gmail_quote">On Wed, May 11, 2016 at 3:02 PM, Jia
Chen via llvm-dev <span dir="ltr"><<a href="mailto:llvm-dev@lists.llvm.org" target="_blank"></a><a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div 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
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 href="http://lists.llvm.org/pipermail/llvm-dev/2016-March/096851.html" target="_blank">http://lists.llvm.org/pipermail/llvm-dev/2016-March/096851.html</a><span><font color="#888888"><br>
<pre cols="72">--
Best Regards,
--
Jia Chen
Department of Computer Science
University of Texas at Austin
<a href="mailto:jchen@cs.utexas.edu" target="_blank">jchen@cs.utexas.edu</a></pre>
</font></span></div>
<br>
_______________________________________________<br>
LLVM Developers mailing list<br>
<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><br>
<br>
</blockquote>
</div>
<br>
</div>
</div>
<br>
<fieldset></fieldset>
<br>
<pre>_______________________________________________
LLVM Developers mailing list
<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a>
</pre>
</blockquote>
<br>
</div>
_______________________________________________<br>
LLVM Developers mailing list<br>
<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><br>
</blockquote></div>
</div></div><br>_______________________________________________<br>
LLVM Developers mailing list<br>
<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><br>
<br></blockquote></div><br></div>
</div></div></blockquote></div><br></div></div>