<html>
  <head>
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    Hi Dibyendu,<br>
    <br>
    All I have at this point is llvm test-suite. I also have access to
    SPEC'06, which may be helpful as well. My hope is that the
    applications in those benchmarks are complex enough to put enough
    pressure on cfl-aa.<br>
    <br>
    That being said, I'm not an expert in performance testing, and I am
    open to suggestions on this topic.<br>
    <br>
    <div class="moz-cite-prefix">On 05/12/2016 11:53 PM, Das, Dibyendu
      wrote:<br>
    </div>
    <blockquote
cite="mid:CY1PR12MB021413BAF1D2DEA7993CD84189740@CY1PR12MB0214.namprd12.prod.outlook.com"
      type="cite">
      <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
      <meta name="Generator" content="Microsoft Word 15 (filtered
        medium)">
      <style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Consolas;
        panose-1:2 11 6 9 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman",serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
pre
        {mso-style-priority:99;
        mso-style-link:"HTML Preformatted Char";
        margin:0in;
        margin-bottom:.0001pt;
        font-size:10.0pt;
        font-family:"Courier New";}
span.HTMLPreformattedChar
        {mso-style-name:"HTML Preformatted Char";
        mso-style-priority:99;
        mso-style-link:"HTML Preformatted";
        font-family:Consolas;}
span.EmailStyle19
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri",sans-serif;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
      <div class="WordSection1">
        <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">Hi
            Jia-<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">What
            apps/benchmarks do you plan to use to test the performance
            of cfl-aa ?<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">-Dibyendu<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D"><o:p> </o:p></span></p>
        <p class="MsoNormal"><b><span
              style="font-size:11.0pt;font-family:"Calibri",sans-serif">From:</span></b><span
