<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><br class=""><div><blockquote type="cite" class=""><div class="">On May 18, 2015, at 10:07 PM, Jingyue Wu <<a href="mailto:jingyue@google.com" class="">jingyue@google.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class=""><br class=""><br class=""><div class="gmail_quote">On Mon, May 18, 2015 at 10:29 AM Daniel Berlin <<a href="mailto:dberlin@dberlin.org" class="">dberlin@dberlin.org</a>> wrote:<br class=""><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On Mon, May 18, 2015 at 10:17 AM, Jingyue Wu <<a href="mailto:jingyue@google.com" target="_blank" class="">jingyue@google.com</a>> wrote:<br class="">
> It's not caused by "the insertion point is set to the default after".<br class="">
><br class="">
> I should mention the reason somewhere earlier. "Reversing the order of<br class="">
> arg0~3 is not intentional. The user list of pixel_idx happens to have<br class="">
> pixel_idx+3, pixel_idx+2, and pixel_idx+1 in this order, so LSR simply<br class="">
> follows this order when collecting the LSRFixups."<br class="">
Ugh.<br class="">
Yes, I missed that. Sorry for not reading close enough.<br class="">
<br class="">
> I'm not an expert on uselist orders, but after skimming Duncan Smith's<br class="">
> recent work on preserving uselist orders in assembly, these orders are<br class="">
> deterministic but arbitrary.<br class="">
<br class="">
Yes.<br class="">
> So blindly following these orders sometimes<br class="">
> cause funny behavior (as in my example).<br class="">
<br class="">
So, then it makes sense to figure out if dominance order is really better.<br class="">
Otherwise, it's trivial to keep it in appearance order by assigning<br class="">
ids to order of appearance<br class="">
(IE iterating through the function bb by bb, and then inst by inst) ,<br class="">
and sorting back into that order.<br class=""></blockquote><div class=""><br class=""></div><div class="">Agree. I didn't mean to propose we must use dominance order; appearance order should work for me too. My patch chose dominance order because it's easy to hack (a single line of std::sort) :) Anyhow, I should experiment with both orders, and I doubt choosing one way or the other will significantly affect the code quality. </div></div></div>
</div></blockquote></div><br class=""><div class="">Unless we have done sane block layout by the time LSR runs (IIRC we haven’t), I doubt appearance order would be meaningful.</div><div class="">Andy</div></body></html>