<div dir="ltr">Small updated patch: fast-isel-pic.ll does reg-reg loads in the opposite order with FastISel turned on.<div><br></div><div style>I'm re-running the tests, and will commit soon if I don't get more comments.</div>
</div><div class="gmail_extra"><br><br><div class="gmail_quote">On Tue, May 28, 2013 at 5:16 PM, Eric Christopher <span dir="ltr"><<a href="mailto:echristo@gmail.com" target="_blank">echristo@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Awesome. LGTM.<br>
<span class="HOEnZb"><font color="#888888"><br>
-eric<br>
</font></span><div class="HOEnZb"><div class="h5"><br>
On Tue, May 28, 2013 at 5:09 PM, JF Bastien <<a href="mailto:jfb@google.com">jfb@google.com</a>> wrote:<br>
> Here's an updated patch with, I hope, cleaner conditionals (tests are the<br>
> same). FastISel has: Thumb2 support on iOS; ARM support on iOS, Linux and<br>
> NaCl.<br>
><br>
><br>
> On Tue, May 28, 2013 at 12:19 PM, Eric Christopher <<a href="mailto:echristo@gmail.com">echristo@gmail.com</a>><br>
> wrote:<br>
>><br>
>> Are you meaning to support thumb1 + linux and nacl? If not, how about<br>
>> we make the conditional a little cleaner? Or just separate it up<br>
>> anyhow?<br>
>><br>
>> -eric<br>
>><br>
>> On Tue, May 28, 2013 at 11:50 AM, JF Bastien <<a href="mailto:jfb@google.com">jfb@google.com</a>> wrote:<br>
>> > FastISel was only enabled for iOS ARM and Thumb2, this patch enables it<br>
>> > for<br>
>> > ARM (not Thumb2) on Linux and NaCl.<br>
>> ><br>
>> > Thumb2 support needs a bit more work, mainly around register class<br>
>> > restrictions.<br>
>> ><br>
>> > The patch punts to SelectionDAG when doing TLS relocation on non-Darwin<br>
>> > targets. I will fix this and other FastISel-to-SelectionDAG failures in<br>
>> > a<br>
>> > separate patch.<br>
>> ><br>
>> > The patch also forces FastISel to retain frame pointers: iOS always<br>
>> > keeps<br>
>> > them for backtracking (so emitted code won't change because of this),<br>
>> > but<br>
>> > Linux was getting much worse code that was incorrect when using big<br>
>> > frames<br>
>> > (such as test-suite's lencod). I'll also fix this in a later patch, it<br>
>> > will<br>
>> > probably require a peephole so that FastISel doesn't rematerialize frame<br>
>> > pointers back-to-back.<br>
>> ><br>
>> > The test changes are straightforward, similar to:<br>
>> ><br>
>> ><br>
>> > <a href="http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20130513/174279.html" target="_blank">http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20130513/174279.html</a><br>
>> > They all add a vararg test that got dropped in that change.<br>
>> ><br>
>> > I ran all of test-suite on A15 hardware with --optimize-option=-O0 and<br>
>> > all<br>
>> > the tests pass.<br>
>> ><br>
>> > _______________________________________________<br>
>> > llvm-commits mailing list<br>
>> > <a href="mailto:llvm-commits@cs.uiuc.edu">llvm-commits@cs.uiuc.edu</a><br>
>> > <a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</a><br>
>> ><br>
><br>
><br>
</div></div></blockquote></div><br></div>