Page MenuHomeFreeBSD

Add the AArch64 llvm backend
ClosedPublic

Authored by dim on Jan 6 2015, 5:25 PM.
Tags
None
Referenced Files
Unknown Object (File)
Tue, Nov 5, 4:03 AM
Unknown Object (File)
Nov 2 2024, 9:46 AM
Unknown Object (File)
Nov 1 2024, 4:13 PM
Unknown Object (File)
Oct 29 2024, 9:43 PM
Unknown Object (File)
Oct 27 2024, 12:29 PM
Unknown Object (File)
Oct 26 2024, 5:40 AM
Unknown Object (File)
Oct 23 2024, 7:32 AM
Unknown Object (File)
Oct 23 2024, 7:32 AM

Details

Summary

This adds the AArch64 llvm backend to the build to allow for early testing
and to ease any rework of how clang is built to take arm64 in to account.

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
No Lint Coverage
Unit
No Test Coverage

Event Timeline

andrew retitled this revision from to Add the AArch64 llvm backend.
andrew updated this object.
andrew edited the test plan for this revision. (Show Details)
andrew added reviewers: emaste, dim.
emaste added a subscriber: Unknown Object (MLST).Jan 6 2015, 5:42 PM
emaste edited edge metadata.
emaste added inline comments.
lib/clang/include/AArch64GenAsmMatcher.inc
1 โ†—(On Diff #3016)

Please unexpand these before checkin.

SVN does the expansion on checkout. I'm not sure if they're collapsed on checkin, or stored verbatim, but don't want to find out :-)

This revision is now accepted and ready to land.Jan 6 2015, 5:58 PM

Are we sure we already want to hook this up to the build by default? There were already a few complaints about building non-default arches...

Also, the other usr.bin/clang tools should be updated, otherwise they won't link. Those are the ones that are enabled via WITH_CLANG_EXTRAS.

I'll see if I can fix that up, but not now, I need to get some sleep first...

lib/clang/clang.build.mk
33 โ†—(On Diff #3016)

That should not be "arm53", but "arm64", obviously.

We will also need llvm r222292 to build the kernel without using floating point registers.

In D1446#10, @andrew wrote:

We will also need llvm r222292 to build the kernel without using floating point registers.

Can we bring this one directly into HEAD?

In D1446#11, @emaste wrote:

Can we bring this one directly into HEAD?

I don't see why not, it's a simple change. http://llvm.org/viewvc/llvm-project/?view=revision&revision=222292

dim edited reviewers, added: andrew; removed: dim.
dim edited edge metadata.
  • Unexpanded $FreeBSD$ keywords
  • Added aarch64 libraries to both the WITH_CLANG_EXTRAS programs and lldb
  • For some Makefiles, made the library order mostly the same as an upstream autoconf-based build.

I tested this by building clang with the default settings, and also with WITH_CLANG_EXTRAS and WITH_LLDB set.

This revision now requires review to proceed.Jan 7 2015, 5:45 PM

I imported this change then merged to my arm64 branch and it looks fine to me.

andrew edited edge metadata.

I successfully built a toolchain in my arm64 tree with this change.

This revision is now accepted and ready to land.Jan 7 2015, 6:39 PM
dim updated this revision to Diff 3035.

Closed by commit rS276783 (authored by @dim).