[LLVMdev] Contributing the Apple ARM64 compiler backend

Renato Golin
Fri, 28 Mar 2014 20:36:51 -0000

On 28 March 2014 19:35, James Grosbach <grosbach at apple.com>
wrote:
> Attached below are the patches that make up the Apple ARM64 compiler
backend (in addition to compiler_rt, libc++ and lldb support), and we'd like
to start the process of integrating them into mainline LLVM.  We and ARM have
discussed a general approach to integrating them into mainline and look forward
to working through this with the community at large.

W00t!! With libraries and debugger support, nice!


> 2. Test it. Benchmark it. Explore it. Get data for the community to work
with about the state of the back end. ARM has some excellent data that will help
guide us here.

Count me in. Would that be a different triple? arm64-linux-gnu?


> 3. Identify the core backend to build on and to merge features and tuning
from the other to. The data I have seen so far leads me to believe ARM64 is the
correct choice here, but that's a decision primarily for the contributors
above.

Either way, we'll have to move features form one side to the other. I
don't see bad choices ahead, just hard work.


> This will give us a backend that is a superset of both ARM64 and AArch64 in
terms both of performance and functionality. We can then consolidate to a single
backend, named AArch64 for consistency with the current public tree.

Do you have an idea of how much work would be involved and a
finger-in-the-air estimate of time?

I don't think we'll be able to move everything and remove one of the
back-ends in a single release cycle, so it doesn't make sense to wait
for 3.5 to go out before the merge, since it won't be ready by the
time 3.6 leaves the door. So, now is as good as any time to start
this. If people are concerned with confusion, we may just ship one of
the back-ends on the final binaries, whichever is in better shape.

Thanks Jim, glad to see things are finally rolling out. Interesting times ahead!

cheers,
--renato