<html>
  <head>
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <p><br>
    </p>
    <div class="moz-cite-prefix">On 09/03/2017 08:35 PM, Daniel Berlin
      via llvm-commits wrote:<br>
    </div>
    <blockquote
cite="mid:CAF4BwTVCLHEq=uw5Y5ZYXi1NcKwqWpeuGMXJZ7rc-_U9UW=Rbw@mail.gmail.com"
      type="cite">
      <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
      <div dir="ltr">
        <div class="gmail_extra">
          <div class="gmail_quote">
            <blockquote class="gmail_quote" style="margin:0 0 0
              .8ex;border-left:1px #ccc solid;padding-left:1ex">
              <div dir="ltr">
                <div class="gmail_extra">
                  <div class="gmail_quote"><span class="">
                      <blockquote class="gmail_quote" style="margin:0 0
                        0 .8ex;border-left:1px #ccc
                        solid;padding-left:1ex"><br>
                        <br>
                        I believe this follows from the
                        GetUnderlyingObject and<br>
                        isIdentifiedObject related logic in 
                        BasicAAResult::aliasCheck.<br>
                        <br>
                        And I'm not aware of any transforms in LLVM
                        today that contradict the<br>
                        pointer aliasing rules.<br>
                      </blockquote>
                      <div><br>
                      </div>
                    </span>
                    <div>I assume you meant "do the wrong thing here".
                      Which i still believe is definitely wrong, FWIW,
                      but i'm too lazy to go searching through bugzilla
                      some more today, so i'm going to let it go.</div>
                    <div><br>
                    </div>
                    <div><br>
                    </div>
                  </div>
                </div>
              </div>
            </blockquote>
            <div>I'll also point out, you didn't read or write anything
              in your example.</div>
            <div>Which is strange to me because the usual semantic is
              "allowed to alias, but not allowed to be used to
              load/store".</div>
            <div>IE if you ask if the two pointers alias, the answer is
              yes.</div>
            <div>If you ask if a load can touch a given store, the
              answer is no.</div>
            <div><br>
            </div>
            <div>Here you are saying the pointer aliasing rules apply
              even to unwritten/unread pointers.</div>
            <div>That to me, is ... very strange.</div>
          </div>
        </div>
      </div>
    </blockquote>
    <br>
    As far as I can tell, LLVM does not support pointer aliasing in the
    abstract. All queried memory locations are presumed to belong to
    some memory access. We may want to change this at some point.<br>
    <br>
     -Hal<br>
    <br>
    <blockquote
cite="mid:CAF4BwTVCLHEq=uw5Y5ZYXi1NcKwqWpeuGMXJZ7rc-_U9UW=Rbw@mail.gmail.com"
      type="cite">
      <div dir="ltr">
        <div class="gmail_extra">
          <div class="gmail_quote">
            <div><br>
            </div>
          </div>
        </div>
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
llvm-commits mailing list
<a class="moz-txt-link-abbreviated" href="mailto:llvm-commits@lists.llvm.org">llvm-commits@lists.llvm.org</a>
<a class="moz-txt-link-freetext" href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits</a>
</pre>
    </blockquote>
    <br>
    <pre class="moz-signature" cols="72">-- 
Hal Finkel
Lead, Compiler Technology and Programming Languages
Leadership Computing Facility
Argonne National Laboratory</pre>
  </body>
</html>