[PATCH] Enable FastISel on ARM for Linux and NaCl

JF Bastien jfb at google.com
Wed May 29 11:31:30 PDT 2013


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/6283afc9/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: fastisel-3.patch
Type: application/octet-stream
Size: 733 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20130529/6283afc9/attachment.obj>


More information about the llvm-commits mailing list