[LLVMdev] Contributing the Apple ARM64 compiler backend

Hal Finkel hfinkel at anl.gov
Fri Mar 28 14:55:20 PDT 2014


----- Original Message -----
> From: "Tim Northover" <t.p.northover at gmail.com>
> To: "Hal Finkel" <hfinkel at anl.gov>
> Cc: "LLVM Developers Mailing List" <LLVMdev at cs.uiuc.edu>, "Renato Golin" <renato.golin at linaro.org>
> Sent: Friday, March 28, 2014 4:41:48 PM
> Subject: Re: [LLVMdev] Contributing the Apple ARM64 compiler backend
> 
> Hi Hal,
> 
> > Is a different target triple the right thing to do here? I think
> > that would introduce a ton of user confusion. How about we keep
> > the target triples as they are, and add some other way to choose
> > the desired backend?
> 
> In the short term, it's almost essential. Both of these targets are
> going to be existing simultaneously for a while and all the LLVM
> tools
> (for testing if nothing else) are setup to select the target based on
> the triple.
> 
> Longer term we want a single backend (probably in the AArch64
> directory since that's the official name). Theoretically, we could
> drop "arm64" as a triple then (provided Clang still supported "-arch
> arm64" for compatibility), but in reality it would be a little odd if
> "-arch arm64" worked but "--target arm64" didn't. I suspect arm64 and
> aarch64 will just become synonyms at that point.

Okay; this sounds reasonable, at least from an infrastructure perspective. However, I think we'll want to have clear guidance regarding what we want users, and more importantly, packagers, to do.

Are these two backends ABI compatible? If I have a toolchain setup for the existing aarch64-linux-gnu triple, could I try the new backend and still have clang find the linker and other object files in the lib/gcc directories? I assume that, if that makes sense, we'll want to make that work.

 -Hal

> 
> Cheers.
> 
> Tim.
> 

-- 
Hal Finkel
Assistant Computational Scientist
Leadership Computing Facility
Argonne National Laboratory



More information about the llvm-dev mailing list