diff options
author | dim <dim@FreeBSD.org> | 2015-01-07 19:06:27 +0000 |
---|---|---|
committer | dim <dim@FreeBSD.org> | 2015-01-07 19:06:27 +0000 |
commit | 17b7ef10fda79e94515b2a9bc292f3efe4621111 (patch) | |
tree | 92e62f9b8ac3444c837b52deb7c823149d5b1727 /lib/clang | |
parent | e9704d71f8bae3de74c4490ae56fcf44a94c4a84 (diff) | |
download | FreeBSD-src-17b7ef10fda79e94515b2a9bc292f3efe4621111.zip FreeBSD-src-17b7ef10fda79e94515b2a9bc292f3efe4621111.tar.gz |
Add 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.
Submitted by: andrew
Reviewed by: andrew, emaste
Differential Revision: https://reviews.freebsd.org/D1446
Diffstat (limited to 'lib/clang')
25 files changed, 187 insertions, 3 deletions
diff --git a/lib/clang/Makefile b/lib/clang/Makefile index e31969d..dbf6c4d 100644 --- a/lib/clang/Makefile +++ b/lib/clang/Makefile @@ -56,6 +56,13 @@ SUBDIR= libclanganalysis \ libllvmtransformutils \ libllvmvectorize \ \ + libllvmaarch64asmparser \ + libllvmaarch64codegen \ + libllvmaarch64desc \ + libllvmaarch64disassembler \ + libllvmaarch64info \ + libllvmaarch64instprinter \ + libllvmaarch64utils \ libllvmarmasmparser \ libllvmarmcodegen \ libllvmarmdesc \ diff --git a/lib/clang/clang.build.mk b/lib/clang/clang.build.mk index 999b41b..926c81f 100644 --- a/lib/clang/clang.build.mk +++ b/lib/clang/clang.build.mk @@ -29,8 +29,8 @@ TARGET_ABI= gnueabi TARGET_ABI= unknown .endif -TARGET_TRIPLE?= ${TARGET_ARCH:C/amd64/x86_64/:C/armv6hf/armv6/}-${TARGET_ABI}-freebsd11.0 -BUILD_TRIPLE?= ${BUILD_ARCH:C/amd64/x86_64/:C/armv6hf/armv6/}-unknown-freebsd11.0 +TARGET_TRIPLE?= ${TARGET_ARCH:C/amd64/x86_64/:C/armv6hf/armv6/:C/arm64/aarch64/}-${TARGET_ABI}-freebsd11.0 +BUILD_TRIPLE?= ${BUILD_ARCH:C/amd64/x86_64/:C/armv6hf/armv6/:C/arm64/aarch64/}-unknown-freebsd11.0 CFLAGS+= -DLLVM_DEFAULT_TARGET_TRIPLE=\"${TARGET_TRIPLE}\" \ -DLLVM_HOST_TRIPLE=\"${BUILD_TRIPLE}\" \ -DDEFAULT_SYSROOT=\"${TOOLS_PREFIX}\" @@ -46,7 +46,7 @@ Intrinsics.inc.h: ${LLVM_SRCS}/include/llvm/IR/Intrinsics.td -I ${LLVM_SRCS}/include -d ${.TARGET:C/\.h$/.d/} -o ${.TARGET} \ ${LLVM_SRCS}/include/llvm/IR/Intrinsics.td .for arch in \ - ARM/ARM Mips/Mips PowerPC/PPC Sparc/Sparc X86/X86 + AArch64/AArch64 ARM/ARM Mips/Mips PowerPC/PPC Sparc/Sparc X86/X86 . for hdr in \ AsmMatcher/-gen-asm-matcher \ AsmWriter1/-gen-asm-writer,-asmwriternum=1 \ diff --git a/lib/clang/include/AArch64GenAsmMatcher.inc b/lib/clang/include/AArch64GenAsmMatcher.inc new file mode 100644 index 0000000..0b1e0a9 --- /dev/null +++ b/lib/clang/include/AArch64GenAsmMatcher.inc @@ -0,0 +1,2 @@ +/* $FreeBSD$ */ +#include "AArch64GenAsmMatcher.inc.h" diff --git a/lib/clang/include/AArch64GenAsmWriter.inc b/lib/clang/include/AArch64GenAsmWriter.inc new file mode 100644 index 0000000..20b130b --- /dev/null +++ b/lib/clang/include/AArch64GenAsmWriter.inc @@ -0,0 +1,2 @@ +/* $FreeBSD$ */ +#include "AArch64GenAsmWriter.inc.h" diff --git a/lib/clang/include/AArch64GenAsmWriter1.inc b/lib/clang/include/AArch64GenAsmWriter1.inc new file mode 100644 index 0000000..caf7812 --- /dev/null +++ b/lib/clang/include/AArch64GenAsmWriter1.inc @@ -0,0 +1,2 @@ +/* $FreeBSD$ */ +#include "AArch64GenAsmWriter1.inc.h" diff --git a/lib/clang/include/AArch64GenCallingConv.inc b/lib/clang/include/AArch64GenCallingConv.inc new file mode 100644 index 0000000..75bfa38 --- /dev/null +++ b/lib/clang/include/AArch64GenCallingConv.inc @@ -0,0 +1,2 @@ +/* $FreeBSD$ */ +#include "AArch64GenCallingConv.inc.h" diff --git a/lib/clang/include/AArch64GenDAGISel.inc b/lib/clang/include/AArch64GenDAGISel.inc new file mode 100644 index 0000000..39bb084 --- /dev/null +++ b/lib/clang/include/AArch64GenDAGISel.inc @@ -0,0 +1,2 @@ +/* $FreeBSD$ */ +#include "AArch64GenDAGISel.inc.h" diff --git a/lib/clang/include/AArch64GenDisassemblerTables.inc b/lib/clang/include/AArch64GenDisassemblerTables.inc new file mode 100644 index 0000000..3b26336 --- /dev/null +++ b/lib/clang/include/AArch64GenDisassemblerTables.inc @@ -0,0 +1,2 @@ +/* $FreeBSD$ */ +#include "AArch64GenDisassemblerTables.inc.h" diff --git a/lib/clang/include/AArch64GenFastISel.inc b/lib/clang/include/AArch64GenFastISel.inc new file mode 100644 index 0000000..ebc2ad2 --- /dev/null +++ b/lib/clang/include/AArch64GenFastISel.inc @@ -0,0 +1,2 @@ +/* $FreeBSD$ */ +#include "AArch64GenFastISel.inc.h" diff --git a/lib/clang/include/AArch64GenInstrInfo.inc b/lib/clang/include/AArch64GenInstrInfo.inc new file mode 100644 index 0000000..12e60a9 --- /dev/null +++ b/lib/clang/include/AArch64GenInstrInfo.inc @@ -0,0 +1,2 @@ +/* $FreeBSD$ */ +#include "AArch64GenInstrInfo.inc.h" diff --git a/lib/clang/include/AArch64GenMCCodeEmitter.inc b/lib/clang/include/AArch64GenMCCodeEmitter.inc new file mode 100644 index 0000000..e3515f5 --- /dev/null +++ b/lib/clang/include/AArch64GenMCCodeEmitter.inc @@ -0,0 +1,2 @@ +/* $FreeBSD$ */ +#include "AArch64GenMCCodeEmitter.inc.h" diff --git a/lib/clang/include/AArch64GenMCPseudoLowering.inc b/lib/clang/include/AArch64GenMCPseudoLowering.inc new file mode 100644 index 0000000..93f3f3a --- /dev/null +++ b/lib/clang/include/AArch64GenMCPseudoLowering.inc @@ -0,0 +1,2 @@ +/* $FreeBSD$ */ +#include "AArch64GenMCPseudoLowering.inc.h" diff --git a/lib/clang/include/AArch64GenRegisterInfo.inc b/lib/clang/include/AArch64GenRegisterInfo.inc new file mode 100644 index 0000000..a6a9647 --- /dev/null +++ b/lib/clang/include/AArch64GenRegisterInfo.inc @@ -0,0 +1,2 @@ +/* $FreeBSD$ */ +#include "AArch64GenRegisterInfo.inc.h" diff --git a/lib/clang/include/AArch64GenSubtargetInfo.inc b/lib/clang/include/AArch64GenSubtargetInfo.inc new file mode 100644 index 0000000..8674332 --- /dev/null +++ b/lib/clang/include/AArch64GenSubtargetInfo.inc @@ -0,0 +1,2 @@ +/* $FreeBSD$ */ +#include "AArch64GenSubtargetInfo.inc.h" diff --git a/lib/clang/include/llvm/Config/AsmParsers.def b/lib/clang/include/llvm/Config/AsmParsers.def index e0165f0..3be6e38 100644 --- a/lib/clang/include/llvm/Config/AsmParsers.def +++ b/lib/clang/include/llvm/Config/AsmParsers.def @@ -1,5 +1,6 @@ /* $FreeBSD$ */ +LLVM_ASM_PARSER(AArch64) LLVM_ASM_PARSER(ARM) LLVM_ASM_PARSER(Mips) LLVM_ASM_PARSER(PowerPC) diff --git a/lib/clang/include/llvm/Config/AsmPrinters.def b/lib/clang/include/llvm/Config/AsmPrinters.def index 97ca952..9ed0217 100644 --- a/lib/clang/include/llvm/Config/AsmPrinters.def +++ b/lib/clang/include/llvm/Config/AsmPrinters.def @@ -1,5 +1,6 @@ /* $FreeBSD$ */ +LLVM_ASM_PRINTER(AArch64) LLVM_ASM_PRINTER(ARM) LLVM_ASM_PRINTER(Mips) LLVM_ASM_PRINTER(PowerPC) diff --git a/lib/clang/include/llvm/Config/Disassemblers.def b/lib/clang/include/llvm/Config/Disassemblers.def index 1d31d24..44fc7ef 100644 --- a/lib/clang/include/llvm/Config/Disassemblers.def +++ b/lib/clang/include/llvm/Config/Disassemblers.def @@ -1,5 +1,6 @@ /* $FreeBSD$ */ +LLVM_DISASSEMBLER(AArch64) LLVM_DISASSEMBLER(ARM) LLVM_DISASSEMBLER(Mips) LLVM_DISASSEMBLER(PowerPC) diff --git a/lib/clang/include/llvm/Config/Targets.def b/lib/clang/include/llvm/Config/Targets.def index e51e06a..96b60d9 100644 --- a/lib/clang/include/llvm/Config/Targets.def +++ b/lib/clang/include/llvm/Config/Targets.def @@ -1,5 +1,6 @@ /* $FreeBSD$ */ +LLVM_TARGET(AArch64) LLVM_TARGET(ARM) LLVM_TARGET(Mips) LLVM_TARGET(PowerPC) diff --git a/lib/clang/libllvmaarch64asmparser/Makefile b/lib/clang/libllvmaarch64asmparser/Makefile new file mode 100644 index 0000000..d93fb9a --- /dev/null +++ b/lib/clang/libllvmaarch64asmparser/Makefile @@ -0,0 +1,16 @@ +# $FreeBSD$ + +.include <bsd.own.mk> + +LIB= llvmaarch64asmparser + +SRCDIR= lib/Target/AArch64/AsmParser +INCDIR= lib/Target/AArch64 +SRCS= AArch64AsmParser.cpp + +TGHDRS= AArch64GenAsmMatcher \ + AArch64GenInstrInfo \ + AArch64GenRegisterInfo \ + AArch64GenSubtargetInfo + +.include "../clang.lib.mk" diff --git a/lib/clang/libllvmaarch64codegen/Makefile b/lib/clang/libllvmaarch64codegen/Makefile new file mode 100644 index 0000000..8a25630 --- /dev/null +++ b/lib/clang/libllvmaarch64codegen/Makefile @@ -0,0 +1,42 @@ +# $FreeBSD$ + +.include <bsd.own.mk> + +LIB= llvmaarch64codegen + +SRCDIR= lib/Target/AArch64 +SRCS= AArch64AddressTypePromotion.cpp \ + AArch64AdvSIMDScalarPass.cpp \ + AArch64AsmPrinter.cpp \ + AArch64BranchRelaxation.cpp \ + AArch64CleanupLocalDynamicTLSPass.cpp \ + AArch64CollectLOH.cpp \ + AArch64ConditionalCompares.cpp \ + AArch64DeadRegisterDefinitionsPass.cpp \ + AArch64ExpandPseudoInsts.cpp \ + AArch64FastISel.cpp \ + AArch64FrameLowering.cpp \ + AArch64ISelDAGToDAG.cpp \ + AArch64ISelLowering.cpp \ + AArch64InstrInfo.cpp \ + AArch64LoadStoreOptimizer.cpp \ + AArch64MCInstLower.cpp \ + AArch64PromoteConstant.cpp \ + AArch64RegisterInfo.cpp \ + AArch64SelectionDAGInfo.cpp \ + AArch64StorePairSuppress.cpp \ + AArch64Subtarget.cpp \ + AArch64TargetMachine.cpp \ + AArch64TargetObjectFile.cpp \ + AArch64TargetTransformInfo.cpp + +TGHDRS= AArch64GenCallingConv \ + AArch64GenDAGISel \ + AArch64GenFastISel \ + AArch64GenInstrInfo \ + AArch64GenMCPseudoLowering \ + AArch64GenRegisterInfo \ + AArch64GenSubtargetInfo \ + Intrinsics + +.include "../clang.lib.mk" diff --git a/lib/clang/libllvmaarch64desc/Makefile b/lib/clang/libllvmaarch64desc/Makefile new file mode 100644 index 0000000..041fbf2 --- /dev/null +++ b/lib/clang/libllvmaarch64desc/Makefile @@ -0,0 +1,24 @@ +# $FreeBSD$ + +.include <bsd.own.mk> + +LIB= llvmaarch64desc + +SRCDIR= lib/Target/AArch64/MCTargetDesc +SRCS= AArch64AsmBackend.cpp \ + AArch64ELFObjectWriter.cpp \ + AArch64ELFStreamer.cpp \ + AArch64MCAsmInfo.cpp \ + AArch64MCCodeEmitter.cpp \ + AArch64MCExpr.cpp \ + AArch64MCTargetDesc.cpp \ + AArch64MachObjectWriter.cpp \ + AArch64TargetStreamer.cpp +CFLAGS+= -I${LLVM_SRCS}/${SRCDIR}/.. + +TGHDRS= AArch64GenInstrInfo \ + AArch64GenMCCodeEmitter \ + AArch64GenRegisterInfo \ + AArch64GenSubtargetInfo + +.include "../clang.lib.mk" diff --git a/lib/clang/libllvmaarch64disassembler/Makefile b/lib/clang/libllvmaarch64disassembler/Makefile new file mode 100644 index 0000000..5b23c0f --- /dev/null +++ b/lib/clang/libllvmaarch64disassembler/Makefile @@ -0,0 +1,20 @@ +# $FreeBSD$ + +.include <src.opts.mk> + +LIB= llvmaarch64disassembler + +SRCDIR= lib/Target/AArch64/Disassembler +INCDIR= lib/Target/AArch64 +SRCS= AArch64Disassembler.cpp + +.if ${MK_CLANG_EXTRAS} != "no" +SRCS+= AArch64ExternalSymbolizer.cpp +.endif + +TGHDRS= AArch64GenDisassemblerTables \ + AArch64GenInstrInfo \ + AArch64GenRegisterInfo \ + AArch64GenSubtargetInfo + +.include "../clang.lib.mk" diff --git a/lib/clang/libllvmaarch64info/Makefile b/lib/clang/libllvmaarch64info/Makefile new file mode 100644 index 0000000..c62a6e1 --- /dev/null +++ b/lib/clang/libllvmaarch64info/Makefile @@ -0,0 +1,15 @@ +# $FreeBSD$ + +.include <bsd.own.mk> + +LIB= llvmaarch64info + +SRCDIR= lib/Target/AArch64/TargetInfo +INCDIR= lib/Target/AArch64 +SRCS= AArch64TargetInfo.cpp + +TGHDRS= AArch64GenInstrInfo \ + AArch64GenRegisterInfo \ + AArch64GenSubtargetInfo + +.include "../clang.lib.mk" diff --git a/lib/clang/libllvmaarch64instprinter/Makefile b/lib/clang/libllvmaarch64instprinter/Makefile new file mode 100644 index 0000000..c037dc8 --- /dev/null +++ b/lib/clang/libllvmaarch64instprinter/Makefile @@ -0,0 +1,17 @@ +# $FreeBSD$ + +.include <bsd.own.mk> + +LIB= llvmaarch64instprinter + +SRCDIR= lib/Target/AArch64/InstPrinter +INCDIR= lib/Target/AArch64 +SRCS= AArch64InstPrinter.cpp + +TGHDRS= AArch64GenAsmWriter \ + AArch64GenAsmWriter1 \ + AArch64GenInstrInfo \ + AArch64GenRegisterInfo \ + AArch64GenSubtargetInfo + +.include "../clang.lib.mk" diff --git a/lib/clang/libllvmaarch64utils/Makefile b/lib/clang/libllvmaarch64utils/Makefile new file mode 100644 index 0000000..d945927 --- /dev/null +++ b/lib/clang/libllvmaarch64utils/Makefile @@ -0,0 +1,15 @@ +# $FreeBSD$ + +.include <bsd.own.mk> + +LIB= llvmaarch64utils + +SRCDIR= lib/Target/AArch64/Utils +INCDIR= lib/Target/AArch64 +SRCS= AArch64BaseInfo.cpp + +TGHDRS= AArch64GenInstrInfo \ + AArch64GenRegisterInfo \ + AArch64GenSubtargetInfo + +.include "../clang.lib.mk" |