[PATCH] Enable FastISel on ARM for Linux and NaCl

Eric Christopher echristo at gmail.com
Tue May 28 12:19:40 PDT 2013


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