<html>
  <head>
    <meta content="text/html; charset=windows-1252"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <div class="moz-cite-prefix">On 08/07/2013 02:34 PM, Pete Cooper
      wrote:<br>
    </div>
    <blockquote
      cite="mid:EA1E68A5-3CBD-48B4-83E3-6BDAECD13E9D@apple.com"
      type="cite">
      <meta http-equiv="Content-Type" content="text/html;
        charset=windows-1252">
      <div>!address_spaces = !{!0, !1, !2, !3}</div>
      <div><br>
      </div>
      <div>; Address space tuple.  { address space number, parent
        address space, additional properties }</div>
      <div>!0 = metadata !{ i32 0, !{}, !{} }</div>
      <div>!1 = metadata !{ i32 1, !0, !{} }<br>
        !2 = metadata !{ i32 2, !0, !{} }<br>
        !3 = metadata !{ i32 3, !0, !4 }</div>
      <div><br>
      </div>
      <div>!4 = metadata !{ “constant” }</div>
      <div><br>
      </div>
      <div><br>
      </div>
      <div>This corresponds to 3 address spaces which all are members of
        address space 0, but which otherwise do not alias each other.  I
        think this is roughly how TBAA does things.  You can introduce
        any nodes in the tree of address spaces you need to make
        children in the tree alias each other.</div>
      <div><br>
      </div>
      <br>
    </blockquote>
    <br>
    I like that approach<br>
  </body>
</html>