style="font-size:11.0pt;font-family:"Calibri",sans-serif">
            llvm-dev [<a class="moz-txt-link-freetext" href="mailto:llvm-dev-bounces@lists.llvm.org">mailto:llvm-dev-bounces@lists.llvm.org</a>]
            <b>On Behalf Of </b>George Burgess IV via llvm-dev<br>
            <b>Sent:</b> Thursday, May 12, 2016 11:16 PM<br>
            <b>To:</b> James Molloy <a class="moz-txt-link-rfc2396E" href="mailto:james@jamesmolloy.co.uk"><james@jamesmolloy.co.uk></a><br>
            <b>Cc:</b> llvm-dev <a class="moz-txt-link-rfc2396E" href="mailto:llvm-dev@lists.llvm.org"><llvm-dev@lists.llvm.org></a>; Jia
            Chen <a class="moz-txt-link-rfc2396E" href="mailto:jchen@cs.utexas.edu"><jchen@cs.utexas.edu></a><br>
            <b>Subject:</b> Re: [llvm-dev] [GSoC 2016] Introduction
            & Feedback - Better Alias Analysis<o:p></o:p></span></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <div>
          <div>
            <p class="MsoNormal">> <span style="font-size:9.5pt">What's
                the magic rune to enable cfl-aa?</span><o:p></o:p></p>
          </div>
          <div>
            <p class="MsoNormal"><o:p> </o:p></p>
          </div>
          <div>
            <p class="MsoNormal">We have two magical opt flags:
              -use-cfl-aa and -use-cfl-aa-in-codegen :)<o:p></o:p></p>
          </div>
          <div>
            <p class="MsoNormal"><o:p> </o:p></p>
          </div>
          <div>
            <p class="MsoNormal">IIRC, both of them should cause CFLAA
              to be enabled as a last resort.<o:p></o:p></p>
          </div>
          <div>
            <p class="MsoNormal"><o:p> </o:p></p>
            <div>
              <p class="MsoNormal">On Thu, May 12, 2016 at 12:38 AM,
                Daniel Berlin <<a moz-do-not-send="true"
                  href="mailto:dberlin@dberlin.org" target="_blank">dberlin@dberlin.org</a>>
                wrote:<o:p></o:p></p>
              <blockquote style="border:none;border-left:solid #CCCCCC
                1.0pt;padding:0in 0in 0in
                6.0pt;margin-left:4.8pt;margin-right:0in">
                <div>
                  <p class="MsoNormal">(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)<o:p></o:p></p>
                  <div>
                    <p class="MsoNormal"><o:p> </o:p></p>
                  </div>
                </div>
                <div>
                  <div>
                    <div>
                      <p class="MsoNormal"><o:p> </o:p></p>
                      <div>
                        <p class="MsoNormal">On Thu, May 12, 2016 at
                          12:29 AM, James Molloy via llvm-dev <<a
                            moz-do-not-send="true"
                            href="mailto:llvm-dev@lists.llvm.org"
                            target="_blank"><a class="moz-txt-link-abbreviated" href="mailto:llvm-dev@lists.llvm.org">llvm-dev@lists.llvm.org</a></a>>
                          wrote:<o:p></o:p></p>
                        <blockquote style="border:none;border-left:solid
                          #CCCCCC 1.0pt;padding:0in 0in 0in
                          6.0pt;margin-left:4.8pt;margin-right:0in">
                          <div>
                            <p class="MsoNormal">Yep, same. What's the
                              magic rune to enable cfl-aa?<o:p></o:p></p>
                            <div>
                              <p class="MsoNormal"><o:p> </o:p></p>
                            </div>
                            <div>
                              <p class="MsoNormal">James<o:p></o:p></p>
                            </div>
                          </div>
                          <div>
                            <div>
                              <p class="MsoNormal"><o:p> </o:p></p>
                              <div>
                                <div>
                                  <p class="MsoNormal">On Thu, 12 May
                                    2016 at 05:58 Philip Reames via
                                    llvm-dev <<a
                                      moz-do-not-send="true"
                                      href="mailto:llvm-dev@lists.llvm.org"
                                      target="_blank"><a class="moz-txt-link-abbreviated" href="mailto:llvm-dev@lists.llvm.org">llvm-dev@lists.llvm.org</a></a>>
                                    wrote:<o:p></o:p></p>
                                </div>
                                <blockquote
                                  style="border:none;border-left:solid
                                  #CCCCCC 1.0pt;padding:0in 0in 0in
                                  6.0pt;margin-left:4.8pt;margin-right:0in">
                                  <div>
                                    <div>
                                      <p class="MsoNormal">On 05/11/2016
                                        05:16 PM, George Burgess IV via
                                        llvm-dev wrote:<o:p></o:p></p>
                                    </div>
                                    <blockquote
                                      style="margin-top:5.0pt;margin-bottom:5.0pt">
                                      <div>
                                        <div>
                                          <p class="MsoNormal">> <span
                                              style="font-size:9.5pt">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><o:p></o:p></p>
                                        </div>
                                        <div>
                                          <p class="MsoNormal"><o:p> </o:p></p>
                                        </div>
                                        <div>
                                          <p class="MsoNormal"><span
                                              style="font-size:9.5pt">Woohoo!
                                              This is great news. :D</span><o:p></o:p></p>
                                        </div>
                                      </div>
                                    </blockquote>
                                  </div>
                                  <div>
                                    <p class="MsoNormal">Awesome!<o:p></o:p></p>
                                  </div>
                                  <div>
                                    <p class="MsoNormal"><br>
                                      <br>
                                      <o:p></o:p></p>
                                    <blockquote
                                      style="margin-top:5.0pt;margin-bottom:5.0pt">
                                      <div>
                                        <div>
                                          <p class="MsoNormal"><o:p> </o:p></p>
                                        </div>
                                        <div>
                                          <p class="MsoNormal"><span
                                              style="font-size:9.5pt">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><o:p></o:p></p>
                                        </div>
                                      </div>
                                    </blockquote>
                                  </div>
                                  <div>
                                    <p class="MsoNormal">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.<o:p></o:p></p>
                                  </div>
                                  <div>
                                    <p class="MsoNormal"><br>
                                      <br>
                                      Philip<o:p></o:p></p>
                                  </div>
                                  <div>
                                    <p class="MsoNormal"><br>
                                      <br>
                                      <o:p></o:p></p>
                                    <blockquote
                                      style="margin-top:5.0pt;margin-bottom:5.0pt">
                                      <div>
                                        <div>
                                          <p class="MsoNormal"><o:p> </o:p></p>
                                          <div>
                                            <p class="MsoNormal">On Wed,
                                              May 11, 2016 at 3:02 PM,
                                              Jia Chen via llvm-dev <<a
                                                moz-do-not-send="true"
                                                href="mailto:llvm-dev@lists.llvm.org"
                                                target="_blank"><a class="moz-txt-link-abbreviated" href="mailto:llvm-dev@lists.llvm.org">llvm-dev@lists.llvm.org</a></a>>
                                              wrote:<o:p></o:p></p>
                                            <blockquote
                                              style="border:none;border-left:solid
                                              #CCCCCC 1.0pt;padding:0in
                                              0in 0in
                                              6.0pt;margin-left:4.8pt;margin-right:0in">
                                              <div>
                                                <p class="MsoNormal">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
                                                    moz-do-not-send="true"
