<p dir="ltr">Off by one error. :) PR16105. </p>
<div class="gmail_quote">On Jun 12, 2013 12:31 PM, "Jakob Stoklund Olesen" <<a href="mailto:stoklund@2pi.dk">stoklund@2pi.dk</a>> wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
On Jun 12, 2013, at 11:58 AM, Eric Christopher <<a href="mailto:echristo@gmail.com">echristo@gmail.com</a>> wrote:<br>
<br>
> Hi Jakob and Lang,<br>
><br>
> RC->contains is a trap for the register allocator since it tests the<br>
> presence of the register in the class, however, it ignores any<br>
> additions or removals done by an AltOrder and so shouldn't be used in<br>
> this situation. The greedy allocator uses AllocationOrder, but the<br>
> fast allocator doesn't and just grabs the order specifically when it<br>
> needs it.<br>
><br>
> I see a few possible ways here:<br>
><br>
> a) the patch I've got,<br>
> b) modify contains,<br>
> c) use AllocationOrder in the fast allocator,<br>
> d) something else (fix the hint? something?)<br>
><br>
> At any rate contains should probably go away or something. It just<br>
> seems like a trap. I haven't audited all uses of contains throughout<br>
> the compiler, but this appears to be the only use in any of the<br>
> allocators.<br>
><br>
> Thoughts?<br>
<br>
Is that the right PR#?<br>
<br>
/jakob<br>
<br>
</blockquote></div>