<div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote">On Thu, Feb 28, 2013 at 10:06 AM, Michael Ilseman <span dir="ltr"><<a href="mailto:milseman@apple.com" target="_blank">milseman@apple.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im"><br>
On Feb 28, 2013, at 8:50 AM, Evan Cheng <<a href="mailto:evan.cheng@apple.com">evan.cheng@apple.com</a>> wrote:<br>
<br>
><br>
><br>
> On Feb 28, 2013, at 8:38 AM, Eli Bendersky <<a href="mailto:eliben@google.com">eliben@google.com</a>> wrote:<br>
><br>
>> On Tue, Feb 26, 2013 at 8:37 PM, Michael Ilseman <<a href="mailto:milseman@apple.com">milseman@apple.com</a>> wrote:<br>
>>><br>
>>> On Feb 26, 2013, at 3:30 PM, Eli Bendersky <<a href="mailto:eliben@google.com">eliben@google.com</a>> wrote:<br>
>>><br>
>>>> Can you provide more background for this change? Is it being done for<br>
>>>> the sake of debugging? What are the intended use cases?<br>
>>><br>
>>> Sure! Debugging can definitely be improved by this, but this also gives targets more flexibility. Targets can fast-isel better code with more coverage in some situations. For example, SelectOperator(), even when it returns false, has side-effects and can schedule IR instructions to be fast-iselled that otherwise never would. This becomes particularly unfortunate when such instructions trigger the DAG slow-path.<br>

>><br>
>> Thanks for the explanation Michael. Even though you reverted the<br>
>> change, I want to ask something more general. Your change adds a<br>
>> methods that's very generally called but only used in one specific<br>
>> place. If we simply want to prioritize target-specific fast isel over<br>
>> target-independent fast isel (which sounds like a good idea),<br>
>> shouldn't more general hooks be added?<br>
>><br>
><br>
> One possibly clean solution is just always attempt target-specific fast isel first. However, it's possible that would slow down the targets which mainly rely on generic fast-isel.<br>
><br>
<br>
</div>I think you're both saying the same thing :) I was hesitant to change the behavior of other targets this way, as there could easily be baked-in assumptions about instructions failing independent selection. If there's interest, I can investigate further.<br>

<div class="HOEnZb"><div class="h5"><br></div></div></blockquote><div><br></div><div style>I'm definitely interested. Had no real objections to the idea of the patch, just wanted to see something to go with it :) </div>
<div style><br></div><div style>-eric</div></div></div></div>