[PATCH] Enable FastISel on ARM for Linux and NaCl

JF Bastien jfb at google.com
Wed May 29 13:42:30 PDT 2013


Committed as r182877.


On Wed, May 29, 2013 at 11:31 AM, JF Bastien <jfb at google.com> wrote:

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


More information about the llvm-commits mailing list