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