[PATCH] Enable FastISel on ARM for Linux and NaCl

Eric Christopher echristo at gmail.com
Tue May 28 17:16:00 PDT 2013


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
>> >
>
>



More information about the llvm-commits mailing list