[LLVMdev] Contributing the Apple ARM64 compiler backend

Hal Finkel hfinkel at anl.gov
Fri Mar 28 15:11:45 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 5:06:11 PM
> Subject: Re: [LLVMdev] Contributing the Apple ARM64 compiler backend
> 
> > Are these two backends ABI compatible?
> 
> They should be, where there's overlap. AArch64 doesn't have any MachO
> support at the moment. ARM64 does have ELF support (obviously with
> less testing than AArch64's). Any ABI discrepancy would be considered
> a bug.
> 
> > 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 believe so. You *should* be able to take any command-line you now
> have with "--target aarch64-X-Y-Z", replace it with "--target
> arm64-X-Y-Z" and it will just work.

Okay, thanks!

> 
> Once the merge really gets started, that's a property everyone wants
> to make sure is preserved: no regressions with existing commands for
> trunk, and the final backend should be a drop-in replacement for both
> iOS and ELF targets. Hopefully strictly better in both cases.
> 
> A big choice approaching is exactly how we go about the merge. In my
> opinion trying an actual merge on .td files isn't going to work
> (massive inconsistency even if we could make it happen technically)
> so
> we're going to have to pick one of the two as a core for the final
> backend, and strip all the useful bits out of the other one
> cherry-pick style.

Yep, I'd suspect as much.

In any case, I agree with everyone else ;) -- go ahead and commit it.

 -Hal

> 
> Cheers.
> 
> Tim.
> 

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



More information about the llvm-dev mailing list