aboutsummaryrefslogtreecommitdiff
path: root/lib/clang
diff options
context:
space:
mode:
Diffstat (limited to 'lib/clang')
-rw-r--r--lib/clang/Makefile13
-rw-r--r--lib/clang/Makefile.inc9
-rw-r--r--lib/clang/clang.build.mk24
-rw-r--r--lib/clang/clang.pre.mk7
-rw-r--r--lib/clang/freebsd_cc_version.h3
-rw-r--r--lib/clang/headers/Makefile145
-rw-r--r--lib/clang/headers/Makefile.depend12
-rw-r--r--lib/clang/include/clang/Basic/Version.inc11
-rw-r--r--lib/clang/include/clang/Config/config.h84
-rw-r--r--lib/clang/include/lld/Common/Version.inc10
-rw-r--r--lib/clang/include/lldb/Host/Config.h38
-rw-r--r--lib/clang/include/llvm/Config/AsmParsers.def29
-rw-r--r--lib/clang/include/llvm/Config/AsmPrinters.def29
-rw-r--r--lib/clang/include/llvm/Config/Disassemblers.def29
-rw-r--r--lib/clang/include/llvm/Config/Targets.def29
-rw-r--r--lib/clang/include/llvm/Config/abi-breaking.h51
-rw-r--r--lib/clang/include/llvm/Config/config.h347
-rw-r--r--lib/clang/include/llvm/Config/llvm-config.h86
-rw-r--r--lib/clang/include/llvm/Support/VCSRevision.h2
-rw-r--r--lib/clang/libclang/Makefile865
-rw-r--r--lib/clang/libclang/Makefile.depend18
-rw-r--r--lib/clang/liblldb/Makefile620
-rw-r--r--lib/clang/liblldb/Makefile.depend22
-rw-r--r--lib/clang/libllvm/Makefile1597
-rw-r--r--lib/clang/libllvm/Makefile.depend19
-rw-r--r--lib/clang/libllvmminimal/Makefile73
-rw-r--r--lib/clang/libllvmminimal/Makefile.depend16
-rw-r--r--lib/clang/lldb.pre.mk5
-rw-r--r--lib/clang/llvm.build.mk106
-rw-r--r--lib/clang/llvm.pre.mk5
30 files changed, 4304 insertions, 0 deletions
diff --git a/lib/clang/Makefile b/lib/clang/Makefile
new file mode 100644
index 000000000000..bc09ea62dc67
--- /dev/null
+++ b/lib/clang/Makefile
@@ -0,0 +1,13 @@
+# $FreeBSD$
+
+.include <src.opts.mk>
+
+# These have to be built in order.
+SUBDIR= libllvm
+SUBDIR+= libclang
+.if ${MK_LLDB} != "no"
+SUBDIR+= liblldb
+.endif
+SUBDIR+= headers
+
+.include <bsd.subdir.mk>
diff --git a/lib/clang/Makefile.inc b/lib/clang/Makefile.inc
new file mode 100644
index 000000000000..a0b4eea76882
--- /dev/null
+++ b/lib/clang/Makefile.inc
@@ -0,0 +1,9 @@
+# $FreeBSD$
+
+.include <bsd.compiler.mk>
+
+.if ${COMPILER_TYPE} == "clang"
+DEBUG_FILES_CFLAGS= -gline-tables-only
+.else
+DEBUG_FILES_CFLAGS= -g1
+.endif
diff --git a/lib/clang/clang.build.mk b/lib/clang/clang.build.mk
new file mode 100644
index 000000000000..7452edd7714d
--- /dev/null
+++ b/lib/clang/clang.build.mk
@@ -0,0 +1,24 @@
+# $FreeBSD$
+
+.include <src.opts.mk>
+
+.ifndef LLVM_SRCS
+.error Please define LLVM_SRCS before including this file
+.endif
+
+.ifndef CLANG_SRCS
+.error Please define CLANG_SRCS before including this file
+.endif
+
+.ifndef SRCDIR
+.error Please define SRCDIR before including this file
+.endif
+
+CFLAGS+= -I${CLANG_SRCS}/include
+
+.if ${MK_CLANG_FULL} != "no"
+CFLAGS+= -DCLANG_ENABLE_ARCMT
+CFLAGS+= -DCLANG_ENABLE_STATIC_ANALYZER
+.endif
+
+.include "llvm.build.mk"
diff --git a/lib/clang/clang.pre.mk b/lib/clang/clang.pre.mk
new file mode 100644
index 000000000000..fee5b3581f8f
--- /dev/null
+++ b/lib/clang/clang.pre.mk
@@ -0,0 +1,7 @@
+# $FreeBSD$
+
+.include "llvm.pre.mk"
+
+CLANG_SRCS= ${LLVM_SRCS}/tools/clang
+
+CLANG_TBLGEN?= clang-tblgen
diff --git a/lib/clang/freebsd_cc_version.h b/lib/clang/freebsd_cc_version.h
new file mode 100644
index 000000000000..9096dc913f14
--- /dev/null
+++ b/lib/clang/freebsd_cc_version.h
@@ -0,0 +1,3 @@
+/* $FreeBSD$ */
+
+#define FREEBSD_CC_VERSION 1200016
diff --git a/lib/clang/headers/Makefile b/lib/clang/headers/Makefile
new file mode 100644
index 000000000000..9b4607f322f1
--- /dev/null
+++ b/lib/clang/headers/Makefile
@@ -0,0 +1,145 @@
+# $FreeBSD$
+
+.include "../clang.pre.mk"
+
+.PATH: ${CLANG_SRCS}/lib/Headers
+
+INCSDIR= ${LIBDIR}/clang/7.0.0/include
+
+GENINCS+= arm_fp16.h
+GENINCS+= arm_neon.h
+
+INCS+= __clang_cuda_builtin_vars.h
+INCS+= __clang_cuda_cmath.h
+INCS+= __clang_cuda_complex_builtins.h
+INCS+= __clang_cuda_device_functions.h
+INCS+= __clang_cuda_intrinsics.h
+INCS+= __clang_cuda_libdevice_declares.h
+INCS+= __clang_cuda_math_forward_declares.h
+INCS+= __clang_cuda_runtime_wrapper.h
+INCS+= __stddef_max_align_t.h
+INCS+= __wmmintrin_aes.h
+INCS+= __wmmintrin_pclmul.h
+INCS+= adxintrin.h
+INCS+= altivec.h
+INCS+= ammintrin.h
+INCS+= arm64intr.h
+INCS+= arm_acle.h
+INCS+= armintr.h
+INCS+= avx2intrin.h
+INCS+= avx512bitalgintrin.h
+INCS+= avx512bwintrin.h
+INCS+= avx512cdintrin.h
+INCS+= avx512dqintrin.h
+INCS+= avx512erintrin.h
+INCS+= avx512fintrin.h
+INCS+= avx512ifmaintrin.h
+INCS+= avx512ifmavlintrin.h
+INCS+= avx512pfintrin.h
+INCS+= avx512vbmi2intrin.h
+INCS+= avx512vbmiintrin.h
+INCS+= avx512vbmivlintrin.h
+INCS+= avx512vlbitalgintrin.h
+INCS+= avx512vlbwintrin.h
+INCS+= avx512vlcdintrin.h
+INCS+= avx512vldqintrin.h
+INCS+= avx512vlintrin.h
+INCS+= avx512vlvbmi2intrin.h
+INCS+= avx512vlvnniintrin.h
+INCS+= avx512vnniintrin.h
+INCS+= avx512vpopcntdqintrin.h
+INCS+= avx512vpopcntdqvlintrin.h
+INCS+= avxintrin.h
+INCS+= bmi2intrin.h
+INCS+= bmiintrin.h
+INCS+= cetintrin.h
+INCS+= cldemoteintrin.h
+INCS+= clflushoptintrin.h
+INCS+= clwbintrin.h
+INCS+= clzerointrin.h
+INCS+= cpuid.h
+INCS+= emmintrin.h
+INCS+= f16cintrin.h
+INCS+= fma4intrin.h
+INCS+= fmaintrin.h
+INCS+= fxsrintrin.h
+INCS+= gfniintrin.h
+INCS+= htmintrin.h
+INCS+= htmxlintrin.h
+INCS+= ia32intrin.h
+INCS+= immintrin.h
+INCS+= invpcidintrin.h
+INCS+= lwpintrin.h
+INCS+= lzcntintrin.h
+INCS+= mm3dnow.h
+INCS+= mm_malloc.h
+INCS+= mmintrin.h
+INCS+= module.modulemap
+INCS+= movdirintrin.h
+INCS+= msa.h
+INCS+= mwaitxintrin.h
+INCS+= nmmintrin.h
+INCS+= opencl-c.h
+INCS+= pconfigintrin.h
+INCS+= pkuintrin.h
+INCS+= pmmintrin.h
+INCS+= popcntintrin.h
+INCS+= prfchwintrin.h
+INCS+= ptwriteintrin.h
+INCS+= rdseedintrin.h
+INCS+= rtmintrin.h
+INCS+= s390intrin.h
+INCS+= sgxintrin.h
+INCS+= shaintrin.h
+INCS+= smmintrin.h
+INCS+= tbmintrin.h
+INCS+= tmmintrin.h
+INCS+= vadefs.h
+INCS+= vaesintrin.h
+INCS+= vecintrin.h
+INCS+= vpclmulqdqintrin.h
+INCS+= waitpkgintrin.h
+INCS+= wbnoinvdintrin.h
+INCS+= wmmintrin.h
+INCS+= x86intrin.h
+INCS+= xmmintrin.h
+INCS+= xopintrin.h
+INCS+= xsavecintrin.h
+INCS+= xsaveintrin.h
+INCS+= xsaveoptintrin.h
+INCS+= xsavesintrin.h
+INCS+= xtestintrin.h
+INCS+= ${GENINCS}
+
+# Headers which possibly conflict with our own versions:
+.if defined(INSTALL_CONFLICTING_CLANG_HEADERS)
+INCS+= float.h
+INCS+= intrin.h
+INCS+= inttypes.h
+INCS+= iso646.h
+INCS+= limits.h
+INCS+= stdalign.h
+INCS+= stdarg.h
+INCS+= stdatomic.h
+INCS+= stdbool.h
+INCS+= stddef.h
+INCS+= stdint.h
+INCS+= stdnoreturn.h
+INCS+= tgmath.h
+INCS+= unwind.h
+INCS+= varargs.h
+.endif
+
+arm_fp16.h: ${CLANG_SRCS}/include/clang/Basic/arm_fp16.td
+ ${CLANG_TBLGEN} -gen-arm-fp16 \
+ -I ${CLANG_SRCS}/include/clang/Basic -d ${.TARGET:C/$/.d/} \
+ -o ${.TARGET} ${CLANG_SRCS}/include/clang/Basic/arm_fp16.td
+
+arm_neon.h: ${CLANG_SRCS}/include/clang/Basic/arm_neon.td
+ ${CLANG_TBLGEN} -gen-arm-neon \
+ -I ${CLANG_SRCS}/include/clang/Basic -d ${.TARGET:C/$/.d/} \
+ -o ${.TARGET} ${CLANG_SRCS}/include/clang/Basic/arm_neon.td
+
+CLEANFILES= ${GENINCS} ${GENINCS:C/$/.d/}
+
+.include <bsd.prog.mk>
diff --git a/lib/clang/headers/Makefile.depend b/lib/clang/headers/Makefile.depend
new file mode 100644
index 000000000000..47d4983b0033
--- /dev/null
+++ b/lib/clang/headers/Makefile.depend
@@ -0,0 +1,12 @@
+# $FreeBSD$
+# Autogenerated - do NOT edit!
+
+DIRDEPS = \
+ usr.bin/clang/clang-tblgen.host \
+
+
+.include <dirdeps.mk>
+
+.if ${DEP_RELDIR} == ${_DEP_RELDIR}
+# local dependencies - needed for -jN in clean tree
+.endif
diff --git a/lib/clang/include/clang/Basic/Version.inc b/lib/clang/include/clang/Basic/Version.inc
new file mode 100644
index 000000000000..9f8b12bd7308
--- /dev/null
+++ b/lib/clang/include/clang/Basic/Version.inc
@@ -0,0 +1,11 @@
+/* $FreeBSD$ */
+
+#define CLANG_VERSION 7.0.0
+#define CLANG_VERSION_STRING "7.0.0"
+#define CLANG_VERSION_MAJOR 7
+#define CLANG_VERSION_MINOR 0
+#define CLANG_VERSION_PATCHLEVEL 0
+
+#define CLANG_VENDOR "FreeBSD "
+
+#define SVN_REVISION "340910"
diff --git a/lib/clang/include/clang/Config/config.h b/lib/clang/include/clang/Config/config.h
new file mode 100644
index 000000000000..49b99a6e0483
--- /dev/null
+++ b/lib/clang/include/clang/Config/config.h
@@ -0,0 +1,84 @@
+/* $FreeBSD$ */
+/* This generated file is for internal use. Do not include it from headers. */
+
+#ifdef CLANG_CONFIG_H
+#error config.h can only be included once
+#else
+#define CLANG_CONFIG_H
+
+/* Bug report URL. */
+#define BUG_REPORT_URL "https://bugs.freebsd.org/submit/"
+
+/* Default linker to use. */
+#define CLANG_DEFAULT_LINKER ""
+
+/* Default C/ObjC standard to use. */
+/* #undef CLANG_DEFAULT_STD_C */
+
+/* Default C++/ObjC++ standard to use. */
+/* #undef CLANG_DEFAULT_STD_CXX */
+
+/* Default C++ stdlib to use. */
+#define CLANG_DEFAULT_CXX_STDLIB ""
+
+/* Default runtime library to use. */
+#define CLANG_DEFAULT_RTLIB ""
+
+/* Default objcopy to use */
+#define CLANG_DEFAULT_OBJCOPY "objcopy"
+
+/* Default OpenMP runtime used by -fopenmp. */
+#define CLANG_DEFAULT_OPENMP_RUNTIME "libomp"
+
+/* Default architecture for OpenMP offloading to Nvidia GPUs. */
+#define CLANG_OPENMP_NVPTX_DEFAULT_ARCH "sm_35"
+
+/* Multilib suffix for libdir. */
+#define CLANG_LIBDIR_SUFFIX ""
+
+/* Relative directory for resource files */
+#define CLANG_RESOURCE_DIR ""
+
+/* Directories clang will search for headers */
+#define C_INCLUDE_DIRS ""
+
+/* Directories clang will search for configuration files */
+/* #undef CLANG_CONFIG_FILE_SYSTEM_DIR */
+/* #undef CLANG_CONFIG_FILE_USER_DIR */
+
+/* Default <path> to all compiler invocations for --sysroot=<path>. */
+/* #undef DEFAULT_SYSROOT */
+
+/* Directory where gcc is installed. */
+#define GCC_INSTALL_PREFIX ""
+
+/* Define if we have libxml2 */
+/* #undef CLANG_HAVE_LIBXML */
+
+/* Define if we have z3 and want to build it */
+/* #undef CLANG_ANALYZER_WITH_Z3 */
+
+/* Define if we have sys/resource.h (rlimits) */
+#define CLANG_HAVE_RLIMITS 1
+
+/* The LLVM product name and version */
+#define BACKEND_PACKAGE_STRING "LLVM 7.0.0"
+
+/* Linker version detected at compile time. */
+/* #undef HOST_LINK_VERSION */
+
+/* pass --build-id to ld */
+/* #undef ENABLE_LINKER_BUILD_ID */
+
+/* enable x86 relax relocations by default */
+#define ENABLE_X86_RELAX_RELOCATIONS 0
+
+/* Enable the experimental new pass manager by default */
+#define ENABLE_EXPERIMENTAL_NEW_PASS_MANAGER 0
+
+/* Enable each functionality of modules */
+/* #undef CLANG_ENABLE_ARCMT */
+/* #undef CLANG_ENABLE_OBJC_REWRITER */
+/* #undef CLANG_ENABLE_STATIC_ANALYZER */
+
+#endif
diff --git a/lib/clang/include/lld/Common/Version.inc b/lib/clang/include/lld/Common/Version.inc
new file mode 100644
index 000000000000..dbb721da2a32
--- /dev/null
+++ b/lib/clang/include/lld/Common/Version.inc
@@ -0,0 +1,10 @@
+// $FreeBSD$
+
+#define LLD_VERSION 7.0.0
+#define LLD_VERSION_STRING "7.0.0"
+#define LLD_VERSION_MAJOR 7
+#define LLD_VERSION_MINOR 0
+
+#define LLD_REPOSITORY_STRING "FreeBSD"
+// <Upstream revision at import>-<Local identifier in __FreeBSD_version style>
+#define LLD_REVISION_STRING "340910-1200005"
diff --git a/lib/clang/include/lldb/Host/Config.h b/lib/clang/include/lldb/Host/Config.h
new file mode 100644
index 000000000000..eda561667ca6
--- /dev/null
+++ b/lib/clang/include/lldb/Host/Config.h
@@ -0,0 +1,38 @@
+// $FreeBSD$
+//===-- Config.h -----------------------------------------------*- C++ -*-===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef LLDB_HOST_CONFIG_H
+#define LLDB_HOST_CONFIG_H
+
+#define LLDB_CONFIG_TERMIOS_SUPPORTED
+
+#define LLDB_EDITLINE_USE_WCHAR 0
+
+#define LLDB_HAVE_EL_RFUNC_T 0
+
+/* #undef LLDB_DISABLE_POSIX */
+
+#define LLDB_LIBDIR_SUFFIX ""
+
+#define HAVE_SYS_EVENT_H 1
+
+#define HAVE_PPOLL 1
+
+#define HAVE_SIGACTION 1
+
+#define HAVE_PROCESS_VM_READV 0
+
+#define HAVE_NR_PROCESS_VM_READV 0
+
+#ifndef HAVE_LIBCOMPRESSION
+/* #undef HAVE_LIBCOMPRESSION */
+#endif
+
+#endif // #ifndef LLDB_HOST_CONFIG_H
diff --git a/lib/clang/include/llvm/Config/AsmParsers.def b/lib/clang/include/llvm/Config/AsmParsers.def
new file mode 100644
index 000000000000..0447f34a52b2
--- /dev/null
+++ b/lib/clang/include/llvm/Config/AsmParsers.def
@@ -0,0 +1,29 @@
+/* $FreeBSD$ */
+
+#ifndef LLVM_ASM_PARSER
+# error Please define the macro LLVM_ASM_PARSER(TargetName)
+#endif
+
+#ifdef LLVM_TARGET_ENABLE_AARCH64
+LLVM_ASM_PARSER(AArch64)
+#endif
+#ifdef LLVM_TARGET_ENABLE_ARM
+LLVM_ASM_PARSER(ARM)
+#endif
+#ifdef LLVM_TARGET_ENABLE_BPF
+LLVM_ASM_PARSER(BPF)
+#endif
+#ifdef LLVM_TARGET_ENABLE_MIPS
+LLVM_ASM_PARSER(Mips)
+#endif
+#ifdef LLVM_TARGET_ENABLE_POWERPC
+LLVM_ASM_PARSER(PowerPC)
+#endif
+#ifdef LLVM_TARGET_ENABLE_SPARC
+LLVM_ASM_PARSER(Sparc)
+#endif
+#ifdef LLVM_TARGET_ENABLE_X86
+LLVM_ASM_PARSER(X86)
+#endif
+
+#undef LLVM_ASM_PARSER
diff --git a/lib/clang/include/llvm/Config/AsmPrinters.def b/lib/clang/include/llvm/Config/AsmPrinters.def
new file mode 100644
index 000000000000..8c93cd08fffc
--- /dev/null
+++ b/lib/clang/include/llvm/Config/AsmPrinters.def
@@ -0,0 +1,29 @@
+/* $FreeBSD$ */
+
+#ifndef LLVM_ASM_PRINTER
+# error Please define the macro LLVM_ASM_PRINTER(TargetName)
+#endif
+
+#ifdef LLVM_TARGET_ENABLE_AARCH64
+LLVM_ASM_PRINTER(AArch64)
+#endif
+#ifdef LLVM_TARGET_ENABLE_ARM
+LLVM_ASM_PRINTER(ARM)
+#endif
+#ifdef LLVM_TARGET_ENABLE_BPF
+LLVM_ASM_PRINTER(BPF)
+#endif
+#ifdef LLVM_TARGET_ENABLE_MIPS
+LLVM_ASM_PRINTER(Mips)
+#endif
+#ifdef LLVM_TARGET_ENABLE_POWERPC
+LLVM_ASM_PRINTER(PowerPC)
+#endif
+#ifdef LLVM_TARGET_ENABLE_SPARC
+LLVM_ASM_PRINTER(Sparc)
+#endif
+#ifdef LLVM_TARGET_ENABLE_X86
+LLVM_ASM_PRINTER(X86)
+#endif
+
+#undef LLVM_ASM_PRINTER
diff --git a/lib/clang/include/llvm/Config/Disassemblers.def b/lib/clang/include/llvm/Config/Disassemblers.def
new file mode 100644
index 000000000000..af7ae59d3fec
--- /dev/null
+++ b/lib/clang/include/llvm/Config/Disassemblers.def
@@ -0,0 +1,29 @@
+/* $FreeBSD$ */
+
+#ifndef LLVM_DISASSEMBLER
+# error Please define the macro LLVM_DISASSEMBLER(TargetName)
+#endif
+
+#ifdef LLVM_TARGET_ENABLE_AARCH64
+LLVM_DISASSEMBLER(AArch64)
+#endif
+#ifdef LLVM_TARGET_ENABLE_ARM
+LLVM_DISASSEMBLER(ARM)
+#endif
+#ifdef LLVM_TARGET_ENABLE_BPF
+LLVM_DISASSEMBLER(BPF)
+#endif
+#ifdef LLVM_TARGET_ENABLE_MIPS
+LLVM_DISASSEMBLER(Mips)
+#endif
+#ifdef LLVM_TARGET_ENABLE_POWERPC
+LLVM_DISASSEMBLER(PowerPC)
+#endif
+#ifdef LLVM_TARGET_ENABLE_SPARC
+LLVM_DISASSEMBLER(Sparc)
+#endif
+#ifdef LLVM_TARGET_ENABLE_X86
+LLVM_DISASSEMBLER(X86)
+#endif
+
+#undef LLVM_DISASSEMBLER
diff --git a/lib/clang/include/llvm/Config/Targets.def b/lib/clang/include/llvm/Config/Targets.def
new file mode 100644
index 000000000000..9be98faea617
--- /dev/null
+++ b/lib/clang/include/llvm/Config/Targets.def
@@ -0,0 +1,29 @@
+/* $FreeBSD$ */
+
+#ifndef LLVM_TARGET
+# error Please define the macro LLVM_TARGET(TargetName)
+#endif
+
+#ifdef LLVM_TARGET_ENABLE_AARCH64
+LLVM_TARGET(AArch64)
+#endif
+#ifdef LLVM_TARGET_ENABLE_ARM
+LLVM_TARGET(ARM)
+#endif
+#ifdef LLVM_TARGET_ENABLE_BPF
+LLVM_TARGET(BPF)
+#endif
+#ifdef LLVM_TARGET_ENABLE_MIPS
+LLVM_TARGET(Mips)
+#endif
+#ifdef LLVM_TARGET_ENABLE_POWERPC
+LLVM_TARGET(PowerPC)
+#endif
+#ifdef LLVM_TARGET_ENABLE_SPARC
+LLVM_TARGET(Sparc)
+#endif
+#ifdef LLVM_TARGET_ENABLE_X86
+LLVM_TARGET(X86)
+#endif
+
+#undef LLVM_TARGET
diff --git a/lib/clang/include/llvm/Config/abi-breaking.h b/lib/clang/include/llvm/Config/abi-breaking.h
new file mode 100644
index 000000000000..a6976a1ac939
--- /dev/null
+++ b/lib/clang/include/llvm/Config/abi-breaking.h
@@ -0,0 +1,51 @@
+/* $FreeBSD$ */
+/*===------- llvm/Config/abi-breaking.h - llvm configuration -------*- C -*-===*/
+/* */
+/* The LLVM Compiler Infrastructure */
+/* */
+/* This file is distributed under the University of Illinois Open Source */
+/* License. See LICENSE.TXT for details. */
+/* */
+/*===----------------------------------------------------------------------===*/
+
+/* This file controls the C++ ABI break introduced in LLVM public header. */
+
+#ifndef LLVM_ABI_BREAKING_CHECKS_H
+#define LLVM_ABI_BREAKING_CHECKS_H
+
+/* Define to enable checks that alter the LLVM C++ ABI */
+#define LLVM_ENABLE_ABI_BREAKING_CHECKS 1
+
+/* Define to enable reverse iteration of unordered llvm containers */
+#define LLVM_ENABLE_REVERSE_ITERATION 0
+
+/* Allow selectively disabling link-time mismatch checking so that header-only
+ ADT content from LLVM can be used without linking libSupport. */
+#if !LLVM_DISABLE_ABI_BREAKING_CHECKS_ENFORCING
+
+// ABI_BREAKING_CHECKS protection: provides link-time failure when clients build
+// mismatch with LLVM
+#if defined(_MSC_VER)
+// Use pragma with MSVC
+#define LLVM_XSTR(s) LLVM_STR(s)
+#define LLVM_STR(s) #s
+#pragma detect_mismatch("LLVM_ENABLE_ABI_BREAKING_CHECKS", LLVM_XSTR(LLVM_ENABLE_ABI_BREAKING_CHECKS))
+#undef LLVM_XSTR
+#undef LLVM_STR
+#elif defined(_WIN32) || defined(__CYGWIN__) // Win32 w/o #pragma detect_mismatch
+// FIXME: Implement checks without weak.
+#elif defined(__cplusplus)
+namespace llvm {
+#if LLVM_ENABLE_ABI_BREAKING_CHECKS
+extern int EnableABIBreakingChecks;
+__attribute__((weak, visibility ("hidden"))) int *VerifyEnableABIBreakingChecks = &EnableABIBreakingChecks;
+#else
+extern int DisableABIBreakingChecks;
+__attribute__((weak, visibility ("hidden"))) int *VerifyDisableABIBreakingChecks = &DisableABIBreakingChecks;
+#endif
+}
+#endif // _MSC_VER
+
+#endif // LLVM_DISABLE_ABI_BREAKING_CHECKS_ENFORCING
+
+#endif
diff --git a/lib/clang/include/llvm/Config/config.h b/lib/clang/include/llvm/Config/config.h
new file mode 100644
index 000000000000..023a928453a1
--- /dev/null
+++ b/lib/clang/include/llvm/Config/config.h
@@ -0,0 +1,347 @@
+/* $FreeBSD$ */
+#ifndef CONFIG_H
+#define CONFIG_H
+
+/* Exported configuration */
+#include "llvm/Config/llvm-config.h"
+
+/* Bug report URL. */
+#define BUG_REPORT_URL "https://bugs.freebsd.org/submit/"
+
+/* Define to 1 to enable backtraces, and to 0 otherwise. */
+#define ENABLE_BACKTRACES 0
+
+/* Define to 1 to enable crash overrides, and to 0 otherwise. */
+#define ENABLE_CRASH_OVERRIDES 1
+
+/* Define to 1 if you have the `backtrace' function. */
+#define HAVE_BACKTRACE TRUE
+
+#define BACKTRACE_HEADER <execinfo.h>
+
+/* Define to 1 if you have the <CrashReporterClient.h> header file. */
+/* #undef HAVE_CRASHREPORTERCLIENT_H */
+
+/* can use __crashreporter_info__ */
+#define HAVE_CRASHREPORTER_INFO 0
+
+/* Define to 1 if you have the declaration of `arc4random', and to 0 if you
+ don't. */
+#define HAVE_DECL_ARC4RANDOM 1
+
+/* Define to 1 if you have the declaration of `FE_ALL_EXCEPT', and to 0 if you
+ don't. */
+#define HAVE_DECL_FE_ALL_EXCEPT 1
+
+/* Define to 1 if you have the declaration of `FE_INEXACT', and to 0 if you
+ don't. */
+#define HAVE_DECL_FE_INEXACT 1
+
+/* Define to 1 if you have the declaration of `strerror_s', and to 0 if you
+ don't. */
+#define HAVE_DECL_STRERROR_S 0
+
+/* Define to 1 if you have the DIA SDK installed, and to 0 if you don't. */
+#define LLVM_ENABLE_DIA_SDK 0
+
+/* Define to 1 if you have the <dlfcn.h> header file. */
+#define HAVE_DLFCN_H 1
+
+/* Define if dlopen() is available on this platform. */
+#define HAVE_DLOPEN 1
+
+/* Define if dladdr() is available on this platform. */
+#define HAVE_DLADDR 1
+
+/* Define to 1 if you have the <errno.h> header file. */
+#define HAVE_ERRNO_H 1
+
+/* Define to 1 if you have the <fcntl.h> header file. */
+#define HAVE_FCNTL_H 1
+
+/* Define to 1 if you have the <fenv.h> header file. */
+#define HAVE_FENV_H 1
+
+/* Define if libffi is available on this platform. */
+/* #undef HAVE_FFI_CALL */
+
+/* Define to 1 if you have the <ffi/ffi.h> header file. */
+/* #undef HAVE_FFI_FFI_H */
+
+/* Define to 1 if you have the <ffi.h> header file. */
+/* #undef HAVE_FFI_H */
+
+/* Define to 1 if you have the `futimens' function. */
+#if __FreeBSD__ >= 11
+#define HAVE_FUTIMENS 1
+#endif
+
+/* Define to 1 if you have the `futimes' function. */
+#define HAVE_FUTIMES 1
+
+/* Define to 1 if you have the `getpagesize' function. */
+#define HAVE_GETPAGESIZE 1
+
+/* Define to 1 if you have the `getrlimit' function. */
+#define HAVE_GETRLIMIT 1
+
+/* Define to 1 if you have the `getrusage' function. */
+#define HAVE_GETRUSAGE 1
+
+/* Define to 1 if you have the `isatty' function. */
+#define HAVE_ISATTY 1
+
+/* Define to 1 if you have the `edit' library (-ledit). */
+#define HAVE_LIBEDIT 1
+
+/* Define to 1 if you have the `pfm' library (-lpfm). */
+/* #undef HAVE_LIBPFM */
+
+/* Define to 1 if you have the `psapi' library (-lpsapi). */
+/* #undef HAVE_LIBPSAPI */
+
+/* Define to 1 if you have the `pthread' library (-lpthread). */
+#define HAVE_LIBPTHREAD 1
+
+/* Define to 1 if you have the `pthread_getname_np' function. */
+/* #undef HAVE_PTHREAD_GETNAME_NP */
+
+/* Define to 1 if you have the `pthread_setname_np' function. */
+/* #undef HAVE_PTHREAD_SETNAME_NP */
+
+/* Define to 1 if you have the `z' library (-lz). */
+#define HAVE_LIBZ 1
+
+/* Define to 1 if you have the <link.h> header file. */
+#define HAVE_LINK_H 1
+
+/* Define to 1 if you have the `lseek64' function. */
+/* #undef HAVE_LSEEK64 */
+
+/* Define to 1 if you have the <mach/mach.h> header file. */
+/* #undef HAVE_MACH_MACH_H */
+
+/* Define to 1 if you have the `mallctl' function. */
+#define HAVE_MALLCTL 1
+
+/* Define to 1 if you have the `mallinfo' function. */
+/* #undef HAVE_MALLINFO */
+
+/* Define to 1 if you have the <malloc.h> header file. */
+/* #undef HAVE_MALLOC_H */
+
+/* Define to 1 if you have the <malloc/malloc.h> header file. */
+/* #undef HAVE_MALLOC_MALLOC_H */
+
+/* Define to 1 if you have the `malloc_zone_statistics' function. */
+/* #undef HAVE_MALLOC_ZONE_STATISTICS */
+
+/* Define to 1 if you have the `posix_fallocate' function. */
+#define HAVE_POSIX_FALLOCATE 1
+
+/* Define to 1 if you have the `posix_spawn' function. */
+#define HAVE_POSIX_SPAWN 1
+
+/* Define to 1 if you have the `pread' function. */
+#define HAVE_PREAD 1
+
+/* Have pthread_getspecific */
+#define HAVE_PTHREAD_GETSPECIFIC 1
+
+/* Define to 1 if you have the <pthread.h> header file. */
+#define HAVE_PTHREAD_H 1
+
+/* Have pthread_mutex_lock */
+#define HAVE_PTHREAD_MUTEX_LOCK 1
+
+/* Have pthread_rwlock_init */
+#define HAVE_PTHREAD_RWLOCK_INIT 1
+
+/* Define to 1 if you have the `realpath' function. */
+#define HAVE_REALPATH 1
+
+/* Define to 1 if you have the `sbrk' function. */
+#define HAVE_SBRK 1
+
+/* Define to 1 if you have the `setenv' function. */
+#define HAVE_SETENV 1
+
+/* Define to 1 if you have the `sched_getaffinity' function. */
+/* #undef HAVE_SCHED_GETAFFINITY */
+
+/* Define to 1 if you have the `CPU_COUNT' macro. */
+/* #undef HAVE_CPU_COUNT */
+
+/* Define to 1 if you have the `setrlimit' function. */
+#define HAVE_SETRLIMIT 1
+
+/* Define to 1 if you have the `sigaltstack' function. */
+#define HAVE_SIGALTSTACK 1
+
+/* Define to 1 if you have the <signal.h> header file. */
+#define HAVE_SIGNAL_H 1
+
+/* Define to 1 if you have the `strerror' function. */
+#define HAVE_STRERROR 1
+
+/* Define to 1 if you have the `strerror_r' function. */
+#define HAVE_STRERROR_R 1
+
+/* Define to 1 if you have the `sysconf' function. */
+#define HAVE_SYSCONF 1
+
+/* Define to 1 if you have the <sys/ioctl.h> header file. */
+#define HAVE_SYS_IOCTL_H 1
+
+/* Define to 1 if you have the <sys/mman.h> header file. */
+#define HAVE_SYS_MMAN_H 1
+
+/* Define to 1 if you have the <sys/param.h> header file. */
+#define HAVE_SYS_PARAM_H 1
+
+/* Define to 1 if you have the <sys/resource.h> header file. */
+#define HAVE_SYS_RESOURCE_H 1
+
+/* Define to 1 if you have the <sys/stat.h> header file. */
+#define HAVE_SYS_STAT_H 1
+
+/* Define to 1 if you have the <sys/time.h> header file. */
+#define HAVE_SYS_TIME_H 1
+
+/* Define to 1 if you have the <sys/types.h> header file. */
+#define HAVE_SYS_TYPES_H 1
+
+/* Define if the setupterm() function is supported this platform. */
+#define HAVE_TERMINFO 1
+
+/* Define if the xar_open() function is supported this platform. */
+/* #undef HAVE_LIBXAR */
+
+/* Define to 1 if you have the <termios.h> header file. */
+#define HAVE_TERMIOS_H 1
+
+/* Define to 1 if you have the <unistd.h> header file. */
+#define HAVE_UNISTD_H 1
+
+/* Define to 1 if you have the <valgrind/valgrind.h> header file. */
+/* #undef HAVE_VALGRIND_VALGRIND_H */
+
+/* Define to 1 if you have the <zlib.h> header file. */
+#define HAVE_ZLIB_H 1
+
+/* Have host's _alloca */
+/* #undef HAVE__ALLOCA */
+
+/* Define to 1 if you have the `_chsize_s' function. */
+/* #undef HAVE__CHSIZE_S */
+
+/* Define to 1 if you have the `_Unwind_Backtrace' function. */
+/* #undef HAVE__UNWIND_BACKTRACE */
+
+/* Have host's __alloca */
+/* #undef HAVE___ALLOCA */
+
+/* Have host's __ashldi3 */
+/* #undef HAVE___ASHLDI3 */
+
+/* Have host's __ashrdi3 */
+/* #undef HAVE___ASHRDI3 */
+
+/* Have host's __chkstk */
+/* #undef HAVE___CHKSTK */
+
+/* Have host's __chkstk_ms */
+/* #undef HAVE___CHKSTK_MS */
+
+/* Have host's __cmpdi2 */
+/* #undef HAVE___CMPDI2 */
+
+/* Have host's __divdi3 */
+/* #undef HAVE___DIVDI3 */
+
+/* Have host's __fixdfdi */
+/* #undef HAVE___FIXDFDI */
+
+/* Have host's __fixsfdi */
+/* #undef HAVE___FIXSFDI */
+
+/* Have host's __floatdidf */
+/* #undef HAVE___FLOATDIDF */
+
+/* Have host's __lshrdi3 */
+/* #undef HAVE___LSHRDI3 */
+
+/* Have host's __main */
+/* #undef HAVE___MAIN */
+
+/* Have host's __moddi3 */
+/* #undef HAVE___MODDI3 */
+
+/* Have host's __udivdi3 */
+/* #undef HAVE___UDIVDI3 */
+
+/* Have host's __umoddi3 */
+/* #undef HAVE___UMODDI3 */
+
+/* Have host's ___chkstk */
+/* #undef HAVE____CHKSTK */
+
+/* Have host's ___chkstk_ms */
+/* #undef HAVE____CHKSTK_MS */
+
+/* Linker version detected at compile time. */
+/* #undef HOST_LINK_VERSION */
+
+/* Target triple LLVM will generate code for by default */
+/* Doesn't use `cmakedefine` because it is allowed to be empty. */
+/* #undef LLVM_DEFAULT_TARGET_TRIPLE */
+
+/* Define if zlib compression is available */
+#define LLVM_ENABLE_ZLIB 1
+
+/* Define if overriding target triple is enabled */
+/* #undef LLVM_TARGET_TRIPLE_ENV */
+
+/* LLVM version information */
+/* #undef LLVM_VERSION_INFO */
+
+/* Whether tools show host and target info when invoked with --version */
+#define LLVM_VERSION_PRINTER_SHOW_HOST_TARGET_INFO 1
+
+/* Define if libxml2 is supported on this platform. */
+/* #undef LLVM_LIBXML2_ENABLED */
+
+/* Define to the extension used for shared libraries, say, ".so". */
+#define LTDL_SHLIB_EXT ".so"
+
+/* Define to the address where bug reports for this package should be sent. */
+#define PACKAGE_BUGREPORT "https://bugs.freebsd.org/submit/"
+
+/* Define to the full name of this package. */
+#define PACKAGE_NAME "LLVM"
+
+/* Define to the full name and version of this package. */
+#define PACKAGE_STRING "LLVM 7.0.0"
+
+/* Define to the version of this package. */
+#define PACKAGE_VERSION "7.0.0"
+
+/* Define to the vendor of this package. */
+/* #undef PACKAGE_VENDOR */
+
+/* Define as the return type of signal handlers (`int' or `void'). */
+#define RETSIGTYPE void
+
+/* Define to a function implementing stricmp */
+/* #undef stricmp */
+
+/* Define to a function implementing strdup */
+/* #undef strdup */
+
+/* Whether GlobalISel rule coverage is being collected */
+#define LLVM_GISEL_COV_ENABLED 0
+
+/* Define to the default GlobalISel coverage file prefix */
+/* #undef LLVM_GISEL_COV_PREFIX */
+
+#endif
diff --git a/lib/clang/include/llvm/Config/llvm-config.h b/lib/clang/include/llvm/Config/llvm-config.h
new file mode 100644
index 000000000000..5e920c7b5da3
--- /dev/null
+++ b/lib/clang/include/llvm/Config/llvm-config.h
@@ -0,0 +1,86 @@
+/* $FreeBSD$ */
+/*===------- llvm/Config/llvm-config.h - llvm configuration -------*- C -*-===*/
+/* */
+/* The LLVM Compiler Infrastructure */
+/* */
+/* This file is distributed under the University of Illinois Open Source */
+/* License. See LICENSE.TXT for details. */
+/* */
+/*===----------------------------------------------------------------------===*/
+
+/* This file enumerates variables from the LLVM configuration so that they
+ can be in exported headers and won't override package specific directives.
+ This is a C header that can be included in the llvm-c headers. */
+
+#ifndef LLVM_CONFIG_H
+#define LLVM_CONFIG_H
+
+/* Define if LLVM_ENABLE_DUMP is enabled */
+/* #undef LLVM_ENABLE_DUMP */
+
+/* Define if we link Polly to the tools */
+/* #undef LINK_POLLY_INTO_TOOLS */
+
+/* Target triple LLVM will generate code for by default */
+/* #undef LLVM_DEFAULT_TARGET_TRIPLE */
+
+/* Define if threads enabled */
+#define LLVM_ENABLE_THREADS 1
+
+/* Has gcc/MSVC atomic intrinsics */
+#define LLVM_HAS_ATOMICS 1
+
+/* Host triple LLVM will be executed on */
+/* #undef LLVM_HOST_TRIPLE */
+
+/* LLVM architecture name for the native architecture, if available */
+/* #undef LLVM_NATIVE_ARCH */
+
+/* LLVM name for the native AsmParser init function, if available */
+/* #undef LLVM_NATIVE_ASMPARSER */
+
+/* LLVM name for the native AsmPrinter init function, if available */
+/* #undef LLVM_NATIVE_ASMPRINTER */
+
+/* LLVM name for the native Disassembler init function, if available */
+/* #undef LLVM_NATIVE_DISASSEMBLER */
+
+/* LLVM name for the native Target init function, if available */
+/* #undef LLVM_NATIVE_TARGET */
+
+/* LLVM name for the native TargetInfo init function, if available */
+/* #undef LLVM_NATIVE_TARGETINFO */
+
+/* LLVM name for the native target MC init function, if available */
+/* #undef LLVM_NATIVE_TARGETMC */
+
+/* Define if this is Unixish platform */
+#define LLVM_ON_UNIX 1
+
+/* Define if we have the Intel JIT API runtime support library */
+#define LLVM_USE_INTEL_JITEVENTS 0
+
+/* Define if we have the oprofile JIT-support library */
+#define LLVM_USE_OPROFILE 0
+
+/* Define if we have the perf JIT-support library */
+#define LLVM_USE_PERF 0
+
+/* Major version of the LLVM API */
+#define LLVM_VERSION_MAJOR 7
+
+/* Minor version of the LLVM API */
+#define LLVM_VERSION_MINOR 0
+
+/* Patch version of the LLVM API */
+#define LLVM_VERSION_PATCH 0
+
+/* LLVM version string */
+#define LLVM_VERSION_STRING "7.0.0"
+
+/* Whether LLVM records statistics for use with GetStatistics(),
+ * PrintStatistics() or PrintStatisticsJSON()
+ */
+#define LLVM_FORCE_ENABLE_STATS 0
+
+#endif
diff --git a/lib/clang/include/llvm/Support/VCSRevision.h b/lib/clang/include/llvm/Support/VCSRevision.h
new file mode 100644
index 000000000000..7b753fecb595
--- /dev/null
+++ b/lib/clang/include/llvm/Support/VCSRevision.h
@@ -0,0 +1,2 @@
+/* $FreeBSD$ */
+#define LLVM_REVISION "svn-r340910"
diff --git a/lib/clang/libclang/Makefile b/lib/clang/libclang/Makefile
new file mode 100644
index 000000000000..84a2626b3217
--- /dev/null
+++ b/lib/clang/libclang/Makefile
@@ -0,0 +1,865 @@
+# $FreeBSD$
+
+.include <src.opts.mk>
+.include "../clang.pre.mk"
+
+LIB= clang
+
+CFLAGS+= -I${.OBJDIR}
+CFLAGS+= -I${OBJTOP}/lib/clang/libllvm
+CFLAGS+= -I${CLANG_SRCS}/lib/Basic
+CFLAGS+= -I${CLANG_SRCS}/lib/Driver
+
+# Ensure FREEBSD_CC_VERSION is defined for Basic/Targets.cpp
+CFLAGS.Targets.cpp+= -include ../freebsd_cc_version.h
+
+# Work around GCC bug 67888
+.if ${COMPILER_TYPE} == "gcc"
+CXXFLAGS.Module.cpp+= -fpermissive
+.endif
+
+SRCDIR= tools/clang/lib
+
+SRCS_FUL+= ARCMigrate/ARCMT.cpp
+SRCS_FUL+= ARCMigrate/ARCMTActions.cpp
+SRCS_FUL+= ARCMigrate/FileRemapper.cpp
+SRCS_FUL+= ARCMigrate/ObjCMT.cpp
+SRCS_FUL+= ARCMigrate/PlistReporter.cpp
+SRCS_FUL+= ARCMigrate/TransAPIUses.cpp
+SRCS_FUL+= ARCMigrate/TransARCAssign.cpp
+SRCS_FUL+= ARCMigrate/TransAutoreleasePool.cpp
+SRCS_FUL+= ARCMigrate/TransBlockObjCVariable.cpp
+SRCS_FUL+= ARCMigrate/TransEmptyStatementsAndDealloc.cpp
+SRCS_FUL+= ARCMigrate/TransGCAttrs.cpp
+SRCS_FUL+= ARCMigrate/TransGCCalls.cpp
+SRCS_FUL+= ARCMigrate/TransProperties.cpp
+SRCS_FUL+= ARCMigrate/TransProtectedScope.cpp
+SRCS_FUL+= ARCMigrate/TransRetainReleaseDealloc.cpp
+SRCS_FUL+= ARCMigrate/TransUnbridgedCasts.cpp
+SRCS_FUL+= ARCMigrate/TransUnusedInitDelegate.cpp
+SRCS_FUL+= ARCMigrate/TransZeroOutPropsInDealloc.cpp
+SRCS_FUL+= ARCMigrate/TransformActions.cpp
+SRCS_FUL+= ARCMigrate/Transforms.cpp
+SRCS_MIN+= AST/APValue.cpp
+SRCS_MIN+= AST/ASTConsumer.cpp
+SRCS_MIN+= AST/ASTContext.cpp
+SRCS_MIN+= AST/ASTDiagnostic.cpp
+SRCS_MIN+= AST/ASTDumper.cpp
+SRCS_MIN+= AST/ASTImporter.cpp
+SRCS_MIN+= AST/ASTStructuralEquivalence.cpp
+SRCS_MIN+= AST/ASTTypeTraits.cpp
+SRCS_MIN+= AST/AttrImpl.cpp
+SRCS_MIN+= AST/CXXInheritance.cpp
+SRCS_MIN+= AST/Comment.cpp
+SRCS_MIN+= AST/CommentBriefParser.cpp
+SRCS_MIN+= AST/CommentCommandTraits.cpp
+SRCS_MIN+= AST/CommentLexer.cpp
+SRCS_MIN+= AST/CommentParser.cpp
+SRCS_MIN+= AST/CommentSema.cpp
+SRCS_MIN+= AST/ComparisonCategories.cpp
+SRCS_FUL+= AST/DataCollection.cpp
+SRCS_MIN+= AST/Decl.cpp
+SRCS_MIN+= AST/DeclBase.cpp
+SRCS_MIN+= AST/DeclCXX.cpp
+SRCS_MIN+= AST/DeclFriend.cpp
+SRCS_MIN+= AST/DeclGroup.cpp
+SRCS_MIN+= AST/DeclObjC.cpp
+SRCS_MIN+= AST/DeclOpenMP.cpp
+SRCS_MIN+= AST/DeclPrinter.cpp
+SRCS_MIN+= AST/DeclTemplate.cpp
+SRCS_MIN+= AST/DeclarationName.cpp
+SRCS_MIN+= AST/Expr.cpp
+SRCS_MIN+= AST/ExprCXX.cpp
+SRCS_MIN+= AST/ExprClassification.cpp
+SRCS_MIN+= AST/ExprConstant.cpp
+SRCS_MIN+= AST/ExprObjC.cpp
+SRCS_LDB+= AST/ExternalASTMerger.cpp
+SRCS_MIN+= AST/ExternalASTSource.cpp
+SRCS_MIN+= AST/InheritViz.cpp
+SRCS_MIN+= AST/ItaniumCXXABI.cpp
+SRCS_MIN+= AST/ItaniumMangle.cpp
+SRCS_MIN+= AST/Mangle.cpp
+SRCS_MIN+= AST/MicrosoftCXXABI.cpp
+SRCS_MIN+= AST/MicrosoftMangle.cpp
+SRCS_MIN+= AST/NSAPI.cpp
+SRCS_MIN+= AST/NestedNameSpecifier.cpp
+SRCS_MIN+= AST/ODRHash.cpp
+SRCS_MIN+= AST/OpenMPClause.cpp
+SRCS_MIN+= AST/ParentMap.cpp
+SRCS_MIN+= AST/QualTypeNames.cpp
+SRCS_MIN+= AST/RawCommentList.cpp
+SRCS_MIN+= AST/RecordLayout.cpp
+SRCS_MIN+= AST/RecordLayoutBuilder.cpp
+SRCS_MIN+= AST/SelectorLocationsKind.cpp
+SRCS_MIN+= AST/Stmt.cpp
+SRCS_MIN+= AST/StmtCXX.cpp
+SRCS_MIN+= AST/StmtIterator.cpp
+SRCS_MIN+= AST/StmtObjC.cpp
+SRCS_MIN+= AST/StmtOpenMP.cpp
+SRCS_MIN+= AST/StmtPrinter.cpp
+SRCS_MIN+= AST/StmtProfile.cpp
+SRCS_MIN+= AST/StmtViz.cpp
+SRCS_MIN+= AST/TemplateBase.cpp
+SRCS_MIN+= AST/TemplateName.cpp
+SRCS_MIN+= AST/Type.cpp
+SRCS_MIN+= AST/TypeLoc.cpp
+SRCS_MIN+= AST/TypePrinter.cpp
+SRCS_MIN+= AST/VTTBuilder.cpp
+SRCS_MIN+= AST/VTableBuilder.cpp
+SRCS_MIN+= ASTMatchers/ASTMatchFinder.cpp
+SRCS_MIN+= ASTMatchers/ASTMatchersInternal.cpp
+SRCS_MIN+= ASTMatchers/Dynamic/Diagnostics.cpp
+SRCS_MIN+= ASTMatchers/Dynamic/Parser.cpp
+SRCS_MIN+= ASTMatchers/Dynamic/Registry.cpp
+SRCS_MIN+= ASTMatchers/Dynamic/VariantValue.cpp
+SRCS_MIN+= Analysis/AnalysisDeclContext.cpp
+SRCS_MIN+= Analysis/BodyFarm.cpp
+SRCS_MIN+= Analysis/CFG.cpp
+SRCS_MIN+= Analysis/CFGReachabilityAnalysis.cpp
+SRCS_MIN+= Analysis/CFGStmtMap.cpp
+SRCS_FUL+= Analysis/CallGraph.cpp
+SRCS_MIN+= Analysis/CloneDetection.cpp
+SRCS_MIN+= Analysis/CocoaConventions.cpp
+SRCS_FUL+= Analysis/CodeInjector.cpp
+SRCS_MIN+= Analysis/Consumed.cpp
+SRCS_MIN+= Analysis/ConstructionContext.cpp
+SRCS_FUL+= Analysis/Dominators.cpp
+SRCS_MIN+= Analysis/FormatString.cpp
+SRCS_MIN+= Analysis/LiveVariables.cpp
+SRCS_MIN+= Analysis/OSLog.cpp
+SRCS_MIN+= Analysis/ObjCNoReturn.cpp
+SRCS_MIN+= Analysis/PostOrderCFGView.cpp
+SRCS_MIN+= Analysis/PrintfFormatString.cpp
+SRCS_FUL+= Analysis/ProgramPoint.cpp
+SRCS_MIN+= Analysis/PseudoConstantAnalysis.cpp
+SRCS_MIN+= Analysis/ReachableCode.cpp
+SRCS_MIN+= Analysis/ScanfFormatString.cpp
+SRCS_MIN+= Analysis/ThreadSafety.cpp
+SRCS_MIN+= Analysis/ThreadSafetyCommon.cpp
+SRCS_MIN+= Analysis/ThreadSafetyLogical.cpp
+SRCS_MIN+= Analysis/ThreadSafetyTIL.cpp
+SRCS_MIN+= Analysis/UninitializedValues.cpp
+SRCS_MIN+= Basic/Attributes.cpp
+SRCS_MIN+= Basic/Builtins.cpp
+SRCS_MIN+= Basic/CharInfo.cpp
+SRCS_MIN+= Basic/Cuda.cpp
+SRCS_MIN+= Basic/Diagnostic.cpp
+SRCS_MIN+= Basic/DiagnosticIDs.cpp
+SRCS_MIN+= Basic/DiagnosticOptions.cpp
+SRCS_MIN+= Basic/FileManager.cpp
+SRCS_MIN+= Basic/FileSystemStatCache.cpp
+SRCS_MIN+= Basic/IdentifierTable.cpp
+SRCS_MIN+= Basic/LangOptions.cpp
+SRCS_MIN+= Basic/MemoryBufferCache.cpp
+SRCS_MIN+= Basic/Module.cpp
+SRCS_MIN+= Basic/ObjCRuntime.cpp
+SRCS_MIN+= Basic/OpenMPKinds.cpp
+SRCS_MIN+= Basic/OperatorPrecedence.cpp
+SRCS_MIN+= Basic/SanitizerBlacklist.cpp
+SRCS_MIN+= Basic/SanitizerSpecialCaseList.cpp
+SRCS_MIN+= Basic/Sanitizers.cpp
+SRCS_MIN+= Basic/SourceLocation.cpp
+SRCS_MIN+= Basic/SourceManager.cpp
+SRCS_MIN+= Basic/TargetInfo.cpp
+SRCS_MIN+= Basic/Targets.cpp
+SRCS_MIN+= Basic/Targets/AArch64.cpp
+SRCS_MIN+= Basic/Targets/AMDGPU.cpp
+SRCS_MIN+= Basic/Targets/ARM.cpp
+SRCS_MIN+= Basic/Targets/AVR.cpp
+SRCS_MIN+= Basic/Targets/BPF.cpp
+SRCS_MIN+= Basic/Targets/Hexagon.cpp
+SRCS_MIN+= Basic/Targets/Lanai.cpp
+SRCS_MIN+= Basic/Targets/Le64.cpp
+SRCS_MIN+= Basic/Targets/MSP430.cpp
+SRCS_MIN+= Basic/Targets/Mips.cpp
+SRCS_MIN+= Basic/Targets/NVPTX.cpp
+SRCS_MIN+= Basic/Targets/Nios2.cpp
+SRCS_MIN+= Basic/Targets/OSTargets.cpp
+SRCS_MIN+= Basic/Targets/PNaCl.cpp
+SRCS_MIN+= Basic/Targets/PPC.cpp
+SRCS_MIN+= Basic/Targets/RISCV.cpp
+SRCS_MIN+= Basic/Targets/SPIR.cpp
+SRCS_MIN+= Basic/Targets/Sparc.cpp
+SRCS_MIN+= Basic/Targets/SystemZ.cpp
+SRCS_MIN+= Basic/Targets/TCE.cpp
+SRCS_MIN+= Basic/Targets/WebAssembly.cpp
+SRCS_MIN+= Basic/Targets/X86.cpp
+SRCS_MIN+= Basic/Targets/XCore.cpp
+SRCS_MIN+= Basic/TokenKinds.cpp
+SRCS_MIN+= Basic/Version.cpp
+SRCS_MIN+= Basic/VirtualFileSystem.cpp
+SRCS_MIN+= Basic/Warnings.cpp
+SRCS_MIN+= Basic/XRayInstr.cpp
+SRCS_MIN+= Basic/XRayLists.cpp
+SRCS_MIN+= CodeGen/BackendUtil.cpp
+SRCS_MIN+= CodeGen/CGAtomic.cpp
+SRCS_MIN+= CodeGen/CGBlocks.cpp
+SRCS_MIN+= CodeGen/CGBuiltin.cpp
+SRCS_MIN+= CodeGen/CGCUDANV.cpp
+SRCS_MIN+= CodeGen/CGCUDARuntime.cpp
+SRCS_MIN+= CodeGen/CGCXX.cpp
+SRCS_MIN+= CodeGen/CGCXXABI.cpp
+SRCS_MIN+= CodeGen/CGCall.cpp
+SRCS_MIN+= CodeGen/CGClass.cpp
+SRCS_MIN+= CodeGen/CGCleanup.cpp
+SRCS_MIN+= CodeGen/CGCoroutine.cpp
+SRCS_MIN+= CodeGen/CGDebugInfo.cpp
+SRCS_MIN+= CodeGen/CGDecl.cpp
+SRCS_MIN+= CodeGen/CGDeclCXX.cpp
+SRCS_MIN+= CodeGen/CGException.cpp
+SRCS_MIN+= CodeGen/CGExpr.cpp
+SRCS_MIN+= CodeGen/CGExprAgg.cpp
+SRCS_MIN+= CodeGen/CGExprCXX.cpp
+SRCS_MIN+= CodeGen/CGExprComplex.cpp
+SRCS_MIN+= CodeGen/CGExprConstant.cpp
+SRCS_MIN+= CodeGen/CGExprScalar.cpp
+SRCS_MIN+= CodeGen/CGGPUBuiltin.cpp
+SRCS_MIN+= CodeGen/CGLoopInfo.cpp
+SRCS_MIN+= CodeGen/CGNonTrivialStruct.cpp
+SRCS_MIN+= CodeGen/CGObjC.cpp
+SRCS_MIN+= CodeGen/CGObjCGNU.cpp
+SRCS_MIN+= CodeGen/CGObjCMac.cpp
+SRCS_MIN+= CodeGen/CGObjCRuntime.cpp
+SRCS_MIN+= CodeGen/CGOpenCLRuntime.cpp
+SRCS_MIN+= CodeGen/CGOpenMPRuntime.cpp
+SRCS_MIN+= CodeGen/CGOpenMPRuntimeNVPTX.cpp
+SRCS_MIN+= CodeGen/CGRecordLayoutBuilder.cpp
+SRCS_MIN+= CodeGen/CGStmt.cpp
+SRCS_MIN+= CodeGen/CGStmtOpenMP.cpp
+SRCS_MIN+= CodeGen/CGVTT.cpp
+SRCS_MIN+= CodeGen/CGVTables.cpp
+SRCS_MIN+= CodeGen/CodeGenABITypes.cpp
+SRCS_MIN+= CodeGen/CodeGenAction.cpp
+SRCS_MIN+= CodeGen/CodeGenFunction.cpp
+SRCS_MIN+= CodeGen/CodeGenModule.cpp
+SRCS_MIN+= CodeGen/CodeGenPGO.cpp
+SRCS_MIN+= CodeGen/CodeGenTBAA.cpp
+SRCS_MIN+= CodeGen/CodeGenTypes.cpp
+SRCS_MIN+= CodeGen/ConstantInitBuilder.cpp
+SRCS_MIN+= CodeGen/CoverageMappingGen.cpp
+SRCS_MIN+= CodeGen/ItaniumCXXABI.cpp
+SRCS_MIN+= CodeGen/MacroPPCallbacks.cpp
+SRCS_MIN+= CodeGen/MicrosoftCXXABI.cpp
+SRCS_MIN+= CodeGen/ModuleBuilder.cpp
+SRCS_MIN+= CodeGen/ObjectFilePCHContainerOperations.cpp
+SRCS_MIN+= CodeGen/SanitizerMetadata.cpp
+SRCS_MIN+= CodeGen/SwiftCallingConv.cpp
+SRCS_MIN+= CodeGen/TargetInfo.cpp
+SRCS_MIN+= CodeGen/VarBypassDetector.cpp
+SRCS_FUL+= CrossTU/CrossTranslationUnit.cpp
+SRCS_MIN+= Driver/Action.cpp
+SRCS_MIN+= Driver/Compilation.cpp
+SRCS_MIN+= Driver/Distro.cpp
+SRCS_MIN+= Driver/Driver.cpp
+SRCS_MIN+= Driver/DriverOptions.cpp
+SRCS_MIN+= Driver/Job.cpp
+SRCS_MIN+= Driver/Multilib.cpp
+SRCS_MIN+= Driver/Phases.cpp
+SRCS_MIN+= Driver/SanitizerArgs.cpp
+SRCS_MIN+= Driver/Tool.cpp
+SRCS_MIN+= Driver/ToolChain.cpp
+SRCS_MIN+= Driver/ToolChains/AMDGPU.cpp
+SRCS_MIN+= Driver/ToolChains/AVR.cpp
+SRCS_MIN+= Driver/ToolChains/Ananas.cpp
+SRCS_MIN+= Driver/ToolChains/Arch/AArch64.cpp
+SRCS_MIN+= Driver/ToolChains/Arch/ARM.cpp
+SRCS_MIN+= Driver/ToolChains/Arch/Mips.cpp
+SRCS_MIN+= Driver/ToolChains/Arch/PPC.cpp
+SRCS_MIN+= Driver/ToolChains/Arch/RISCV.cpp
+SRCS_MIN+= Driver/ToolChains/Arch/Sparc.cpp
+SRCS_MIN+= Driver/ToolChains/Arch/SystemZ.cpp
+SRCS_MIN+= Driver/ToolChains/Arch/X86.cpp
+SRCS_MIN+= Driver/ToolChains/BareMetal.cpp
+SRCS_MIN+= Driver/ToolChains/Clang.cpp
+SRCS_MIN+= Driver/ToolChains/CloudABI.cpp
+SRCS_MIN+= Driver/ToolChains/CommonArgs.cpp
+SRCS_MIN+= Driver/ToolChains/Contiki.cpp
+SRCS_MIN+= Driver/ToolChains/CrossWindows.cpp
+SRCS_MIN+= Driver/ToolChains/Cuda.cpp
+SRCS_MIN+= Driver/ToolChains/Darwin.cpp
+SRCS_MIN+= Driver/ToolChains/DragonFly.cpp
+SRCS_MIN+= Driver/ToolChains/FreeBSD.cpp
+SRCS_MIN+= Driver/ToolChains/Fuchsia.cpp
+SRCS_MIN+= Driver/ToolChains/Gnu.cpp
+SRCS_MIN+= Driver/ToolChains/HIP.cpp
+SRCS_MIN+= Driver/ToolChains/Haiku.cpp
+SRCS_MIN+= Driver/ToolChains/Hexagon.cpp
+SRCS_MIN+= Driver/ToolChains/Linux.cpp
+SRCS_MIN+= Driver/ToolChains/MSVC.cpp
+SRCS_MIN+= Driver/ToolChains/MinGW.cpp
+SRCS_MIN+= Driver/ToolChains/Minix.cpp
+SRCS_MIN+= Driver/ToolChains/MipsLinux.cpp
+SRCS_MIN+= Driver/ToolChains/Myriad.cpp
+SRCS_MIN+= Driver/ToolChains/NaCl.cpp
+SRCS_MIN+= Driver/ToolChains/NetBSD.cpp
+SRCS_MIN+= Driver/ToolChains/OpenBSD.cpp
+SRCS_MIN+= Driver/ToolChains/PS4CPU.cpp
+SRCS_MIN+= Driver/ToolChains/RISCV.cpp
+SRCS_MIN+= Driver/ToolChains/Solaris.cpp
+SRCS_MIN+= Driver/ToolChains/TCE.cpp
+SRCS_MIN+= Driver/ToolChains/WebAssembly.cpp
+SRCS_MIN+= Driver/ToolChains/XCore.cpp
+SRCS_MIN+= Driver/Types.cpp
+SRCS_MIN+= Driver/XRayArgs.cpp
+SRCS_MIN+= Edit/Commit.cpp
+SRCS_MIN+= Edit/EditedSource.cpp
+SRCS_MIN+= Edit/RewriteObjCFoundationAPI.cpp
+SRCS_EXT+= Format/AffectedRangeManager.cpp
+SRCS_EXT+= Format/BreakableToken.cpp
+SRCS_EXT+= Format/ContinuationIndenter.cpp
+SRCS_EXT+= Format/Format.cpp
+SRCS_EXT+= Format/FormatToken.cpp
+SRCS_EXT+= Format/FormatTokenLexer.cpp
+SRCS_EXT+= Format/NamespaceEndCommentsFixer.cpp
+SRCS_EXT+= Format/SortJavaScriptImports.cpp
+SRCS_EXT+= Format/TokenAnalyzer.cpp
+SRCS_EXT+= Format/TokenAnnotator.cpp
+SRCS_EXT+= Format/UnwrappedLineFormatter.cpp
+SRCS_EXT+= Format/UnwrappedLineParser.cpp
+SRCS_EXT+= Format/UsingDeclarationsSorter.cpp
+SRCS_EXT+= Format/WhitespaceManager.cpp
+SRCS_MIN+= Frontend/ASTConsumers.cpp
+SRCS_MIN+= Frontend/ASTMerge.cpp
+SRCS_MIN+= Frontend/ASTUnit.cpp
+SRCS_MIN+= Frontend/CacheTokens.cpp
+SRCS_MIN+= Frontend/ChainedDiagnosticConsumer.cpp
+SRCS_MIN+= Frontend/ChainedIncludesSource.cpp
+SRCS_MIN+= Frontend/CodeGenOptions.cpp
+SRCS_MIN+= Frontend/CompilerInstance.cpp
+SRCS_MIN+= Frontend/CompilerInvocation.cpp
+SRCS_MIN+= Frontend/CreateInvocationFromCommandLine.cpp
+SRCS_MIN+= Frontend/DependencyFile.cpp
+SRCS_MIN+= Frontend/DependencyGraph.cpp
+SRCS_MIN+= Frontend/DiagnosticRenderer.cpp
+SRCS_MIN+= Frontend/FrontendAction.cpp
+SRCS_MIN+= Frontend/FrontendActions.cpp
+SRCS_MIN+= Frontend/FrontendOptions.cpp
+SRCS_MIN+= Frontend/FrontendTiming.cpp
+SRCS_MIN+= Frontend/HeaderIncludeGen.cpp
+SRCS_MIN+= Frontend/InitHeaderSearch.cpp
+SRCS_MIN+= Frontend/InitPreprocessor.cpp
+SRCS_MIN+= Frontend/LangStandards.cpp
+SRCS_MIN+= Frontend/LayoutOverrideSource.cpp
+SRCS_MIN+= Frontend/LogDiagnosticPrinter.cpp
+SRCS_MIN+= Frontend/ModuleDependencyCollector.cpp
+SRCS_MIN+= Frontend/MultiplexConsumer.cpp
+SRCS_MIN+= Frontend/PCHContainerOperations.cpp
+SRCS_MIN+= Frontend/PrecompiledPreamble.cpp
+SRCS_MIN+= Frontend/PrintPreprocessedOutput.cpp
+SRCS_MIN+= Frontend/Rewrite/FixItRewriter.cpp
+SRCS_MIN+= Frontend/Rewrite/FrontendActions.cpp
+SRCS_MIN+= Frontend/Rewrite/HTMLPrint.cpp
+SRCS_MIN+= Frontend/Rewrite/InclusionRewriter.cpp
+SRCS_MIN+= Frontend/Rewrite/RewriteMacros.cpp
+SRCS_MIN+= Frontend/Rewrite/RewriteModernObjC.cpp
+SRCS_MIN+= Frontend/Rewrite/RewriteObjC.cpp
+SRCS_MIN+= Frontend/Rewrite/RewriteTest.cpp
+SRCS_MIN+= Frontend/SerializedDiagnosticPrinter.cpp
+SRCS_MIN+= Frontend/SerializedDiagnosticReader.cpp
+SRCS_MIN+= Frontend/TestModuleFileExtension.cpp
+SRCS_MIN+= Frontend/TextDiagnostic.cpp
+SRCS_MIN+= Frontend/TextDiagnosticBuffer.cpp
+SRCS_MIN+= Frontend/TextDiagnosticPrinter.cpp
+SRCS_MIN+= Frontend/VerifyDiagnosticConsumer.cpp
+SRCS_MIN+= FrontendTool/ExecuteCompilerInvocation.cpp
+SRCS_MIN+= Index/CodegenNameGenerator.cpp
+SRCS_MIN+= Index/CommentToXML.cpp
+SRCS_MIN+= Index/IndexBody.cpp
+SRCS_MIN+= Index/IndexDecl.cpp
+SRCS_MIN+= Index/IndexSymbol.cpp
+SRCS_MIN+= Index/IndexTypeSourceInfo.cpp
+SRCS_MIN+= Index/IndexingAction.cpp
+SRCS_MIN+= Index/IndexingContext.cpp
+SRCS_MIN+= Index/USRGeneration.cpp
+SRCS_MIN+= Lex/HeaderMap.cpp
+SRCS_MIN+= Lex/HeaderSearch.cpp
+SRCS_MIN+= Lex/Lexer.cpp
+SRCS_MIN+= Lex/LiteralSupport.cpp
+SRCS_MIN+= Lex/MacroArgs.cpp
+SRCS_MIN+= Lex/MacroInfo.cpp
+SRCS_MIN+= Lex/ModuleMap.cpp
+SRCS_MIN+= Lex/PPCaching.cpp
+SRCS_MIN+= Lex/PPCallbacks.cpp
+SRCS_MIN+= Lex/PPConditionalDirectiveRecord.cpp
+SRCS_MIN+= Lex/PPDirectives.cpp
+SRCS_MIN+= Lex/PPExpressions.cpp
+SRCS_MIN+= Lex/PPLexerChange.cpp
+SRCS_MIN+= Lex/PPMacroExpansion.cpp
+SRCS_MIN+= Lex/PTHLexer.cpp
+SRCS_MIN+= Lex/Pragma.cpp
+SRCS_MIN+= Lex/PreprocessingRecord.cpp
+SRCS_MIN+= Lex/Preprocessor.cpp
+SRCS_MIN+= Lex/PreprocessorLexer.cpp
+SRCS_MIN+= Lex/ScratchBuffer.cpp
+SRCS_MIN+= Lex/TokenConcatenation.cpp
+SRCS_MIN+= Lex/TokenLexer.cpp
+SRCS_MIN+= Parse/ParseAST.cpp
+SRCS_MIN+= Parse/ParseCXXInlineMethods.cpp
+SRCS_MIN+= Parse/ParseDecl.cpp
+SRCS_MIN+= Parse/ParseDeclCXX.cpp
+SRCS_MIN+= Parse/ParseExpr.cpp
+SRCS_MIN+= Parse/ParseExprCXX.cpp
+SRCS_MIN+= Parse/ParseInit.cpp
+SRCS_MIN+= Parse/ParseObjc.cpp
+SRCS_MIN+= Parse/ParseOpenMP.cpp
+SRCS_MIN+= Parse/ParsePragma.cpp
+SRCS_MIN+= Parse/ParseStmt.cpp
+SRCS_MIN+= Parse/ParseStmtAsm.cpp
+SRCS_MIN+= Parse/ParseTemplate.cpp
+SRCS_MIN+= Parse/ParseTentative.cpp
+SRCS_MIN+= Parse/Parser.cpp
+SRCS_MIN+= Rewrite/DeltaTree.cpp
+SRCS_MIN+= Rewrite/HTMLRewrite.cpp
+SRCS_MIN+= Rewrite/RewriteRope.cpp
+SRCS_MIN+= Rewrite/Rewriter.cpp
+SRCS_MIN+= Rewrite/TokenRewriter.cpp
+SRCS_MIN+= Sema/AnalysisBasedWarnings.cpp
+SRCS_MIN+= Sema/CodeCompleteConsumer.cpp
+SRCS_MIN+= Sema/DeclSpec.cpp
+SRCS_MIN+= Sema/DelayedDiagnostic.cpp
+SRCS_MIN+= Sema/IdentifierResolver.cpp
+SRCS_MIN+= Sema/JumpDiagnostics.cpp
+SRCS_MIN+= Sema/MultiplexExternalSemaSource.cpp
+SRCS_MIN+= Sema/ParsedAttr.cpp
+SRCS_MIN+= Sema/Scope.cpp
+SRCS_MIN+= Sema/ScopeInfo.cpp
+SRCS_MIN+= Sema/Sema.cpp
+SRCS_MIN+= Sema/SemaAccess.cpp
+SRCS_MIN+= Sema/SemaAttr.cpp
+SRCS_MIN+= Sema/SemaCUDA.cpp
+SRCS_MIN+= Sema/SemaCXXScopeSpec.cpp
+SRCS_MIN+= Sema/SemaCast.cpp
+SRCS_MIN+= Sema/SemaChecking.cpp
+SRCS_MIN+= Sema/SemaCodeComplete.cpp
+SRCS_MIN+= Sema/SemaConsumer.cpp
+SRCS_MIN+= Sema/SemaCoroutine.cpp
+SRCS_MIN+= Sema/SemaDecl.cpp
+SRCS_MIN+= Sema/SemaDeclAttr.cpp
+SRCS_MIN+= Sema/SemaDeclCXX.cpp
+SRCS_MIN+= Sema/SemaDeclObjC.cpp
+SRCS_MIN+= Sema/SemaExceptionSpec.cpp
+SRCS_MIN+= Sema/SemaExpr.cpp
+SRCS_MIN+= Sema/SemaExprCXX.cpp
+SRCS_MIN+= Sema/SemaExprMember.cpp
+SRCS_MIN+= Sema/SemaExprObjC.cpp
+SRCS_MIN+= Sema/SemaFixItUtils.cpp
+SRCS_MIN+= Sema/SemaInit.cpp
+SRCS_MIN+= Sema/SemaLambda.cpp
+SRCS_MIN+= Sema/SemaLookup.cpp
+SRCS_MIN+= Sema/SemaObjCProperty.cpp
+SRCS_MIN+= Sema/SemaOpenMP.cpp
+SRCS_MIN+= Sema/SemaOverload.cpp
+SRCS_MIN+= Sema/SemaPseudoObject.cpp
+SRCS_MIN+= Sema/SemaStmt.cpp
+SRCS_MIN+= Sema/SemaStmtAsm.cpp
+SRCS_MIN+= Sema/SemaStmtAttr.cpp
+SRCS_MIN+= Sema/SemaTemplate.cpp
+SRCS_MIN+= Sema/SemaTemplateDeduction.cpp
+SRCS_MIN+= Sema/SemaTemplateInstantiate.cpp
+SRCS_MIN+= Sema/SemaTemplateInstantiateDecl.cpp
+SRCS_MIN+= Sema/SemaTemplateVariadic.cpp
+SRCS_MIN+= Sema/SemaType.cpp
+SRCS_MIN+= Sema/TypeLocBuilder.cpp
+SRCS_MIN+= Serialization/ASTCommon.cpp
+SRCS_MIN+= Serialization/ASTReader.cpp
+SRCS_MIN+= Serialization/ASTReaderDecl.cpp
+SRCS_MIN+= Serialization/ASTReaderStmt.cpp
+SRCS_MIN+= Serialization/ASTWriter.cpp
+SRCS_MIN+= Serialization/ASTWriterDecl.cpp
+SRCS_MIN+= Serialization/ASTWriterStmt.cpp
+SRCS_MIN+= Serialization/GeneratePCH.cpp
+SRCS_MIN+= Serialization/GlobalModuleIndex.cpp
+SRCS_MIN+= Serialization/Module.cpp
+SRCS_MIN+= Serialization/ModuleFileExtension.cpp
+SRCS_MIN+= Serialization/ModuleManager.cpp
+SRCS_FUL+= StaticAnalyzer/Checkers/AllocationDiagnostics.cpp
+SRCS_FUL+= StaticAnalyzer/Checkers/AnalysisOrderChecker.cpp
+SRCS_FUL+= StaticAnalyzer/Checkers/AnalyzerStatsChecker.cpp
+SRCS_FUL+= StaticAnalyzer/Checkers/ArrayBoundChecker.cpp
+SRCS_FUL+= StaticAnalyzer/Checkers/ArrayBoundCheckerV2.cpp
+SRCS_FUL+= StaticAnalyzer/Checkers/BasicObjCFoundationChecks.cpp
+SRCS_FUL+= StaticAnalyzer/Checkers/BlockInCriticalSectionChecker.cpp
+SRCS_FUL+= StaticAnalyzer/Checkers/BoolAssignmentChecker.cpp
+SRCS_FUL+= StaticAnalyzer/Checkers/BuiltinFunctionChecker.cpp
+SRCS_FUL+= StaticAnalyzer/Checkers/GCDAntipatternChecker.cpp
+SRCS_FUL+= StaticAnalyzer/Checkers/CStringChecker.cpp
+SRCS_FUL+= StaticAnalyzer/Checkers/CStringSyntaxChecker.cpp
+SRCS_FUL+= StaticAnalyzer/Checkers/CXXSelfAssignmentChecker.cpp
+SRCS_FUL+= StaticAnalyzer/Checkers/CallAndMessageChecker.cpp
+SRCS_FUL+= StaticAnalyzer/Checkers/CastSizeChecker.cpp
+SRCS_FUL+= StaticAnalyzer/Checkers/CastToStructChecker.cpp
+SRCS_FUL+= StaticAnalyzer/Checkers/CheckObjCDealloc.cpp
+SRCS_FUL+= StaticAnalyzer/Checkers/CheckObjCInstMethSignature.cpp
+SRCS_FUL+= StaticAnalyzer/Checkers/CheckSecuritySyntaxOnly.cpp
+SRCS_FUL+= StaticAnalyzer/Checkers/CheckSizeofPointer.cpp
+SRCS_FUL+= StaticAnalyzer/Checkers/ChrootChecker.cpp
+SRCS_FUL+= StaticAnalyzer/Checkers/ClangCheckers.cpp
+SRCS_FUL+= StaticAnalyzer/Checkers/CloneChecker.cpp
+SRCS_FUL+= StaticAnalyzer/Checkers/ConversionChecker.cpp
+SRCS_FUL+= StaticAnalyzer/Checkers/DeadStoresChecker.cpp
+SRCS_FUL+= StaticAnalyzer/Checkers/DebugCheckers.cpp
+SRCS_FUL+= StaticAnalyzer/Checkers/DeleteWithNonVirtualDtorChecker.cpp
+SRCS_FUL+= StaticAnalyzer/Checkers/DereferenceChecker.cpp
+SRCS_FUL+= StaticAnalyzer/Checkers/DirectIvarAssignment.cpp
+SRCS_FUL+= StaticAnalyzer/Checkers/DivZeroChecker.cpp
+SRCS_FUL+= StaticAnalyzer/Checkers/DynamicTypeChecker.cpp
+SRCS_FUL+= StaticAnalyzer/Checkers/DynamicTypePropagation.cpp
+SRCS_FUL+= StaticAnalyzer/Checkers/ExprInspectionChecker.cpp
+SRCS_FUL+= StaticAnalyzer/Checkers/FixedAddressChecker.cpp
+SRCS_FUL+= StaticAnalyzer/Checkers/GTestChecker.cpp
+SRCS_FUL+= StaticAnalyzer/Checkers/GenericTaintChecker.cpp
+SRCS_FUL+= StaticAnalyzer/Checkers/IdenticalExprChecker.cpp
+SRCS_FUL+= StaticAnalyzer/Checkers/InnerPointerChecker.cpp
+SRCS_FUL+= StaticAnalyzer/Checkers/IteratorChecker.cpp
+SRCS_FUL+= StaticAnalyzer/Checkers/IvarInvalidationChecker.cpp
+SRCS_FUL+= StaticAnalyzer/Checkers/LLVMConventionsChecker.cpp
+SRCS_FUL+= StaticAnalyzer/Checkers/LocalizationChecker.cpp
+SRCS_FUL+= StaticAnalyzer/Checkers/MPI-Checker/MPIBugReporter.cpp
+SRCS_FUL+= StaticAnalyzer/Checkers/MPI-Checker/MPIChecker.cpp
+SRCS_FUL+= StaticAnalyzer/Checkers/MPI-Checker/MPIFunctionClassifier.cpp
+SRCS_FUL+= StaticAnalyzer/Checkers/MacOSKeychainAPIChecker.cpp
+SRCS_FUL+= StaticAnalyzer/Checkers/MacOSXAPIChecker.cpp
+SRCS_FUL+= StaticAnalyzer/Checkers/MallocChecker.cpp
+SRCS_FUL+= StaticAnalyzer/Checkers/MallocOverflowSecurityChecker.cpp
+SRCS_FUL+= StaticAnalyzer/Checkers/MallocSizeofChecker.cpp
+SRCS_FUL+= StaticAnalyzer/Checkers/MisusedMovedObjectChecker.cpp
+SRCS_FUL+= StaticAnalyzer/Checkers/MmapWriteExecChecker.cpp
+SRCS_FUL+= StaticAnalyzer/Checkers/NSAutoreleasePoolChecker.cpp
+SRCS_FUL+= StaticAnalyzer/Checkers/NSErrorChecker.cpp
+SRCS_FUL+= StaticAnalyzer/Checkers/NoReturnFunctionChecker.cpp
+SRCS_FUL+= StaticAnalyzer/Checkers/NonNullParamChecker.cpp
+SRCS_FUL+= StaticAnalyzer/Checkers/NonnullGlobalConstantsChecker.cpp
+SRCS_FUL+= StaticAnalyzer/Checkers/NullabilityChecker.cpp
+SRCS_FUL+= StaticAnalyzer/Checkers/NumberObjectConversionChecker.cpp
+SRCS_FUL+= StaticAnalyzer/Checkers/ObjCAtSyncChecker.cpp
+SRCS_FUL+= StaticAnalyzer/Checkers/ObjCAutoreleaseWriteChecker.cpp
+SRCS_FUL+= StaticAnalyzer/Checkers/ObjCContainersASTChecker.cpp
+SRCS_FUL+= StaticAnalyzer/Checkers/ObjCContainersChecker.cpp
+SRCS_FUL+= StaticAnalyzer/Checkers/ObjCMissingSuperCallChecker.cpp
+SRCS_FUL+= StaticAnalyzer/Checkers/ObjCPropertyChecker.cpp
+SRCS_FUL+= StaticAnalyzer/Checkers/ObjCSelfInitChecker.cpp
+SRCS_FUL+= StaticAnalyzer/Checkers/ObjCSuperDeallocChecker.cpp
+SRCS_FUL+= StaticAnalyzer/Checkers/ObjCUnusedIVarsChecker.cpp
+SRCS_FUL+= StaticAnalyzer/Checkers/PaddingChecker.cpp
+SRCS_FUL+= StaticAnalyzer/Checkers/PointerArithChecker.cpp
+SRCS_FUL+= StaticAnalyzer/Checkers/PointerSubChecker.cpp
+SRCS_FUL+= StaticAnalyzer/Checkers/PthreadLockChecker.cpp
+SRCS_FUL+= StaticAnalyzer/Checkers/RetainCountChecker.cpp
+SRCS_FUL+= StaticAnalyzer/Checkers/ReturnPointerRangeChecker.cpp
+SRCS_FUL+= StaticAnalyzer/Checkers/ReturnUndefChecker.cpp
+SRCS_FUL+= StaticAnalyzer/Checkers/RunLoopAutoreleaseLeakChecker.cpp
+SRCS_FUL+= StaticAnalyzer/Checkers/SimpleStreamChecker.cpp
+SRCS_FUL+= StaticAnalyzer/Checkers/StackAddrEscapeChecker.cpp
+SRCS_FUL+= StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp
+SRCS_FUL+= StaticAnalyzer/Checkers/StreamChecker.cpp
+SRCS_FUL+= StaticAnalyzer/Checkers/TaintTesterChecker.cpp
+SRCS_FUL+= StaticAnalyzer/Checkers/TestAfterDivZeroChecker.cpp
+SRCS_FUL+= StaticAnalyzer/Checkers/TraversalChecker.cpp
+SRCS_FUL+= StaticAnalyzer/Checkers/TrustNonnullChecker.cpp
+SRCS_FUL+= StaticAnalyzer/Checkers/UndefBranchChecker.cpp
+SRCS_FUL+= StaticAnalyzer/Checkers/UndefCapturedBlockVarChecker.cpp
+SRCS_FUL+= StaticAnalyzer/Checkers/UndefResultChecker.cpp
+SRCS_FUL+= StaticAnalyzer/Checkers/UndefinedArraySubscriptChecker.cpp
+SRCS_FUL+= StaticAnalyzer/Checkers/UndefinedAssignmentChecker.cpp
+SRCS_FUL+= StaticAnalyzer/Checkers/UninitializedObjectChecker.cpp
+SRCS_FUL+= StaticAnalyzer/Checkers/UnixAPIChecker.cpp
+SRCS_FUL+= StaticAnalyzer/Checkers/UnreachableCodeChecker.cpp
+SRCS_FUL+= StaticAnalyzer/Checkers/VLASizeChecker.cpp
+SRCS_FUL+= StaticAnalyzer/Checkers/ValistChecker.cpp
+SRCS_FUL+= StaticAnalyzer/Checkers/VforkChecker.cpp
+SRCS_FUL+= StaticAnalyzer/Checkers/VirtualCallChecker.cpp
+SRCS_FUL+= StaticAnalyzer/Core/APSIntType.cpp
+SRCS_FUL+= StaticAnalyzer/Core/AnalysisManager.cpp
+SRCS_FUL+= StaticAnalyzer/Core/AnalyzerOptions.cpp
+SRCS_FUL+= StaticAnalyzer/Core/BasicValueFactory.cpp
+SRCS_FUL+= StaticAnalyzer/Core/BlockCounter.cpp
+SRCS_FUL+= StaticAnalyzer/Core/BugReporter.cpp
+SRCS_FUL+= StaticAnalyzer/Core/BugReporterVisitors.cpp
+SRCS_FUL+= StaticAnalyzer/Core/CallEvent.cpp
+SRCS_FUL+= StaticAnalyzer/Core/Checker.cpp
+SRCS_FUL+= StaticAnalyzer/Core/CheckerContext.cpp
+SRCS_FUL+= StaticAnalyzer/Core/CheckerHelpers.cpp
+SRCS_FUL+= StaticAnalyzer/Core/CheckerManager.cpp
+SRCS_FUL+= StaticAnalyzer/Core/CheckerRegistry.cpp
+SRCS_FUL+= StaticAnalyzer/Core/CommonBugCategories.cpp
+SRCS_FUL+= StaticAnalyzer/Core/ConstraintManager.cpp
+SRCS_FUL+= StaticAnalyzer/Core/CoreEngine.cpp
+SRCS_FUL+= StaticAnalyzer/Core/DynamicTypeMap.cpp
+SRCS_FUL+= StaticAnalyzer/Core/Environment.cpp
+SRCS_FUL+= StaticAnalyzer/Core/ExplodedGraph.cpp
+SRCS_FUL+= StaticAnalyzer/Core/ExprEngine.cpp
+SRCS_FUL+= StaticAnalyzer/Core/ExprEngineC.cpp
+SRCS_FUL+= StaticAnalyzer/Core/ExprEngineCXX.cpp
+SRCS_FUL+= StaticAnalyzer/Core/ExprEngineCallAndReturn.cpp
+SRCS_FUL+= StaticAnalyzer/Core/ExprEngineObjC.cpp
+SRCS_FUL+= StaticAnalyzer/Core/FunctionSummary.cpp
+SRCS_FUL+= StaticAnalyzer/Core/HTMLDiagnostics.cpp
+SRCS_FUL+= StaticAnalyzer/Core/IssueHash.cpp
+SRCS_FUL+= StaticAnalyzer/Core/LoopUnrolling.cpp
+SRCS_FUL+= StaticAnalyzer/Core/LoopWidening.cpp
+SRCS_FUL+= StaticAnalyzer/Core/MemRegion.cpp
+SRCS_FUL+= StaticAnalyzer/Core/PathDiagnostic.cpp
+SRCS_FUL+= StaticAnalyzer/Core/PlistDiagnostics.cpp
+SRCS_FUL+= StaticAnalyzer/Core/ProgramState.cpp
+SRCS_FUL+= StaticAnalyzer/Core/RangeConstraintManager.cpp
+SRCS_FUL+= StaticAnalyzer/Core/RangedConstraintManager.cpp
+SRCS_FUL+= StaticAnalyzer/Core/RegionStore.cpp
+SRCS_FUL+= StaticAnalyzer/Core/SValBuilder.cpp
+SRCS_FUL+= StaticAnalyzer/Core/SVals.cpp
+SRCS_FUL+= StaticAnalyzer/Core/SimpleConstraintManager.cpp
+SRCS_FUL+= StaticAnalyzer/Core/SimpleSValBuilder.cpp
+SRCS_FUL+= StaticAnalyzer/Core/Store.cpp
+SRCS_FUL+= StaticAnalyzer/Core/SubEngine.cpp
+SRCS_FUL+= StaticAnalyzer/Core/SymbolManager.cpp
+SRCS_FUL+= StaticAnalyzer/Core/WorkList.cpp
+SRCS_FUL+= StaticAnalyzer/Core/Z3ConstraintManager.cpp
+SRCS_FUL+= StaticAnalyzer/Frontend/AnalysisConsumer.cpp
+SRCS_FUL+= StaticAnalyzer/Frontend/CheckerRegistration.cpp
+SRCS_FUL+= StaticAnalyzer/Frontend/FrontendActions.cpp
+SRCS_FUL+= StaticAnalyzer/Frontend/ModelConsumer.cpp
+SRCS_FUL+= StaticAnalyzer/Frontend/ModelInjector.cpp
+SRCS_MIN+= Tooling/ArgumentsAdjusters.cpp
+SRCS_MIN+= Tooling/CommonOptionsParser.cpp
+SRCS_MIN+= Tooling/CompilationDatabase.cpp
+SRCS_MIN+= Tooling/Core/Lookup.cpp
+SRCS_EXT+= Tooling/Core/Replacement.cpp
+SRCS_MIN+= Tooling/FileMatchTrie.cpp
+SRCS_MIN+= Tooling/FixIt.cpp
+SRCS_EXT+= Tooling/Inclusions/HeaderIncludes.cpp
+SRCS_EXT+= Tooling/Inclusions/IncludeStyle.cpp
+SRCS_MIN+= Tooling/JSONCompilationDatabase.cpp
+SRCS_MIN+= Tooling/Refactoring.cpp
+SRCS_MIN+= Tooling/RefactoringCallbacks.cpp
+SRCS_MIN+= Tooling/Tooling.cpp
+
+SRCS_ALL+= ${SRCS_MIN}
+.if ${MK_CLANG_EXTRAS} != "no"
+SRCS_ALL+= ${SRCS_EXT}
+.endif
+.if ${MK_CLANG_FULL} != "no"
+SRCS_ALL+= ${SRCS_FUL}
+.endif
+.if ${MK_LLDB} != "no"
+SRCS_ALL+= ${SRCS_LDB}
+.endif
+SRCS+= ${SRCS_ALL:O}
+
+clang/AST/AttrDump.inc: ${CLANG_SRCS}/include/clang/Basic/Attr.td
+ ${CLANG_TBLGEN} -gen-clang-attr-dump \
+ -I ${CLANG_SRCS}/include -d ${.TARGET:C/$/.d/} -o ${.TARGET} \
+ ${CLANG_SRCS}/include/clang/Basic/Attr.td
+TGHDRS+= clang/AST/AttrDump.inc
+
+clang/AST/AttrImpl.inc: ${CLANG_SRCS}/include/clang/Basic/Attr.td
+ ${CLANG_TBLGEN} -gen-clang-attr-impl \
+ -I ${CLANG_SRCS}/include -d ${.TARGET:C/$/.d/} -o ${.TARGET} \
+ ${CLANG_SRCS}/include/clang/Basic/Attr.td
+TGHDRS+= clang/AST/AttrImpl.inc
+
+clang/AST/AttrVisitor.inc: ${CLANG_SRCS}/include/clang/Basic/Attr.td
+ ${CLANG_TBLGEN} -gen-clang-attr-ast-visitor \
+ -I ${CLANG_SRCS}/include -d ${.TARGET:C/$/.d/} -o ${.TARGET} \
+ ${CLANG_SRCS}/include/clang/Basic/Attr.td
+TGHDRS+= clang/AST/AttrVisitor.inc
+
+clang/AST/Attrs.inc: ${CLANG_SRCS}/include/clang/Basic/Attr.td
+ ${CLANG_TBLGEN} -gen-clang-attr-classes \
+ -I ${CLANG_SRCS}/include -d ${.TARGET:C/$/.d/} -o ${.TARGET} \
+ ${CLANG_SRCS}/include/clang/Basic/Attr.td
+TGHDRS+= clang/AST/Attrs.inc
+
+clang/AST/CommentCommandInfo.inc: \
+ ${CLANG_SRCS}/include/clang/AST/CommentCommands.td
+ ${CLANG_TBLGEN} -gen-clang-comment-command-info \
+ -d ${.TARGET:C/$/.d/} -o ${.TARGET} \
+ ${CLANG_SRCS}/include/clang/AST/CommentCommands.td
+TGHDRS+= clang/AST/CommentCommandInfo.inc
+
+clang/AST/CommentCommandList.inc: \
+ ${CLANG_SRCS}/include/clang/AST/CommentCommands.td
+ ${CLANG_TBLGEN} -gen-clang-comment-command-list \
+ -d ${.TARGET:C/$/.d/} -o ${.TARGET} \
+ ${CLANG_SRCS}/include/clang/AST/CommentCommands.td
+TGHDRS+= clang/AST/CommentCommandList.inc
+
+clang/AST/CommentHTMLNamedCharacterReferences.inc: \
+ ${CLANG_SRCS}/include/clang/AST/CommentHTMLNamedCharacterReferences.td
+ ${CLANG_TBLGEN} -gen-clang-comment-html-named-character-references \
+ -d ${.TARGET:C/$/.d/} -o ${.TARGET} \
+ ${CLANG_SRCS}/include/clang/AST/CommentHTMLNamedCharacterReferences.td
+TGHDRS+= clang/AST/CommentHTMLNamedCharacterReferences.inc
+
+clang/AST/CommentHTMLTags.inc: \
+ ${CLANG_SRCS}/include/clang/AST/CommentHTMLTags.td
+ ${CLANG_TBLGEN} -gen-clang-comment-html-tags \
+ -d ${.TARGET:C/$/.d/} -o ${.TARGET} \
+ ${CLANG_SRCS}/include/clang/AST/CommentHTMLTags.td
+TGHDRS+= clang/AST/CommentHTMLTags.inc
+
+clang/AST/CommentHTMLTagsProperties.inc: \
+ ${CLANG_SRCS}/include/clang/AST/CommentHTMLTags.td
+ ${CLANG_TBLGEN} -gen-clang-comment-html-tags-properties \
+ -d ${.TARGET:C/$/.d/} -o ${.TARGET} \
+ ${CLANG_SRCS}/include/clang/AST/CommentHTMLTags.td
+TGHDRS+= clang/AST/CommentHTMLTagsProperties.inc
+
+clang/AST/CommentNodes.inc: ${CLANG_SRCS}/include/clang/Basic/CommentNodes.td
+ ${CLANG_TBLGEN} -gen-clang-comment-nodes \
+ -d ${.TARGET:C/$/.d/} -o ${.TARGET} \
+ ${CLANG_SRCS}/include/clang/Basic/CommentNodes.td
+TGHDRS+= clang/AST/CommentNodes.inc
+
+clang/AST/DeclNodes.inc: ${CLANG_SRCS}/include/clang/Basic/DeclNodes.td
+ ${CLANG_TBLGEN} -gen-clang-decl-nodes \
+ -d ${.TARGET:C/$/.d/} -o ${.TARGET} \
+ ${CLANG_SRCS}/include/clang/Basic/DeclNodes.td
+TGHDRS+= clang/AST/DeclNodes.inc
+
+clang/AST/StmtDataCollectors.inc: ${CLANG_SRCS}/include/clang/AST/StmtDataCollectors.td
+ ${CLANG_TBLGEN} -gen-clang-data-collectors \
+ -d ${.TARGET:C/$/.d/} -o ${.TARGET} \
+ ${CLANG_SRCS}/include/clang/AST/StmtDataCollectors.td
+TGHDRS+= clang/AST/StmtDataCollectors.inc
+
+clang/AST/StmtNodes.inc: ${CLANG_SRCS}/include/clang/Basic/StmtNodes.td
+ ${CLANG_TBLGEN} -gen-clang-stmt-nodes \
+ -d ${.TARGET:C/$/.d/} -o ${.TARGET} \
+ ${CLANG_SRCS}/include/clang/Basic/StmtNodes.td
+TGHDRS+= clang/AST/StmtNodes.inc
+
+clang/Basic/AttrHasAttributeImpl.inc: ${CLANG_SRCS}/include/clang/Basic/Attr.td
+ ${CLANG_TBLGEN} -gen-clang-attr-has-attribute-impl \
+ -I ${CLANG_SRCS}/include -d ${.TARGET:C/$/.d/} -o ${.TARGET} \
+ ${CLANG_SRCS}/include/clang/Basic/Attr.td
+TGHDRS+= clang/Basic/AttrHasAttributeImpl.inc
+
+clang/Basic/AttrList.inc: ${CLANG_SRCS}/include/clang/Basic/Attr.td
+ ${CLANG_TBLGEN} -gen-clang-attr-list \
+ -I ${CLANG_SRCS}/include -d ${.TARGET:C/$/.d/} -o ${.TARGET} \
+ ${CLANG_SRCS}/include/clang/Basic/Attr.td
+TGHDRS+= clang/Basic/AttrList.inc
+
+clang/Basic/AttrSubMatchRulesList.inc: ${CLANG_SRCS}/include/clang/Basic/Attr.td
+ ${CLANG_TBLGEN} -gen-clang-attr-subject-match-rule-list \
+ -I ${CLANG_SRCS}/include -d ${.TARGET:C/$/.d/} -o ${.TARGET} \
+ ${CLANG_SRCS}/include/clang/Basic/Attr.td
+TGHDRS+= clang/Basic/AttrSubMatchRulesList.inc
+
+.for hdr in \
+ AST Analysis Comment Common CrossTU Driver Frontend Lex Parse \
+ Refactoring Sema Serialization SemaSerialization
+clang/Basic/Diagnostic${hdr}Kinds.inc: \
+ ${CLANG_SRCS}/include/clang/Basic/Diagnostic.td
+ ${CLANG_TBLGEN} -gen-clang-diags-defs -clang-component=${hdr} \
+ -I ${CLANG_SRCS}/include/clang/Basic -d ${.TARGET:C/$/.d/} \
+ -o ${.TARGET} ${CLANG_SRCS}/include/clang/Basic/Diagnostic.td
+TGHDRS+= clang/Basic/Diagnostic${hdr}Kinds.inc
+.endfor
+
+clang/Basic/DiagnosticGroups.inc: \
+ ${CLANG_SRCS}/include/clang/Basic/Diagnostic.td
+ ${CLANG_TBLGEN} -gen-clang-diag-groups \
+ -I ${CLANG_SRCS}/include/clang/Basic -d ${.TARGET:C/$/.d/} \
+ -o ${.TARGET} ${CLANG_SRCS}/include/clang/Basic/Diagnostic.td
+TGHDRS+= clang/Basic/DiagnosticGroups.inc
+
+clang/Basic/DiagnosticIndexName.inc: \
+ ${CLANG_SRCS}/include/clang/Basic/Diagnostic.td
+ ${CLANG_TBLGEN} -gen-clang-diags-index-name \
+ -I ${CLANG_SRCS}/include/clang/Basic -d ${.TARGET:C/$/.d/} \
+ -o ${.TARGET} ${CLANG_SRCS}/include/clang/Basic/Diagnostic.td
+TGHDRS+= clang/Basic/DiagnosticIndexName.inc
+
+clang/Basic/arm_fp16.inc: ${CLANG_SRCS}/include/clang/Basic/arm_fp16.td
+ ${CLANG_TBLGEN} -gen-arm-neon-sema \
+ -I ${CLANG_SRCS}/include/clang/Basic -d ${.TARGET:C/$/.d/} \
+ -o ${.TARGET} ${CLANG_SRCS}/include/clang/Basic/arm_fp16.td
+TGHDRS+= clang/Basic/arm_fp16.inc
+
+clang/Basic/arm_neon.inc: ${CLANG_SRCS}/include/clang/Basic/arm_neon.td
+ ${CLANG_TBLGEN} -gen-arm-neon-sema \
+ -I ${CLANG_SRCS}/include/clang/Basic -d ${.TARGET:C/$/.d/} \
+ -o ${.TARGET} ${CLANG_SRCS}/include/clang/Basic/arm_neon.td
+TGHDRS+= clang/Basic/arm_neon.inc
+
+clang/Driver/Options.inc: ${CLANG_SRCS}/include/clang/Driver/Options.td
+ ${LLVM_TBLGEN} -gen-opt-parser-defs \
+ -I ${LLVM_SRCS}/include -I ${CLANG_SRCS}/include/clang/Driver \
+ -d ${.TARGET:C/$/.d/} -o ${.TARGET} \
+ ${CLANG_SRCS}/include/clang/Driver/Options.td
+TGHDRS+= clang/Driver/Options.inc
+
+clang/Parse/AttrParserStringSwitches.inc: \
+ ${CLANG_SRCS}/include/clang/Basic/Attr.td
+ ${CLANG_TBLGEN} -gen-clang-attr-parser-string-switches \
+ -I ${CLANG_SRCS}/include -d ${.TARGET:C/$/.d/} -o ${.TARGET} \
+ ${CLANG_SRCS}/include/clang/Basic/Attr.td
+TGHDRS+= clang/Parse/AttrParserStringSwitches.inc
+
+clang/Parse/AttrSubMatchRulesParserStringSwitches.inc: \
+ ${CLANG_SRCS}/include/clang/Basic/Attr.td
+ ${CLANG_TBLGEN} -gen-clang-attr-subject-match-rules-parser-string-switches \
+ -I ${CLANG_SRCS}/include -d ${.TARGET:C/$/.d/} -o ${.TARGET} \
+ ${CLANG_SRCS}/include/clang/Basic/Attr.td
+TGHDRS+= clang/Parse/AttrSubMatchRulesParserStringSwitches.inc
+
+clang/Sema/AttrParsedAttrImpl.inc: ${CLANG_SRCS}/include/clang/Basic/Attr.td
+ ${CLANG_TBLGEN} -gen-clang-attr-parsed-attr-impl \
+ -I ${CLANG_SRCS}/include -d ${.TARGET:C/$/.d/} -o ${.TARGET} \
+ ${CLANG_SRCS}/include/clang/Basic/Attr.td
+TGHDRS+= clang/Sema/AttrParsedAttrImpl.inc
+
+clang/Sema/AttrParsedAttrKinds.inc: ${CLANG_SRCS}/include/clang/Basic/Attr.td
+ ${CLANG_TBLGEN} -gen-clang-attr-parsed-attr-kinds \
+ -I ${CLANG_SRCS}/include -d ${.TARGET:C/$/.d/} -o ${.TARGET} \
+ ${CLANG_SRCS}/include/clang/Basic/Attr.td
+TGHDRS+= clang/Sema/AttrParsedAttrKinds.inc
+
+clang/Sema/AttrParsedAttrList.inc: ${CLANG_SRCS}/include/clang/Basic/Attr.td
+ ${CLANG_TBLGEN} -gen-clang-attr-parsed-attr-list \
+ -I ${CLANG_SRCS}/include -d ${.TARGET:C/$/.d/} -o ${.TARGET} \
+ ${CLANG_SRCS}/include/clang/Basic/Attr.td
+TGHDRS+= clang/Sema/AttrParsedAttrList.inc
+
+clang/Sema/AttrSpellingListIndex.inc: ${CLANG_SRCS}/include/clang/Basic/Attr.td
+ ${CLANG_TBLGEN} -gen-clang-attr-spelling-index \
+ -I ${CLANG_SRCS}/include -d ${.TARGET:C/$/.d/} -o ${.TARGET} \
+ ${CLANG_SRCS}/include/clang/Basic/Attr.td
+TGHDRS+= clang/Sema/AttrSpellingListIndex.inc
+
+clang/Sema/AttrTemplateInstantiate.inc: \
+ ${CLANG_SRCS}/include/clang/Basic/Attr.td
+ ${CLANG_TBLGEN} -gen-clang-attr-template-instantiate \
+ -I ${CLANG_SRCS}/include -d ${.TARGET:C/$/.d/} -o ${.TARGET} \
+ ${CLANG_SRCS}/include/clang/Basic/Attr.td
+TGHDRS+= clang/Sema/AttrTemplateInstantiate.inc
+
+clang/Serialization/AttrPCHRead.inc: ${CLANG_SRCS}/include/clang/Basic/Attr.td
+ ${CLANG_TBLGEN} -gen-clang-attr-pch-read \
+ -I ${CLANG_SRCS}/include -d ${.TARGET:C/$/.d/} -o ${.TARGET} \
+ ${CLANG_SRCS}/include/clang/Basic/Attr.td
+TGHDRS+= clang/Serialization/AttrPCHRead.inc
+
+clang/Serialization/AttrPCHWrite.inc: ${CLANG_SRCS}/include/clang/Basic/Attr.td
+ ${CLANG_TBLGEN} -gen-clang-attr-pch-write \
+ -I ${CLANG_SRCS}/include -d ${.TARGET:C/$/.d/} -o ${.TARGET} \
+ ${CLANG_SRCS}/include/clang/Basic/Attr.td
+TGHDRS+= clang/Serialization/AttrPCHWrite.inc
+
+clang/StaticAnalyzer/Checkers/Checkers.inc: \
+ ${CLANG_SRCS}/include/clang/StaticAnalyzer/Checkers/Checkers.td
+ ${CLANG_TBLGEN} -gen-clang-sa-checkers \
+ -I ${CLANG_SRCS}/include/clang/StaticAnalyzer/Checkers \
+ -d ${.TARGET:C/$/.d/} -o ${.TARGET} \
+ ${CLANG_SRCS}/include/clang/StaticAnalyzer/Checkers/Checkers.td
+TGHDRS+= clang/StaticAnalyzer/Checkers/Checkers.inc
+
+DEPENDFILES+= ${TGHDRS:C/$/.d/}
+DPSRCS+= ${TGHDRS}
+CLEANFILES+= ${TGHDRS} ${TGHDRS:C/$/.d/}
+
+.include "../clang.build.mk"
+
+INTERNALLIB=
+
+.include <bsd.lib.mk>
diff --git a/lib/clang/libclang/Makefile.depend b/lib/clang/libclang/Makefile.depend
new file mode 100644
index 000000000000..7846e956f728
--- /dev/null
+++ b/lib/clang/libclang/Makefile.depend
@@ -0,0 +1,18 @@
+# $FreeBSD$
+# Autogenerated - do NOT edit!
+
+DIRDEPS = \
+ include \
+ include/xlocale \
+ lib/clang/libllvm \
+ lib/libc++ \
+ lib/msun \
+ usr.bin/clang/clang-tblgen.host \
+ usr.bin/clang/llvm-tblgen.host \
+
+
+.include <dirdeps.mk>
+
+.if ${DEP_RELDIR} == ${_DEP_RELDIR}
+# local dependencies - needed for -jN in clean tree
+.endif
diff --git a/lib/clang/liblldb/Makefile b/lib/clang/liblldb/Makefile
new file mode 100644
index 000000000000..ea334b7d04dd
--- /dev/null
+++ b/lib/clang/liblldb/Makefile
@@ -0,0 +1,620 @@
+# $FreeBSD$
+
+.include "../lldb.pre.mk"
+
+LIB= lldb
+SRCDIR= tools/lldb/source
+
+CFLAGS+= -I${LLDB_SRCS}/include
+CFLAGS+= -I${LLDB_SRCS}/source
+CFLAGS+= -I${LLDB_SRCS}/source/Plugins/Process/FreeBSD
+CFLAGS+= -I${LLDB_SRCS}/source/Plugins/Process/POSIX
+CFLAGS+= -I${LLDB_SRCS}/source/Plugins/Process/Utility
+CFLAGS+= -I${OBJTOP}/lib/clang/libllvm
+CFLAGS+= -I${OBJTOP}/lib/clang/libclang
+CFLAGS+= -DLLDB_DISABLE_PYTHON
+
+SRCS+= API/SBAddress.cpp
+SRCS+= API/SBAttachInfo.cpp
+SRCS+= API/SBBlock.cpp
+SRCS+= API/SBBreakpoint.cpp
+SRCS+= API/SBBreakpointLocation.cpp
+SRCS+= API/SBBreakpointOptionCommon.cpp
+SRCS+= API/SBBroadcaster.cpp
+SRCS+= API/SBCommandInterpreter.cpp
+SRCS+= API/SBCommandReturnObject.cpp
+SRCS+= API/SBCompileUnit.cpp
+SRCS+= API/SBData.cpp
+SRCS+= API/SBDebugger.cpp
+SRCS+= API/SBDeclaration.cpp
+SRCS+= API/SBError.cpp
+SRCS+= API/SBEvent.cpp
+SRCS+= API/SBExecutionContext.cpp
+SRCS+= API/SBExpressionOptions.cpp
+SRCS+= API/SBFileSpec.cpp
+SRCS+= API/SBFileSpecList.cpp
+SRCS+= API/SBFrame.cpp
+SRCS+= API/SBFunction.cpp
+SRCS+= API/SBHostOS.cpp
+SRCS+= API/SBInstruction.cpp
+SRCS+= API/SBInstructionList.cpp
+SRCS+= API/SBLanguageRuntime.cpp
+SRCS+= API/SBLaunchInfo.cpp
+SRCS+= API/SBLineEntry.cpp
+SRCS+= API/SBListener.cpp
+SRCS+= API/SBMemoryRegionInfo.cpp
+SRCS+= API/SBMemoryRegionInfoList.cpp
+SRCS+= API/SBModule.cpp
+SRCS+= API/SBModuleSpec.cpp
+SRCS+= API/SBPlatform.cpp
+SRCS+= API/SBProcess.cpp
+SRCS+= API/SBProcessInfo.cpp
+SRCS+= API/SBQueue.cpp
+SRCS+= API/SBQueueItem.cpp
+SRCS+= API/SBSection.cpp
+SRCS+= API/SBSourceManager.cpp
+SRCS+= API/SBStream.cpp
+SRCS+= API/SBStringList.cpp
+SRCS+= API/SBStructuredData.cpp
+SRCS+= API/SBSymbol.cpp
+SRCS+= API/SBSymbolContext.cpp
+SRCS+= API/SBSymbolContextList.cpp
+SRCS+= API/SBTarget.cpp
+SRCS+= API/SBThread.cpp
+SRCS+= API/SBThreadCollection.cpp
+SRCS+= API/SBThreadPlan.cpp
+SRCS+= API/SBTrace.cpp
+SRCS+= API/SBType.cpp
+SRCS+= API/SBTypeCategory.cpp
+SRCS+= API/SBTypeEnumMember.cpp
+SRCS+= API/SBTypeFilter.cpp
+SRCS+= API/SBTypeFormat.cpp
+SRCS+= API/SBTypeNameSpecifier.cpp
+SRCS+= API/SBTypeSummary.cpp
+SRCS+= API/SBUnixSignals.cpp
+SRCS+= API/SBValue.cpp
+SRCS+= API/SBValueList.cpp
+SRCS+= API/SBVariablesOptions.cpp
+SRCS+= API/SBWatchpoint.cpp
+SRCS+= API/SystemInitializerFull.cpp
+SRCS+= Breakpoint/Breakpoint.cpp
+SRCS+= Breakpoint/BreakpointID.cpp
+SRCS+= Breakpoint/BreakpointIDList.cpp
+SRCS+= Breakpoint/BreakpointList.cpp
+SRCS+= Breakpoint/BreakpointLocation.cpp
+SRCS+= Breakpoint/BreakpointLocationCollection.cpp
+SRCS+= Breakpoint/BreakpointLocationList.cpp
+SRCS+= Breakpoint/BreakpointName.cpp
+SRCS+= Breakpoint/BreakpointOptions.cpp
+SRCS+= Breakpoint/BreakpointResolver.cpp
+SRCS+= Breakpoint/BreakpointResolverAddress.cpp
+SRCS+= Breakpoint/BreakpointResolverFileLine.cpp
+SRCS+= Breakpoint/BreakpointResolverFileRegex.cpp
+SRCS+= Breakpoint/BreakpointResolverName.cpp
+SRCS+= Breakpoint/BreakpointSite.cpp
+SRCS+= Breakpoint/BreakpointSiteList.cpp
+SRCS+= Breakpoint/Stoppoint.cpp
+SRCS+= Breakpoint/StoppointCallbackContext.cpp
+SRCS+= Breakpoint/StoppointLocation.cpp
+SRCS+= Breakpoint/Watchpoint.cpp
+SRCS+= Breakpoint/WatchpointList.cpp
+SRCS+= Breakpoint/WatchpointOptions.cpp
+SRCS+= Commands/CommandCompletions.cpp
+SRCS+= Commands/CommandObjectApropos.cpp
+SRCS+= Commands/CommandObjectBreakpoint.cpp
+SRCS+= Commands/CommandObjectBreakpointCommand.cpp
+SRCS+= Commands/CommandObjectBugreport.cpp
+SRCS+= Commands/CommandObjectCommands.cpp
+SRCS+= Commands/CommandObjectDisassemble.cpp
+SRCS+= Commands/CommandObjectExpression.cpp
+SRCS+= Commands/CommandObjectFrame.cpp
+SRCS+= Commands/CommandObjectGUI.cpp
+SRCS+= Commands/CommandObjectHelp.cpp
+SRCS+= Commands/CommandObjectLanguage.cpp
+SRCS+= Commands/CommandObjectLog.cpp
+SRCS+= Commands/CommandObjectMemory.cpp
+SRCS+= Commands/CommandObjectMultiword.cpp
+SRCS+= Commands/CommandObjectPlatform.cpp
+SRCS+= Commands/CommandObjectPlugin.cpp
+SRCS+= Commands/CommandObjectProcess.cpp
+SRCS+= Commands/CommandObjectQuit.cpp
+SRCS+= Commands/CommandObjectRegister.cpp
+SRCS+= Commands/CommandObjectSettings.cpp
+SRCS+= Commands/CommandObjectSource.cpp
+SRCS+= Commands/CommandObjectStats.cpp
+SRCS+= Commands/CommandObjectTarget.cpp
+SRCS+= Commands/CommandObjectThread.cpp
+SRCS+= Commands/CommandObjectType.cpp
+SRCS+= Commands/CommandObjectVersion.cpp
+SRCS+= Commands/CommandObjectWatchpoint.cpp
+SRCS+= Commands/CommandObjectWatchpointCommand.cpp
+SRCS+= Core/Address.cpp
+SRCS+= Core/AddressRange.cpp
+SRCS+= Core/AddressResolver.cpp
+SRCS+= Core/AddressResolverFileLine.cpp
+SRCS+= Core/AddressResolverName.cpp
+SRCS+= Core/Broadcaster.cpp
+SRCS+= Core/Communication.cpp
+SRCS+= Core/Debugger.cpp
+SRCS+= Core/Disassembler.cpp
+SRCS+= Core/DumpDataExtractor.cpp
+SRCS+= Core/DumpRegisterValue.cpp
+SRCS+= Core/DynamicLoader.cpp
+SRCS+= Core/EmulateInstruction.cpp
+SRCS+= Core/Event.cpp
+SRCS+= Core/FileLineResolver.cpp
+SRCS+= Core/FileSpecList.cpp
+SRCS+= Core/FormatEntity.cpp
+SRCS+= Core/IOHandler.cpp
+SRCS+= Core/Listener.cpp
+SRCS+= Core/Mangled.cpp
+SRCS+= Core/Module.cpp
+SRCS+= Core/ModuleChild.cpp
+SRCS+= Core/ModuleList.cpp
+SRCS+= Core/Opcode.cpp
+SRCS+= Core/PluginManager.cpp
+SRCS+= Core/RegisterValue.cpp
+SRCS+= Core/Scalar.cpp
+SRCS+= Core/SearchFilter.cpp
+SRCS+= Core/Section.cpp
+SRCS+= Core/SourceManager.cpp
+SRCS+= Core/State.cpp
+SRCS+= Core/StreamAsynchronousIO.cpp
+SRCS+= Core/StreamFile.cpp
+SRCS+= Core/UserSettingsController.cpp
+SRCS+= Core/Value.cpp
+SRCS+= Core/ValueObject.cpp
+SRCS+= Core/ValueObjectCast.cpp
+SRCS+= Core/ValueObjectChild.cpp
+SRCS+= Core/ValueObjectConstResult.cpp
+SRCS+= Core/ValueObjectConstResultCast.cpp
+SRCS+= Core/ValueObjectConstResultChild.cpp
+SRCS+= Core/ValueObjectConstResultImpl.cpp
+SRCS+= Core/ValueObjectDynamicValue.cpp
+SRCS+= Core/ValueObjectList.cpp
+SRCS+= Core/ValueObjectMemory.cpp
+SRCS+= Core/ValueObjectRegister.cpp
+SRCS+= Core/ValueObjectSyntheticFilter.cpp
+SRCS+= Core/ValueObjectVariable.cpp
+SRCS+= DataFormatters/CXXFunctionPointer.cpp
+SRCS+= DataFormatters/DataVisualization.cpp
+SRCS+= DataFormatters/DumpValueObjectOptions.cpp
+SRCS+= DataFormatters/FormatCache.cpp
+SRCS+= DataFormatters/FormatClasses.cpp
+SRCS+= DataFormatters/FormatManager.cpp
+SRCS+= DataFormatters/FormattersHelpers.cpp
+SRCS+= DataFormatters/LanguageCategory.cpp
+SRCS+= DataFormatters/StringPrinter.cpp
+SRCS+= DataFormatters/TypeCategory.cpp
+SRCS+= DataFormatters/TypeCategoryMap.cpp
+SRCS+= DataFormatters/TypeFormat.cpp
+SRCS+= DataFormatters/TypeSummary.cpp
+SRCS+= DataFormatters/TypeSynthetic.cpp
+SRCS+= DataFormatters/ValueObjectPrinter.cpp
+SRCS+= DataFormatters/VectorType.cpp
+SRCS+= Expression/DWARFExpression.cpp
+SRCS+= Expression/DiagnosticManager.cpp
+SRCS+= Expression/Expression.cpp
+SRCS+= Expression/ExpressionSourceCode.cpp
+SRCS+= Expression/ExpressionVariable.cpp
+SRCS+= Expression/FunctionCaller.cpp
+SRCS+= Expression/IRDynamicChecks.cpp
+SRCS+= Expression/IRExecutionUnit.cpp
+SRCS+= Expression/IRInterpreter.cpp
+SRCS+= Expression/IRMemoryMap.cpp
+SRCS+= Expression/LLVMUserExpression.cpp
+SRCS+= Expression/Materializer.cpp
+SRCS+= Expression/REPL.cpp
+SRCS+= Expression/UserExpression.cpp
+SRCS+= Expression/UtilityFunction.cpp
+SRCS+= Host/common/Editline.cpp
+SRCS+= Host/common/File.cpp
+SRCS+= Host/common/FileCache.cpp
+SRCS+= Host/common/FileSystem.cpp
+SRCS+= Host/common/Host.cpp
+SRCS+= Host/common/HostInfoBase.cpp
+SRCS+= Host/common/HostNativeThreadBase.cpp
+SRCS+= Host/common/HostProcess.cpp
+SRCS+= Host/common/HostThread.cpp
+SRCS+= Host/common/LockFileBase.cpp
+SRCS+= Host/common/MainLoop.cpp
+SRCS+= Host/common/MonitoringProcessLauncher.cpp
+SRCS+= Host/common/NativeBreakpointList.cpp
+SRCS+= Host/common/NativeWatchpointList.cpp
+SRCS+= Host/common/OptionParser.cpp
+SRCS+= Host/common/PipeBase.cpp
+SRCS+= Host/common/ProcessRunLock.cpp
+SRCS+= Host/common/PseudoTerminal.cpp
+SRCS+= Host/common/Socket.cpp
+SRCS+= Host/common/SocketAddress.cpp
+SRCS+= Host/common/StringConvert.cpp
+SRCS+= Host/common/Symbols.cpp
+SRCS+= Host/common/TCPSocket.cpp
+SRCS+= Host/common/TaskPool.cpp
+SRCS+= Host/common/Terminal.cpp
+SRCS+= Host/common/ThreadLauncher.cpp
+SRCS+= Host/common/UDPSocket.cpp
+SRCS+= Host/common/XML.cpp
+SRCS+= Host/freebsd/Host.cpp
+SRCS+= Host/freebsd/HostInfoFreeBSD.cpp
+SRCS+= Host/posix/ConnectionFileDescriptorPosix.cpp
+SRCS+= Host/posix/DomainSocket.cpp
+SRCS+= Host/posix/FileSystem.cpp
+SRCS+= Host/posix/HostInfoPosix.cpp
+SRCS+= Host/posix/HostProcessPosix.cpp
+SRCS+= Host/posix/HostThreadPosix.cpp
+SRCS+= Host/posix/LockFilePosix.cpp
+SRCS+= Host/posix/PipePosix.cpp
+SRCS+= Host/posix/ProcessLauncherPosixFork.cpp
+SRCS+= Initialization/SystemInitializer.cpp
+SRCS+= Initialization/SystemInitializerCommon.cpp
+SRCS+= Initialization/SystemLifetimeManager.cpp
+SRCS+= Interpreter/CommandAlias.cpp
+SRCS+= Interpreter/CommandHistory.cpp
+SRCS+= Interpreter/CommandInterpreter.cpp
+SRCS+= Interpreter/CommandObject.cpp
+SRCS+= Interpreter/CommandObjectRegexCommand.cpp
+SRCS+= Interpreter/CommandObjectScript.cpp
+SRCS+= Interpreter/CommandOptionValidators.cpp
+SRCS+= Interpreter/CommandReturnObject.cpp
+SRCS+= Interpreter/OptionArgParser.cpp
+SRCS+= Interpreter/OptionGroupArchitecture.cpp
+SRCS+= Interpreter/OptionGroupBoolean.cpp
+SRCS+= Interpreter/OptionGroupFile.cpp
+SRCS+= Interpreter/OptionGroupFormat.cpp
+SRCS+= Interpreter/OptionGroupOutputFile.cpp
+SRCS+= Interpreter/OptionGroupPlatform.cpp
+SRCS+= Interpreter/OptionGroupString.cpp
+SRCS+= Interpreter/OptionGroupUInt64.cpp
+SRCS+= Interpreter/OptionGroupUUID.cpp
+SRCS+= Interpreter/OptionGroupValueObjectDisplay.cpp
+SRCS+= Interpreter/OptionGroupVariable.cpp
+SRCS+= Interpreter/OptionGroupWatchpoint.cpp
+SRCS+= Interpreter/OptionValue.cpp
+SRCS+= Interpreter/OptionValueArch.cpp
+SRCS+= Interpreter/OptionValueArray.cpp
+SRCS+= Interpreter/OptionValueBoolean.cpp
+SRCS+= Interpreter/OptionValueChar.cpp
+SRCS+= Interpreter/OptionValueDictionary.cpp
+SRCS+= Interpreter/OptionValueEnumeration.cpp
+SRCS+= Interpreter/OptionValueFileSpec.cpp
+SRCS+= Interpreter/OptionValueFileSpecLIst.cpp
+SRCS+= Interpreter/OptionValueFormat.cpp
+SRCS+= Interpreter/OptionValueFormatEntity.cpp
+SRCS+= Interpreter/OptionValueLanguage.cpp
+SRCS+= Interpreter/OptionValuePathMappings.cpp
+SRCS+= Interpreter/OptionValueProperties.cpp
+SRCS+= Interpreter/OptionValueRegex.cpp
+SRCS+= Interpreter/OptionValueSInt64.cpp
+SRCS+= Interpreter/OptionValueString.cpp
+SRCS+= Interpreter/OptionValueUInt64.cpp
+SRCS+= Interpreter/OptionValueUUID.cpp
+SRCS+= Interpreter/Options.cpp
+SRCS+= Interpreter/Property.cpp
+SRCS+= Interpreter/ScriptInterpreter.cpp
+SRCS+= Plugins/ABI/SysV-arm/ABISysV_arm.cpp
+SRCS+= Plugins/ABI/SysV-arm64/ABISysV_arm64.cpp
+SRCS+= Plugins/ABI/SysV-i386/ABISysV_i386.cpp
+SRCS+= Plugins/ABI/SysV-mips/ABISysV_mips.cpp
+SRCS+= Plugins/ABI/SysV-mips64/ABISysV_mips64.cpp
+SRCS+= Plugins/ABI/SysV-ppc/ABISysV_ppc.cpp
+SRCS+= Plugins/ABI/SysV-ppc64/ABISysV_ppc64.cpp
+SRCS+= Plugins/ABI/SysV-x86_64/ABISysV_x86_64.cpp
+SRCS+= Plugins/Architecture/Arm/ArchitectureArm.cpp
+SRCS+= Plugins/Architecture/PPC64/ArchitecturePPC64.cpp
+SRCS+= Plugins/Disassembler/llvm/DisassemblerLLVMC.cpp
+SRCS+= Plugins/DynamicLoader/POSIX-DYLD/AuxVector.cpp
+SRCS+= Plugins/DynamicLoader/POSIX-DYLD/DYLDRendezvous.cpp
+SRCS+= Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.cpp
+SRCS+= Plugins/DynamicLoader/Static/DynamicLoaderStatic.cpp
+SRCS+= Plugins/ExpressionParser/Clang/ASTDumper.cpp
+SRCS+= Plugins/ExpressionParser/Clang/ASTResultSynthesizer.cpp
+SRCS+= Plugins/ExpressionParser/Clang/ASTStructExtractor.cpp
+SRCS+= Plugins/ExpressionParser/Clang/ClangASTSource.cpp
+SRCS+= Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp
+SRCS+= Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp
+SRCS+= Plugins/ExpressionParser/Clang/ClangExpressionVariable.cpp
+SRCS+= Plugins/ExpressionParser/Clang/ClangFunctionCaller.cpp
+SRCS+= Plugins/ExpressionParser/Clang/ClangHost.cpp
+SRCS+= Plugins/ExpressionParser/Clang/ClangModulesDeclVendor.cpp
+SRCS+= Plugins/ExpressionParser/Clang/ClangPersistentVariables.cpp
+SRCS+= Plugins/ExpressionParser/Clang/ClangUserExpression.cpp
+SRCS+= Plugins/ExpressionParser/Clang/ClangUtilityFunction.cpp
+SRCS+= Plugins/ExpressionParser/Clang/IRForTarget.cpp
+SRCS+= Plugins/ExpressionParser/Go/GoLexer.cpp
+SRCS+= Plugins/ExpressionParser/Go/GoParser.cpp
+SRCS+= Plugins/ExpressionParser/Go/GoUserExpression.cpp
+SRCS+= Plugins/Instruction/ARM/EmulateInstructionARM.cpp
+SRCS+= Plugins/Instruction/ARM/EmulationStateARM.cpp
+SRCS+= Plugins/Instruction/ARM64/EmulateInstructionARM64.cpp
+SRCS+= Plugins/Instruction/MIPS/EmulateInstructionMIPS.cpp
+SRCS+= Plugins/Instruction/MIPS64/EmulateInstructionMIPS64.cpp
+SRCS+= Plugins/Instruction/PPC64/EmulateInstructionPPC64.cpp
+SRCS+= Plugins/InstrumentationRuntime/ASan/ASanRuntime.cpp
+SRCS+= Plugins/InstrumentationRuntime/MainThreadChecker/MainThreadCheckerRuntime.cpp
+SRCS+= Plugins/InstrumentationRuntime/UBSan/UBSanRuntime.cpp
+SRCS+= Plugins/JITLoader/GDB/JITLoaderGDB.cpp
+SRCS+= Plugins/Language/CPlusPlus/BlockPointer.cpp
+SRCS+= Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
+SRCS+= Plugins/Language/CPlusPlus/CPlusPlusNameParser.cpp
+SRCS+= Plugins/Language/CPlusPlus/LibCxx.cpp
+SRCS+= Plugins/Language/CPlusPlus/LibCxxAtomic.cpp
+SRCS+= Plugins/Language/CPlusPlus/LibCxxInitializerList.cpp
+SRCS+= Plugins/Language/CPlusPlus/LibCxxList.cpp
+SRCS+= Plugins/Language/CPlusPlus/LibCxxMap.cpp
+SRCS+= Plugins/Language/CPlusPlus/LibCxxUnorderedMap.cpp
+SRCS+= Plugins/Language/CPlusPlus/LibCxxVector.cpp
+SRCS+= Plugins/Language/CPlusPlus/LibStdcpp.cpp
+SRCS+= Plugins/Language/ObjC/CF.cpp
+SRCS+= Plugins/Language/ObjC/Cocoa.cpp
+SRCS+= Plugins/Language/ObjC/NSArray.cpp
+SRCS+= Plugins/Language/ObjC/NSDictionary.cpp
+SRCS+= Plugins/Language/ObjC/NSError.cpp
+SRCS+= Plugins/Language/ObjC/NSException.cpp
+SRCS+= Plugins/Language/ObjC/NSIndexPath.cpp
+SRCS+= Plugins/Language/ObjC/NSSet.cpp
+SRCS+= Plugins/Language/ObjC/NSString.cpp
+SRCS+= Plugins/Language/ObjC/ObjCLanguage.cpp
+SRCS+= Plugins/LanguageRuntime/CPlusPlus/ItaniumABI/ItaniumABILanguageRuntime.cpp
+SRCS+= Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntime.cpp
+SRCS+= Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCTrampolineHandler.cpp
+SRCS+= Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleThreadPlanStepThroughObjCTrampoline.cpp
+SRCS+= Plugins/MemoryHistory/asan/MemoryHistoryASan.cpp
+SRCS+= Plugins/ObjectContainer/BSD-Archive/ObjectContainerBSDArchive.cpp
+SRCS+= Plugins/ObjectFile/ELF/ELFHeader.cpp
+SRCS+= Plugins/ObjectFile/ELF/ObjectFileELF.cpp
+SRCS+= Plugins/ObjectFile/JIT/ObjectFileJIT.cpp
+SRCS+= Plugins/Platform/FreeBSD/PlatformFreeBSD.cpp
+SRCS+= Plugins/Platform/POSIX/PlatformPOSIX.cpp
+SRCS+= Plugins/Platform/gdb-server/PlatformRemoteGDBServer.cpp
+SRCS+= Plugins/Process/FreeBSD/FreeBSDThread.cpp
+SRCS+= Plugins/Process/FreeBSD/POSIXStopInfo.cpp
+SRCS+= Plugins/Process/FreeBSD/ProcessFreeBSD.cpp
+SRCS+= Plugins/Process/FreeBSD/ProcessMonitor.cpp
+SRCS+= Plugins/Process/FreeBSD/RegisterContextPOSIXProcessMonitor_arm.cpp
+SRCS+= Plugins/Process/FreeBSD/RegisterContextPOSIXProcessMonitor_arm64.cpp
+SRCS+= Plugins/Process/FreeBSD/RegisterContextPOSIXProcessMonitor_mips64.cpp
+SRCS+= Plugins/Process/FreeBSD/RegisterContextPOSIXProcessMonitor_powerpc.cpp
+SRCS+= Plugins/Process/FreeBSD/RegisterContextPOSIXProcessMonitor_x86.cpp
+SRCS+= Plugins/Process/POSIX/CrashReason.cpp
+SRCS+= Plugins/Process/POSIX/ProcessMessage.cpp
+SRCS+= Plugins/Process/POSIX/ProcessPOSIXLog.cpp
+SRCS+= Plugins/Process/Utility/DynamicRegisterInfo.cpp
+SRCS+= Plugins/Process/Utility/FreeBSDSignals.cpp
+SRCS+= Plugins/Process/Utility/GDBRemoteSignals.cpp
+SRCS+= Plugins/Process/Utility/HistoryThread.cpp
+SRCS+= Plugins/Process/Utility/HistoryUnwind.cpp
+SRCS+= Plugins/Process/Utility/InferiorCallPOSIX.cpp
+SRCS+= Plugins/Process/Utility/LinuxSignals.cpp
+SRCS+= Plugins/Process/Utility/MipsLinuxSignals.cpp
+SRCS+= Plugins/Process/Utility/NetBSDSignals.cpp
+SRCS+= Plugins/Process/Utility/RegisterContextDarwin_i386.cpp
+SRCS+= Plugins/Process/Utility/RegisterContextDarwin_x86_64.cpp
+SRCS+= Plugins/Process/Utility/RegisterContextDummy.cpp
+SRCS+= Plugins/Process/Utility/RegisterContextFreeBSD_i386.cpp
+SRCS+= Plugins/Process/Utility/RegisterContextFreeBSD_mips64.cpp
+SRCS+= Plugins/Process/Utility/RegisterContextFreeBSD_powerpc.cpp
+SRCS+= Plugins/Process/Utility/RegisterContextFreeBSD_x86_64.cpp
+SRCS+= Plugins/Process/Utility/RegisterContextHistory.cpp
+SRCS+= Plugins/Process/Utility/RegisterContextLLDB.cpp
+SRCS+= Plugins/Process/Utility/RegisterContextLinux_i386.cpp
+SRCS+= Plugins/Process/Utility/RegisterContextLinux_mips.cpp
+SRCS+= Plugins/Process/Utility/RegisterContextLinux_mips64.cpp
+SRCS+= Plugins/Process/Utility/RegisterContextLinux_x86_64.cpp
+SRCS+= Plugins/Process/Utility/RegisterContextMacOSXFrameBackchain.cpp
+SRCS+= Plugins/Process/Utility/RegisterContextMemory.cpp
+SRCS+= Plugins/Process/Utility/RegisterContextNetBSD_x86_64.cpp
+SRCS+= Plugins/Process/Utility/RegisterContextOpenBSD_i386.cpp
+SRCS+= Plugins/Process/Utility/RegisterContextOpenBSD_x86_64.cpp
+SRCS+= Plugins/Process/Utility/RegisterContextPOSIX_arm.cpp
+SRCS+= Plugins/Process/Utility/RegisterContextPOSIX_arm64.cpp
+SRCS+= Plugins/Process/Utility/RegisterContextPOSIX_mips64.cpp
+SRCS+= Plugins/Process/Utility/RegisterContextPOSIX_powerpc.cpp
+SRCS+= Plugins/Process/Utility/RegisterContextPOSIX_ppc64le.cpp
+SRCS+= Plugins/Process/Utility/RegisterContextPOSIX_x86.cpp
+SRCS+= Plugins/Process/Utility/RegisterContextThreadMemory.cpp
+SRCS+= Plugins/Process/Utility/RegisterInfoPOSIX_arm.cpp
+SRCS+= Plugins/Process/Utility/RegisterInfoPOSIX_arm64.cpp
+SRCS+= Plugins/Process/Utility/RegisterInfoPOSIX_ppc64le.cpp
+SRCS+= Plugins/Process/Utility/StopInfoMachException.cpp
+SRCS+= Plugins/Process/Utility/ThreadMemory.cpp
+SRCS+= Plugins/Process/Utility/UnwindLLDB.cpp
+SRCS+= Plugins/Process/Utility/UnwindMacOSXFrameBackchain.cpp
+SRCS+= Plugins/Process/elf-core/ProcessElfCore.cpp
+SRCS+= Plugins/Process/elf-core/RegisterContextPOSIXCore_arm.cpp
+SRCS+= Plugins/Process/elf-core/RegisterContextPOSIXCore_arm64.cpp
+SRCS+= Plugins/Process/elf-core/RegisterContextPOSIXCore_mips64.cpp
+SRCS+= Plugins/Process/elf-core/RegisterContextPOSIXCore_powerpc.cpp
+SRCS+= Plugins/Process/elf-core/RegisterContextPOSIXCore_ppc64le.cpp
+SRCS+= Plugins/Process/elf-core/RegisterContextPOSIXCore_x86_64.cpp
+SRCS+= Plugins/Process/elf-core/RegisterUtilities.cpp
+SRCS+= Plugins/Process/elf-core/ThreadElfCore.cpp
+SRCS+= Plugins/Process/gdb-remote/GDBRemoteClientBase.cpp
+SRCS+= Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp
+SRCS+= Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
+SRCS+= Plugins/Process/gdb-remote/GDBRemoteCommunicationServer.cpp
+SRCS+= Plugins/Process/gdb-remote/GDBRemoteCommunicationServerCommon.cpp
+SRCS+= Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp
+SRCS+= Plugins/Process/gdb-remote/GDBRemoteCommunicationServerPlatform.cpp
+SRCS+= Plugins/Process/gdb-remote/GDBRemoteRegisterContext.cpp
+SRCS+= Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
+SRCS+= Plugins/Process/gdb-remote/ProcessGDBRemoteLog.cpp
+SRCS+= Plugins/Process/gdb-remote/ThreadGDBRemote.cpp
+SRCS+= Plugins/ScriptInterpreter/None/ScriptInterpreterNone.cpp
+SRCS+= Plugins/SymbolFile/DWARF/AppleDWARFIndex.cpp
+SRCS+= Plugins/SymbolFile/DWARF/DebugNamesDWARFIndex.cpp
+SRCS+= Plugins/SymbolFile/DWARF/DIERef.cpp
+SRCS+= Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
+SRCS+= Plugins/SymbolFile/DWARF/DWARFASTParserGo.cpp
+SRCS+= Plugins/SymbolFile/DWARF/DWARFAbbreviationDeclaration.cpp
+SRCS+= Plugins/SymbolFile/DWARF/DWARFAttribute.cpp
+SRCS+= Plugins/SymbolFile/DWARF/DWARFBaseDIE.cpp
+SRCS+= Plugins/SymbolFile/DWARF/DWARFCompileUnit.cpp
+SRCS+= Plugins/SymbolFile/DWARF/DWARFDIE.cpp
+SRCS+= Plugins/SymbolFile/DWARF/DWARFDIECollection.cpp
+SRCS+= Plugins/SymbolFile/DWARF/DWARFDataExtractor.cpp
+SRCS+= Plugins/SymbolFile/DWARF/DWARFDebugAbbrev.cpp
+SRCS+= Plugins/SymbolFile/DWARF/DWARFDebugArangeSet.cpp
+SRCS+= Plugins/SymbolFile/DWARF/DWARFDebugAranges.cpp
+SRCS+= Plugins/SymbolFile/DWARF/DWARFDebugInfo.cpp
+SRCS+= Plugins/SymbolFile/DWARF/DWARFDebugInfoEntry.cpp
+SRCS+= Plugins/SymbolFile/DWARF/DWARFDebugLine.cpp
+SRCS+= Plugins/SymbolFile/DWARF/DWARFDebugMacro.cpp
+SRCS+= Plugins/SymbolFile/DWARF/DWARFDebugRanges.cpp
+SRCS+= Plugins/SymbolFile/DWARF/DWARFDeclContext.cpp
+SRCS+= Plugins/SymbolFile/DWARF/DWARFDefines.cpp
+SRCS+= Plugins/SymbolFile/DWARF/DWARFFormValue.cpp
+SRCS+= Plugins/SymbolFile/DWARF/DWARFIndex.cpp
+SRCS+= Plugins/SymbolFile/DWARF/DWARFUnit.cpp
+SRCS+= Plugins/SymbolFile/DWARF/HashedNameToDIE.cpp
+SRCS+= Plugins/SymbolFile/DWARF/LogChannelDWARF.cpp
+SRCS+= Plugins/SymbolFile/DWARF/ManualDWARFIndex.cpp
+SRCS+= Plugins/SymbolFile/DWARF/NameToDIE.cpp
+SRCS+= Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
+SRCS+= Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp
+SRCS+= Plugins/SymbolFile/DWARF/SymbolFileDWARFDwo.cpp
+SRCS+= Plugins/SymbolFile/DWARF/SymbolFileDWARFDwoDwp.cpp
+SRCS+= Plugins/SymbolFile/DWARF/SymbolFileDWARFDwp.cpp
+SRCS+= Plugins/SymbolFile/DWARF/UniqueDWARFASTType.cpp
+SRCS+= Plugins/SymbolFile/Symtab/SymbolFileSymtab.cpp
+SRCS+= Plugins/SymbolVendor/ELF/SymbolVendorELF.cpp
+SRCS+= Plugins/UnwindAssembly/InstEmulation/UnwindAssemblyInstEmulation.cpp
+SRCS+= Plugins/UnwindAssembly/x86/UnwindAssembly-x86.cpp
+SRCS+= Plugins/UnwindAssembly/x86/x86AssemblyInspectionEngine.cpp
+SRCS+= Symbol/ArmUnwindInfo.cpp
+SRCS+= Symbol/Block.cpp
+SRCS+= Symbol/ClangASTContext.cpp
+SRCS+= Symbol/ClangASTImporter.cpp
+SRCS+= Symbol/ClangExternalASTSourceCallbacks.cpp
+SRCS+= Symbol/ClangExternalASTSourceCommon.cpp
+SRCS+= Symbol/ClangUtil.cpp
+SRCS+= Symbol/CompactUnwindInfo.cpp
+SRCS+= Symbol/CompileUnit.cpp
+SRCS+= Symbol/CompilerDecl.cpp
+SRCS+= Symbol/CompilerDeclContext.cpp
+SRCS+= Symbol/CompilerType.cpp
+SRCS+= Symbol/DWARFCallFrameInfo.cpp
+SRCS+= Symbol/DebugMacros.cpp
+SRCS+= Symbol/Declaration.cpp
+SRCS+= Symbol/FuncUnwinders.cpp
+SRCS+= Symbol/Function.cpp
+SRCS+= Symbol/GoASTContext.cpp
+SRCS+= Symbol/LineEntry.cpp
+SRCS+= Symbol/LineTable.cpp
+SRCS+= Symbol/ObjectFile.cpp
+SRCS+= Symbol/Symbol.cpp
+SRCS+= Symbol/SymbolContext.cpp
+SRCS+= Symbol/SymbolFile.cpp
+SRCS+= Symbol/SymbolVendor.cpp
+SRCS+= Symbol/Symtab.cpp
+SRCS+= Symbol/Type.cpp
+SRCS+= Symbol/TypeList.cpp
+SRCS+= Symbol/TypeMap.cpp
+SRCS+= Symbol/TypeSystem.cpp
+SRCS+= Symbol/UnwindPlan.cpp
+SRCS+= Symbol/UnwindTable.cpp
+SRCS+= Symbol/Variable.cpp
+SRCS+= Symbol/VariableList.cpp
+SRCS+= Target/ABI.cpp
+SRCS+= Target/CPPLanguageRuntime.cpp
+SRCS+= Target/ExecutionContext.cpp
+SRCS+= Target/FileAction.cpp
+SRCS+= Target/InstrumentationRuntime.cpp
+SRCS+= Target/InstrumentationRuntimeStopInfo.cpp
+SRCS+= Target/JITLoader.cpp
+SRCS+= Target/JITLoaderList.cpp
+SRCS+= Target/Language.cpp
+SRCS+= Target/LanguageRuntime.cpp
+SRCS+= Target/Memory.cpp
+SRCS+= Target/MemoryHistory.cpp
+SRCS+= Target/ModuleCache.cpp
+SRCS+= Target/ObjCLanguageRuntime.cpp
+SRCS+= Target/OperatingSystem.cpp
+SRCS+= Target/PathMappingList.cpp
+SRCS+= Target/Platform.cpp
+SRCS+= Target/Process.cpp
+SRCS+= Target/ProcessInfo.cpp
+SRCS+= Target/ProcessLaunchInfo.cpp
+SRCS+= Target/Queue.cpp
+SRCS+= Target/QueueItem.cpp
+SRCS+= Target/QueueList.cpp
+SRCS+= Target/RegisterContext.cpp
+SRCS+= Target/RegisterNumber.cpp
+SRCS+= Target/SectionLoadHistory.cpp
+SRCS+= Target/SectionLoadList.cpp
+SRCS+= Target/StackFrame.cpp
+SRCS+= Target/StackFrameList.cpp
+SRCS+= Target/StackID.cpp
+SRCS+= Target/StopInfo.cpp
+SRCS+= Target/SystemRuntime.cpp
+SRCS+= Target/Target.cpp
+SRCS+= Target/TargetList.cpp
+SRCS+= Target/Thread.cpp
+SRCS+= Target/ThreadCollection.cpp
+SRCS+= Target/ThreadList.cpp
+SRCS+= Target/ThreadPlan.cpp
+SRCS+= Target/ThreadPlanBase.cpp
+SRCS+= Target/ThreadPlanCallFunction.cpp
+SRCS+= Target/ThreadPlanCallFunctionUsingABI.cpp
+SRCS+= Target/ThreadPlanCallUserExpression.cpp
+SRCS+= Target/ThreadPlanPython.cpp
+SRCS+= Target/ThreadPlanRunToAddress.cpp
+SRCS+= Target/ThreadPlanShouldStopHere.cpp
+SRCS+= Target/ThreadPlanStepInRange.cpp
+SRCS+= Target/ThreadPlanStepInstruction.cpp
+SRCS+= Target/ThreadPlanStepOut.cpp
+SRCS+= Target/ThreadPlanStepOverBreakpoint.cpp
+SRCS+= Target/ThreadPlanStepOverRange.cpp
+SRCS+= Target/ThreadPlanStepRange.cpp
+SRCS+= Target/ThreadPlanStepThrough.cpp
+SRCS+= Target/ThreadPlanStepUntil.cpp
+SRCS+= Target/ThreadPlanTracer.cpp
+SRCS+= Target/ThreadSpec.cpp
+SRCS+= Target/UnixSignals.cpp
+SRCS+= Target/UnwindAssembly.cpp
+SRCS+= Utility/ArchSpec.cpp
+SRCS+= Utility/Args.cpp
+SRCS+= Utility/Baton.cpp
+SRCS+= Utility/CompletionRequest.cpp
+SRCS+= Utility/Connection.cpp
+SRCS+= Utility/ConstString.cpp
+SRCS+= Utility/DataBufferHeap.cpp
+SRCS+= Utility/DataBufferLLVM.cpp
+SRCS+= Utility/DataEncoder.cpp
+SRCS+= Utility/DataExtractor.cpp
+SRCS+= Utility/Environment.cpp
+SRCS+= Utility/FastDemangle.cpp
+SRCS+= Utility/FileSpec.cpp
+SRCS+= Utility/IOObject.cpp
+SRCS+= Utility/JSON.cpp
+SRCS+= Utility/LLDBAssert.cpp
+SRCS+= Utility/Log.cpp
+SRCS+= Utility/Logging.cpp
+SRCS+= Utility/NameMatches.cpp
+SRCS+= Utility/RegularExpression.cpp
+SRCS+= Utility/SelectHelper.cpp
+SRCS+= Utility/SharingPtr.cpp
+SRCS+= Utility/Status.cpp
+SRCS+= Utility/Stream.cpp
+SRCS+= Utility/StreamCallback.cpp
+SRCS+= Utility/StreamGDBRemote.cpp
+SRCS+= Utility/StreamString.cpp
+SRCS+= Utility/StringExtractor.cpp
+SRCS+= Utility/StringExtractorGDBRemote.cpp
+SRCS+= Utility/StringLexer.cpp
+SRCS+= Utility/StringList.cpp
+SRCS+= Utility/StructuredData.cpp
+SRCS+= Utility/TildeExpressionResolver.cpp
+SRCS+= Utility/Timer.cpp
+SRCS+= Utility/UUID.cpp
+SRCS+= Utility/UriParser.cpp
+SRCS+= Utility/UserID.cpp
+SRCS+= Utility/VASprintf.cpp
+SRCS+= Utility/VMRange.cpp
+SRCS+= lldb.cpp
+
+.include "../clang.build.mk"
+
+INTERNALLIB=
+
+.include <bsd.lib.mk>
diff --git a/lib/clang/liblldb/Makefile.depend b/lib/clang/liblldb/Makefile.depend
new file mode 100644
index 000000000000..4ad56cc3f0ab
--- /dev/null
+++ b/lib/clang/liblldb/Makefile.depend
@@ -0,0 +1,22 @@
+# $FreeBSD$
+# Autogenerated - do NOT edit!
+
+DIRDEPS = \
+ include \
+ include/arpa \
+ include/xlocale \
+ lib/clang/libclang \
+ lib/clang/libllvm \
+ lib/libc++ \
+ lib/libedit \
+ lib/libexecinfo \
+ lib/msun \
+ lib/ncurses/ncursesw \
+ lib/ncurses/panelw \
+
+
+.include <dirdeps.mk>
+
+.if ${DEP_RELDIR} == ${_DEP_RELDIR}
+# local dependencies - needed for -jN in clean tree
+.endif
diff --git a/lib/clang/libllvm/Makefile b/lib/clang/libllvm/Makefile
new file mode 100644
index 000000000000..66540a28ca85
--- /dev/null
+++ b/lib/clang/libllvm/Makefile
@@ -0,0 +1,1597 @@
+# $FreeBSD$
+
+.include <src.opts.mk>
+.include "../llvm.pre.mk"
+
+LIB= llvm
+INTERNALLIB=
+
+CFLAGS+= -I${.OBJDIR}
+
+.if ${MK_LLVM_TARGET_AARCH64} == "no" && ${MK_LLVM_TARGET_ARM} == "no" && \
+ ${MK_LLVM_TARGET_BPF} == "no" && ${MK_LLVM_TARGET_MIPS} == "no" && \
+ ${MK_LLVM_TARGET_POWERPC} == "no" && ${MK_LLVM_TARGET_SPARC} == "no" && \
+ ${MK_LLVM_TARGET_X86} == "no"
+.error Please enable at least one of: MK_LLVM_TARGET_AARCH64,\
+ MK_LLVM_TARGET_ARM, MK_LLVM_TARGET_BPF, MK_LLVM_TARGET_MIPS, \
+ MK_LLVM_TARGET_POWERPC, MK_LLVM_TARGET_SPARC, or MK_LLVM_TARGET_X86
+.endif
+
+.for arch in AArch64 ARM BPF Mips PowerPC Sparc X86
+. if ${MK_LLVM_TARGET_${arch:tu}} != "no"
+CFLAGS+= -I${LLVM_SRCS}/lib/Target/${arch}
+. endif
+.endfor
+
+SRCDIR= lib
+
+SRCS_MIN+= Analysis/AliasAnalysis.cpp
+SRCS_MIN+= Analysis/AliasAnalysisEvaluator.cpp
+SRCS_MIN+= Analysis/AliasAnalysisSummary.cpp
+SRCS_MIN+= Analysis/AliasSetTracker.cpp
+SRCS_EXT+= Analysis/Analysis.cpp
+SRCS_MIN+= Analysis/AssumptionCache.cpp
+SRCS_MIN+= Analysis/BasicAliasAnalysis.cpp
+SRCS_MIN+= Analysis/BlockFrequencyInfo.cpp
+SRCS_MIN+= Analysis/BlockFrequencyInfoImpl.cpp
+SRCS_MIN+= Analysis/BranchProbabilityInfo.cpp
+SRCS_MIN+= Analysis/CFG.cpp
+SRCS_MIN+= Analysis/CFGPrinter.cpp
+SRCS_MIN+= Analysis/CFLAndersAliasAnalysis.cpp
+SRCS_MIN+= Analysis/CFLSteensAliasAnalysis.cpp
+SRCS_MIN+= Analysis/CGSCCPassManager.cpp
+SRCS_MIN+= Analysis/CallGraph.cpp
+SRCS_MIN+= Analysis/CallGraphSCCPass.cpp
+SRCS_MIN+= Analysis/CallPrinter.cpp
+SRCS_MIN+= Analysis/CaptureTracking.cpp
+SRCS_MIN+= Analysis/CmpInstAnalysis.cpp
+SRCS_MIN+= Analysis/CodeMetrics.cpp
+SRCS_MIN+= Analysis/ConstantFolding.cpp
+SRCS_MIN+= Analysis/CostModel.cpp
+SRCS_MIN+= Analysis/Delinearization.cpp
+SRCS_MIN+= Analysis/DemandedBits.cpp
+SRCS_MIN+= Analysis/DependenceAnalysis.cpp
+SRCS_MIN+= Analysis/DivergenceAnalysis.cpp
+SRCS_MIN+= Analysis/DomPrinter.cpp
+SRCS_MIN+= Analysis/DominanceFrontier.cpp
+SRCS_MIN+= Analysis/EHPersonalities.cpp
+SRCS_MIN+= Analysis/GlobalsModRef.cpp
+SRCS_MIN+= Analysis/IVUsers.cpp
+SRCS_MIN+= Analysis/IndirectCallPromotionAnalysis.cpp
+SRCS_MIN+= Analysis/InlineCost.cpp
+SRCS_MIN+= Analysis/InstCount.cpp
+SRCS_MIN+= Analysis/InstructionSimplify.cpp
+SRCS_MIN+= Analysis/Interval.cpp
+SRCS_MIN+= Analysis/IntervalPartition.cpp
+SRCS_MIN+= Analysis/IteratedDominanceFrontier.cpp
+SRCS_MIN+= Analysis/LazyBlockFrequencyInfo.cpp
+SRCS_MIN+= Analysis/LazyBranchProbabilityInfo.cpp
+SRCS_MIN+= Analysis/LazyCallGraph.cpp
+SRCS_MIN+= Analysis/LazyValueInfo.cpp
+SRCS_MIN+= Analysis/Lint.cpp
+SRCS_MIN+= Analysis/Loads.cpp
+SRCS_MIN+= Analysis/LoopAccessAnalysis.cpp
+SRCS_MIN+= Analysis/LoopAnalysisManager.cpp
+SRCS_MIN+= Analysis/LoopInfo.cpp
+SRCS_MIN+= Analysis/LoopPass.cpp
+SRCS_MIN+= Analysis/LoopUnrollAnalyzer.cpp
+SRCS_MIN+= Analysis/MemDepPrinter.cpp
+SRCS_MIN+= Analysis/MemDerefPrinter.cpp
+SRCS_MIN+= Analysis/MemoryBuiltins.cpp
+SRCS_MIN+= Analysis/MemoryDependenceAnalysis.cpp
+SRCS_MIN+= Analysis/MemoryLocation.cpp
+SRCS_MIN+= Analysis/MemorySSA.cpp
+SRCS_MIN+= Analysis/MemorySSAUpdater.cpp
+SRCS_MIN+= Analysis/ModuleDebugInfoPrinter.cpp
+SRCS_MIN+= Analysis/ModuleSummaryAnalysis.cpp
+SRCS_MIN+= Analysis/MustExecute.cpp
+SRCS_MIN+= Analysis/ObjCARCAliasAnalysis.cpp
+SRCS_MIN+= Analysis/ObjCARCAnalysisUtils.cpp
+SRCS_MIN+= Analysis/ObjCARCInstKind.cpp
+SRCS_MIN+= Analysis/OptimizationRemarkEmitter.cpp
+SRCS_MIN+= Analysis/OrderedBasicBlock.cpp
+SRCS_MIN+= Analysis/PHITransAddr.cpp
+SRCS_MIN+= Analysis/PhiValues.cpp
+SRCS_MIN+= Analysis/PostDominators.cpp
+SRCS_MIN+= Analysis/ProfileSummaryInfo.cpp
+SRCS_MIN+= Analysis/PtrUseVisitor.cpp
+SRCS_MIN+= Analysis/RegionInfo.cpp
+SRCS_MIN+= Analysis/RegionPass.cpp
+SRCS_MIN+= Analysis/RegionPrinter.cpp
+SRCS_MIN+= Analysis/ScalarEvolution.cpp
+SRCS_MIN+= Analysis/ScalarEvolutionAliasAnalysis.cpp
+SRCS_MIN+= Analysis/ScalarEvolutionExpander.cpp
+SRCS_MIN+= Analysis/ScalarEvolutionNormalization.cpp
+SRCS_MIN+= Analysis/ScopedNoAliasAA.cpp
+SRCS_MIN+= Analysis/SyntheticCountsUtils.cpp
+SRCS_MIN+= Analysis/TargetLibraryInfo.cpp
+SRCS_MIN+= Analysis/TargetTransformInfo.cpp
+SRCS_MIN+= Analysis/Trace.cpp
+SRCS_MIN+= Analysis/TypeBasedAliasAnalysis.cpp
+SRCS_MIN+= Analysis/TypeMetadataUtils.cpp
+SRCS_MIN+= Analysis/ValueLattice.cpp
+SRCS_MIN+= Analysis/ValueLatticeUtils.cpp
+SRCS_MIN+= Analysis/ValueTracking.cpp
+SRCS_MIN+= Analysis/VectorUtils.cpp
+SRCS_MIN+= AsmParser/LLLexer.cpp
+SRCS_MIN+= AsmParser/LLParser.cpp
+SRCS_MIN+= AsmParser/Parser.cpp
+SRCS_MIN+= BinaryFormat/Dwarf.cpp
+SRCS_MIN+= BinaryFormat/Magic.cpp
+SRCS_MIN+= BinaryFormat/Wasm.cpp
+SRCS_MIN+= Bitcode/Reader/BitReader.cpp
+SRCS_MIN+= Bitcode/Reader/BitcodeReader.cpp
+SRCS_MIN+= Bitcode/Reader/BitstreamReader.cpp
+SRCS_MIN+= Bitcode/Reader/MetadataLoader.cpp
+SRCS_MIN+= Bitcode/Reader/ValueList.cpp
+SRCS_MIN+= Bitcode/Writer/BitWriter.cpp
+SRCS_MIN+= Bitcode/Writer/BitcodeWriter.cpp
+SRCS_MIN+= Bitcode/Writer/BitcodeWriterPass.cpp
+SRCS_MIN+= Bitcode/Writer/ValueEnumerator.cpp
+SRCS_MIN+= CodeGen/AggressiveAntiDepBreaker.cpp
+SRCS_MIN+= CodeGen/AllocationOrder.cpp
+SRCS_MIN+= CodeGen/Analysis.cpp
+SRCS_MIN+= CodeGen/AsmPrinter/ARMException.cpp
+SRCS_MIN+= CodeGen/AsmPrinter/AccelTable.cpp
+SRCS_MIN+= CodeGen/AsmPrinter/AddressPool.cpp
+SRCS_MIN+= CodeGen/AsmPrinter/AsmPrinter.cpp
+SRCS_MIN+= CodeGen/AsmPrinter/AsmPrinterDwarf.cpp
+SRCS_MIN+= CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
+SRCS_MIN+= CodeGen/AsmPrinter/CodeViewDebug.cpp
+SRCS_MIN+= CodeGen/AsmPrinter/DIE.cpp
+SRCS_MIN+= CodeGen/AsmPrinter/DIEHash.cpp
+SRCS_MIN+= CodeGen/AsmPrinter/DbgValueHistoryCalculator.cpp
+SRCS_MIN+= CodeGen/AsmPrinter/DebugHandlerBase.cpp
+SRCS_MIN+= CodeGen/AsmPrinter/DebugLocStream.cpp
+SRCS_MIN+= CodeGen/AsmPrinter/DwarfCFIException.cpp
+SRCS_MIN+= CodeGen/AsmPrinter/DwarfCompileUnit.cpp
+SRCS_MIN+= CodeGen/AsmPrinter/DwarfDebug.cpp
+SRCS_MIN+= CodeGen/AsmPrinter/DwarfExpression.cpp
+SRCS_MIN+= CodeGen/AsmPrinter/DwarfFile.cpp
+SRCS_MIN+= CodeGen/AsmPrinter/DwarfStringPool.cpp
+SRCS_MIN+= CodeGen/AsmPrinter/DwarfUnit.cpp
+SRCS_MIN+= CodeGen/AsmPrinter/EHStreamer.cpp
+SRCS_MIN+= CodeGen/AsmPrinter/ErlangGCPrinter.cpp
+SRCS_MIN+= CodeGen/AsmPrinter/OcamlGCPrinter.cpp
+SRCS_MIN+= CodeGen/AsmPrinter/WinCFGuard.cpp
+SRCS_MIN+= CodeGen/AsmPrinter/WinException.cpp
+SRCS_MIN+= CodeGen/AtomicExpandPass.cpp
+SRCS_MIN+= CodeGen/BasicTargetTransformInfo.cpp
+SRCS_MIN+= CodeGen/BranchFolding.cpp
+SRCS_MIN+= CodeGen/BranchRelaxation.cpp
+SRCS_MIN+= CodeGen/BreakFalseDeps.cpp
+SRCS_MIN+= CodeGen/BuiltinGCs.cpp
+SRCS_MIN+= CodeGen/CFIInstrInserter.cpp
+SRCS_MIN+= CodeGen/CalcSpillWeights.cpp
+SRCS_MIN+= CodeGen/CallingConvLower.cpp
+SRCS_MIN+= CodeGen/CodeGen.cpp
+SRCS_MIN+= CodeGen/CodeGenPrepare.cpp
+SRCS_MIN+= CodeGen/CriticalAntiDepBreaker.cpp
+SRCS_MIN+= CodeGen/DFAPacketizer.cpp
+SRCS_MIN+= CodeGen/DeadMachineInstructionElim.cpp
+SRCS_MIN+= CodeGen/DetectDeadLanes.cpp
+SRCS_MIN+= CodeGen/DwarfEHPrepare.cpp
+SRCS_MIN+= CodeGen/EarlyIfConversion.cpp
+SRCS_MIN+= CodeGen/EdgeBundles.cpp
+SRCS_MIN+= CodeGen/ExecutionDomainFix.cpp
+SRCS_MIN+= CodeGen/ExpandISelPseudos.cpp
+SRCS_MIN+= CodeGen/ExpandMemCmp.cpp
+SRCS_MIN+= CodeGen/ExpandPostRAPseudos.cpp
+SRCS_MIN+= CodeGen/ExpandReductions.cpp
+SRCS_MIN+= CodeGen/FEntryInserter.cpp
+SRCS_MIN+= CodeGen/FaultMaps.cpp
+SRCS_MIN+= CodeGen/FuncletLayout.cpp
+SRCS_MIN+= CodeGen/GCMetadata.cpp
+SRCS_MIN+= CodeGen/GCMetadataPrinter.cpp
+SRCS_MIN+= CodeGen/GCRootLowering.cpp
+SRCS_MIN+= CodeGen/GCStrategy.cpp
+SRCS_MIN+= CodeGen/GlobalISel/CallLowering.cpp
+SRCS_MIN+= CodeGen/GlobalISel/GlobalISel.cpp
+SRCS_MIN+= CodeGen/GlobalISel/IRTranslator.cpp
+SRCS_MIN+= CodeGen/GlobalISel/InstructionSelect.cpp
+SRCS_MIN+= CodeGen/GlobalISel/InstructionSelector.cpp
+SRCS_MIN+= CodeGen/GlobalISel/LegalityPredicates.cpp
+SRCS_MIN+= CodeGen/GlobalISel/LegalizeMutations.cpp
+SRCS_MIN+= CodeGen/GlobalISel/Legalizer.cpp
+SRCS_MIN+= CodeGen/GlobalISel/LegalizerHelper.cpp
+SRCS_MIN+= CodeGen/GlobalISel/LegalizerInfo.cpp
+SRCS_MIN+= CodeGen/GlobalISel/Localizer.cpp
+SRCS_MIN+= CodeGen/GlobalISel/MachineIRBuilder.cpp
+SRCS_MIN+= CodeGen/GlobalISel/RegBankSelect.cpp
+SRCS_MIN+= CodeGen/GlobalISel/RegisterBank.cpp
+SRCS_MIN+= CodeGen/GlobalISel/RegisterBankInfo.cpp
+SRCS_MIN+= CodeGen/GlobalISel/Utils.cpp
+SRCS_MIN+= CodeGen/GlobalMerge.cpp
+SRCS_MIN+= CodeGen/IfConversion.cpp
+SRCS_MIN+= CodeGen/ImplicitNullChecks.cpp
+SRCS_MIN+= CodeGen/IndirectBrExpandPass.cpp
+SRCS_MIN+= CodeGen/InlineSpiller.cpp
+SRCS_MIN+= CodeGen/InterferenceCache.cpp
+SRCS_MIN+= CodeGen/InterleavedAccessPass.cpp
+SRCS_MIN+= CodeGen/IntrinsicLowering.cpp
+SRCS_MIN+= CodeGen/LLVMTargetMachine.cpp
+SRCS_MIN+= CodeGen/LatencyPriorityQueue.cpp
+SRCS_MIN+= CodeGen/LazyMachineBlockFrequencyInfo.cpp
+SRCS_MIN+= CodeGen/LexicalScopes.cpp
+SRCS_MIN+= CodeGen/LiveDebugValues.cpp
+SRCS_MIN+= CodeGen/LiveDebugVariables.cpp
+SRCS_MIN+= CodeGen/LiveInterval.cpp
+SRCS_MIN+= CodeGen/LiveIntervalUnion.cpp
+SRCS_MIN+= CodeGen/LiveIntervals.cpp
+SRCS_MIN+= CodeGen/LivePhysRegs.cpp
+SRCS_MIN+= CodeGen/LiveRangeCalc.cpp
+SRCS_MIN+= CodeGen/LiveRangeEdit.cpp
+SRCS_MIN+= CodeGen/LiveRangeShrink.cpp
+SRCS_MIN+= CodeGen/LiveRegMatrix.cpp
+SRCS_MIN+= CodeGen/LiveRegUnits.cpp
+SRCS_MIN+= CodeGen/LiveStacks.cpp
+SRCS_MIN+= CodeGen/LiveVariables.cpp
+SRCS_MIN+= CodeGen/LocalStackSlotAllocation.cpp
+SRCS_MIN+= CodeGen/LoopTraversal.cpp
+SRCS_MIN+= CodeGen/LowLevelType.cpp
+SRCS_MIN+= CodeGen/LowerEmuTLS.cpp
+SRCS_MIN+= CodeGen/MIRCanonicalizerPass.cpp
+SRCS_EXT+= CodeGen/MIRParser/MILexer.cpp
+SRCS_EXT+= CodeGen/MIRParser/MIParser.cpp
+SRCS_EXT+= CodeGen/MIRParser/MIRParser.cpp
+SRCS_MIN+= CodeGen/MIRPrinter.cpp
+SRCS_MIN+= CodeGen/MIRPrintingPass.cpp
+SRCS_MIN+= CodeGen/MachineBasicBlock.cpp
+SRCS_MIN+= CodeGen/MachineBlockFrequencyInfo.cpp
+SRCS_MIN+= CodeGen/MachineBlockPlacement.cpp
+SRCS_MIN+= CodeGen/MachineBranchProbabilityInfo.cpp
+SRCS_MIN+= CodeGen/MachineCSE.cpp
+SRCS_MIN+= CodeGen/MachineCombiner.cpp
+SRCS_MIN+= CodeGen/MachineCopyPropagation.cpp
+SRCS_MIN+= CodeGen/MachineDominanceFrontier.cpp
+SRCS_MIN+= CodeGen/MachineDominators.cpp
+SRCS_MIN+= CodeGen/MachineFrameInfo.cpp
+SRCS_MIN+= CodeGen/MachineFunction.cpp
+SRCS_MIN+= CodeGen/MachineFunctionPass.cpp
+SRCS_MIN+= CodeGen/MachineFunctionPrinterPass.cpp
+SRCS_MIN+= CodeGen/MachineInstr.cpp
+SRCS_MIN+= CodeGen/MachineInstrBundle.cpp
+SRCS_MIN+= CodeGen/MachineLICM.cpp
+SRCS_MIN+= CodeGen/MachineLoopInfo.cpp
+SRCS_MIN+= CodeGen/MachineModuleInfo.cpp
+SRCS_MIN+= CodeGen/MachineModuleInfoImpls.cpp
+SRCS_MIN+= CodeGen/MachineOperand.cpp
+SRCS_MIN+= CodeGen/MachineOptimizationRemarkEmitter.cpp
+SRCS_MIN+= CodeGen/MachineOutliner.cpp
+SRCS_MIN+= CodeGen/MachinePassRegistry.cpp
+SRCS_MIN+= CodeGen/MachinePipeliner.cpp
+SRCS_MIN+= CodeGen/MachinePostDominators.cpp
+SRCS_MIN+= CodeGen/MachineRegionInfo.cpp
+SRCS_MIN+= CodeGen/MachineRegisterInfo.cpp
+SRCS_MIN+= CodeGen/MachineSSAUpdater.cpp
+SRCS_MIN+= CodeGen/MachineScheduler.cpp
+SRCS_MIN+= CodeGen/MachineSink.cpp
+SRCS_MIN+= CodeGen/MachineTraceMetrics.cpp
+SRCS_MIN+= CodeGen/MachineVerifier.cpp
+SRCS_MIN+= CodeGen/MacroFusion.cpp
+SRCS_MIN+= CodeGen/OptimizePHIs.cpp
+SRCS_MIN+= CodeGen/PHIElimination.cpp
+SRCS_MIN+= CodeGen/PHIEliminationUtils.cpp
+SRCS_MIN+= CodeGen/ParallelCG.cpp
+SRCS_MIN+= CodeGen/PatchableFunction.cpp
+SRCS_MIN+= CodeGen/PeepholeOptimizer.cpp
+SRCS_MIN+= CodeGen/PostRAHazardRecognizer.cpp
+SRCS_MIN+= CodeGen/PostRASchedulerList.cpp
+SRCS_MIN+= CodeGen/PreISelIntrinsicLowering.cpp
+SRCS_MIN+= CodeGen/ProcessImplicitDefs.cpp
+SRCS_MIN+= CodeGen/PrologEpilogInserter.cpp
+SRCS_MIN+= CodeGen/PseudoSourceValue.cpp
+SRCS_MIN+= CodeGen/ReachingDefAnalysis.cpp
+SRCS_MIN+= CodeGen/RegAllocBase.cpp
+SRCS_MIN+= CodeGen/RegAllocBasic.cpp
+SRCS_MIN+= CodeGen/RegAllocFast.cpp
+SRCS_MIN+= CodeGen/RegAllocGreedy.cpp
+SRCS_MIN+= CodeGen/RegAllocPBQP.cpp
+SRCS_MIN+= CodeGen/RegUsageInfoCollector.cpp
+SRCS_MIN+= CodeGen/RegUsageInfoPropagate.cpp
+SRCS_MIN+= CodeGen/RegisterClassInfo.cpp
+SRCS_MIN+= CodeGen/RegisterCoalescer.cpp
+SRCS_MIN+= CodeGen/RegisterPressure.cpp
+SRCS_MIN+= CodeGen/RegisterScavenging.cpp
+SRCS_MIN+= CodeGen/RegisterUsageInfo.cpp
+SRCS_MIN+= CodeGen/RenameIndependentSubregs.cpp
+SRCS_MIN+= CodeGen/ResetMachineFunctionPass.cpp
+SRCS_MIN+= CodeGen/SafeStack.cpp
+SRCS_MIN+= CodeGen/SafeStackColoring.cpp
+SRCS_MIN+= CodeGen/SafeStackLayout.cpp
+SRCS_MIN+= CodeGen/ScalarizeMaskedMemIntrin.cpp
+SRCS_MIN+= CodeGen/ScheduleDAG.cpp
+SRCS_MIN+= CodeGen/ScheduleDAGInstrs.cpp
+SRCS_MIN+= CodeGen/ScheduleDAGPrinter.cpp
+SRCS_MIN+= CodeGen/ScoreboardHazardRecognizer.cpp
+SRCS_MIN+= CodeGen/SelectionDAG/DAGCombiner.cpp
+SRCS_MIN+= CodeGen/SelectionDAG/FastISel.cpp
+SRCS_MIN+= CodeGen/SelectionDAG/FunctionLoweringInfo.cpp
+SRCS_MIN+= CodeGen/SelectionDAG/InstrEmitter.cpp
+SRCS_MIN+= CodeGen/SelectionDAG/LegalizeDAG.cpp
+SRCS_MIN+= CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
+SRCS_MIN+= CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
+SRCS_MIN+= CodeGen/SelectionDAG/LegalizeTypes.cpp
+SRCS_MIN+= CodeGen/SelectionDAG/LegalizeTypesGeneric.cpp
+SRCS_MIN+= CodeGen/SelectionDAG/LegalizeVectorOps.cpp
+SRCS_MIN+= CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
+SRCS_MIN+= CodeGen/SelectionDAG/ResourcePriorityQueue.cpp
+SRCS_MIN+= CodeGen/SelectionDAG/ScheduleDAGFast.cpp
+SRCS_MIN+= CodeGen/SelectionDAG/ScheduleDAGRRList.cpp
+SRCS_MIN+= CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp
+SRCS_MIN+= CodeGen/SelectionDAG/ScheduleDAGVLIW.cpp
+SRCS_MIN+= CodeGen/SelectionDAG/SelectionDAG.cpp
+SRCS_MIN+= CodeGen/SelectionDAG/SelectionDAGAddressAnalysis.cpp
+SRCS_MIN+= CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
+SRCS_MIN+= CodeGen/SelectionDAG/SelectionDAGDumper.cpp
+SRCS_MIN+= CodeGen/SelectionDAG/SelectionDAGISel.cpp
+SRCS_MIN+= CodeGen/SelectionDAG/SelectionDAGPrinter.cpp
+SRCS_MIN+= CodeGen/SelectionDAG/SelectionDAGTargetInfo.cpp
+SRCS_MIN+= CodeGen/SelectionDAG/StatepointLowering.cpp
+SRCS_MIN+= CodeGen/SelectionDAG/TargetLowering.cpp
+SRCS_MIN+= CodeGen/ShadowStackGCLowering.cpp
+SRCS_MIN+= CodeGen/ShrinkWrap.cpp
+SRCS_MIN+= CodeGen/SjLjEHPrepare.cpp
+SRCS_MIN+= CodeGen/SlotIndexes.cpp
+SRCS_MIN+= CodeGen/SpillPlacement.cpp
+SRCS_MIN+= CodeGen/SplitKit.cpp
+SRCS_MIN+= CodeGen/StackColoring.cpp
+SRCS_MIN+= CodeGen/StackMapLivenessAnalysis.cpp
+SRCS_MIN+= CodeGen/StackMaps.cpp
+SRCS_MIN+= CodeGen/StackProtector.cpp
+SRCS_MIN+= CodeGen/StackSlotColoring.cpp
+SRCS_MIN+= CodeGen/TailDuplication.cpp
+SRCS_MIN+= CodeGen/TailDuplicator.cpp
+SRCS_MIN+= CodeGen/TargetFrameLoweringImpl.cpp
+SRCS_MIN+= CodeGen/TargetInstrInfo.cpp
+SRCS_MIN+= CodeGen/TargetLoweringBase.cpp
+SRCS_MIN+= CodeGen/TargetLoweringObjectFileImpl.cpp
+SRCS_MIN+= CodeGen/TargetOptionsImpl.cpp
+SRCS_MIN+= CodeGen/TargetPassConfig.cpp
+SRCS_MIN+= CodeGen/TargetRegisterInfo.cpp
+SRCS_MIN+= CodeGen/TargetSchedule.cpp
+SRCS_MIN+= CodeGen/TargetSubtargetInfo.cpp
+SRCS_MIN+= CodeGen/TwoAddressInstructionPass.cpp
+SRCS_MIN+= CodeGen/UnreachableBlockElim.cpp
+SRCS_MIN+= CodeGen/ValueTypes.cpp
+SRCS_MIN+= CodeGen/VirtRegMap.cpp
+SRCS_MIN+= CodeGen/WasmEHPrepare.cpp
+SRCS_MIN+= CodeGen/WinEHPrepare.cpp
+SRCS_MIN+= CodeGen/XRayInstrumentation.cpp
+SRCS_EXT+= DebugInfo/CodeView/AppendingTypeTableBuilder.cpp
+SRCS_MIN+= DebugInfo/CodeView/CVSymbolVisitor.cpp
+SRCS_MIN+= DebugInfo/CodeView/CVTypeVisitor.cpp
+SRCS_MIN+= DebugInfo/CodeView/CodeViewError.cpp
+SRCS_MIN+= DebugInfo/CodeView/CodeViewRecordIO.cpp
+SRCS_MIN+= DebugInfo/CodeView/ContinuationRecordBuilder.cpp
+SRCS_EXT+= DebugInfo/CodeView/DebugChecksumsSubsection.cpp
+SRCS_EXT+= DebugInfo/CodeView/DebugCrossExSubsection.cpp
+SRCS_EXT+= DebugInfo/CodeView/DebugCrossImpSubsection.cpp
+SRCS_EXT+= DebugInfo/CodeView/DebugFrameDataSubsection.cpp
+SRCS_EXT+= DebugInfo/CodeView/DebugInlineeLinesSubsection.cpp
+SRCS_EXT+= DebugInfo/CodeView/DebugLinesSubsection.cpp
+SRCS_EXT+= DebugInfo/CodeView/DebugStringTableSubsection.cpp
+SRCS_EXT+= DebugInfo/CodeView/DebugSubsection.cpp
+SRCS_EXT+= DebugInfo/CodeView/DebugSubsectionRecord.cpp
+SRCS_EXT+= DebugInfo/CodeView/DebugSubsectionVisitor.cpp
+SRCS_EXT+= DebugInfo/CodeView/DebugSymbolRVASubsection.cpp
+SRCS_EXT+= DebugInfo/CodeView/DebugSymbolsSubsection.cpp
+SRCS_EXT+= DebugInfo/CodeView/EnumTables.cpp
+SRCS_MIN+= DebugInfo/CodeView/Formatters.cpp
+SRCS_MIN+= DebugInfo/CodeView/GlobalTypeTableBuilder.cpp
+SRCS_EXT+= DebugInfo/CodeView/LazyRandomTypeCollection.cpp
+SRCS_MIN+= DebugInfo/CodeView/Line.cpp
+SRCS_EXT+= DebugInfo/CodeView/MergingTypeTableBuilder.cpp
+SRCS_MIN+= DebugInfo/CodeView/RecordName.cpp
+SRCS_MIN+= DebugInfo/CodeView/RecordSerialization.cpp
+SRCS_MIN+= DebugInfo/CodeView/SimpleTypeSerializer.cpp
+SRCS_EXT+= DebugInfo/CodeView/StringsAndChecksums.cpp
+SRCS_MIN+= DebugInfo/CodeView/SymbolDumper.cpp
+SRCS_MIN+= DebugInfo/CodeView/SymbolRecordMapping.cpp
+SRCS_EXT+= DebugInfo/CodeView/SymbolSerializer.cpp
+SRCS_MIN+= DebugInfo/CodeView/TypeDumpVisitor.cpp
+SRCS_MIN+= DebugInfo/CodeView/TypeHashing.cpp
+SRCS_MIN+= DebugInfo/CodeView/TypeIndex.cpp
+SRCS_MIN+= DebugInfo/CodeView/TypeIndexDiscovery.cpp
+SRCS_MIN+= DebugInfo/CodeView/TypeRecordMapping.cpp
+SRCS_MIN+= DebugInfo/CodeView/TypeStreamMerger.cpp
+SRCS_MIN+= DebugInfo/CodeView/TypeTableCollection.cpp
+SRCS_MIW+= DebugInfo/DWARF/DWARFAbbreviationDeclaration.cpp
+SRCS_MIW+= DebugInfo/DWARF/DWARFAcceleratorTable.cpp
+SRCS_MIW+= DebugInfo/DWARF/DWARFAddressRange.cpp
+SRCS_MIW+= DebugInfo/DWARF/DWARFCompileUnit.cpp
+SRCS_MIW+= DebugInfo/DWARF/DWARFContext.cpp
+SRCS_MIW+= DebugInfo/DWARF/DWARFDataExtractor.cpp
+SRCS_MIW+= DebugInfo/DWARF/DWARFDebugAbbrev.cpp
+SRCS_MIW+= DebugInfo/DWARF/DWARFDebugAddr.cpp
+SRCS_MIW+= DebugInfo/DWARF/DWARFDebugArangeSet.cpp
+SRCS_MIW+= DebugInfo/DWARF/DWARFDebugAranges.cpp
+SRCS_MIW+= DebugInfo/DWARF/DWARFDebugFrame.cpp
+SRCS_MIW+= DebugInfo/DWARF/DWARFDebugInfoEntry.cpp
+SRCS_MIW+= DebugInfo/DWARF/DWARFDebugLine.cpp
+SRCS_MIW+= DebugInfo/DWARF/DWARFDebugLoc.cpp
+SRCS_MIW+= DebugInfo/DWARF/DWARFDebugMacro.cpp
+SRCS_MIW+= DebugInfo/DWARF/DWARFDebugPubTable.cpp
+SRCS_MIW+= DebugInfo/DWARF/DWARFDebugRangeList.cpp
+SRCS_MIW+= DebugInfo/DWARF/DWARFDebugRnglists.cpp
+SRCS_MIW+= DebugInfo/DWARF/DWARFDie.cpp
+SRCS_MIW+= DebugInfo/DWARF/DWARFExpression.cpp
+SRCS_MIW+= DebugInfo/DWARF/DWARFFormValue.cpp
+SRCS_MIW+= DebugInfo/DWARF/DWARFGdbIndex.cpp
+SRCS_MIW+= DebugInfo/DWARF/DWARFListTable.cpp
+SRCS_MIW+= DebugInfo/DWARF/DWARFTypeUnit.cpp
+SRCS_MIW+= DebugInfo/DWARF/DWARFUnit.cpp
+SRCS_MIW+= DebugInfo/DWARF/DWARFUnitIndex.cpp
+SRCS_MIW+= DebugInfo/DWARF/DWARFVerifier.cpp
+SRCS_MIN+= DebugInfo/MSF/MSFBuilder.cpp
+SRCS_MIN+= DebugInfo/MSF/MSFCommon.cpp
+SRCS_MIN+= DebugInfo/MSF/MSFError.cpp
+SRCS_MIN+= DebugInfo/MSF/MappedBlockStream.cpp
+SRCS_EXT+= DebugInfo/PDB/GenericError.cpp
+SRCS_EXT+= DebugInfo/PDB/IPDBSourceFile.cpp
+SRCS_EXT+= DebugInfo/PDB/Native/DbiModuleDescriptor.cpp
+SRCS_EXT+= DebugInfo/PDB/Native/DbiModuleDescriptorBuilder.cpp
+SRCS_EXT+= DebugInfo/PDB/Native/DbiModuleList.cpp
+SRCS_EXT+= DebugInfo/PDB/Native/DbiStream.cpp
+SRCS_EXT+= DebugInfo/PDB/Native/DbiStreamBuilder.cpp
+SRCS_EXT+= DebugInfo/PDB/Native/EnumTables.cpp
+SRCS_EXT+= DebugInfo/PDB/Native/GSIStreamBuilder.cpp
+SRCS_EXT+= DebugInfo/PDB/Native/GlobalsStream.cpp
+SRCS_EXT+= DebugInfo/PDB/Native/Hash.cpp
+SRCS_EXT+= DebugInfo/PDB/Native/HashTable.cpp
+SRCS_EXT+= DebugInfo/PDB/Native/InfoStream.cpp
+SRCS_EXT+= DebugInfo/PDB/Native/InfoStreamBuilder.cpp
+SRCS_EXT+= DebugInfo/PDB/Native/ModuleDebugStream.cpp
+SRCS_EXT+= DebugInfo/PDB/Native/NamedStreamMap.cpp
+SRCS_EXT+= DebugInfo/PDB/Native/NativeBuiltinSymbol.cpp
+SRCS_EXT+= DebugInfo/PDB/Native/NativeCompilandSymbol.cpp
+SRCS_EXT+= DebugInfo/PDB/Native/NativeEnumModules.cpp
+SRCS_EXT+= DebugInfo/PDB/Native/NativeEnumSymbol.cpp
+SRCS_EXT+= DebugInfo/PDB/Native/NativeEnumTypes.cpp
+SRCS_EXT+= DebugInfo/PDB/Native/NativeExeSymbol.cpp
+SRCS_EXT+= DebugInfo/PDB/Native/NativeRawSymbol.cpp
+SRCS_EXT+= DebugInfo/PDB/Native/NativeSession.cpp
+SRCS_EXT+= DebugInfo/PDB/Native/PDBFile.cpp
+SRCS_EXT+= DebugInfo/PDB/Native/PDBFileBuilder.cpp
+SRCS_EXT+= DebugInfo/PDB/Native/PDBStringTable.cpp
+SRCS_EXT+= DebugInfo/PDB/Native/PDBStringTableBuilder.cpp
+SRCS_EXT+= DebugInfo/PDB/Native/PublicsStream.cpp
+SRCS_EXT+= DebugInfo/PDB/Native/RawError.cpp
+SRCS_EXT+= DebugInfo/PDB/Native/SymbolStream.cpp
+SRCS_EXT+= DebugInfo/PDB/Native/TpiHashing.cpp
+SRCS_EXT+= DebugInfo/PDB/Native/TpiStream.cpp
+SRCS_EXT+= DebugInfo/PDB/Native/TpiStreamBuilder.cpp
+SRCS_EXT+= DebugInfo/PDB/PDB.cpp
+SRCS_EXT+= DebugInfo/PDB/PDBContext.cpp
+SRCS_EXT+= DebugInfo/PDB/PDBExtras.cpp
+SRCS_EXT+= DebugInfo/PDB/PDBInterfaceAnchors.cpp
+SRCS_EXT+= DebugInfo/PDB/PDBSymDumper.cpp
+SRCS_EXT+= DebugInfo/PDB/PDBSymbol.cpp
+SRCS_EXT+= DebugInfo/PDB/PDBSymbolAnnotation.cpp
+SRCS_EXT+= DebugInfo/PDB/PDBSymbolBlock.cpp
+SRCS_EXT+= DebugInfo/PDB/PDBSymbolCompiland.cpp
+SRCS_EXT+= DebugInfo/PDB/PDBSymbolCompilandDetails.cpp
+SRCS_EXT+= DebugInfo/PDB/PDBSymbolCompilandEnv.cpp
+SRCS_EXT+= DebugInfo/PDB/PDBSymbolCustom.cpp
+SRCS_EXT+= DebugInfo/PDB/PDBSymbolData.cpp
+SRCS_EXT+= DebugInfo/PDB/PDBSymbolExe.cpp
+SRCS_EXT+= DebugInfo/PDB/PDBSymbolFunc.cpp
+SRCS_EXT+= DebugInfo/PDB/PDBSymbolFuncDebugEnd.cpp
+SRCS_EXT+= DebugInfo/PDB/PDBSymbolFuncDebugStart.cpp
+SRCS_EXT+= DebugInfo/PDB/PDBSymbolLabel.cpp
+SRCS_EXT+= DebugInfo/PDB/PDBSymbolPublicSymbol.cpp
+SRCS_EXT+= DebugInfo/PDB/PDBSymbolThunk.cpp
+SRCS_EXT+= DebugInfo/PDB/PDBSymbolTypeArray.cpp
+SRCS_EXT+= DebugInfo/PDB/PDBSymbolTypeBaseClass.cpp
+SRCS_EXT+= DebugInfo/PDB/PDBSymbolTypeBuiltin.cpp
+SRCS_EXT+= DebugInfo/PDB/PDBSymbolTypeCustom.cpp
+SRCS_EXT+= DebugInfo/PDB/PDBSymbolTypeDimension.cpp
+SRCS_EXT+= DebugInfo/PDB/PDBSymbolTypeEnum.cpp
+SRCS_EXT+= DebugInfo/PDB/PDBSymbolTypeFriend.cpp
+SRCS_EXT+= DebugInfo/PDB/PDBSymbolTypeFunctionArg.cpp
+SRCS_EXT+= DebugInfo/PDB/PDBSymbolTypeFunctionSig.cpp
+SRCS_EXT+= DebugInfo/PDB/PDBSymbolTypeManaged.cpp
+SRCS_EXT+= DebugInfo/PDB/PDBSymbolTypePointer.cpp
+SRCS_EXT+= DebugInfo/PDB/PDBSymbolTypeTypedef.cpp
+SRCS_EXT+= DebugInfo/PDB/PDBSymbolTypeUDT.cpp
+SRCS_EXT+= DebugInfo/PDB/PDBSymbolTypeVTable.cpp
+SRCS_EXT+= DebugInfo/PDB/PDBSymbolTypeVTableShape.cpp
+SRCS_EXT+= DebugInfo/PDB/PDBSymbolUnknown.cpp
+SRCS_EXT+= DebugInfo/PDB/PDBSymbolUsingNamespace.cpp
+SRCS_EXT+= DebugInfo/PDB/UDTLayout.cpp
+SRCS_EXT+= DebugInfo/Symbolize/DIPrinter.cpp
+SRCS_MIW+= DebugInfo/Symbolize/SymbolizableObjectFile.cpp
+SRCS_MIW+= DebugInfo/Symbolize/Symbolize.cpp
+SRCS_MIN+= Demangle/ItaniumDemangle.cpp
+SRCS_XDB+= ExecutionEngine/ExecutionEngine.cpp
+SRCS_XDB+= ExecutionEngine/ExecutionEngineBindings.cpp
+SRCS_XDB+= ExecutionEngine/GDBRegistrationListener.cpp
+SRCS_XDB+= ExecutionEngine/Interpreter/Execution.cpp
+SRCS_XDB+= ExecutionEngine/Interpreter/ExternalFunctions.cpp
+SRCS_XDB+= ExecutionEngine/Interpreter/Interpreter.cpp
+SRCS_XDB+= ExecutionEngine/MCJIT/MCJIT.cpp
+SRCS_EXT+= ExecutionEngine/Orc/CompileOnDemandLayer.cpp
+SRCS_EXT+= ExecutionEngine/Orc/Core.cpp
+SRCS_EXT+= ExecutionEngine/Orc/ExecutionUtils.cpp
+SRCS_EXT+= ExecutionEngine/Orc/IRCompileLayer.cpp
+SRCS_EXT+= ExecutionEngine/Orc/IRTransformLayer.cpp
+SRCS_EXT+= ExecutionEngine/Orc/IndirectionUtils.cpp
+SRCS_EXT+= ExecutionEngine/Orc/LLJIT.cpp
+SRCS_EXT+= ExecutionEngine/Orc/Layer.cpp
+SRCS_EXT+= ExecutionEngine/Orc/Legacy.cpp
+SRCS_EXT+= ExecutionEngine/Orc/NullResolver.cpp
+SRCS_EXT+= ExecutionEngine/Orc/OrcABISupport.cpp
+SRCS_EXT+= ExecutionEngine/Orc/OrcCBindings.cpp
+SRCS_EXT+= ExecutionEngine/Orc/OrcError.cpp
+SRCS_EXT+= ExecutionEngine/Orc/OrcMCJITReplacement.cpp
+SRCS_EXT+= ExecutionEngine/Orc/RPCUtils.cpp
+SRCS_EXT+= ExecutionEngine/Orc/RTDyldObjectLinkingLayer.cpp
+SRCS_XDB+= ExecutionEngine/RuntimeDyld/JITSymbol.cpp
+SRCS_XDB+= ExecutionEngine/RuntimeDyld/RTDyldMemoryManager.cpp
+SRCS_XDB+= ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp
+SRCS_XDB+= ExecutionEngine/RuntimeDyld/RuntimeDyldCOFF.cpp
+SRCS_XDB+= ExecutionEngine/RuntimeDyld/RuntimeDyldChecker.cpp
+SRCS_XDB+= ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp
+SRCS_XDB+= ExecutionEngine/RuntimeDyld/RuntimeDyldMachO.cpp
+SRCS_XDB+= ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldELFMips.cpp
+SRCS_XDB+= ExecutionEngine/SectionMemoryManager.cpp
+SRCS_XDB+= ExecutionEngine/TargetSelect.cpp
+SRCS_MIN+= IR/AsmWriter.cpp
+SRCS_MIN+= IR/Attributes.cpp
+SRCS_MIN+= IR/AutoUpgrade.cpp
+SRCS_MIN+= IR/BasicBlock.cpp
+SRCS_MIN+= IR/Comdat.cpp
+SRCS_MIN+= IR/ConstantFold.cpp
+SRCS_MIN+= IR/ConstantRange.cpp
+SRCS_MIN+= IR/Constants.cpp
+SRCS_MIN+= IR/Core.cpp
+SRCS_MIN+= IR/DIBuilder.cpp
+SRCS_MIN+= IR/DataLayout.cpp
+SRCS_MIN+= IR/DebugInfo.cpp
+SRCS_MIN+= IR/DebugInfoMetadata.cpp
+SRCS_MIN+= IR/DebugLoc.cpp
+SRCS_MIN+= IR/DiagnosticHandler.cpp
+SRCS_MIN+= IR/DiagnosticInfo.cpp
+SRCS_MIN+= IR/DiagnosticPrinter.cpp
+SRCS_MIN+= IR/DomTreeUpdater.cpp
+SRCS_MIN+= IR/Dominators.cpp
+SRCS_MIN+= IR/Function.cpp
+SRCS_MIN+= IR/GVMaterializer.cpp
+SRCS_MIN+= IR/Globals.cpp
+SRCS_MIN+= IR/IRBuilder.cpp
+SRCS_MIN+= IR/IRPrintingPasses.cpp
+SRCS_MIN+= IR/InlineAsm.cpp
+SRCS_MIN+= IR/Instruction.cpp
+SRCS_MIN+= IR/Instructions.cpp
+SRCS_MIN+= IR/IntrinsicInst.cpp
+SRCS_MIN+= IR/LLVMContext.cpp
+SRCS_MIN+= IR/LLVMContextImpl.cpp
+SRCS_MIN+= IR/LegacyPassManager.cpp
+SRCS_MIN+= IR/MDBuilder.cpp
+SRCS_MIN+= IR/Mangler.cpp
+SRCS_MIN+= IR/Metadata.cpp
+SRCS_MIN+= IR/Module.cpp
+SRCS_MIN+= IR/ModuleSummaryIndex.cpp
+SRCS_MIN+= IR/Operator.cpp
+SRCS_MIN+= IR/OptBisect.cpp
+SRCS_MIN+= IR/Pass.cpp
+SRCS_MIN+= IR/PassManager.cpp
+SRCS_MIN+= IR/PassRegistry.cpp
+SRCS_MIN+= IR/ProfileSummary.cpp
+SRCS_MIN+= IR/SafepointIRVerifier.cpp
+SRCS_MIN+= IR/Statepoint.cpp
+SRCS_MIN+= IR/Type.cpp
+SRCS_MIN+= IR/TypeFinder.cpp
+SRCS_MIN+= IR/Use.cpp
+SRCS_MIN+= IR/User.cpp
+SRCS_MIN+= IR/Value.cpp
+SRCS_MIN+= IR/ValueSymbolTable.cpp
+SRCS_MIN+= IR/Verifier.cpp
+SRCS_MIN+= IRReader/IRReader.cpp
+SRCS_EXL+= LTO/Caching.cpp
+SRCS_MIN+= LTO/LTO.cpp
+SRCS_MIN+= LTO/LTOBackend.cpp
+SRCS_EXL+= LTO/LTOCodeGenerator.cpp
+SRCS_EXL+= LTO/LTOModule.cpp
+SRCS_EXL+= LTO/ThinLTOCodeGenerator.cpp
+SRCS_MIN+= LTO/UpdateCompilerUsed.cpp
+SRCS_MIN+= LineEditor/LineEditor.cpp
+SRCS_MIN+= Linker/IRMover.cpp
+SRCS_MIN+= Linker/LinkModules.cpp
+SRCS_MIN+= MC/ConstantPools.cpp
+SRCS_MIN+= MC/ELFObjectWriter.cpp
+SRCS_MIN+= MC/MCAsmBackend.cpp
+SRCS_MIN+= MC/MCAsmInfo.cpp
+SRCS_MIN+= MC/MCAsmInfoCOFF.cpp
+SRCS_MIN+= MC/MCAsmInfoDarwin.cpp
+SRCS_MIN+= MC/MCAsmInfoELF.cpp
+SRCS_MIN+= MC/MCAsmMacro.cpp
+SRCS_MIN+= MC/MCAsmStreamer.cpp
+SRCS_MIN+= MC/MCAssembler.cpp
+SRCS_MIN+= MC/MCCodeEmitter.cpp
+SRCS_MIN+= MC/MCCodePadder.cpp
+SRCS_MIN+= MC/MCCodeView.cpp
+SRCS_MIN+= MC/MCContext.cpp
+SRCS_XDL+= MC/MCDisassembler/Disassembler.cpp
+SRCS_XDW+= MC/MCDisassembler/MCDisassembler.cpp
+SRCS_XDW+= MC/MCDisassembler/MCExternalSymbolizer.cpp
+SRCS_MIN+= MC/MCDisassembler/MCRelocationInfo.cpp
+SRCS_XDW+= MC/MCDisassembler/MCSymbolizer.cpp
+SRCS_MIN+= MC/MCDwarf.cpp
+SRCS_MIN+= MC/MCELFObjectTargetWriter.cpp
+SRCS_MIN+= MC/MCELFStreamer.cpp
+SRCS_MIN+= MC/MCExpr.cpp
+SRCS_MIN+= MC/MCFragment.cpp
+SRCS_MIN+= MC/MCInst.cpp
+SRCS_MIN+= MC/MCInstPrinter.cpp
+SRCS_MIN+= MC/MCInstrAnalysis.cpp
+SRCS_MIN+= MC/MCInstrDesc.cpp
+SRCS_MIN+= MC/MCLinkerOptimizationHint.cpp
+SRCS_MIN+= MC/MCMachOStreamer.cpp
+SRCS_MIN+= MC/MCMachObjectTargetWriter.cpp
+SRCS_MIN+= MC/MCNullStreamer.cpp
+SRCS_MIN+= MC/MCObjectFileInfo.cpp
+SRCS_MIN+= MC/MCObjectStreamer.cpp
+SRCS_MIN+= MC/MCObjectWriter.cpp
+SRCS_MIN+= MC/MCParser/AsmLexer.cpp
+SRCS_MIN+= MC/MCParser/AsmParser.cpp
+SRCS_MIN+= MC/MCParser/COFFAsmParser.cpp
+SRCS_MIN+= MC/MCParser/DarwinAsmParser.cpp
+SRCS_MIN+= MC/MCParser/ELFAsmParser.cpp
+SRCS_MIN+= MC/MCParser/MCAsmLexer.cpp
+SRCS_MIN+= MC/MCParser/MCAsmParser.cpp
+SRCS_MIN+= MC/MCParser/MCAsmParserExtension.cpp
+SRCS_MIN+= MC/MCParser/MCTargetAsmParser.cpp
+SRCS_MIN+= MC/MCRegisterInfo.cpp
+SRCS_MIN+= MC/MCSchedule.cpp
+SRCS_MIN+= MC/MCSection.cpp
+SRCS_MIN+= MC/MCSectionCOFF.cpp
+SRCS_MIN+= MC/MCSectionELF.cpp
+SRCS_MIN+= MC/MCSectionMachO.cpp
+SRCS_MIN+= MC/MCSectionWasm.cpp
+SRCS_MIN+= MC/MCStreamer.cpp
+SRCS_MIN+= MC/MCSubtargetInfo.cpp
+SRCS_MIN+= MC/MCSymbol.cpp
+SRCS_MIN+= MC/MCSymbolELF.cpp
+SRCS_MIN+= MC/MCTargetOptions.cpp
+SRCS_MIN+= MC/MCValue.cpp
+SRCS_MIN+= MC/MCWasmStreamer.cpp
+SRCS_MIN+= MC/MCWin64EH.cpp
+SRCS_MIN+= MC/MCWinCOFFStreamer.cpp
+SRCS_MIN+= MC/MCWinEH.cpp
+SRCS_MIN+= MC/MachObjectWriter.cpp
+SRCS_MIN+= MC/StringTableBuilder.cpp
+SRCS_MIN+= MC/SubtargetFeature.cpp
+SRCS_MIN+= MC/WasmObjectWriter.cpp
+SRCS_MIN+= MC/WinCOFFObjectWriter.cpp
+SRCS_MIN+= Object/Archive.cpp
+SRCS_MIN+= Object/ArchiveWriter.cpp
+SRCS_MIN+= Object/Binary.cpp
+SRCS_EXT+= Object/COFFImportFile.cpp
+SRCS_EXT+= Object/COFFModuleDefinition.cpp
+SRCS_MIN+= Object/COFFObjectFile.cpp
+SRCS_MIN+= Object/Decompressor.cpp
+SRCS_MIN+= Object/ELF.cpp
+SRCS_MIN+= Object/ELFObjectFile.cpp
+SRCS_MIN+= Object/Error.cpp
+SRCS_MIN+= Object/IRObjectFile.cpp
+SRCS_MIN+= Object/IRSymtab.cpp
+SRCS_MIN+= Object/MachOObjectFile.cpp
+SRCS_MIN+= Object/MachOUniversal.cpp
+SRCS_MIN+= Object/ModuleSymbolTable.cpp
+SRCS_EXT+= Object/Object.cpp
+SRCS_MIN+= Object/ObjectFile.cpp
+SRCS_MIN+= Object/RecordStreamer.cpp
+SRCS_MIW+= Object/SymbolSize.cpp
+SRCS_MIN+= Object/SymbolicFile.cpp
+SRCS_MIN+= Object/WasmObjectFile.cpp
+SRCS_MIN+= Object/WindowsResource.cpp
+SRCS_MIN+= ObjectYAML/COFFYAML.cpp
+SRCS_EXT+= ObjectYAML/CodeViewYAMLDebugSections.cpp
+SRCS_EXT+= ObjectYAML/CodeViewYAMLSymbols.cpp
+SRCS_EXT+= ObjectYAML/CodeViewYAMLTypes.cpp
+SRCS_MIN+= ObjectYAML/DWARFYAML.cpp
+SRCS_MIN+= ObjectYAML/ELFYAML.cpp
+SRCS_MIN+= ObjectYAML/MachOYAML.cpp
+SRCS_EXT+= ObjectYAML/YAML.cpp
+SRCS_MIN+= Option/Arg.cpp
+SRCS_MIN+= Option/ArgList.cpp
+SRCS_MIN+= Option/OptTable.cpp
+SRCS_MIN+= Option/Option.cpp
+SRCS_MIN+= Passes/PassBuilder.cpp
+SRCS_EXT+= Passes/PassPlugin.cpp
+SRCS_MIN+= ProfileData/Coverage/CoverageMapping.cpp
+SRCS_MIN+= ProfileData/Coverage/CoverageMappingReader.cpp
+SRCS_MIN+= ProfileData/Coverage/CoverageMappingWriter.cpp
+SRCS_MIN+= ProfileData/GCOV.cpp
+SRCS_MIN+= ProfileData/InstrProf.cpp
+SRCS_MIN+= ProfileData/InstrProfReader.cpp
+SRCS_MIN+= ProfileData/InstrProfWriter.cpp
+SRCS_MIN+= ProfileData/ProfileSummaryBuilder.cpp
+SRCS_MIN+= ProfileData/SampleProf.cpp
+SRCS_MIN+= ProfileData/SampleProfReader.cpp
+SRCS_EXT+= ProfileData/SampleProfWriter.cpp
+SRCS_MIN+= Support/APFloat.cpp
+SRCS_MIN+= Support/APInt.cpp
+SRCS_MIN+= Support/APSInt.cpp
+SRCS_MIN+= Support/ARMAttributeParser.cpp
+SRCS_MIN+= Support/ARMBuildAttrs.cpp
+SRCS_MIN+= Support/Allocator.cpp
+SRCS_MIN+= Support/Atomic.cpp
+SRCS_MIN+= Support/BinaryStreamError.cpp
+SRCS_MIN+= Support/BinaryStreamReader.cpp
+SRCS_MIN+= Support/BinaryStreamRef.cpp
+SRCS_MIN+= Support/BinaryStreamWriter.cpp
+SRCS_MIN+= Support/BlockFrequency.cpp
+SRCS_MIN+= Support/BranchProbability.cpp
+SRCS_EXT+= Support/COM.cpp
+SRCS_MIN+= Support/CachePruning.cpp
+SRCS_MIN+= Support/Chrono.cpp
+SRCS_MIN+= Support/CodeGenCoverage.cpp
+SRCS_MIN+= Support/CommandLine.cpp
+SRCS_MIN+= Support/Compression.cpp
+SRCS_MIN+= Support/ConvertUTF.cpp
+SRCS_MIN+= Support/ConvertUTFWrapper.cpp
+SRCS_MIN+= Support/CrashRecoveryContext.cpp
+SRCS_MIN+= Support/DAGDeltaAlgorithm.cpp
+SRCS_MIN+= Support/DJB.cpp
+SRCS_MIN+= Support/DataExtractor.cpp
+SRCS_MIN+= Support/Debug.cpp
+SRCS_MIN+= Support/DebugCounter.cpp
+SRCS_MIN+= Support/DeltaAlgorithm.cpp
+SRCS_MIN+= Support/DynamicLibrary.cpp
+SRCS_MIN+= Support/Errno.cpp
+SRCS_MIN+= Support/Error.cpp
+SRCS_MIN+= Support/ErrorHandling.cpp
+SRCS_EXL+= Support/FileOutputBuffer.cpp
+SRCS_EXT+= Support/FileUtilities.cpp
+SRCS_MIN+= Support/FoldingSet.cpp
+SRCS_MIN+= Support/FormatVariadic.cpp
+SRCS_MIN+= Support/FormattedStream.cpp
+SRCS_MIN+= Support/GlobPattern.cpp
+SRCS_MIN+= Support/GraphWriter.cpp
+SRCS_MIN+= Support/Hashing.cpp
+SRCS_MIN+= Support/Host.cpp
+SRCS_MIN+= Support/InitLLVM.cpp
+SRCS_MIN+= Support/IntEqClasses.cpp
+SRCS_MIN+= Support/IntervalMap.cpp
+SRCS_MIN+= Support/JSON.cpp
+SRCS_MIN+= Support/JamCRC.cpp
+SRCS_MIN+= Support/KnownBits.cpp
+SRCS_MIN+= Support/LEB128.cpp
+SRCS_MIN+= Support/LineIterator.cpp
+SRCS_MIN+= Support/Locale.cpp
+SRCS_MIN+= Support/LockFileManager.cpp
+SRCS_MIN+= Support/LowLevelType.cpp
+SRCS_MIN+= Support/MD5.cpp
+SRCS_MIN+= Support/ManagedStatic.cpp
+SRCS_MIN+= Support/MathExtras.cpp
+SRCS_XDL+= Support/Memory.cpp
+SRCS_MIN+= Support/MemoryBuffer.cpp
+SRCS_MIN+= Support/Mutex.cpp
+SRCS_MIN+= Support/NativeFormatting.cpp
+SRCS_MIN+= Support/Options.cpp
+SRCS_LLD+= Support/Parallel.cpp
+SRCS_MIN+= Support/Path.cpp
+SRCS_MIN+= Support/PluginLoader.cpp
+SRCS_MIN+= Support/PrettyStackTrace.cpp
+SRCS_MIN+= Support/Process.cpp
+SRCS_MIN+= Support/Program.cpp
+SRCS_MIN+= Support/RWMutex.cpp
+SRCS_MIN+= Support/RandomNumberGenerator.cpp
+SRCS_MIN+= Support/Regex.cpp
+SRCS_MIN+= Support/SHA1.cpp
+SRCS_MIN+= Support/ScaledNumber.cpp
+SRCS_MIN+= Support/ScopedPrinter.cpp
+SRCS_MIN+= Support/Signals.cpp
+SRCS_MIN+= Support/SmallPtrSet.cpp
+SRCS_MIN+= Support/SmallVector.cpp
+SRCS_MIN+= Support/SourceMgr.cpp
+SRCS_MIN+= Support/SpecialCaseList.cpp
+SRCS_MIN+= Support/Statistic.cpp
+SRCS_MIN+= Support/StringExtras.cpp
+SRCS_MIN+= Support/StringMap.cpp
+SRCS_MIN+= Support/StringRef.cpp
+SRCS_MIN+= Support/StringSaver.cpp
+SRCS_EXT+= Support/SystemUtils.cpp
+SRCS_LLD+= Support/TarWriter.cpp
+SRCS_MIN+= Support/TargetParser.cpp
+SRCS_MIN+= Support/TargetRegistry.cpp
+SRCS_MIN+= Support/ThreadLocal.cpp
+SRCS_MIN+= Support/ThreadPool.cpp
+SRCS_MIN+= Support/Threading.cpp
+SRCS_MIN+= Support/Timer.cpp
+SRCS_MIN+= Support/ToolOutputFile.cpp
+SRCS_MIN+= Support/TrigramIndex.cpp
+SRCS_MIN+= Support/Triple.cpp
+SRCS_MIN+= Support/Twine.cpp
+SRCS_MIN+= Support/Unicode.cpp
+SRCS_MIN+= Support/UnicodeCaseFold.cpp
+SRCS_MIN+= Support/Valgrind.cpp
+SRCS_MIN+= Support/VersionTuple.cpp
+SRCS_MIW+= Support/WithColor.cpp
+SRCS_MIN+= Support/YAMLParser.cpp
+SRCS_MIN+= Support/YAMLTraits.cpp
+SRCS_MIN+= Support/circular_raw_ostream.cpp
+SRCS_MIN+= Support/raw_os_ostream.cpp
+SRCS_MIN+= Support/raw_ostream.cpp
+SRCS_MIN+= Support/regcomp.c
+SRCS_MIN+= Support/regerror.c
+SRCS_MIN+= Support/regexec.c
+SRCS_MIN+= Support/regfree.c
+SRCS_MIN+= Support/regstrlcpy.c
+SRCS_LLD+= Support/xxhash.cpp
+SRCS_MIN+= TableGen/Error.cpp
+SRCS_MIN+= TableGen/JSONBackend.cpp
+SRCS_MIN+= TableGen/Main.cpp
+SRCS_MIN+= TableGen/Record.cpp
+SRCS_MIN+= TableGen/SetTheory.cpp
+SRCS_MIN+= TableGen/StringMatcher.cpp
+SRCS_MIN+= TableGen/TGLexer.cpp
+SRCS_MIN+= TableGen/TGParser.cpp
+SRCS_MIN+= TableGen/TableGenBackend.cpp
+.if ${MK_LLVM_TARGET_AARCH64} != "no"
+SRCS_MIN+= Target/AArch64/AArch64A53Fix835769.cpp
+SRCS_MIN+= Target/AArch64/AArch64A57FPLoadBalancing.cpp
+SRCS_MIN+= Target/AArch64/AArch64AdvSIMDScalarPass.cpp
+SRCS_MIN+= Target/AArch64/AArch64AsmPrinter.cpp
+SRCS_MIN+= Target/AArch64/AArch64CallLowering.cpp
+SRCS_MIN+= Target/AArch64/AArch64CleanupLocalDynamicTLSPass.cpp
+SRCS_MIN+= Target/AArch64/AArch64CollectLOH.cpp
+SRCS_MIN+= Target/AArch64/AArch64CondBrTuning.cpp
+SRCS_MIN+= Target/AArch64/AArch64ConditionOptimizer.cpp
+SRCS_MIN+= Target/AArch64/AArch64ConditionalCompares.cpp
+SRCS_MIN+= Target/AArch64/AArch64DeadRegisterDefinitionsPass.cpp
+SRCS_MIN+= Target/AArch64/AArch64ExpandPseudoInsts.cpp
+SRCS_MIN+= Target/AArch64/AArch64FalkorHWPFFix.cpp
+SRCS_MIN+= Target/AArch64/AArch64FastISel.cpp
+SRCS_MIN+= Target/AArch64/AArch64FrameLowering.cpp
+SRCS_MIN+= Target/AArch64/AArch64ISelDAGToDAG.cpp
+SRCS_MIN+= Target/AArch64/AArch64ISelLowering.cpp
+SRCS_MIN+= Target/AArch64/AArch64InstrInfo.cpp
+SRCS_MIN+= Target/AArch64/AArch64InstructionSelector.cpp
+SRCS_MIN+= Target/AArch64/AArch64LegalizerInfo.cpp
+SRCS_MIN+= Target/AArch64/AArch64LoadStoreOptimizer.cpp
+SRCS_MIN+= Target/AArch64/AArch64MCInstLower.cpp
+SRCS_MIN+= Target/AArch64/AArch64MacroFusion.cpp
+SRCS_MIN+= Target/AArch64/AArch64PBQPRegAlloc.cpp
+SRCS_MIN+= Target/AArch64/AArch64PromoteConstant.cpp
+SRCS_MIN+= Target/AArch64/AArch64RedundantCopyElimination.cpp
+SRCS_MIN+= Target/AArch64/AArch64RegisterBankInfo.cpp
+SRCS_MIN+= Target/AArch64/AArch64RegisterInfo.cpp
+SRCS_MIN+= Target/AArch64/AArch64SIMDInstrOpt.cpp
+SRCS_MIN+= Target/AArch64/AArch64SelectionDAGInfo.cpp
+SRCS_MIN+= Target/AArch64/AArch64StorePairSuppress.cpp
+SRCS_MIN+= Target/AArch64/AArch64Subtarget.cpp
+SRCS_MIN+= Target/AArch64/AArch64TargetMachine.cpp
+SRCS_MIN+= Target/AArch64/AArch64TargetObjectFile.cpp
+SRCS_MIN+= Target/AArch64/AArch64TargetTransformInfo.cpp
+SRCS_MIN+= Target/AArch64/AsmParser/AArch64AsmParser.cpp
+SRCS_XDW+= Target/AArch64/Disassembler/AArch64Disassembler.cpp
+SRCS_XDW+= Target/AArch64/Disassembler/AArch64ExternalSymbolizer.cpp
+SRCS_MIN+= Target/AArch64/InstPrinter/AArch64InstPrinter.cpp
+SRCS_MIN+= Target/AArch64/MCTargetDesc/AArch64AsmBackend.cpp
+SRCS_MIN+= Target/AArch64/MCTargetDesc/AArch64ELFObjectWriter.cpp
+SRCS_MIN+= Target/AArch64/MCTargetDesc/AArch64ELFStreamer.cpp
+SRCS_MIN+= Target/AArch64/MCTargetDesc/AArch64MCAsmInfo.cpp
+SRCS_MIN+= Target/AArch64/MCTargetDesc/AArch64MCCodeEmitter.cpp
+SRCS_MIN+= Target/AArch64/MCTargetDesc/AArch64MCExpr.cpp
+SRCS_MIN+= Target/AArch64/MCTargetDesc/AArch64MCTargetDesc.cpp
+SRCS_MIN+= Target/AArch64/MCTargetDesc/AArch64MachObjectWriter.cpp
+SRCS_MIN+= Target/AArch64/MCTargetDesc/AArch64TargetStreamer.cpp
+SRCS_MIN+= Target/AArch64/MCTargetDesc/AArch64WinCOFFObjectWriter.cpp
+SRCS_MIN+= Target/AArch64/MCTargetDesc/AArch64WinCOFFStreamer.cpp
+SRCS_MIN+= Target/AArch64/TargetInfo/AArch64TargetInfo.cpp
+SRCS_MIN+= Target/AArch64/Utils/AArch64BaseInfo.cpp
+.endif # MK_LLVM_TARGET_AARCH64
+.if ${MK_LLVM_TARGET_ARM} != "no"
+SRCS_MIN+= Target/ARM/A15SDOptimizer.cpp
+SRCS_MIN+= Target/ARM/ARMAsmPrinter.cpp
+SRCS_MIN+= Target/ARM/ARMBaseInstrInfo.cpp
+SRCS_MIN+= Target/ARM/ARMBaseRegisterInfo.cpp
+SRCS_MIN+= Target/ARM/ARMCallLowering.cpp
+SRCS_MIN+= Target/ARM/ARMCodeGenPrepare.cpp
+SRCS_MIN+= Target/ARM/ARMComputeBlockSize.cpp
+SRCS_MIN+= Target/ARM/ARMConstantIslandPass.cpp
+SRCS_MIN+= Target/ARM/ARMConstantPoolValue.cpp
+SRCS_MIN+= Target/ARM/ARMExpandPseudoInsts.cpp
+SRCS_MIN+= Target/ARM/ARMFastISel.cpp
+SRCS_MIN+= Target/ARM/ARMFrameLowering.cpp
+SRCS_MIN+= Target/ARM/ARMHazardRecognizer.cpp
+SRCS_MIN+= Target/ARM/ARMISelDAGToDAG.cpp
+SRCS_MIN+= Target/ARM/ARMISelLowering.cpp
+SRCS_MIN+= Target/ARM/ARMInstrInfo.cpp
+SRCS_MIN+= Target/ARM/ARMInstructionSelector.cpp
+SRCS_MIN+= Target/ARM/ARMLegalizerInfo.cpp
+SRCS_MIN+= Target/ARM/ARMLoadStoreOptimizer.cpp
+SRCS_MIN+= Target/ARM/ARMMCInstLower.cpp
+SRCS_MIN+= Target/ARM/ARMMachineFunctionInfo.cpp
+SRCS_MIN+= Target/ARM/ARMMacroFusion.cpp
+SRCS_MIN+= Target/ARM/ARMOptimizeBarriersPass.cpp
+SRCS_MIN+= Target/ARM/ARMParallelDSP.cpp
+SRCS_MIN+= Target/ARM/ARMRegisterBankInfo.cpp
+SRCS_MIN+= Target/ARM/ARMRegisterInfo.cpp
+SRCS_MIN+= Target/ARM/ARMSelectionDAGInfo.cpp
+SRCS_MIN+= Target/ARM/ARMSubtarget.cpp
+SRCS_MIN+= Target/ARM/ARMTargetMachine.cpp
+SRCS_MIN+= Target/ARM/ARMTargetObjectFile.cpp
+SRCS_MIN+= Target/ARM/ARMTargetTransformInfo.cpp
+SRCS_MIN+= Target/ARM/AsmParser/ARMAsmParser.cpp
+SRCS_MIN+= Target/ARM/Disassembler/ARMDisassembler.cpp
+SRCS_MIN+= Target/ARM/InstPrinter/ARMInstPrinter.cpp
+SRCS_MIN+= Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
+SRCS_MIN+= Target/ARM/MCTargetDesc/ARMELFObjectWriter.cpp
+SRCS_MIN+= Target/ARM/MCTargetDesc/ARMELFStreamer.cpp
+SRCS_MIN+= Target/ARM/MCTargetDesc/ARMMCAsmInfo.cpp
+SRCS_MIN+= Target/ARM/MCTargetDesc/ARMMCCodeEmitter.cpp
+SRCS_MIN+= Target/ARM/MCTargetDesc/ARMMCExpr.cpp
+SRCS_MIN+= Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp
+SRCS_MIN+= Target/ARM/MCTargetDesc/ARMMachORelocationInfo.cpp
+SRCS_MIN+= Target/ARM/MCTargetDesc/ARMMachObjectWriter.cpp
+SRCS_MIN+= Target/ARM/MCTargetDesc/ARMTargetStreamer.cpp
+SRCS_MIN+= Target/ARM/MCTargetDesc/ARMUnwindOpAsm.cpp
+SRCS_MIN+= Target/ARM/MCTargetDesc/ARMWinCOFFObjectWriter.cpp
+SRCS_MIN+= Target/ARM/MCTargetDesc/ARMWinCOFFStreamer.cpp
+SRCS_MIN+= Target/ARM/MLxExpansionPass.cpp
+SRCS_MIN+= Target/ARM/TargetInfo/ARMTargetInfo.cpp
+SRCS_MIN+= Target/ARM/Thumb1FrameLowering.cpp
+SRCS_MIN+= Target/ARM/Thumb1InstrInfo.cpp
+SRCS_MIN+= Target/ARM/Thumb2ITBlockPass.cpp
+SRCS_MIN+= Target/ARM/Thumb2InstrInfo.cpp
+SRCS_MIN+= Target/ARM/Thumb2SizeReduction.cpp
+SRCS_MIN+= Target/ARM/ThumbRegisterInfo.cpp
+SRCS_MIN+= Target/ARM/Utils/ARMBaseInfo.cpp
+.endif # MK_LLVM_TARGET_ARM
+.if ${MK_LLVM_TARGET_BPF} != "no"
+SRCS_MIN+= Target/BPF/AsmParser/BPFAsmParser.cpp
+SRCS_MIN+= Target/BPF/BPFAsmPrinter.cpp
+SRCS_MIN+= Target/BPF/BPFFrameLowering.cpp
+SRCS_MIN+= Target/BPF/BPFISelDAGToDAG.cpp
+SRCS_MIN+= Target/BPF/BPFISelLowering.cpp
+SRCS_MIN+= Target/BPF/BPFInstrInfo.cpp
+SRCS_MIN+= Target/BPF/BPFMCInstLower.cpp
+SRCS_MIN+= Target/BPF/BPFMIPeephole.cpp
+SRCS_MIN+= Target/BPF/BPFRegisterInfo.cpp
+SRCS_MIN+= Target/BPF/BPFSelectionDAGInfo.cpp
+SRCS_MIN+= Target/BPF/BPFSubtarget.cpp
+SRCS_MIN+= Target/BPF/BPFTargetMachine.cpp
+SRCS_MIN+= Target/BPF/Disassembler/BPFDisassembler.cpp
+SRCS_MIN+= Target/BPF/InstPrinter/BPFInstPrinter.cpp
+SRCS_MIN+= Target/BPF/MCTargetDesc/BPFAsmBackend.cpp
+SRCS_MIN+= Target/BPF/MCTargetDesc/BPFELFObjectWriter.cpp
+SRCS_MIN+= Target/BPF/MCTargetDesc/BPFMCCodeEmitter.cpp
+SRCS_MIN+= Target/BPF/MCTargetDesc/BPFMCTargetDesc.cpp
+SRCS_MIN+= Target/BPF/TargetInfo/BPFTargetInfo.cpp
+.endif # MK_LLVM_TARGET_BPF
+.if ${MK_LLVM_TARGET_MIPS} != "no"
+SRCS_MIN+= Target/Mips/AsmParser/MipsAsmParser.cpp
+SRCS_XDW+= Target/Mips/Disassembler/MipsDisassembler.cpp
+SRCS_MIN+= Target/Mips/InstPrinter/MipsInstPrinter.cpp
+SRCS_MIN+= Target/Mips/MCTargetDesc/MipsABIFlagsSection.cpp
+SRCS_MIN+= Target/Mips/MCTargetDesc/MipsABIInfo.cpp
+SRCS_MIN+= Target/Mips/MCTargetDesc/MipsAsmBackend.cpp
+SRCS_MIN+= Target/Mips/MCTargetDesc/MipsELFObjectWriter.cpp
+SRCS_MIN+= Target/Mips/MCTargetDesc/MipsELFStreamer.cpp
+SRCS_MIN+= Target/Mips/MCTargetDesc/MipsMCAsmInfo.cpp
+SRCS_MIN+= Target/Mips/MCTargetDesc/MipsMCCodeEmitter.cpp
+SRCS_MIN+= Target/Mips/MCTargetDesc/MipsMCExpr.cpp
+SRCS_MIN+= Target/Mips/MCTargetDesc/MipsMCTargetDesc.cpp
+SRCS_MIN+= Target/Mips/MCTargetDesc/MipsNaClELFStreamer.cpp
+SRCS_MIN+= Target/Mips/MCTargetDesc/MipsOptionRecord.cpp
+SRCS_MIN+= Target/Mips/MCTargetDesc/MipsTargetStreamer.cpp
+SRCS_MIN+= Target/Mips/MicroMipsSizeReduction.cpp
+SRCS_MIN+= Target/Mips/Mips16FrameLowering.cpp
+SRCS_MIN+= Target/Mips/Mips16HardFloat.cpp
+SRCS_MIN+= Target/Mips/Mips16HardFloatInfo.cpp
+SRCS_MIN+= Target/Mips/Mips16ISelDAGToDAG.cpp
+SRCS_MIN+= Target/Mips/Mips16ISelLowering.cpp
+SRCS_MIN+= Target/Mips/Mips16InstrInfo.cpp
+SRCS_MIN+= Target/Mips/Mips16RegisterInfo.cpp
+SRCS_MIN+= Target/Mips/MipsAnalyzeImmediate.cpp
+SRCS_MIN+= Target/Mips/MipsAsmPrinter.cpp
+SRCS_MIN+= Target/Mips/MipsBranchExpansion.cpp
+SRCS_MIN+= Target/Mips/MipsCCState.cpp
+SRCS_MIN+= Target/Mips/MipsCallLowering.cpp
+SRCS_MIN+= Target/Mips/MipsConstantIslandPass.cpp
+SRCS_MIN+= Target/Mips/MipsDelaySlotFiller.cpp
+SRCS_MIN+= Target/Mips/MipsExpandPseudo.cpp
+SRCS_MIN+= Target/Mips/MipsFastISel.cpp
+SRCS_MIN+= Target/Mips/MipsFrameLowering.cpp
+SRCS_MIN+= Target/Mips/MipsISelDAGToDAG.cpp
+SRCS_MIN+= Target/Mips/MipsISelLowering.cpp
+SRCS_MIN+= Target/Mips/MipsInstrInfo.cpp
+SRCS_MIN+= Target/Mips/MipsInstructionSelector.cpp
+SRCS_MIN+= Target/Mips/MipsLegalizerInfo.cpp
+SRCS_MIN+= Target/Mips/MipsMCInstLower.cpp
+SRCS_MIN+= Target/Mips/MipsMachineFunction.cpp
+SRCS_MIN+= Target/Mips/MipsModuleISelDAGToDAG.cpp
+SRCS_MIN+= Target/Mips/MipsOptimizePICCall.cpp
+SRCS_MIN+= Target/Mips/MipsOs16.cpp
+SRCS_MIN+= Target/Mips/MipsRegisterBankInfo.cpp
+SRCS_MIN+= Target/Mips/MipsRegisterInfo.cpp
+SRCS_MIN+= Target/Mips/MipsSEFrameLowering.cpp
+SRCS_MIN+= Target/Mips/MipsSEISelDAGToDAG.cpp
+SRCS_MIN+= Target/Mips/MipsSEISelLowering.cpp
+SRCS_MIN+= Target/Mips/MipsSEInstrInfo.cpp
+SRCS_MIN+= Target/Mips/MipsSERegisterInfo.cpp
+SRCS_MIN+= Target/Mips/MipsSubtarget.cpp
+SRCS_MIN+= Target/Mips/MipsTargetMachine.cpp
+SRCS_MIN+= Target/Mips/MipsTargetObjectFile.cpp
+SRCS_MIN+= Target/Mips/TargetInfo/MipsTargetInfo.cpp
+.endif # MK_LLVM_TARGET_MIPS
+.if ${MK_LLVM_TARGET_POWERPC} != "no"
+SRCS_MIN+= Target/PowerPC/AsmParser/PPCAsmParser.cpp
+SRCS_MIN+= Target/PowerPC/Disassembler/PPCDisassembler.cpp
+SRCS_MIN+= Target/PowerPC/InstPrinter/PPCInstPrinter.cpp
+SRCS_MIN+= Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp
+SRCS_MIN+= Target/PowerPC/MCTargetDesc/PPCELFObjectWriter.cpp
+SRCS_MIN+= Target/PowerPC/MCTargetDesc/PPCMCAsmInfo.cpp
+SRCS_MIN+= Target/PowerPC/MCTargetDesc/PPCMCCodeEmitter.cpp
+SRCS_MIN+= Target/PowerPC/MCTargetDesc/PPCMCExpr.cpp
+SRCS_MIN+= Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp
+SRCS_MIN+= Target/PowerPC/MCTargetDesc/PPCMachObjectWriter.cpp
+SRCS_MIN+= Target/PowerPC/MCTargetDesc/PPCPredicates.cpp
+SRCS_MIN+= Target/PowerPC/PPCAsmPrinter.cpp
+SRCS_MIN+= Target/PowerPC/PPCBoolRetToInt.cpp
+SRCS_MIN+= Target/PowerPC/PPCBranchCoalescing.cpp
+SRCS_MIN+= Target/PowerPC/PPCBranchSelector.cpp
+SRCS_MIN+= Target/PowerPC/PPCCCState.cpp
+SRCS_MIN+= Target/PowerPC/PPCCTRLoops.cpp
+SRCS_MIN+= Target/PowerPC/PPCEarlyReturn.cpp
+SRCS_MIN+= Target/PowerPC/PPCExpandISEL.cpp
+SRCS_MIN+= Target/PowerPC/PPCFastISel.cpp
+SRCS_MIN+= Target/PowerPC/PPCFrameLowering.cpp
+SRCS_MIN+= Target/PowerPC/PPCHazardRecognizers.cpp
+SRCS_MIN+= Target/PowerPC/PPCISelDAGToDAG.cpp
+SRCS_MIN+= Target/PowerPC/PPCISelLowering.cpp
+SRCS_MIN+= Target/PowerPC/PPCInstrInfo.cpp
+SRCS_MIN+= Target/PowerPC/PPCLoopPreIncPrep.cpp
+SRCS_MIN+= Target/PowerPC/PPCMCInstLower.cpp
+SRCS_MIN+= Target/PowerPC/PPCMIPeephole.cpp
+SRCS_MIN+= Target/PowerPC/PPCMachineFunctionInfo.cpp
+SRCS_MIN+= Target/PowerPC/PPCPreEmitPeephole.cpp
+SRCS_MIN+= Target/PowerPC/PPCQPXLoadSplat.cpp
+SRCS_MIN+= Target/PowerPC/PPCReduceCRLogicals.cpp
+SRCS_MIN+= Target/PowerPC/PPCRegisterInfo.cpp
+SRCS_MIN+= Target/PowerPC/PPCSubtarget.cpp
+SRCS_MIN+= Target/PowerPC/PPCTLSDynamicCall.cpp
+SRCS_MIN+= Target/PowerPC/PPCTOCRegDeps.cpp
+SRCS_MIN+= Target/PowerPC/PPCTargetMachine.cpp
+SRCS_MIN+= Target/PowerPC/PPCTargetObjectFile.cpp
+SRCS_MIN+= Target/PowerPC/PPCTargetTransformInfo.cpp
+SRCS_MIN+= Target/PowerPC/PPCVSXCopy.cpp
+SRCS_MIN+= Target/PowerPC/PPCVSXFMAMutate.cpp
+SRCS_MIN+= Target/PowerPC/PPCVSXSwapRemoval.cpp
+SRCS_MIN+= Target/PowerPC/TargetInfo/PowerPCTargetInfo.cpp
+.endif # MK_LLVM_TARGET_POWERPC
+.if ${MK_LLVM_TARGET_SPARC} != "no"
+SRCS_MIN+= Target/Sparc/AsmParser/SparcAsmParser.cpp
+SRCS_MIN+= Target/Sparc/DelaySlotFiller.cpp
+SRCS_XDW+= Target/Sparc/Disassembler/SparcDisassembler.cpp
+SRCS_MIN+= Target/Sparc/InstPrinter/SparcInstPrinter.cpp
+SRCS_MIN+= Target/Sparc/LeonPasses.cpp
+SRCS_MIN+= Target/Sparc/MCTargetDesc/SparcAsmBackend.cpp
+SRCS_MIN+= Target/Sparc/MCTargetDesc/SparcELFObjectWriter.cpp
+SRCS_MIN+= Target/Sparc/MCTargetDesc/SparcMCAsmInfo.cpp
+SRCS_MIN+= Target/Sparc/MCTargetDesc/SparcMCCodeEmitter.cpp
+SRCS_MIN+= Target/Sparc/MCTargetDesc/SparcMCExpr.cpp
+SRCS_MIN+= Target/Sparc/MCTargetDesc/SparcMCTargetDesc.cpp
+SRCS_MIN+= Target/Sparc/MCTargetDesc/SparcTargetStreamer.cpp
+SRCS_MIN+= Target/Sparc/SparcAsmPrinter.cpp
+SRCS_MIN+= Target/Sparc/SparcFrameLowering.cpp
+SRCS_MIN+= Target/Sparc/SparcISelDAGToDAG.cpp
+SRCS_MIN+= Target/Sparc/SparcISelLowering.cpp
+SRCS_MIN+= Target/Sparc/SparcInstrInfo.cpp
+SRCS_MIN+= Target/Sparc/SparcMCInstLower.cpp
+SRCS_MIN+= Target/Sparc/SparcMachineFunctionInfo.cpp
+SRCS_MIN+= Target/Sparc/SparcRegisterInfo.cpp
+SRCS_MIN+= Target/Sparc/SparcSubtarget.cpp
+SRCS_MIN+= Target/Sparc/SparcTargetMachine.cpp
+SRCS_MIN+= Target/Sparc/SparcTargetObjectFile.cpp
+SRCS_MIN+= Target/Sparc/TargetInfo/SparcTargetInfo.cpp
+.endif # MK_LLVM_TARGET_SPARC
+SRCS_MIN+= Target/Target.cpp
+SRCS_MIN+= Target/TargetIntrinsicInfo.cpp
+SRCS_MIN+= Target/TargetLoweringObjectFile.cpp
+SRCS_MIN+= Target/TargetMachine.cpp
+SRCS_MIN+= Target/TargetMachineC.cpp
+.if ${MK_LLVM_TARGET_X86} != "no"
+SRCS_MIN+= Target/X86/AsmParser/X86AsmInstrumentation.cpp
+SRCS_MIN+= Target/X86/AsmParser/X86AsmParser.cpp
+SRCS_XDW+= Target/X86/Disassembler/X86Disassembler.cpp
+SRCS_XDW+= Target/X86/Disassembler/X86DisassemblerDecoder.cpp
+SRCS_MIN+= Target/X86/InstPrinter/X86ATTInstPrinter.cpp
+SRCS_MIN+= Target/X86/InstPrinter/X86InstComments.cpp
+SRCS_MIN+= Target/X86/InstPrinter/X86InstPrinterCommon.cpp
+SRCS_MIN+= Target/X86/InstPrinter/X86IntelInstPrinter.cpp
+SRCS_MIN+= Target/X86/MCTargetDesc/X86AsmBackend.cpp
+SRCS_MIN+= Target/X86/MCTargetDesc/X86ELFObjectWriter.cpp
+SRCS_MIN+= Target/X86/MCTargetDesc/X86MCAsmInfo.cpp
+SRCS_MIN+= Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp
+SRCS_MIN+= Target/X86/MCTargetDesc/X86MCTargetDesc.cpp
+SRCS_MIN+= Target/X86/MCTargetDesc/X86MachObjectWriter.cpp
+SRCS_MIN+= Target/X86/MCTargetDesc/X86WinCOFFObjectWriter.cpp
+SRCS_MIN+= Target/X86/MCTargetDesc/X86WinCOFFStreamer.cpp
+SRCS_MIN+= Target/X86/MCTargetDesc/X86WinCOFFTargetStreamer.cpp
+SRCS_MIN+= Target/X86/TargetInfo/X86TargetInfo.cpp
+SRCS_MIN+= Target/X86/Utils/X86ShuffleDecode.cpp
+SRCS_MIN+= Target/X86/ShadowCallStack.cpp
+SRCS_MIN+= Target/X86/X86AsmPrinter.cpp
+SRCS_MIN+= Target/X86/X86AvoidStoreForwardingBlocks.cpp
+SRCS_MIN+= Target/X86/X86CallFrameOptimization.cpp
+SRCS_MIN+= Target/X86/X86CallLowering.cpp
+SRCS_MIN+= Target/X86/X86CallingConv.cpp
+SRCS_MIN+= Target/X86/X86CmovConversion.cpp
+SRCS_MIN+= Target/X86/X86DomainReassignment.cpp
+SRCS_MIN+= Target/X86/X86EvexToVex.cpp
+SRCS_MIN+= Target/X86/X86ExpandPseudo.cpp
+SRCS_MIN+= Target/X86/X86FastISel.cpp
+SRCS_MIN+= Target/X86/X86FixupBWInsts.cpp
+SRCS_MIN+= Target/X86/X86FixupLEAs.cpp
+SRCS_MIN+= Target/X86/X86FixupSetCC.cpp
+SRCS_MIN+= Target/X86/X86FlagsCopyLowering.cpp
+SRCS_MIN+= Target/X86/X86FloatingPoint.cpp
+SRCS_MIN+= Target/X86/X86FrameLowering.cpp
+SRCS_MIN+= Target/X86/X86ISelDAGToDAG.cpp
+SRCS_MIN+= Target/X86/X86ISelLowering.cpp
+SRCS_MIN+= Target/X86/X86IndirectBranchTracking.cpp
+SRCS_MIN+= Target/X86/X86InstrFMA3Info.cpp
+SRCS_MIN+= Target/X86/X86InstrFoldTables.cpp
+SRCS_MIN+= Target/X86/X86InstrInfo.cpp
+SRCS_MIN+= Target/X86/X86InstructionSelector.cpp
+SRCS_MIN+= Target/X86/X86InterleavedAccess.cpp
+SRCS_MIN+= Target/X86/X86LegalizerInfo.cpp
+SRCS_MIN+= Target/X86/X86MCInstLower.cpp
+SRCS_MIN+= Target/X86/X86MachineFunctionInfo.cpp
+SRCS_MIN+= Target/X86/X86MacroFusion.cpp
+SRCS_MIN+= Target/X86/X86OptimizeLEAs.cpp
+SRCS_MIN+= Target/X86/X86PadShortFunction.cpp
+SRCS_MIN+= Target/X86/X86RegisterBankInfo.cpp
+SRCS_MIN+= Target/X86/X86RegisterInfo.cpp
+SRCS_MIN+= Target/X86/X86RetpolineThunks.cpp
+SRCS_MIN+= Target/X86/X86SelectionDAGInfo.cpp
+SRCS_MIN+= Target/X86/X86ShuffleDecodeConstantPool.cpp
+SRCS_MIN+= Target/X86/X86SpeculativeLoadHardening.cpp
+SRCS_MIN+= Target/X86/X86Subtarget.cpp
+SRCS_MIN+= Target/X86/X86TargetMachine.cpp
+SRCS_MIN+= Target/X86/X86TargetObjectFile.cpp
+SRCS_MIN+= Target/X86/X86TargetTransformInfo.cpp
+SRCS_MIN+= Target/X86/X86VZeroUpper.cpp
+SRCS_MIN+= Target/X86/X86WinAllocaExpander.cpp
+SRCS_MIN+= Target/X86/X86WinEHState.cpp
+.endif # MK_LLVM_TARGET_X86
+SRCS_EXT+= ToolDrivers/llvm-dlltool/DlltoolDriver.cpp
+SRCS_EXL+= ToolDrivers/llvm-lib/LibDriver.cpp
+SRCS_MIN+= Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp
+SRCS_MIN+= Transforms/AggressiveInstCombine/TruncInstCombine.cpp
+SRCS_MIN+= Transforms/Coroutines/CoroCleanup.cpp
+SRCS_MIN+= Transforms/Coroutines/CoroEarly.cpp
+SRCS_MIN+= Transforms/Coroutines/CoroElide.cpp
+SRCS_MIN+= Transforms/Coroutines/CoroFrame.cpp
+SRCS_MIN+= Transforms/Coroutines/CoroSplit.cpp
+SRCS_MIN+= Transforms/Coroutines/Coroutines.cpp
+SRCS_MIN+= Transforms/IPO/AlwaysInliner.cpp
+SRCS_MIN+= Transforms/IPO/ArgumentPromotion.cpp
+SRCS_MIN+= Transforms/IPO/BarrierNoopPass.cpp
+SRCS_EXT+= Transforms/IPO/BlockExtractor.cpp
+SRCS_MIN+= Transforms/IPO/CalledValuePropagation.cpp
+SRCS_MIN+= Transforms/IPO/ConstantMerge.cpp
+SRCS_MIN+= Transforms/IPO/CrossDSOCFI.cpp
+SRCS_MIN+= Transforms/IPO/DeadArgumentElimination.cpp
+SRCS_MIN+= Transforms/IPO/ElimAvailExtern.cpp
+SRCS_MIN+= Transforms/IPO/ExtractGV.cpp
+SRCS_MIN+= Transforms/IPO/ForceFunctionAttrs.cpp
+SRCS_MIN+= Transforms/IPO/FunctionAttrs.cpp
+SRCS_MIN+= Transforms/IPO/FunctionImport.cpp
+SRCS_MIN+= Transforms/IPO/GlobalDCE.cpp
+SRCS_MIN+= Transforms/IPO/GlobalOpt.cpp
+SRCS_MIN+= Transforms/IPO/GlobalSplit.cpp
+SRCS_MIN+= Transforms/IPO/IPConstantPropagation.cpp
+SRCS_EXT+= Transforms/IPO/IPO.cpp
+SRCS_MIN+= Transforms/IPO/InferFunctionAttrs.cpp
+SRCS_MIN+= Transforms/IPO/InlineSimple.cpp
+SRCS_MIN+= Transforms/IPO/Inliner.cpp
+SRCS_MIN+= Transforms/IPO/Internalize.cpp
+SRCS_MIN+= Transforms/IPO/LoopExtractor.cpp
+SRCS_MIN+= Transforms/IPO/LowerTypeTests.cpp
+SRCS_MIN+= Transforms/IPO/MergeFunctions.cpp
+SRCS_MIN+= Transforms/IPO/PartialInlining.cpp
+SRCS_MIN+= Transforms/IPO/PassManagerBuilder.cpp
+SRCS_MIN+= Transforms/IPO/PruneEH.cpp
+SRCS_MIN+= Transforms/IPO/SCCP.cpp
+SRCS_MIN+= Transforms/IPO/SampleProfile.cpp
+SRCS_MIN+= Transforms/IPO/StripDeadPrototypes.cpp
+SRCS_MIN+= Transforms/IPO/StripSymbols.cpp
+SRCS_MIN+= Transforms/IPO/SyntheticCountsPropagation.cpp
+SRCS_MIN+= Transforms/IPO/ThinLTOBitcodeWriter.cpp
+SRCS_MIN+= Transforms/IPO/WholeProgramDevirt.cpp
+SRCS_MIN+= Transforms/InstCombine/InstCombineAddSub.cpp
+SRCS_MIN+= Transforms/InstCombine/InstCombineAndOrXor.cpp
+SRCS_MIN+= Transforms/InstCombine/InstCombineCalls.cpp
+SRCS_MIN+= Transforms/InstCombine/InstCombineCasts.cpp
+SRCS_MIN+= Transforms/InstCombine/InstCombineCompares.cpp
+SRCS_MIN+= Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
+SRCS_MIN+= Transforms/InstCombine/InstCombineMulDivRem.cpp
+SRCS_MIN+= Transforms/InstCombine/InstCombinePHI.cpp
+SRCS_MIN+= Transforms/InstCombine/InstCombineSelect.cpp
+SRCS_MIN+= Transforms/InstCombine/InstCombineShifts.cpp
+SRCS_MIN+= Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
+SRCS_MIN+= Transforms/InstCombine/InstCombineVectorOps.cpp
+SRCS_MIN+= Transforms/InstCombine/InstructionCombining.cpp
+SRCS_MIN+= Transforms/Instrumentation/AddressSanitizer.cpp
+SRCS_MIN+= Transforms/Instrumentation/BoundsChecking.cpp
+SRCS_MIN+= Transforms/Instrumentation/CGProfile.cpp
+SRCS_MIN+= Transforms/Instrumentation/DataFlowSanitizer.cpp
+SRCS_MIN+= Transforms/Instrumentation/EfficiencySanitizer.cpp
+SRCS_MIN+= Transforms/Instrumentation/GCOVProfiling.cpp
+SRCS_MIN+= Transforms/Instrumentation/HWAddressSanitizer.cpp
+SRCS_MIN+= Transforms/Instrumentation/IndirectCallPromotion.cpp
+SRCS_MIN+= Transforms/Instrumentation/InstrProfiling.cpp
+SRCS_MIN+= Transforms/Instrumentation/Instrumentation.cpp
+SRCS_MIN+= Transforms/Instrumentation/MemorySanitizer.cpp
+SRCS_MIN+= Transforms/Instrumentation/PGOInstrumentation.cpp
+SRCS_MIN+= Transforms/Instrumentation/PGOMemOPSizeOpt.cpp
+SRCS_MIN+= Transforms/Instrumentation/SanitizerCoverage.cpp
+SRCS_MIN+= Transforms/Instrumentation/ThreadSanitizer.cpp
+SRCS_MIN+= Transforms/ObjCARC/DependencyAnalysis.cpp
+SRCS_EXT+= Transforms/ObjCARC/ObjCARC.cpp
+SRCS_MIN+= Transforms/ObjCARC/ObjCARCAPElim.cpp
+SRCS_MIN+= Transforms/ObjCARC/ObjCARCContract.cpp
+SRCS_MIN+= Transforms/ObjCARC/ObjCARCExpand.cpp
+SRCS_MIN+= Transforms/ObjCARC/ObjCARCOpts.cpp
+SRCS_MIN+= Transforms/ObjCARC/ProvenanceAnalysis.cpp
+SRCS_MIN+= Transforms/ObjCARC/ProvenanceAnalysisEvaluator.cpp
+SRCS_MIN+= Transforms/ObjCARC/PtrState.cpp
+SRCS_MIN+= Transforms/Scalar/ADCE.cpp
+SRCS_MIN+= Transforms/Scalar/AlignmentFromAssumptions.cpp
+SRCS_MIN+= Transforms/Scalar/BDCE.cpp
+SRCS_MIN+= Transforms/Scalar/CallSiteSplitting.cpp
+SRCS_MIN+= Transforms/Scalar/ConstantHoisting.cpp
+SRCS_MIN+= Transforms/Scalar/ConstantProp.cpp
+SRCS_MIN+= Transforms/Scalar/CorrelatedValuePropagation.cpp
+SRCS_MIN+= Transforms/Scalar/DCE.cpp
+SRCS_MIN+= Transforms/Scalar/DeadStoreElimination.cpp
+SRCS_MIN+= Transforms/Scalar/DivRemPairs.cpp
+SRCS_MIN+= Transforms/Scalar/EarlyCSE.cpp
+SRCS_MIN+= Transforms/Scalar/FlattenCFGPass.cpp
+SRCS_MIN+= Transforms/Scalar/Float2Int.cpp
+SRCS_MIN+= Transforms/Scalar/GVN.cpp
+SRCS_MIN+= Transforms/Scalar/GVNHoist.cpp
+SRCS_MIN+= Transforms/Scalar/GVNSink.cpp
+SRCS_MIN+= Transforms/Scalar/GuardWidening.cpp
+SRCS_MIN+= Transforms/Scalar/IVUsersPrinter.cpp
+SRCS_MIN+= Transforms/Scalar/IndVarSimplify.cpp
+SRCS_MIN+= Transforms/Scalar/InductiveRangeCheckElimination.cpp
+SRCS_EXT+= Transforms/Scalar/InferAddressSpaces.cpp
+SRCS_MIN+= Transforms/Scalar/InstSimplifyPass.cpp
+SRCS_MIN+= Transforms/Scalar/JumpThreading.cpp
+SRCS_MIN+= Transforms/Scalar/LICM.cpp
+SRCS_MIN+= Transforms/Scalar/LoopAccessAnalysisPrinter.cpp
+SRCS_MIN+= Transforms/Scalar/LoopDataPrefetch.cpp
+SRCS_MIN+= Transforms/Scalar/LoopDeletion.cpp
+SRCS_MIN+= Transforms/Scalar/LoopDistribute.cpp
+SRCS_MIN+= Transforms/Scalar/LoopIdiomRecognize.cpp
+SRCS_MIN+= Transforms/Scalar/LoopInstSimplify.cpp
+SRCS_MIN+= Transforms/Scalar/LoopInterchange.cpp
+SRCS_MIN+= Transforms/Scalar/LoopLoadElimination.cpp
+SRCS_MIN+= Transforms/Scalar/LoopPassManager.cpp
+SRCS_MIN+= Transforms/Scalar/LoopPredication.cpp
+SRCS_MIN+= Transforms/Scalar/LoopRerollPass.cpp
+SRCS_MIN+= Transforms/Scalar/LoopRotation.cpp
+SRCS_MIN+= Transforms/Scalar/LoopSimplifyCFG.cpp
+SRCS_MIN+= Transforms/Scalar/LoopSink.cpp
+SRCS_MIN+= Transforms/Scalar/LoopStrengthReduce.cpp
+SRCS_MIN+= Transforms/Scalar/LoopUnrollPass.cpp
+SRCS_MIN+= Transforms/Scalar/LoopUnrollAndJamPass.cpp
+SRCS_MIN+= Transforms/Scalar/LoopUnswitch.cpp
+SRCS_MIN+= Transforms/Scalar/LoopVersioningLICM.cpp
+SRCS_MIN+= Transforms/Scalar/LowerAtomic.cpp
+SRCS_MIN+= Transforms/Scalar/LowerExpectIntrinsic.cpp
+SRCS_MIN+= Transforms/Scalar/LowerGuardIntrinsic.cpp
+SRCS_MIN+= Transforms/Scalar/MemCpyOptimizer.cpp
+SRCS_MIN+= Transforms/Scalar/MergeICmps.cpp
+SRCS_MIN+= Transforms/Scalar/MergedLoadStoreMotion.cpp
+SRCS_MIN+= Transforms/Scalar/NaryReassociate.cpp
+SRCS_MIN+= Transforms/Scalar/NewGVN.cpp
+SRCS_MIN+= Transforms/Scalar/PartiallyInlineLibCalls.cpp
+SRCS_MIN+= Transforms/Scalar/PlaceSafepoints.cpp
+SRCS_MIN+= Transforms/Scalar/Reassociate.cpp
+SRCS_MIN+= Transforms/Scalar/Reg2Mem.cpp
+SRCS_MIN+= Transforms/Scalar/RewriteStatepointsForGC.cpp
+SRCS_MIN+= Transforms/Scalar/SCCP.cpp
+SRCS_MIN+= Transforms/Scalar/SROA.cpp
+SRCS_EXT+= Transforms/Scalar/Scalar.cpp
+SRCS_MIN+= Transforms/Scalar/Scalarizer.cpp
+SRCS_MIN+= Transforms/Scalar/SeparateConstOffsetFromGEP.cpp
+SRCS_MIN+= Transforms/Scalar/SimpleLoopUnswitch.cpp
+SRCS_MIN+= Transforms/Scalar/SimplifyCFGPass.cpp
+SRCS_MIN+= Transforms/Scalar/Sink.cpp
+SRCS_MIN+= Transforms/Scalar/SpeculateAroundPHIs.cpp
+SRCS_MIN+= Transforms/Scalar/SpeculativeExecution.cpp
+SRCS_MIN+= Transforms/Scalar/StraightLineStrengthReduce.cpp
+SRCS_MIN+= Transforms/Scalar/StructurizeCFG.cpp
+SRCS_MIN+= Transforms/Scalar/TailRecursionElimination.cpp
+SRCS_MIN+= Transforms/Utils/ASanStackFrameLayout.cpp
+SRCS_MIN+= Transforms/Utils/AddDiscriminators.cpp
+SRCS_MIN+= Transforms/Utils/BasicBlockUtils.cpp
+SRCS_MIN+= Transforms/Utils/BreakCriticalEdges.cpp
+SRCS_MIN+= Transforms/Utils/BuildLibCalls.cpp
+SRCS_MIN+= Transforms/Utils/BypassSlowDivision.cpp
+SRCS_MIN+= Transforms/Utils/CallPromotionUtils.cpp
+SRCS_MIN+= Transforms/Utils/CloneFunction.cpp
+SRCS_MIN+= Transforms/Utils/CloneModule.cpp
+SRCS_MIN+= Transforms/Utils/CodeExtractor.cpp
+SRCS_MIN+= Transforms/Utils/CtorUtils.cpp
+SRCS_MIN+= Transforms/Utils/DemoteRegToStack.cpp
+SRCS_MIN+= Transforms/Utils/EntryExitInstrumenter.cpp
+SRCS_MIN+= Transforms/Utils/EscapeEnumerator.cpp
+SRCS_MIN+= Transforms/Utils/Evaluator.cpp
+SRCS_MIN+= Transforms/Utils/FlattenCFG.cpp
+SRCS_MIN+= Transforms/Utils/FunctionComparator.cpp
+SRCS_MIN+= Transforms/Utils/FunctionImportUtils.cpp
+SRCS_MIN+= Transforms/Utils/GlobalStatus.cpp
+SRCS_MIN+= Transforms/Utils/ImportedFunctionsInliningStatistics.cpp
+SRCS_MIN+= Transforms/Utils/InlineFunction.cpp
+SRCS_MIN+= Transforms/Utils/InstructionNamer.cpp
+SRCS_MIN+= Transforms/Utils/IntegerDivision.cpp
+SRCS_MIN+= Transforms/Utils/LCSSA.cpp
+SRCS_MIN+= Transforms/Utils/LibCallsShrinkWrap.cpp
+SRCS_MIN+= Transforms/Utils/Local.cpp
+SRCS_MIN+= Transforms/Utils/LoopSimplify.cpp
+SRCS_MIN+= Transforms/Utils/LoopRotationUtils.cpp
+SRCS_MIN+= Transforms/Utils/LoopUnroll.cpp
+SRCS_MIN+= Transforms/Utils/LoopUnrollAndJam.cpp
+SRCS_MIN+= Transforms/Utils/LoopUnrollPeel.cpp
+SRCS_MIN+= Transforms/Utils/LoopUnrollRuntime.cpp
+SRCS_MIN+= Transforms/Utils/LoopUtils.cpp
+SRCS_MIN+= Transforms/Utils/LoopVersioning.cpp
+SRCS_MIN+= Transforms/Utils/LowerInvoke.cpp
+SRCS_MIN+= Transforms/Utils/LowerSwitch.cpp
+SRCS_MIN+= Transforms/Utils/Mem2Reg.cpp
+SRCS_MIN+= Transforms/Utils/MetaRenamer.cpp
+SRCS_MIN+= Transforms/Utils/ModuleUtils.cpp
+SRCS_MIN+= Transforms/Utils/NameAnonGlobals.cpp
+SRCS_MIN+= Transforms/Utils/OrderedInstructions.cpp
+SRCS_MIN+= Transforms/Utils/PredicateInfo.cpp
+SRCS_MIN+= Transforms/Utils/PromoteMemoryToRegister.cpp
+SRCS_MIN+= Transforms/Utils/SSAUpdater.cpp
+SRCS_MIN+= Transforms/Utils/SanitizerStats.cpp
+SRCS_MIN+= Transforms/Utils/SimplifyCFG.cpp
+SRCS_MIN+= Transforms/Utils/SimplifyIndVar.cpp
+SRCS_MIN+= Transforms/Utils/SimplifyLibCalls.cpp
+SRCS_MIN+= Transforms/Utils/SplitModule.cpp
+SRCS_MIN+= Transforms/Utils/StripGCRelocates.cpp
+SRCS_MIN+= Transforms/Utils/StripNonLineTableDebugInfo.cpp
+SRCS_MIN+= Transforms/Utils/SymbolRewriter.cpp
+SRCS_MIN+= Transforms/Utils/UnifyFunctionExitNodes.cpp
+SRCS_EXT+= Transforms/Utils/Utils.cpp
+SRCS_MIN+= Transforms/Utils/VNCoercion.cpp
+SRCS_MIN+= Transforms/Utils/ValueMapper.cpp
+SRCS_MIN+= Transforms/Vectorize/LoadStoreVectorizer.cpp
+SRCS_MIN+= Transforms/Vectorize/LoopVectorizationLegality.cpp
+SRCS_MIN+= Transforms/Vectorize/LoopVectorize.cpp
+SRCS_MIN+= Transforms/Vectorize/SLPVectorizer.cpp
+SRCS_MIN+= Transforms/Vectorize/VPlan.cpp
+SRCS_MIN+= Transforms/Vectorize/VPlanHCFGBuilder.cpp
+SRCS_MIN+= Transforms/Vectorize/VPlanVerifier.cpp
+SRCS_EXT+= Transforms/Vectorize/Vectorize.cpp
+SRCS_EXT+= XRay/InstrumentationMap.cpp
+SRCS_EXT+= XRay/Trace.cpp
+
+SRCS_ALL+= ${SRCS_MIN}
+.if !defined(TOOLS_PREFIX) || ${MK_LLD_BOOTSTRAP} != "no"
+SRCS_ALL+= ${SRCS_MIW}
+.endif
+.if ${MK_CLANG_EXTRAS} != "no"
+SRCS_ALL+= ${SRCS_EXT}
+.endif
+.if ${MK_CLANG_FULL} != "no"
+SRCS_ALL+= ${SRCS_FUL}
+.endif
+.if ${MK_CLANG_EXTRAS} != "no" || ${MK_LLD} != "no" || \
+ (defined(TOOLS_PREFIX) && ${MK_LLD_BOOTSTRAP} != "no")
+SRCS_ALL+= ${SRCS_EXL}
+.endif
+.if ${MK_LLD} != "no" || \
+ (defined(TOOLS_PREFIX) && ${MK_LLD_BOOTSTRAP} != "no")
+SRCS_ALL+= ${SRCS_LLD}
+.endif
+.if ${MK_CLANG_EXTRAS} != "no" || ${MK_LLDB} != "no"
+SRCS_ALL+= ${SRCS_XDB}
+.endif
+.if ${MK_CLANG_EXTRAS} != "no" || ${MK_LLDB} != "no" || ${MK_LLD} != "no" || \
+ (defined(TOOLS_PREFIX) && ${MK_LLD_BOOTSTRAP} != "no")
+SRCS_ALL+= ${SRCS_XDL}
+.endif
+.if ${MK_CLANG_EXTRAS} != "no" || ${MK_LLDB} != "no" || !defined(TOOLS_PREFIX)
+SRCS_ALL+= ${SRCS_XDW}
+.endif
+SRCS+= ${SRCS_ALL:O}
+
+llvm/IR/Attributes.inc: ${LLVM_SRCS}/include/llvm/IR/Attributes.td
+ ${LLVM_TBLGEN} -gen-attrs \
+ -I ${LLVM_SRCS}/include -d ${.TARGET}.d -o ${.TARGET} \
+ ${LLVM_SRCS}/include/llvm/IR/Attributes.td
+TGHDRS+= llvm/IR/Attributes.inc
+
+llvm/IR/IntrinsicEnums.inc: ${LLVM_SRCS}/include/llvm/IR/Intrinsics.td
+ ${LLVM_TBLGEN} -gen-intrinsic-enums \
+ -I ${LLVM_SRCS}/include -d ${.TARGET}.d -o ${.TARGET} \
+ ${LLVM_SRCS}/include/llvm/IR/Intrinsics.td
+TGHDRS+= llvm/IR/IntrinsicEnums.inc
+
+llvm/IR/IntrinsicImpl.inc: ${LLVM_SRCS}/include/llvm/IR/Intrinsics.td
+ ${LLVM_TBLGEN} -gen-intrinsic-impl \
+ -I ${LLVM_SRCS}/include -d ${.TARGET}.d -o ${.TARGET} \
+ ${LLVM_SRCS}/include/llvm/IR/Intrinsics.td
+TGHDRS+= llvm/IR/IntrinsicImpl.inc
+
+AttributesCompatFunc.inc: ${LLVM_SRCS}/lib/IR/AttributesCompatFunc.td
+ ${LLVM_TBLGEN} -gen-attrs \
+ -I ${LLVM_SRCS}/include -d ${.TARGET}.d -o ${.TARGET} \
+ ${LLVM_SRCS}/lib/IR/AttributesCompatFunc.td
+TGHDRS+= AttributesCompatFunc.inc
+
+InstCombineTables.inc: ${LLVM_SRCS}/lib/Transforms/InstCombine/InstCombineTables.td
+ ${LLVM_TBLGEN} -gen-searchable-tables \
+ -I ${LLVM_SRCS}/include -d ${.TARGET}.d -o ${.TARGET} \
+ ${LLVM_SRCS}/lib/Transforms/InstCombine/InstCombineTables.td
+TGHDRS+= InstCombineTables.inc
+
+llvm-lib/Options.inc: ${LLVM_SRCS}/lib/ToolDrivers/llvm-lib/Options.td
+ ${LLVM_TBLGEN} -gen-opt-parser-defs \
+ -I ${LLVM_SRCS}/include -d ${.TARGET}.d -o ${.TARGET} \
+ ${LLVM_SRCS}/lib/ToolDrivers/llvm-lib/Options.td
+TGHDRS+= llvm-lib/Options.inc
+CFLAGS.LibDriver.cpp+= -I${.OBJDIR}/llvm-lib
+
+llvm-dlltool/Options.inc: ${LLVM_SRCS}/lib/ToolDrivers/llvm-dlltool/Options.td
+ ${LLVM_TBLGEN} -gen-opt-parser-defs \
+ -I ${LLVM_SRCS}/include -d ${.TARGET}.d -o ${.TARGET} \
+ ${LLVM_SRCS}/lib/ToolDrivers/llvm-dlltool/Options.td
+TGHDRS+= llvm-dlltool/Options.inc
+CFLAGS.DlltoolDriver.cpp+= -I${.OBJDIR}/llvm-dlltool
+
+beforebuild:
+# 20170724 remove stale Options.inc file, of which there are two different
+# versions after upstream r308421, one for llvm-lib, one for llvm-dlltool
+.for f in Options.inc
+.if exists(${f}) || exists(${f}.d)
+ @echo Removing stale generated ${f} files
+ @rm -f ${f} ${f}.d
+.endif
+.endfor
+
+# Note: some rules are superfluous, not every combination is valid.
+.for arch in \
+ AArch64/AArch64 ARM/ARM BPF/BPF Mips/Mips PowerPC/PPC Sparc/Sparc X86/X86
+. for hdr in \
+ AsmMatcher/-gen-asm-matcher \
+ AsmWriter1/-gen-asm-writer,-asmwriternum=1 \
+ AsmWriter/-gen-asm-writer \
+ CallingConv/-gen-callingconv \
+ CodeEmitter/-gen-emitter \
+ DAGISel/-gen-dag-isel \
+ DisassemblerTables/-gen-disassembler \
+ EVEX2VEXTables/-gen-x86-EVEX2VEX-tables \
+ FastISel/-gen-fast-isel \
+ GlobalISel/-gen-global-isel \
+ InstrInfo/-gen-instr-info \
+ MCCodeEmitter/-gen-emitter \
+ MCPseudoLowering/-gen-pseudo-lowering \
+ RegisterBank/-gen-register-bank \
+ RegisterInfo/-gen-register-info \
+ SubtargetInfo/-gen-subtarget \
+ SystemOperands/-gen-searchable-tables \
+ SystemRegister/-gen-searchable-tables
+${arch:T}Gen${hdr:H}.inc: ${LLVM_SRCS}/lib/Target/${arch:H}/${arch:T}.td
+ ${LLVM_TBLGEN} ${hdr:T:C/,/ /g} \
+ -I ${LLVM_SRCS}/include -I ${LLVM_SRCS}/lib/Target/${arch:H} \
+ -d ${.TARGET}.d -o ${.TARGET} \
+ ${LLVM_SRCS}/lib/Target/${arch:H}/${arch:T}.td
+. endfor
+.endfor
+.if ${MK_LLVM_TARGET_AARCH64} != "no"
+TGHDRS+= AArch64GenAsmMatcher.inc
+TGHDRS+= AArch64GenAsmWriter.inc
+TGHDRS+= AArch64GenAsmWriter1.inc
+TGHDRS+= AArch64GenCallingConv.inc
+TGHDRS+= AArch64GenDAGISel.inc
+TGHDRS+= AArch64GenDisassemblerTables.inc
+TGHDRS+= AArch64GenFastISel.inc
+TGHDRS+= AArch64GenGlobalISel.inc
+TGHDRS+= AArch64GenInstrInfo.inc
+TGHDRS+= AArch64GenMCCodeEmitter.inc
+TGHDRS+= AArch64GenMCPseudoLowering.inc
+TGHDRS+= AArch64GenRegisterBank.inc
+TGHDRS+= AArch64GenRegisterInfo.inc
+TGHDRS+= AArch64GenSubtargetInfo.inc
+TGHDRS+= AArch64GenSystemOperands.inc
+.endif # MK_LLVM_TARGET_AARCH64
+.if ${MK_LLVM_TARGET_ARM} != "no"
+TGHDRS+= ARMGenAsmMatcher.inc
+TGHDRS+= ARMGenAsmWriter.inc
+TGHDRS+= ARMGenCallingConv.inc
+TGHDRS+= ARMGenDAGISel.inc
+TGHDRS+= ARMGenDisassemblerTables.inc
+TGHDRS+= ARMGenFastISel.inc
+TGHDRS+= ARMGenGlobalISel.inc
+TGHDRS+= ARMGenInstrInfo.inc
+TGHDRS+= ARMGenMCCodeEmitter.inc
+TGHDRS+= ARMGenMCPseudoLowering.inc
+TGHDRS+= ARMGenRegisterBank.inc
+TGHDRS+= ARMGenRegisterInfo.inc
+TGHDRS+= ARMGenSubtargetInfo.inc
+TGHDRS+= ARMGenSystemRegister.inc
+.endif # MK_LLVM_TARGET_ARM
+.if ${MK_LLVM_TARGET_BPF} != "no"
+TGHDRS+= BPFGenAsmMatcher.inc
+TGHDRS+= BPFGenAsmWriter.inc
+TGHDRS+= BPFGenCallingConv.inc
+TGHDRS+= BPFGenDAGISel.inc
+TGHDRS+= BPFGenDisassemblerTables.inc
+TGHDRS+= BPFGenInstrInfo.inc
+TGHDRS+= BPFGenMCCodeEmitter.inc
+TGHDRS+= BPFGenRegisterInfo.inc
+TGHDRS+= BPFGenSubtargetInfo.inc
+.endif # MK_LLVM_TARGET_BPF
+.if ${MK_LLVM_TARGET_MIPS} != "no"
+TGHDRS+= MipsGenAsmMatcher.inc
+TGHDRS+= MipsGenAsmWriter.inc
+TGHDRS+= MipsGenCallingConv.inc
+TGHDRS+= MipsGenDAGISel.inc
+TGHDRS+= MipsGenDisassemblerTables.inc
+TGHDRS+= MipsGenFastISel.inc
+TGHDRS+= MipsGenGlobalISel.inc
+TGHDRS+= MipsGenInstrInfo.inc
+TGHDRS+= MipsGenMCCodeEmitter.inc
+TGHDRS+= MipsGenMCPseudoLowering.inc
+TGHDRS+= MipsGenRegisterBank.inc
+TGHDRS+= MipsGenRegisterInfo.inc
+TGHDRS+= MipsGenSubtargetInfo.inc
+.endif # MK_LLVM_TARGET_MIPS
+.if ${MK_LLVM_TARGET_POWERPC} != "no"
+TGHDRS+= PPCGenAsmMatcher.inc
+TGHDRS+= PPCGenAsmWriter.inc
+TGHDRS+= PPCGenCallingConv.inc
+TGHDRS+= PPCGenDAGISel.inc
+TGHDRS+= PPCGenDisassemblerTables.inc
+TGHDRS+= PPCGenFastISel.inc
+TGHDRS+= PPCGenInstrInfo.inc
+TGHDRS+= PPCGenMCCodeEmitter.inc
+TGHDRS+= PPCGenRegisterInfo.inc
+TGHDRS+= PPCGenSubtargetInfo.inc
+.endif # MK_LLVM_TARGET_POWERPC
+.if ${MK_LLVM_TARGET_SPARC} != "no"
+TGHDRS+= SparcGenAsmMatcher.inc
+TGHDRS+= SparcGenAsmWriter.inc
+TGHDRS+= SparcGenCallingConv.inc
+TGHDRS+= SparcGenDAGISel.inc
+TGHDRS+= SparcGenDisassemblerTables.inc
+TGHDRS+= SparcGenInstrInfo.inc
+TGHDRS+= SparcGenMCCodeEmitter.inc
+TGHDRS+= SparcGenRegisterInfo.inc
+TGHDRS+= SparcGenSubtargetInfo.inc
+.endif # MK_LLVM_TARGET_SPARC
+.if ${MK_LLVM_TARGET_X86} != "no"
+TGHDRS+= X86GenAsmMatcher.inc
+TGHDRS+= X86GenAsmWriter.inc
+TGHDRS+= X86GenAsmWriter1.inc
+TGHDRS+= X86GenCallingConv.inc
+TGHDRS+= X86GenDAGISel.inc
+TGHDRS+= X86GenDisassemblerTables.inc
+TGHDRS+= X86GenEVEX2VEXTables.inc
+TGHDRS+= X86GenFastISel.inc
+TGHDRS+= X86GenGlobalISel.inc
+TGHDRS+= X86GenInstrInfo.inc
+TGHDRS+= X86GenRegisterBank.inc
+TGHDRS+= X86GenRegisterInfo.inc
+TGHDRS+= X86GenSubtargetInfo.inc
+.endif # MK_LLVM_TARGET_X86
+
+DEPENDFILES+= ${TGHDRS:C/$/.d/}
+DPSRCS+= ${TGHDRS}
+CLEANFILES+= ${TGHDRS} ${TGHDRS:C/$/.d/}
+
+.include "../llvm.build.mk"
+.include <bsd.lib.mk>
diff --git a/lib/clang/libllvm/Makefile.depend b/lib/clang/libllvm/Makefile.depend
new file mode 100644
index 000000000000..0b10779d1f91
--- /dev/null
+++ b/lib/clang/libllvm/Makefile.depend
@@ -0,0 +1,19 @@
+# $FreeBSD$
+# Autogenerated - do NOT edit!
+
+DIRDEPS = \
+ include \
+ include/xlocale \
+ lib/libc++ \
+ lib/libedit \
+ lib/libexecinfo \
+ lib/libz \
+ lib/msun \
+ usr.bin/clang/llvm-tblgen.host \
+
+
+.include <dirdeps.mk>
+
+.if ${DEP_RELDIR} == ${_DEP_RELDIR}
+# local dependencies - needed for -jN in clean tree
+.endif
diff --git a/lib/clang/libllvmminimal/Makefile b/lib/clang/libllvmminimal/Makefile
new file mode 100644
index 000000000000..248b8e38fc21
--- /dev/null
+++ b/lib/clang/libllvmminimal/Makefile
@@ -0,0 +1,73 @@
+# $FreeBSD$
+
+.include "../llvm.pre.mk"
+
+LIB= llvmminimal
+INTERNALLIB=
+
+SRCDIR= lib
+SRCS+= Support/APFloat.cpp
+SRCS+= Support/APInt.cpp
+SRCS+= Support/Atomic.cpp
+SRCS+= Support/CodeGenCoverage.cpp
+SRCS+= Support/CommandLine.cpp
+SRCS+= Support/ConvertUTF.cpp
+SRCS+= Support/ConvertUTFWrapper.cpp
+SRCS+= Support/Debug.cpp
+SRCS+= Support/Errno.cpp
+SRCS+= Support/Error.cpp
+SRCS+= Support/ErrorHandling.cpp
+SRCS+= Support/FoldingSet.cpp
+SRCS+= Support/FormattedStream.cpp
+SRCS+= Support/Hashing.cpp
+SRCS+= Support/Host.cpp
+SRCS+= Support/IntEqClasses.cpp
+SRCS+= Support/JSON.cpp
+SRCS+= Support/Locale.cpp
+SRCS+= Support/LowLevelType.cpp
+SRCS+= Support/MD5.cpp
+SRCS+= Support/ManagedStatic.cpp
+SRCS+= Support/MemoryBuffer.cpp
+SRCS+= Support/Mutex.cpp
+SRCS+= Support/NativeFormatting.cpp
+SRCS+= Support/Path.cpp
+SRCS+= Support/PrettyStackTrace.cpp
+SRCS+= Support/Process.cpp
+SRCS+= Support/Program.cpp
+SRCS+= Support/Regex.cpp
+SRCS+= Support/Signals.cpp
+SRCS+= Support/SmallPtrSet.cpp
+SRCS+= Support/SmallVector.cpp
+SRCS+= Support/SourceMgr.cpp
+SRCS+= Support/Statistic.cpp
+SRCS+= Support/StringExtras.cpp
+SRCS+= Support/StringMap.cpp
+SRCS+= Support/StringRef.cpp
+SRCS+= Support/StringSaver.cpp
+SRCS+= Support/TargetParser.cpp
+SRCS+= Support/Threading.cpp
+SRCS+= Support/Timer.cpp
+SRCS+= Support/ToolOutputFile.cpp
+SRCS+= Support/Triple.cpp
+SRCS+= Support/Twine.cpp
+SRCS+= Support/Unicode.cpp
+SRCS+= Support/WithColor.cpp
+SRCS+= Support/circular_raw_ostream.cpp
+SRCS+= Support/raw_ostream.cpp
+SRCS+= Support/regcomp.c
+SRCS+= Support/regerror.c
+SRCS+= Support/regexec.c
+SRCS+= Support/regfree.c
+SRCS+= Support/regstrlcpy.c
+SRCS+= TableGen/Error.cpp
+SRCS+= TableGen/JSONBackend.cpp
+SRCS+= TableGen/Main.cpp
+SRCS+= TableGen/Record.cpp
+SRCS+= TableGen/SetTheory.cpp
+SRCS+= TableGen/StringMatcher.cpp
+SRCS+= TableGen/TGLexer.cpp
+SRCS+= TableGen/TGParser.cpp
+SRCS+= TableGen/TableGenBackend.cpp
+
+.include "../llvm.build.mk"
+.include <bsd.lib.mk>
diff --git a/lib/clang/libllvmminimal/Makefile.depend b/lib/clang/libllvmminimal/Makefile.depend
new file mode 100644
index 000000000000..5ed4f22d8802
--- /dev/null
+++ b/lib/clang/libllvmminimal/Makefile.depend
@@ -0,0 +1,16 @@
+# $FreeBSD$
+# Autogenerated - do NOT edit!
+
+DIRDEPS = \
+ include \
+ include/xlocale \
+ lib/libc++ \
+ lib/libexecinfo \
+ lib/msun \
+
+
+.include <dirdeps.mk>
+
+.if ${DEP_RELDIR} == ${_DEP_RELDIR}
+# local dependencies - needed for -jN in clean tree
+.endif
diff --git a/lib/clang/lldb.pre.mk b/lib/clang/lldb.pre.mk
new file mode 100644
index 000000000000..1849b9b35c97
--- /dev/null
+++ b/lib/clang/lldb.pre.mk
@@ -0,0 +1,5 @@
+# $FreeBSD$
+
+.include "clang.pre.mk"
+
+LLDB_SRCS= ${LLVM_SRCS}/tools/lldb
diff --git a/lib/clang/llvm.build.mk b/lib/clang/llvm.build.mk
new file mode 100644
index 000000000000..920c79bb11ae
--- /dev/null
+++ b/lib/clang/llvm.build.mk
@@ -0,0 +1,106 @@
+# $FreeBSD$
+
+.include <src.opts.mk>
+
+.ifndef LLVM_SRCS
+.error Please define LLVM_SRCS before including this file
+.endif
+
+.ifndef SRCDIR
+.error Please define SRCDIR before including this file
+.endif
+
+.PATH: ${LLVM_SRCS}/${SRCDIR}
+
+CFLAGS+= -I${SRCTOP}/lib/clang/include
+CFLAGS+= -I${LLVM_SRCS}/include
+CFLAGS+= -DLLVM_BUILD_GLOBAL_ISEL
+CFLAGS+= -D__STDC_LIMIT_MACROS
+CFLAGS+= -D__STDC_CONSTANT_MACROS
+#CFLAGS+= -DNDEBUG
+
+TARGET_ARCH?= ${MACHINE_ARCH}
+BUILD_ARCH?= ${MACHINE_ARCH}
+
+# Armv6 and armv7 uses hard float abi, unless the CPUTYPE has soft in it.
+# arm (for armv4 and armv5 CPUs) always uses the soft float ABI.
+# For all other targets, we stick with 'unknown'.
+.if ${TARGET_ARCH:Marmv[67]*} && (!defined(CPUTYPE) || ${CPUTYPE:M*soft*} == "")
+TARGET_ABI= -gnueabihf
+.elif ${TARGET_ARCH:Marm*}
+TARGET_ABI= -gnueabi
+.else
+TARGET_ABI=
+.endif
+VENDOR= unknown
+OS_VERSION= freebsd12.0
+
+LLVM_TARGET_TRIPLE?= ${TARGET_ARCH:C/amd64/x86_64/:C/arm64/aarch64/}-${VENDOR}-${OS_VERSION}${TARGET_ABI}
+LLVM_BUILD_TRIPLE?= ${BUILD_ARCH:C/amd64/x86_64/:C/arm64/aarch64/}-${VENDOR}-${OS_VERSION}
+
+CFLAGS+= -DLLVM_DEFAULT_TARGET_TRIPLE=\"${LLVM_TARGET_TRIPLE}\"
+CFLAGS+= -DLLVM_HOST_TRIPLE=\"${LLVM_BUILD_TRIPLE}\"
+CFLAGS+= -DDEFAULT_SYSROOT=\"${TOOLS_PREFIX}\"
+
+.if ${MK_LLVM_TARGET_AARCH64} != "no"
+CFLAGS+= -DLLVM_TARGET_ENABLE_AARCH64
+. if ${MACHINE_CPUARCH} == "aarch64"
+LLVM_NATIVE_ARCH= AArch64
+. endif
+.endif
+.if ${MK_LLVM_TARGET_ARM} != "no"
+CFLAGS+= -DLLVM_TARGET_ENABLE_ARM
+. if ${MACHINE_CPUARCH} == "arm"
+LLVM_NATIVE_ARCH= ARM
+. endif
+.endif
+.if ${MK_LLVM_TARGET_BPF} != "no"
+CFLAGS+= -DLLVM_TARGET_ENABLE_BPF
+.endif
+.if ${MK_LLVM_TARGET_MIPS} != "no"
+CFLAGS+= -DLLVM_TARGET_ENABLE_MIPS
+. if ${MACHINE_CPUARCH} == "mips"
+LLVM_NATIVE_ARCH= Mips
+. endif
+.endif
+.if ${MK_LLVM_TARGET_POWERPC} != "no"
+CFLAGS+= -DLLVM_TARGET_ENABLE_POWERPC
+. if ${MACHINE_CPUARCH} == "powerpc"
+LLVM_NATIVE_ARCH= PowerPC
+. endif
+.endif
+.if ${MK_LLVM_TARGET_SPARC} != "no"
+CFLAGS+= -DLLVM_TARGET_ENABLE_SPARC
+. if ${MACHINE_CPUARCH} == "sparc64"
+LLVM_NATIVE_ARCH= Sparc
+. endif
+.endif
+.if ${MK_LLVM_TARGET_X86} != "no"
+CFLAGS+= -DLLVM_TARGET_ENABLE_X86
+. if ${MACHINE_CPUARCH} == "i386" || ${MACHINE_CPUARCH} == "amd64"
+LLVM_NATIVE_ARCH= X86
+. endif
+.endif
+
+.ifdef LLVM_NATIVE_ARCH
+CFLAGS+= -DLLVM_NATIVE_ASMPARSER=LLVMInitialize${LLVM_NATIVE_ARCH}AsmParser
+CFLAGS+= -DLLVM_NATIVE_ASMPRINTER=LLVMInitialize${LLVM_NATIVE_ARCH}AsmPrinter
+CFLAGS+= -DLLVM_NATIVE_DISASSEMBLER=LLVMInitialize${LLVM_NATIVE_ARCH}Disassembler
+CFLAGS+= -DLLVM_NATIVE_TARGET=LLVMInitialize${LLVM_NATIVE_ARCH}Target
+CFLAGS+= -DLLVM_NATIVE_TARGETINFO=LLVMInitialize${LLVM_NATIVE_ARCH}TargetInfo
+CFLAGS+= -DLLVM_NATIVE_TARGETMC=LLVMInitialize${LLVM_NATIVE_ARCH}TargetMC
+.endif
+
+CFLAGS+= -ffunction-sections
+CFLAGS+= -fdata-sections
+LDFLAGS+= -Wl,--gc-sections
+
+CXXFLAGS+= -std=c++11
+CXXFLAGS+= -fno-exceptions
+CXXFLAGS+= -fno-rtti
+CXXFLAGS.clang+= -stdlib=libc++
+
+.if ${MACHINE_CPUARCH} == "arm"
+STATIC_CFLAGS+= -mlong-calls
+STATIC_CXXFLAGS+= -mlong-calls
+.endif
diff --git a/lib/clang/llvm.pre.mk b/lib/clang/llvm.pre.mk
new file mode 100644
index 000000000000..9245b9824a19
--- /dev/null
+++ b/lib/clang/llvm.pre.mk
@@ -0,0 +1,5 @@
+# $FreeBSD$
+
+LLVM_SRCS= ${SRCTOP}/contrib/llvm
+
+LLVM_TBLGEN?= llvm-tblgen