summaryrefslogtreecommitdiffstats
path: root/lib/clang
diff options
context:
space:
mode:
authordim <dim@FreeBSD.org>2015-01-07 19:06:27 +0000
committerdim <dim@FreeBSD.org>2015-01-07 19:06:27 +0000
commit17b7ef10fda79e94515b2a9bc292f3efe4621111 (patch)
tree92e62f9b8ac3444c837b52deb7c823149d5b1727 /lib/clang
parente9704d71f8bae3de74c4490ae56fcf44a94c4a84 (diff)
downloadFreeBSD-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')
-rw-r--r--lib/clang/Makefile7
-rw-r--r--lib/clang/clang.build.mk6
-rw-r--r--lib/clang/include/AArch64GenAsmMatcher.inc2
-rw-r--r--lib/clang/include/AArch64GenAsmWriter.inc2
-rw-r--r--lib/clang/include/AArch64GenAsmWriter1.inc2
-rw-r--r--lib/clang/include/AArch64GenCallingConv.inc2
-rw-r--r--lib/clang/include/AArch64GenDAGISel.inc2
-rw-r--r--lib/clang/include/AArch64GenDisassemblerTables.inc2
-rw-r--r--lib/clang/include/AArch64GenFastISel.inc2
-rw-r--r--lib/clang/include/AArch64GenInstrInfo.inc2
-rw-r--r--lib/clang/include/AArch64GenMCCodeEmitter.inc2
-rw-r--r--lib/clang/include/AArch64GenMCPseudoLowering.inc2
-rw-r--r--lib/clang/include/AArch64GenRegisterInfo.inc2
-rw-r--r--lib/clang/include/AArch64GenSubtargetInfo.inc2
-rw-r--r--lib/clang/include/llvm/Config/AsmParsers.def1
-rw-r--r--lib/clang/include/llvm/Config/AsmPrinters.def1
-rw-r--r--lib/clang/include/llvm/Config/Disassemblers.def1
-rw-r--r--lib/clang/include/llvm/Config/Targets.def1
-rw-r--r--lib/clang/libllvmaarch64asmparser/Makefile16
-rw-r--r--lib/clang/libllvmaarch64codegen/Makefile42
-rw-r--r--lib/clang/libllvmaarch64desc/Makefile24
-rw-r--r--lib/clang/libllvmaarch64disassembler/Makefile20
-rw-r--r--lib/clang/libllvmaarch64info/Makefile15
-rw-r--r--lib/clang/libllvmaarch64instprinter/Makefile17
-rw-r--r--lib/clang/libllvmaarch64utils/Makefile15
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"
OpenPOWER on IntegriCloud