<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html;
      charset=windows-1252">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    Hello Ruiling,<br>
    <br>
    So BasicAA cannot determine for sure if two accesses overlap and
    lets TBAA to say if they are allowed to overlap by the rules on the
    input language. The IR code and TBAA decoration looks like you are
    trying to write a buffer as an array of ints and read it as an array
    of floats without use of unions. If so, then this code violates
    aliasing rules and should not be compiled with TBAA enabled.<br>
    <br>
    <br>
    <div class="moz-cite-prefix">On 17/10/17 09:45, Song, Ruiling via
      llvm-dev wrote:<br>
    </div>
    <blockquote type="cite"
cite="mid:148B1B7A67D1C24B9EF0BE42EA49770684E24960@SHSMSX103.ccr.corp.intel.com">
      <pre wrap="">Hi,

I am an out-of-tree user of llvm. I am running into an regression issue against llvm 5.0.
The issue was introduced by "[BasicAA] Use MayAlias instead of PartialAlias for fallback."( <a class="moz-txt-link-freetext" href="https://reviews.llvm.org/D34318">https://reviews.llvm.org/D34318</a>)
I have attached a very simple program to reproduce the issue. The symptom is alias analysis report NoAlias to GVN which cause GVN do wrong optimization.
The BasicAA reports MayAlias while TBAA reports NoAlias, when query the pointers of below two instructions in attached sample:
%5 = load float, float addrspace(4)* %add.ptr.i5, align 4, !tbaa !13
store i32 %3, i32* %4, align 4, !tbaa !3
but in fact, they should be aliased as they are writing to/reading from the same buffer.

you can run 'opt -S -aa -basicaa -tbaa -gvn aa-bug.ll -o -' to see what happens.
I am not sure if we use llvm wrong or is it a bug that we should fix in llvm?

Thanks!
Ruiling
</pre>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
LLVM Developers mailing list
<a class="moz-txt-link-abbreviated" href="mailto:llvm-dev@lists.llvm.org">llvm-dev@lists.llvm.org</a>
<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>
</pre>
    </blockquote>
    <br>
  </body>
</html>