<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Wed, Feb 18, 2015 at 6:44 PM, Shankar Easwaran <span dir="ltr"><<a href="mailto:shankare@codeaurora.org" target="_blank">shankare@codeaurora.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000">
<div>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></div></div></blockquote><div><br></div><div>It's too simple so I don't know if we can call it a solution or a design, but we can define 2^32 aliases for an atom in this way.</div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div bgcolor="#FFFFFF" text="#000000"><div>
Are you considering / need to support more than one alias to the <b>first
</b>atom created for a file ?</div></div></blockquote><div><br></div><div>That should work already. As I described in the comment for getNextOrdinal, the ordinal of the first real atom is 1<<32 (not 0), so we can assign any number between 0 to 1<<32-1 to aliases for the first atom.</div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div bgcolor="#FFFFFF" text="#000000"><div><span class="HOEnZb"><font color="#888888"><br>
<br>
Shankar Easwaran</font></span><div><div class="h5"><br>
<br>
On 2/18/2015 8:28 PM, Rui Ueyama wrote:<br>
</div></div></div><div><div class="h5">
<blockquote type="cite">
<pre>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 href="http://lists.cs.uiuc.edu/pipermail/llvmdev/2015-February/082130.html" target="_blank">http://lists.cs.uiuc.edu/pipermail/llvmdev/2015-February/082130.html</a>
On Wed, Feb 18, 2015 at 6:06 PM, Shankar Easwaran <a href="mailto:shankare@codeaurora.org" target="_blank"><shankare@codeaurora.org></a>
wrote:
</pre>
<blockquote type="cite">
<pre>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>On Wed, Feb 18, 2015 at 3:47 PM, Shankar Easwaran <
<a href="mailto:shankare@codeaurora.org" target="_blank">shankare@codeaurora.org</a>>
wrote:
On 2/18/2015 5:11 PM, Rui Ueyama wrote:
</pre>
<blockquote type="cite">
<pre> + alias->setOrdinal(target->ordinal() - 1);
</pre>
<blockquote type="cite">
<pre> Wouldn't this cause a wrap around when the ordinal of the first atom
</pre>
</blockquote>
<pre>is 0 ?
+// getNextOrdinal returns a monotonically increasaing uint64_t
</pre>
<blockquote type="cite">
<pre>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>enough ?
</pre>
</blockquote>
<pre>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>Shankar Easwaran
--
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted
by the Linux Foundation
</pre>
</blockquote>
</blockquote>
<pre>--
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted
by the Linux Foundation
</pre>
</blockquote>
<pre></pre>
</blockquote>
<br>
<br>
<pre cols="72">--
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by the Linux Foundation</pre>
</div></div></div>
</blockquote></div><br></div></div>