summaryrefslogtreecommitdiffstats
path: root/lib/clang
diff options
context:
space:
mode:
authordim <dim@FreeBSD.org>2014-03-26 07:31:57 +0000
committerdim <dim@FreeBSD.org>2014-03-26 07:31:57 +0000
commitfb422e6d310915f9e2641190198698d922f7ef58 (patch)
tree8126abc77e6620e23932d186c7b2b75457af47a5 /lib/clang
parent5a582ae617991f602ee6f8a954a36fd749aa466c (diff)
downloadFreeBSD-src-fb422e6d310915f9e2641190198698d922f7ef58.zip
FreeBSD-src-fb422e6d310915f9e2641190198698d922f7ef58.tar.gz
MFC r262613:
Merge the projects/clang-sparc64 branch back to head. This brings in several updates from the llvm and clang trunks to make the sparc64 backend fully functional. Apart from one patch to sys/sparc64/include/pcpu.h which is still under discussion, this makes it possible to let clang fully build world and kernel for sparc64. Any assistance with testing this on actual sparc64 hardware is greatly appreciated, as there will unavoidably be bugs left. Many thanks go to Roman Divacky for his upstream work on getting the sparc64 backend into shape. MFC r262985: Repair a few minor mismerges from r262261 in the clang-sparc64 project branch. This is also to minimize differences with upstream.
Diffstat (limited to 'lib/clang')
-rw-r--r--lib/clang/Makefile6
-rw-r--r--lib/clang/clang.build.mk2
-rw-r--r--lib/clang/include/SparcGenAsmMatcher.inc2
-rw-r--r--lib/clang/include/SparcGenAsmWriter.inc2
-rw-r--r--lib/clang/include/SparcGenCallingConv.inc2
-rw-r--r--lib/clang/include/SparcGenCodeEmitter.inc2
-rw-r--r--lib/clang/include/SparcGenDAGISel.inc2
-rw-r--r--lib/clang/include/SparcGenDisassemblerTables.inc2
-rw-r--r--lib/clang/include/SparcGenInstrInfo.inc2
-rw-r--r--lib/clang/include/SparcGenMCCodeEmitter.inc2
-rw-r--r--lib/clang/include/SparcGenRegisterInfo.inc2
-rw-r--r--lib/clang/include/SparcGenSubtargetInfo.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/libllvmsparcasmparser/Makefile16
-rw-r--r--lib/clang/libllvmsparccodegen/Makefile34
-rw-r--r--lib/clang/libllvmsparcdesc/Makefile22
-rw-r--r--lib/clang/libllvmsparcdisassembler/Makefile16
-rw-r--r--lib/clang/libllvmsparcinfo/Makefile15
-rw-r--r--lib/clang/libllvmsparcinstprinter/Makefile16
22 files changed, 150 insertions, 1 deletions
diff --git a/lib/clang/Makefile b/lib/clang/Makefile
index ca5e1da..8b6f385 100644
--- a/lib/clang/Makefile
+++ b/lib/clang/Makefile
@@ -79,6 +79,12 @@ SUBDIR= libclanganalysis \
libllvmpowerpcdesc \
libllvmpowerpcinfo \
libllvmpowerpcinstprinter \
+ libllvmsparcasmparser \
+ libllvmsparccodegen \
+ libllvmsparcdesc \
+ libllvmsparcdisassembler \
+ libllvmsparcinfo \
+ libllvmsparcinstprinter \
libllvmx86asmparser \
libllvmx86codegen \
libllvmx86desc \
diff --git a/lib/clang/clang.build.mk b/lib/clang/clang.build.mk
index 61bc338..1742feb 100644
--- a/lib/clang/clang.build.mk
+++ b/lib/clang/clang.build.mk
@@ -52,7 +52,7 @@ Intrinsics.inc.h: ${LLVM_SRCS}/include/llvm/IR/Intrinsics.td \
-gen-intrinsic -o ${.TARGET} \
${LLVM_SRCS}/include/llvm/IR/Intrinsics.td
.for arch in \
- ARM/ARM Mips/Mips PowerPC/PPC X86/X86
+ 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/SparcGenAsmMatcher.inc b/lib/clang/include/SparcGenAsmMatcher.inc
new file mode 100644
index 0000000..3522c59
--- /dev/null
+++ b/lib/clang/include/SparcGenAsmMatcher.inc
@@ -0,0 +1,2 @@
+/* $FreeBSD$ */
+#include "SparcGenAsmMatcher.inc.h"
diff --git a/lib/clang/include/SparcGenAsmWriter.inc b/lib/clang/include/SparcGenAsmWriter.inc
new file mode 100644
index 0000000..c5ae5dc
--- /dev/null
+++ b/lib/clang/include/SparcGenAsmWriter.inc
@@ -0,0 +1,2 @@
+/* $FreeBSD$ */
+#include "SparcGenAsmWriter.inc.h"
diff --git a/lib/clang/include/SparcGenCallingConv.inc b/lib/clang/include/SparcGenCallingConv.inc
new file mode 100644
index 0000000..dde4d8f
--- /dev/null
+++ b/lib/clang/include/SparcGenCallingConv.inc
@@ -0,0 +1,2 @@
+/* $FreeBSD$ */
+#include "SparcGenCallingConv.inc.h"
diff --git a/lib/clang/include/SparcGenCodeEmitter.inc b/lib/clang/include/SparcGenCodeEmitter.inc
new file mode 100644
index 0000000..0cd2fee
--- /dev/null
+++ b/lib/clang/include/SparcGenCodeEmitter.inc
@@ -0,0 +1,2 @@
+/* $FreeBSD$ */
+#include "SparcGenCodeEmitter.inc.h"
diff --git a/lib/clang/include/SparcGenDAGISel.inc b/lib/clang/include/SparcGenDAGISel.inc
new file mode 100644
index 0000000..d85ed6c
--- /dev/null
+++ b/lib/clang/include/SparcGenDAGISel.inc
@@ -0,0 +1,2 @@
+/* $FreeBSD$ */
+#include "SparcGenDAGISel.inc.h"
diff --git a/lib/clang/include/SparcGenDisassemblerTables.inc b/lib/clang/include/SparcGenDisassemblerTables.inc
new file mode 100644
index 0000000..0749ef2
--- /dev/null
+++ b/lib/clang/include/SparcGenDisassemblerTables.inc
@@ -0,0 +1,2 @@
+/* $FreeBSD$ */
+#include "SparcGenDisassemblerTables.inc.h"
diff --git a/lib/clang/include/SparcGenInstrInfo.inc b/lib/clang/include/SparcGenInstrInfo.inc
new file mode 100644
index 0000000..81c8e0b
--- /dev/null
+++ b/lib/clang/include/SparcGenInstrInfo.inc
@@ -0,0 +1,2 @@
+/* $FreeBSD$ */
+#include "SparcGenInstrInfo.inc.h"
diff --git a/lib/clang/include/SparcGenMCCodeEmitter.inc b/lib/clang/include/SparcGenMCCodeEmitter.inc
new file mode 100644
index 0000000..1e6d6ef
--- /dev/null
+++ b/lib/clang/include/SparcGenMCCodeEmitter.inc
@@ -0,0 +1,2 @@
+/* $FreeBSD$ */
+#include "SparcGenMCCodeEmitter.inc.h"
diff --git a/lib/clang/include/SparcGenRegisterInfo.inc b/lib/clang/include/SparcGenRegisterInfo.inc
new file mode 100644
index 0000000..0c3a91c
--- /dev/null
+++ b/lib/clang/include/SparcGenRegisterInfo.inc
@@ -0,0 +1,2 @@
+/* $FreeBSD$ */
+#include "SparcGenRegisterInfo.inc.h"
diff --git a/lib/clang/include/SparcGenSubtargetInfo.inc b/lib/clang/include/SparcGenSubtargetInfo.inc
new file mode 100644
index 0000000..ac63a72
--- /dev/null
+++ b/lib/clang/include/SparcGenSubtargetInfo.inc
@@ -0,0 +1,2 @@
+/* $FreeBSD$ */
+#include "SparcGenSubtargetInfo.inc.h"
diff --git a/lib/clang/include/llvm/Config/AsmParsers.def b/lib/clang/include/llvm/Config/AsmParsers.def
index a2c0f78..e0165f0 100644
--- a/lib/clang/include/llvm/Config/AsmParsers.def
+++ b/lib/clang/include/llvm/Config/AsmParsers.def
@@ -3,6 +3,7 @@
LLVM_ASM_PARSER(ARM)
LLVM_ASM_PARSER(Mips)
LLVM_ASM_PARSER(PowerPC)
+LLVM_ASM_PARSER(Sparc)
LLVM_ASM_PARSER(X86)
#undef LLVM_ASM_PARSER
diff --git a/lib/clang/include/llvm/Config/AsmPrinters.def b/lib/clang/include/llvm/Config/AsmPrinters.def
index ca335df..97ca952 100644
--- a/lib/clang/include/llvm/Config/AsmPrinters.def
+++ b/lib/clang/include/llvm/Config/AsmPrinters.def
@@ -3,6 +3,7 @@
LLVM_ASM_PRINTER(ARM)
LLVM_ASM_PRINTER(Mips)
LLVM_ASM_PRINTER(PowerPC)
+LLVM_ASM_PRINTER(Sparc)
LLVM_ASM_PRINTER(X86)
#undef LLVM_ASM_PRINTER
diff --git a/lib/clang/include/llvm/Config/Disassemblers.def b/lib/clang/include/llvm/Config/Disassemblers.def
index 1b26531..25406a4 100644
--- a/lib/clang/include/llvm/Config/Disassemblers.def
+++ b/lib/clang/include/llvm/Config/Disassemblers.def
@@ -2,6 +2,7 @@
LLVM_DISASSEMBLER(ARM)
LLVM_DISASSEMBLER(Mips)
+LLVM_DISASSEMBLER(Sparc)
LLVM_DISASSEMBLER(X86)
#undef LLVM_DISASSEMBLER
diff --git a/lib/clang/include/llvm/Config/Targets.def b/lib/clang/include/llvm/Config/Targets.def
index 85c3ffe..e51e06a 100644
--- a/lib/clang/include/llvm/Config/Targets.def
+++ b/lib/clang/include/llvm/Config/Targets.def
@@ -3,6 +3,7 @@
LLVM_TARGET(ARM)
LLVM_TARGET(Mips)
LLVM_TARGET(PowerPC)
+LLVM_TARGET(Sparc)
LLVM_TARGET(X86)
#undef LLVM_TARGET
diff --git a/lib/clang/libllvmsparcasmparser/Makefile b/lib/clang/libllvmsparcasmparser/Makefile
new file mode 100644
index 0000000..f4e4f25
--- /dev/null
+++ b/lib/clang/libllvmsparcasmparser/Makefile
@@ -0,0 +1,16 @@
+# $FreeBSD$
+
+.include <bsd.own.mk>
+
+LIB= llvmsparcasmparser
+
+SRCDIR= lib/Target/Sparc/AsmParser
+INCDIR= lib/Target/Sparc
+SRCS= SparcAsmParser.cpp
+
+TGHDRS= SparcGenAsmMatcher \
+ SparcGenInstrInfo \
+ SparcGenRegisterInfo \
+ SparcGenSubtargetInfo
+
+.include "../clang.lib.mk"
diff --git a/lib/clang/libllvmsparccodegen/Makefile b/lib/clang/libllvmsparccodegen/Makefile
new file mode 100644
index 0000000..36cf0a6
--- /dev/null
+++ b/lib/clang/libllvmsparccodegen/Makefile
@@ -0,0 +1,34 @@
+# $FreeBSD$
+
+.include <bsd.own.mk>
+
+LIB= llvmsparccodegen
+
+SRCDIR= lib/Target/Sparc
+SRCS= DelaySlotFiller.cpp \
+ SparcAsmPrinter.cpp \
+ SparcCodeEmitter.cpp \
+ SparcFrameLowering.cpp \
+ SparcISelDAGToDAG.cpp \
+ SparcISelLowering.cpp \
+ SparcInstrInfo.cpp \
+ SparcJITInfo.cpp \
+ SparcMCInstLower.cpp \
+ SparcMachineFunctionInfo.cpp \
+ SparcRegisterInfo.cpp \
+ SparcSelectionDAGInfo.cpp \
+ SparcSubtarget.cpp \
+ SparcTargetMachine.cpp \
+ SparcTargetObjectFile.cpp
+
+TGHDRS= Intrinsics \
+ SparcGenAsmWriter \
+ SparcGenCallingConv \
+ SparcGenCodeEmitter \
+ SparcGenDAGISel \
+ SparcGenInstrInfo \
+ SparcGenMCCodeEmitter \
+ SparcGenRegisterInfo \
+ SparcGenSubtargetInfo
+
+.include "../clang.lib.mk"
diff --git a/lib/clang/libllvmsparcdesc/Makefile b/lib/clang/libllvmsparcdesc/Makefile
new file mode 100644
index 0000000..20605fb
--- /dev/null
+++ b/lib/clang/libllvmsparcdesc/Makefile
@@ -0,0 +1,22 @@
+# $FreeBSD$
+
+.include <bsd.own.mk>
+
+LIB= llvmsparcdesc
+
+SRCDIR= lib/Target/Sparc/MCTargetDesc
+SRCS= SparcAsmBackend.cpp \
+ SparcELFObjectWriter.cpp \
+ SparcMCAsmInfo.cpp \
+ SparcMCCodeEmitter.cpp \
+ SparcMCExpr.cpp \
+ SparcMCTargetDesc.cpp \
+ SparcTargetStreamer.cpp
+CFLAGS+= -I${LLVM_SRCS}/${SRCDIR}/..
+
+TGHDRS= SparcGenInstrInfo \
+ SparcGenMCCodeEmitter \
+ SparcGenRegisterInfo \
+ SparcGenSubtargetInfo
+
+.include "../clang.lib.mk"
diff --git a/lib/clang/libllvmsparcdisassembler/Makefile b/lib/clang/libllvmsparcdisassembler/Makefile
new file mode 100644
index 0000000..a388ff2
--- /dev/null
+++ b/lib/clang/libllvmsparcdisassembler/Makefile
@@ -0,0 +1,16 @@
+# $FreeBSD$
+
+.include <bsd.own.mk>
+
+LIB= llvmsparcdisassembler
+
+SRCDIR= lib/Target/Sparc/Disassembler
+INCDIR= lib/Target/Sparc
+SRCS= SparcDisassembler.cpp
+
+TGHDRS= SparcGenDisassemblerTables \
+ SparcGenInstrInfo \
+ SparcGenRegisterInfo \
+ SparcGenSubtargetInfo
+
+.include "../clang.lib.mk"
diff --git a/lib/clang/libllvmsparcinfo/Makefile b/lib/clang/libllvmsparcinfo/Makefile
new file mode 100644
index 0000000..6c8052e
--- /dev/null
+++ b/lib/clang/libllvmsparcinfo/Makefile
@@ -0,0 +1,15 @@
+# $FreeBSD$
+
+.include <bsd.own.mk>
+
+LIB= llvmsparcinfo
+
+SRCDIR= lib/Target/Sparc/TargetInfo
+INCDIR= lib/Target/Sparc
+SRCS= SparcTargetInfo.cpp
+
+TGHDRS= SparcGenInstrInfo \
+ SparcGenRegisterInfo \
+ SparcGenSubtargetInfo
+
+.include "../clang.lib.mk"
diff --git a/lib/clang/libllvmsparcinstprinter/Makefile b/lib/clang/libllvmsparcinstprinter/Makefile
new file mode 100644
index 0000000..e15c55e
--- /dev/null
+++ b/lib/clang/libllvmsparcinstprinter/Makefile
@@ -0,0 +1,16 @@
+# $FreeBSD$
+
+.include <bsd.own.mk>
+
+LIB= llvmsparcinstprinter
+
+SRCDIR= lib/Target/Sparc/InstPrinter
+INCDIR= lib/Target/Sparc
+SRCS= SparcInstPrinter.cpp
+
+TGHDRS= SparcGenAsmWriter \
+ SparcGenInstrInfo \
+ SparcGenRegisterInfo \
+ SparcGenSubtargetInfo
+
+.include "../clang.lib.mk"
OpenPOWER on IntegriCloud