<html>
  <head>
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <div class="moz-cite-prefix">Hi Rui,<br>
      <br>
      This is only in the Context of modeling Alias symbols. I agree we
      dont want to bring the complete LayoutPass for simple usecases.<br>
      <br>
      Do you have a different solution/design that works with ordinals
      to layout multiple alias atoms ?<br>
      <br>
      Are you considering / need to support more than one alias to the <b>first
      </b>atom created for a file ?<br>
      <br>
      Shankar Easwaran<br>
      <br>
      On 2/18/2015 8:28 PM, Rui Ueyama wrote:<br>
    </div>
    <blockquote
cite="mid:CAJENXguzMEh75CDXXeDKm2d9Qvu02dPchoF6Lj-nZqGRA79yzA@mail.gmail.com"
      type="cite">
      <pre wrap="">I know you wanted to bring LayoutPass back, and I think I described about
why that's not a good idea many times. The most recent discussion is this.
Could you read this and then elaborate why you think we should use the
LayoutPass based on that discussion?

<a class="moz-txt-link-freetext" href="http://lists.cs.uiuc.edu/pipermail/llvmdev/2015-February/082130.html">http://lists.cs.uiuc.edu/pipermail/llvmdev/2015-February/082130.html</a>

On Wed, Feb 18, 2015 at 6:06 PM, Shankar Easwaran <a class="moz-txt-link-rfc2396E" href="mailto:shankare@codeaurora.org"><shankare@codeaurora.org></a>
wrote:

</pre>
      <blockquote type="cite">
        <pre wrap="">I feel using kindLayoutBefore references would be a preferred way for this
solution.

We could enable the LayoutPass only if Alias symbols exist. Does COFF need
alias symbols for default operation ?

Shankar Easwaran


On 2/18/2015 5:50 PM, Rui Ueyama wrote:

</pre>
        <blockquote type="cite">
          <pre wrap="">On Wed, Feb 18, 2015 at 3:47 PM, Shankar Easwaran <
<a class="moz-txt-link-abbreviated" href="mailto:shankare@codeaurora.org">shankare@codeaurora.org</a>>
wrote:

 On 2/18/2015 5:11 PM, Rui Ueyama wrote:
</pre>
          <blockquote type="cite">
            <pre wrap="">
 +  alias->setOrdinal(target->ordinal() - 1);
</pre>
            <blockquote type="cite">
              <pre wrap="">
 Wouldn't this cause a wrap around when the ordinal of the first atom
</pre>
            </blockquote>
            <pre wrap="">is 0 ?

    +// getNextOrdinal returns a monotonically increasaing uint64_t
</pre>
            <blockquote type="cite">
              <pre wrap="">number
+// starting from 1. There's a large gap between two numbers returned
+// from this function, so that you can put other atoms between them.
+uint64_t FileCOFF::getNextOrdinal() {
+  return _ordinal++ << 32;
+}
+

 Do you need it this to be shifted by 32 ? Wouldnt incrementing by 2 be
</pre>
            </blockquote>
            <pre wrap="">enough ?

</pre>
          </blockquote>
          <pre wrap="">
You could define two or more aliases to a symbol so we need more room than
for one alias. That doesn't work now, though.



</pre>
          <blockquote type="cite">
            <pre wrap="">Shankar Easwaran

--
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted
by the Linux Foundation



</pre>
          </blockquote>
        </blockquote>
        <pre wrap="">
--
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted
by the Linux Foundation


</pre>
      </blockquote>
      <pre wrap="">
</pre>
    </blockquote>
    <br>
    <br>
    <pre class="moz-signature" cols="72">-- 
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by the Linux Foundation</pre>
  </body>
</html>