<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 03/09/2017 12:21 PM, Steven Perron
      wrote:<br>
    </div>
    <blockquote
cite="mid:OF529FADF2.F7B86FB3-ON002580DE.0063FDC8-002580DE.0064DC77@notes.na.collabserv.com"
      type="cite">
      <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
      <div class="socmaildefaultfont" dir="ltr"
        style="font-family:Arial, Helvetica,
        sans-serif;font-size:10.5pt">
        <div dir="ltr">I could make something like Daniel's suggestion
          work.  The main question I still have is how we tell the
          difference between the "old-style" DAG and the "new-style"
          DAG?  I don't know if there is some standard way of doing
          this.  Do we just base it on the version of llvm-ir?</div>
      </div>
    </blockquote>
    <br>
    We don't generally use IR version like that. Either make the format
    incompatible so that you can tell them apart, or we'll add a
    separate tag type (!tbaa2 or whatever).<br>
    <br>
    <blockquote
cite="mid:OF529FADF2.F7B86FB3-ON002580DE.0063FDC8-002580DE.0064DC77@notes.na.collabserv.com"
      type="cite">
      <div class="socmaildefaultfont" dir="ltr"
        style="font-family:Arial, Helvetica,
        sans-serif;font-size:10.5pt">
        <div dir="ltr"> </div>
        <div dir="ltr">Would there be a need to maintain different code
          for both type of DAG?  If we change clang to generate the
          new-style DAG, things will be fine for C/C++.  However, will
          this force other components that generate llvm-ir to change?</div>
        <div dir="ltr"> </div>
        <div dir="ltr">In general, what kind of backwards compatibility
          do we need to keep?</div>
      </div>
    </blockquote>
    <br>
    There are other frontends that generate TBAA, and there might not be
    a clear reason to make them change. The existing format is well
    defined, it just does not match C/C++ semantics well enough for our
    needs. On the other hand, if the new format subsumes the old one, we
    might just expect people to migrate. Let's make that decision
    separately. Assume for now that we'll have both at the same time and
    we'll change what Clang does.<br>
    <br>
     -Hal<br>
    <br>
    <blockquote
cite="mid:OF529FADF2.F7B86FB3-ON002580DE.0063FDC8-002580DE.0064DC77@notes.na.collabserv.com"
      type="cite">
      <div class="socmaildefaultfont" dir="ltr"
        style="font-family:Arial, Helvetica,
        sans-serif;font-size:10.5pt">
        <div dir="ltr"> </div>
        <div dir="ltr">Later,</div>
        <div dir="ltr">Steven Perron</div>
      </div>
      <br>
    </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>