href="http://lists.llvm.org/pipermail/llvm-dev/2016-March/096851.html"
                                                    target="_blank">
<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></a><span
style="color:#888888"><br>
                                                    <br>
                                                    <o:p></o:p></span></p>
                                                <pre><span style="color:#888888">-- <o:p></o:p></span></pre>
                                                <pre><span style="color:#888888">Best Regards,<o:p></o:p></span></pre>
                                                <pre><span style="color:#888888"><o:p> </o:p></span></pre>
                                                <pre><span style="color:#888888">--<o:p></o:p></span></pre>
                                                <pre><span style="color:#888888">Jia Chen<o:p></o:p></span></pre>
                                                <pre><span style="color:#888888">Department of Computer Science<o:p></o:p></span></pre>
                                                <pre><span style="color:#888888">University of Texas at Austin<o:p></o:p></span></pre>
                                                <pre><span style="color:#888888"><a moz-do-not-send="true" href="mailto:jchen@cs.utexas.edu" target="_blank">jchen@cs.utexas.edu</a><o:p></o:p></span></pre>
                                              </div>
                                              <p class="MsoNormal"
                                                style="margin-bottom:12.0pt"><br>
_______________________________________________<br>
                                                LLVM Developers mailing
                                                list<br>
                                                <a
                                                  moz-do-not-send="true"
href="mailto:llvm-dev@lists.llvm.org" target="_blank"><a class="moz-txt-link-abbreviated" href="mailto:llvm-dev@lists.llvm.org">llvm-dev@lists.llvm.org</a></a><br>
                                                <a
                                                  moz-do-not-send="true"
href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev"
                                                  target="_blank"><a class="moz-txt-link-freetext" href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a></a><o:p></o:p></p>
                                            </blockquote>
                                          </div>
                                          <p class="MsoNormal"><o:p> </o:p></p>
                                        </div>
                                      </div>
                                      <p class="MsoNormal"
                                        style="margin-bottom:12.0pt"><o:p> </o:p></p>
                                      <pre>_______________________________________________<o:p></o:p></pre>
                                      <pre>LLVM Developers mailing list<o:p></o:p></pre>
                                      <pre><a moz-do-not-send="true" href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a><o:p></o:p></pre>
                                      <pre><a moz-do-not-send="true" href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><o:p></o:p></pre>
                                    </blockquote>
                                    <p class="MsoNormal"><o:p> </o:p></p>
                                  </div>
                                  <p class="MsoNormal">_______________________________________________<br>
                                    LLVM Developers mailing list<br>
                                    <a moz-do-not-send="true"
                                      href="mailto:llvm-dev@lists.llvm.org"
                                      target="_blank">llvm-dev@lists.llvm.org</a><br>
                                    <a moz-do-not-send="true"
                                      href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev"
                                      target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><o:p></o:p></p>
                                </blockquote>
                              </div>
                            </div>
                          </div>
                          <p class="MsoNormal"
                            style="margin-bottom:12.0pt"><br>
_______________________________________________<br>
                            LLVM Developers mailing list<br>
                            <a moz-do-not-send="true"
                              href="mailto:llvm-dev@lists.llvm.org"
                              target="_blank">llvm-dev@lists.llvm.org</a><br>
                            <a moz-do-not-send="true"
                              href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev"
                              target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><o:p></o:p></p>
                        </blockquote>
                      </div>
                      <p class="MsoNormal"><o:p> </o:p></p>
                    </div>
                  </div>
                </div>
              </blockquote>
            </div>
            <p class="MsoNormal"><o:p> </o:p></p>
          </div>
        </div>
      </div>
    </blockquote>
    <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>