[Midnightbsd-cvs] mports [24061] trunk/devel: add llvm 6

laffer1 at midnightbsd.org laffer1 at midnightbsd.org
Sun Sep 2 13:45:23 EDT 2018


Revision: 24061
          http://svnweb.midnightbsd.org/mports/?rev=24061
Author:   laffer1
Date:     2018-09-02 13:45:23 -0400 (Sun, 02 Sep 2018)
Log Message:
-----------
add llvm 6

Modified Paths:
--------------
    trunk/devel/Makefile

Added Paths:
-----------
    trunk/devel/llvm60/
    trunk/devel/llvm60/Makefile
    trunk/devel/llvm60/distinfo
    trunk/devel/llvm60/files/
    trunk/devel/llvm60/files/clang/
    trunk/devel/llvm60/files/clang/patch-fformat_extensions.diff
    trunk/devel/llvm60/files/clang/patch-fopenmp.diff
    trunk/devel/llvm60/files/clang/patch-tools_clang_lib_Headers_CMakeLists.txt
    trunk/devel/llvm60/files/clang/patch-tools_clang_tools_clang-format_clang-format-sublime.py
    trunk/devel/llvm60/files/clang/patch-tools_clang_tools_clang-format_clang-format.py
    trunk/devel/llvm60/files/clang/patch-tools_clang_tools_clang-format_git-clang-format
    trunk/devel/llvm60/files/clang/patch-tools_clang_tools_scan-build_libexec_ccc-analyzer
    trunk/devel/llvm60/files/llvm-wrapper.sh.in
    trunk/devel/llvm60/files/openmp/
    trunk/devel/llvm60/files/openmp/patch-bug32279
    trunk/devel/llvm60/files/openmp/patch-i386
    trunk/devel/llvm60/files/patch-CMakeLists.txt
    trunk/devel/llvm60/files/patch-cmake-modules_AddLLVM.cmake
    trunk/devel/llvm60/files/patch-cmake-modules_HandleLLVMOptions.cmake
    trunk/devel/llvm60/files/patch-cmake_config.guess
    trunk/devel/llvm60/files/patch-cmake_modules_AddSphinxTarget.cmake
    trunk/devel/llvm60/files/patch-svn-r322325
    trunk/devel/llvm60/pkg-descr
    trunk/devel/llvm60/pkg-plist

Modified: trunk/devel/Makefile
===================================================================
--- trunk/devel/Makefile	2018-09-01 03:45:42 UTC (rev 24060)
+++ trunk/devel/Makefile	2018-09-02 17:45:23 UTC (rev 24061)
@@ -215,6 +215,7 @@
 SUBDIR += llvm36
 SUBDIR += llvm39
 SUBDIR += llvm40
+SUBDIR += llvm60
 SUBDIR += llvm-devel
 SUBDIR += lndir
 SUBDIR += log4j

Added: trunk/devel/llvm60/Makefile
===================================================================
--- trunk/devel/llvm60/Makefile	                        (rev 0)
+++ trunk/devel/llvm60/Makefile	2018-09-02 17:45:23 UTC (rev 24061)
@@ -0,0 +1,545 @@
+# $MidnightBSD$
+
+PORTNAME=	llvm
+DISTVERSION=	6.0.1
+PORTREVISION=	1
+CATEGORIES=	devel lang
+MASTER_SITES=	http://${PRE_}releases.llvm.org/${LLVM_RELEASE}/${RCDIR}
+PKGNAMESUFFIX=	${LLVM_SUFFIX}
+DISTNAME=	${PORTNAME}-${DISTVERSION}.src
+DISTFILES=	${PORTNAME}-${DISTVERSION}.src${EXTRACT_SUFX}
+
+MAINTAINER=	ports at MidnightBSD.org
+COMMENT=	LLVM and Clang
+
+LICENSE=	LLVM
+LICENSE_NAME=	LLVM Release License
+LICENSE_FILE=	${WRKSRC}/LICENSE.TXT
+LICENSE_PERMS=	dist-mirror dist-sell pkg-mirror pkg-sell auto-accept
+
+LLVM_RELEASE=	${DISTVERSION:C/rc.*//}
+LLVM_MAJOR=	${LLVM_RELEASE:C/\.[0-9]$//}
+LLVM_LIB_VER=	${LLVM_MAJOR:C/\.//}
+RCDIR=		${DISTVERSION:S/${LLVM_RELEASE}//:C|(rc.*)|\1/|}
+PRE_=		${DISTVERSION:C/.*rc.*/pre/:N*[0-9]*}
+LLVM_SUFFIX=	${LLVM_LIB_VER}
+
+LLVM_PREFIX=	${PREFIX}/llvm${LLVM_SUFFIX}
+DOCSDIR=	${PREFIX}/share/doc/${PORTNAME}${LLVM_SUFFIX}
+DATADIR=	${PREFIX}/share/${PORTNAME}${LLVM_SUFFIX}
+
+USES=		cmake:outsource compiler:c++11-lib libedit perl5 tar:xz \
+		shebangfix
+_USES_PYTHON?=	python:2.7,build
+USES+=		${_USES_PYTHON}
+USE_LDCONFIG=	${LLVM_PREFIX}/lib
+SHEBANG_FILES=	utils/lit/lit.py utils/llvm-lit/llvm-lit.in
+
+SUB_FILES=	llvm-wrapper.sh
+SUB_LIST=	LLVM_PREFIX="${LLVM_PREFIX}" LLVM_SUFFIX="${LLVM_SUFFIX}"
+
+CMAKE_INSTALL_PREFIX=	${LLVM_PREFIX}
+CMAKE_ARGS=	-DLLVM_BUILD_LLVM_DYLIB=ON
+#-DLLVM_LINK_LLVM_DYLIB=ON
+CMAKE_ARGS+=	-DLLVM_ENABLE_RTTI=ON
+CMAKE_ARGS+=	-DLLVM_DEFAULT_TARGET_TRIPLE=${CONFIGURE_TARGET}
+CMAKE_ARGS+=	-DLLVM_HOST_TRIPLE=${CONFIGURE_TARGET}
+# Following commit https://github.com/kitware/cmake/commit/956054
+# we need to either change the whole man-shuffle below, or simply
+# redefine CMAKE_INSTALL_MANDIR
+CMAKE_ARGS+=	-DCMAKE_INSTALL_MANDIR:PATH="share/man"
+
+OPTIONS_DEFINE=	CLANG DOCS EXTRAS LIT LLD
+OPTIONS_DEFINE_amd64=	COMPILER_RT GOLD
+OPTIONS_DEFINE_i386=	COMPILER_RT
+OPTIONS_DEFAULT=	CLANG EXTRAS LIT LLD
+OPTIONS_DEFAULT_amd64=	GOLD
+#OPTIONS_DEFAULT_amd64=	COMPILER_RT GOLD
+#OPTIONS_DEFAULT_i386=	COMPILER_RT
+OPTIONS_SUB=	yes
+
+CLANG_DESC=	Build clang
+CLANG_EXTRA_PATCHES=	${PATCHDIR}/clang/patch-fformat_extensions.diff \
+			${PATCHDIR}/clang/patch-tools_clang_tools_clang-format_clang-format-sublime.py	\
+			${PATCHDIR}/clang/patch-tools_clang_tools_scan-build_libexec_ccc-analyzer \
+			${PATCHDIR}/clang/patch-fopenmp.diff \
+			${PATCHDIR}/clang/patch-tools_clang_tools_clang-format_clang-format.py \
+			${PATCHDIR}/clang/patch-tools_clang_lib_Headers_CMakeLists.txt \
+			${PATCHDIR}/clang/patch-tools_clang_tools_clang-format_git-clang-format
+CLANG_CONFLICTS_INSTALL=	clang-devel-3.[1234567]*
+CLANG_DISTFILES=	cfe-${DISTVERSION}.src${EXTRACT_SUFX}
+CLANG_CMAKE_ON=		-DCLANG_DEFAULT_OPENMP_RUNTIME=libomp
+CLANG_PORTDOCS=		clang
+CLANG_USE=		GNOME=libxml2
+COMPILER_RT_DESC=	Sanitizer libraries
+COMPILER_RT_DISTFILES=	compiler-rt-${DISTVERSION}.src${EXTRACT_SUFX}
+COMPILER_RT_PLIST_FILES=${_COMPILER_RT_LIBS:S|^|${_CRTLIBDIR}/|}
+DOCS_BUILD_DEPENDS=	sphinx-build:textproc/py-sphinx
+DOCS_PORTDOCS=		llvm
+DOCS_CMAKE_ON=		-DLLVM_ENABLE_SPHINX=ON \
+			-DSPHINX_WARNINGS_AS_ERRORS=OFF \
+			-DLLVM_BUILD_DOCS=ON
+DOCS_PLIST_FILES=	${MAN1SRCS:S|^|man/man1/|:S|.1$|${LLVM_SUFFIX}.1.gz|}
+EXTRAS_DESC=		Extra clang tools
+EXTRAS_IMPLIES=		CLANG
+EXTRAS_DISTFILES=	clang-tools-extra-${DISTVERSION}.src${EXTRACT_SUFX}
+GOLD_DESC=		Build the LLVM Gold plugin for LTO
+GOLD_CMAKE_ON=		-DLLVM_BINUTILS_INCDIR=${LOCALBASE}/include
+GOLD_BUILD_DEPENDS=	${LOCALBASE}/bin/ld.gold:devel/binutils
+LIT_DESC=		Install lit and FileCheck test tools
+LIT_VARS=		_USES_PYTHON=python:2.7
+LLD_DESC=		Install lld, the LLVM linker
+LLD_DISTFILES=		lld-${DISTVERSION}.src${EXTRACT_SUFX}
+
+.if defined(WITH_DEBUG)
+CMAKE_BUILD_TYPE=	RelWithDebInfo
+STRIP=
+.endif
+
+_CRTLIBDIR=	${LLVM_PREFIX:S|${PREFIX}/||}/lib/clang/${LLVM_RELEASE}/lib/midnightbsd
+
+# Emulate USE_GITHUB's ${WRKSRC_tag} to reduce diffs to ../llvm-devel
+.for option in CLANG COMPILER_RT EXTRAS LLD
+WRKSRC_${option:tl}=		${WRKDIR}/${${option}_DISTFILES:S/${EXTRACT_SUFX}//}
+.endfor
+
+OPTIONS_SUB=	yes
+
+PLIST_SUB+=	LLVM_LIB_VER=${LLVM_LIB_VER} \
+		LLVM_MAJOR=${LLVM_MAJOR} \
+		LLVM_RELEASE=${LLVM_RELEASE} \
+		LLVM_SUFFIX=${LLVM_SUFFIX}
+
+COMMANDS=	bugpoint \
+		llc \
+		lli \
+		llvm-ar \
+		llvm-as \
+		llvm-bcanalyzer \
+		llvm-cat \
+		llvm-cfi-verify \
+		llvm-config \
+		llvm-cov \
+		llvm-cvtres \
+		llvm-diff \
+		llvm-dis \
+		llvm-dlltool \
+		llvm-dwarfdump \
+		llvm-dwp \
+		llvm-extract \
+		llvm-link \
+		llvm-mc \
+		llvm-mcmarkup \
+		llvm-modextract \
+		llvm-mt \
+		llvm-nm \
+		llvm-objcopy \
+		llvm-objdump \
+		llvm-opt-report \
+		llvm-pdbutil \
+		llvm-profdata \
+		llvm-ranlib \
+		llvm-rc \
+		llvm-readelf \
+		llvm-readobj \
+		llvm-rtdyld \
+		llvm-size \
+		llvm-split \
+		llvm-stress \
+		llvm-strings \
+		llvm-symbolizer \
+		llvm-tblgen \
+		macho-dump \
+		opt \
+		sancov
+FIRST_COMMAND=	${COMMANDS:C/^/XXXX/1:MXXXX*:C/^XXXX//}
+
+STRIP_LIBS=	BugpointPasses.so \
+		LLVMHello.so \
+		${LIBNAME}.0 \
+		libLTO.so
+
+EXTRAS_COMMANDS+= \
+		clang-apply-replacements \
+		clang-change-namespace \
+		clang-include-fixer \
+		clang-modernize \
+		clang-query \
+		clang-rename \
+		clang-reorder-fields \
+		clang-tidy \
+		clangd \
+		find-all-symbols \
+		modularize
+EXTRAS_LIBS=	libclangApplyReplacements \
+		libclangChangeNamespace \
+		libclangDaemon \
+		libclangIncludeFixer \
+		libclangMove \
+		libclangQuery \
+		libclangRename \
+		libclangReorderFields \
+		libclangTidy \
+		libclangTidyGoogleModule \
+		libclangTidyLLVMModule \
+		libclangTidyMiscModule \
+		libclangTidyReadabilityModule \
+		libclangTidyUtils \
+		libfindAllSymbols \
+		libmodernizeCore
+EXTRAS_PATTERN=	${EXTRAS_COMMANDS:tW:C/  */|/g}|${EXTRAS_LIBS:tW:C/  */|/g}
+
+.include <bsd.mport.options.mk>
+
+# keep in sync with /usr/src/lib/clang/clang.build.mk
+# ----------- start of sync block ------------------
+# 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 ${ARCH:Marmv[67]*} && (!defined(CPUTYPE) || ${CPUTYPE:M*soft*} == "")
+TARGET_ABI=	-gnueabihf
+.elif ${ARCH:Marm*}
+TARGET_ABI=	-gnueabi
+.else
+TARGET_ABI=
+.endif
+
+CONFIGURE_TARGET:=${ARCH:C/amd64/x86_64/:C/arm64/aarch64/}-portbld-freebsd10.4${TARGET_ABI}
+# ----------- end of sync block --------------------
+
+.if ${PORT_OPTIONS:MCLANG}
+COMMANDS+=	c-index-test \
+		clang \
+		clang++ \
+		clang-check \
+		clang-cpp \
+		clang-format \
+		clang-func-mapping \
+		clang-import-test \
+		clang-offload-bundler \
+		scan-build \
+		scan-view
+MAN1SRCS+=	clang.1 \
+		scan-build.1
+CLANG_PATTERN=	(c-index-test|clang|scan-|Reporter.py|ScanView.py|scanview.css|sorttable.js|startfile.py|-analyzer)
+SHEBANG_FILES+=	tools/clang/tools/scan-view/bin/scan-view \
+		tools/clang/tools/clang-format/git-clang-format \
+		tools/clang/tools/clang-format/clang-format-diff.py
+.endif
+
+.if ${PORT_OPTIONS:MCOMPILER_RT}
+COMPILER_RT_PATTERN=	(_blacklist.txt|sanitizer|include.xray)
+.endif
+
+.if ${PORT_OPTIONS:MLIT}
+MAN1SRCS+=	lit.1 FileCheck.1
+LIT_COMMANDS=	lit llvm-lit FileCheck
+.endif
+
+.if ! ${OPTIONS_DEFINE:MCOMPILER_RT}
+# Hack to disable COMPILER_RT in plist of unsupported architectures
+PLIST_SUB+=	COMPILER_RT="@comment "
+.else
+.endif
+
+.if ! ${OPTIONS_DEFINE:MGOLD}
+# Hack to disable GOLD in plist of unsupported architectures
+PLIST_SUB+=	GOLD="@comment "
+.else
+.endif
+
+# Hack to disable OPENMP in plist of unsupported architectures
+PLIST_SUB+=	OPENMP="@comment "
+
+MAN1SRCS+=	bugpoint.1 dsymutil.1 llc.1 lli.1 llvm-ar.1 llvm-as.1 \
+		llvm-bcanalyzer.1 llvm-build.1 llvm-config.1 llvm-cov.1 \
+		llvm-diff.1 llvm-dis.1 llvm-dwarfdump.1 \
+		llvm-extract.1 llvm-lib.1 llvm-link.1 llvm-nm.1 \
+		llvm-pdbutil.1 \
+		llvm-profdata.1 llvm-readobj.1 llvm-stress.1 llvm-symbolizer.1 \
+		opt.1 tblgen.1
+
+.include <bsd.port.pre.mk>
+
+.if ${ARCH} == "amd64"
+_COMPILER_RT_LIBS= \
+	libclang_rt.asan-preinit-x86_64.a \
+	libclang_rt.asan-x86_64.a \
+	libclang_rt.asan-x86_64.a.syms \
+	libclang_rt.asan-x86_64.so \
+	libclang_rt.asan_cxx-x86_64.a \
+	libclang_rt.asan_cxx-x86_64.a.syms \
+	libclang_rt.builtins-x86_64.a \
+	libclang_rt.dd-x86_64.a \
+	libclang_rt.dyndd-x86_64.so \
+	libclang_rt.lsan-x86_64.a \
+	libclang_rt.profile-x86_64.a \
+	libclang_rt.safestack-x86_64.a \
+	libclang_rt.stats-x86_64.a \
+	libclang_rt.stats_client-x86_64.a \
+	libclang_rt.tsan-x86_64.a \
+	libclang_rt.tsan-x86_64.a.syms \
+	libclang_rt.tsan_cxx-x86_64.a \
+	libclang_rt.tsan_cxx-x86_64.a.syms \
+	libclang_rt.ubsan_minimal-x86_64.a \
+	libclang_rt.ubsan_minimal-x86_64.a.syms \
+	libclang_rt.ubsan_minimal-x86_64.so \
+	libclang_rt.ubsan_standalone-x86_64.a \
+	libclang_rt.ubsan_standalone-x86_64.a.syms \
+	libclang_rt.ubsan_standalone-x86_64.so \
+	libclang_rt.ubsan_standalone_cxx-x86_64.a \
+	libclang_rt.ubsan_standalone_cxx-x86_64.a.syms
+.endif
+.if ${ARCH} == "i386"
+_COMPILER_RT_LIBS+= \
+	libclang_rt.asan-i386.a \
+	libclang_rt.asan-i386.so \
+	libclang_rt.asan-preinit-i386.a \
+	libclang_rt.asan_cxx-i386.a \
+	libclang_rt.builtins-i386.a \
+	libclang_rt.lsan-i386.a \
+	libclang_rt.profile-i386.a \
+	libclang_rt.safestack-i386.a \
+	libclang_rt.stats-i386.a \
+	libclang_rt.stats_client-i386.a \
+	libclang_rt.ubsan_minimal-i386.a \
+	libclang_rt.ubsan_minimal-i386.so \
+	libclang_rt.ubsan_standalone-i386.a \
+	libclang_rt.ubsan_standalone-i386.so \
+	libclang_rt.ubsan_standalone_cxx-i386.a
+.endif
+
+.if ${PORT_OPTIONS:MEXTRAS}
+COMMANDS+=	${EXTRAS_COMMANDS}
+MAN1SRCS+=	extraclangtools.1
+PORTDOCS+=	clang-tools
+SHEBANG_FILES+=	tools/clang/tools/extra/clang-tidy/tool/clang-tidy-diff.py \
+		tools/clang/tools/extra/clang-tidy/tool/run-clang-tidy.py \
+		tools/clang/tools/extra/include-fixer/find-all-symbols/tool/run-find-all-symbols.py
+.endif
+
+.if ${PORT_OPTIONS:MLLD}
+COMMANDS+=	ld.lld \
+		ld64.lld \
+		lld \
+		lld-link \
+		wasm-ld
+PORTDOCS+=	lld
+.endif
+
+.if ${OPSYS} == "FreeBSD" && ${COMPILER_TYPE} != clang
+CXXFLAGS+=	-D_GLIBCXX_USE_C99
+.endif
+
+.if ${ARCH} == "armv6" || ${ARCH} == "armv7"
+BUILD_DEPENDS+=	${LOCALBASE}/bin/ld:devel/binutils
+CONFIGURE_ENV+=	COMPILER_PATH=${LOCALBASE}/bin
+MAKE_ENV+=	COMPILER_PATH=${LOCALBASE}/bin
+.endif
+
+post-extract-CLANG-on:
+	${MV} ${WRKSRC_clang} ${PATCH_WRKSRC}/tools/clang
+
+post-extract-EXTRAS-on:
+	${MV} ${WRKSRC_extras} ${PATCH_WRKSRC}/tools/clang/tools/extra
+
+post-extract-LLD-on:
+	${MV} ${WRKSRC_lld} ${PATCH_WRKSRC}/tools/lld
+
+post-patch:
+	${REINPLACE_CMD} -e 's|import lit|import lit${LLVM_SUFFIX}|' \
+	    -e 's|from lit|from lit${LLVM_SUFFIX}|' \
+	    -e 's|lit\.|lit${LLVM_SUFFIX}.|' \
+	    ${WRKSRC}/utils/lit/lit.py ${WRKSRC}/utils/lit/lit/*.py \
+	    ${WRKSRC}/utils/lit/lit/formats/*.py
+	${REINPLACE_CMD} -e 's,/usr/local/,${LOCALBASE}/,' \
+	    ${WRKSRC}/CMakeLists.txt
+
+post-patch-CLANG-on:
+	${REINPLACE_CMD} -e 's|%%LLVM_PREFIX%%|${LLVM_PREFIX}|' \
+	    ${PATCH_WRKSRC}/tools/clang/lib/Driver/ToolChains/CommonArgs.cpp
+	${REINPLACE_CMD} -e 's|%%LLVM_SUFFIX%%|${LLVM_SUFFIX}|' \
+	    ${PATCH_WRKSRC}/tools/clang/tools/clang-format/clang-format.py \
+	    ${PATCH_WRKSRC}/tools/clang/tools/clang-format/clang-format-sublime.py \
+	    ${PATCH_WRKSRC}/tools/clang/tools/clang-format/git-clang-format
+
+post-build-COMPILER_RT-on:
+	${MKDIR} ${WRKDIR}/compiler-rt-build
+	cd ${WRKDIR}/compiler-rt-build && \
+	${SETENV} ${CONFIGURE_ENV} ${CMAKE_BIN} ${CMAKE_ARGS} \
+	    -DLLVM_CONFIG_PATH=${CONFIGURE_WRKSRC}/bin/llvm-config \
+	    ${WRKSRC_compiler_rt} && \
+	    ${MAKE_ENV} ${FAKE_MAKEENV} ${MAKE_CMD} ${FAKE_MAKEARGS}
+
+post-install:
+	${RM} -r ${STAGEDIR}${LLVM_PREFIX}/include/llvm/MC/MCAnalysis
+	${INSTALL_SCRIPT} ${WRKDIR}/llvm-wrapper.sh \
+	    ${STAGEDIR}${PREFIX}/bin/${FIRST_COMMAND}${LLVM_SUFFIX}
+.for command in ${COMMANDS:C/^/XXXX/1:NXXXX*}
+	${LN} -f ${STAGEDIR}${PREFIX}/bin/${FIRST_COMMAND}${LLVM_SUFFIX} \
+	    ${STAGEDIR}${PREFIX}/bin/${command}${LLVM_SUFFIX}
+.endfor
+
+post-install-DOCS-on:
+	${MV} ${FAKE_DESTDIR}${LLVM_PREFIX}/share/doc ${FAKE_DESTDIR}${DOCSDIR}
+.for _man in ${MAN1SRCS}
+	${MV} ${FAKE_DESTDIR}${LLVM_PREFIX}/share/man/man1/${_man} \
+	    ${FAKE_DESTDIR}${MANPREFIX}/man/man1/${_man:R}${LLVM_SUFFIX}.1
+.endfor
+.if ! ${PORT_OPTIONS:MLIT}
+	${RM} ${FAKE_DESTDIR}${LLVM_PREFIX}/share/man/man1/lit.1
+	${RM} ${FAKE_DESTDIR}${LLVM_PREFIX}/share/man/man1/FileCheck.1
+.endif
+	${RMDIR} ${FAKE_DESTDIR}${LLVM_PREFIX}/share/man/man1/
+	${RMDIR} ${FAKE_DESTDIR}${LLVM_PREFIX}/share/man/
+
+.if ${PORT_OPTIONS:MCLANG}
+post-install-DOCS-off:
+	${RM} ${FAKE_DESTDIR}${LLVM_PREFIX}/share/man/man1/scan-build.1
+	${RMDIR} ${FAKE_DESTDIR}${LLVM_PREFIX}/share/man/man1/
+	${RMDIR} ${FAKE_DESTDIR}${LLVM_PREFIX}/share/man/
+.endif
+
+post-install-LLD-on:
+	${RMDIR} ${FAKE_DESTDIR}${LLVM_PREFIX}/include/llvm/BinaryFormat/WasmRelocs
+
+post-install-CLANG-on:
+	${LN} -f ${FAKE_DESTDIR}${LLVM_PREFIX}/bin/clang \
+	   ${FAKE_DESTDIR}${LLVM_PREFIX}/bin/clang-cpp
+	${INSTALL_PROGRAM} ${WRKDIR}/.build/bin/clang-tblgen \
+	    ${FAKE_DESTDIR}${LLVM_PREFIX}/bin/
+
+post-install-COMPILER_RT-on:
+	cd ${WRKDIR}/compiler-rt-build && \
+	    ${MAKE_ENV} ${FAKE_MAKE_ENV} DESTDIR=${FAKE_DESTDIR} ${MAKE_CMD} ${FAKE_MAKEARGS} ${INSTALL_TARGET}
+.if ${ARCH} == "amd64"
+	${RM} ${FAKE_DESTDIR}${LLVM_PREFIX}/lib/midnightbsd/libclang_rt*i386*
+.endif
+	${MKDIR} ${FAKE_DESTDIR}${PREFIX}/${_CRTLIBDIR}
+	${MV} ${FAKE_DESTDIR}${LLVM_PREFIX}/lib/midnightbsd/* \
+	    ${FAKE_DESTDIR}${PREFIX}/${_CRTLIBDIR}
+	${RMDIR} ${FAKE_DESTDIR}${LLVM_PREFIX}/lib/midnightbsd
+
+post-install-LIT-on:
+	${INSTALL_SCRIPT} ${PATCH_WRKSRC}/utils/lit/lit.py \
+	    ${FAKE_DESTDIR}${LLVM_PREFIX}/bin/lit
+	${LN} -f ${FAKE_DESTDIR}${LLVM_PREFIX}/bin/lit \
+	    ${FAKE_DESTDIR}${LLVM_PREFIX}/bin/llvm-lit
+	${LN} -f ${FAKE_DESTDIR}${LLVM_PREFIX}/bin/lit \
+	    ${FAKE_DESTDIR}${TRUE_PREFIX}/bin/lit${LLVM_SUFFIX}
+	${LN} -f ${FAKE_DESTDIR}${LLVM_PREFIX}/bin/lit \
+	    ${FAKE_DESTDIR}${TRUE_PREFIX}/bin/llvm-lit${LLVM_SUFFIX}
+	${MKDIR} ${FAKE_DESTDIR}${PYTHONPREFIX_SITELIBDIR}/lit${LLVM_SUFFIX}
+	${MKDIR} ${FAKE_DESTDIR}${PYTHONPREFIX_SITELIBDIR}/lit${LLVM_SUFFIX}/formats
+	${INSTALL_DATA} ${WRKSRC}/utils/lit/lit/*.py \
+	    ${FAKE_DESTDIR}${PYTHONPREFIX_SITELIBDIR}/lit${LLVM_SUFFIX}
+	${INSTALL_DATA} ${WRKSRC}/utils/lit/lit/formats/*.py \
+			${FAKE_DESTDIR}${PYTHONPREFIX_SITELIBDIR}/lit${LLVM_SUFFIX}/formats
+	${INSTALL_PROGRAM} ${WRKDIR}/.build/bin/FileCheck \
+	    ${FAKE_DESTDIR}${LLVM_PREFIX}/bin/
+	${LN} -f ${FAKE_DESTDIR}${LLVM_PREFIX}/bin/FileCheck \
+	    ${FAKE_DESTDIR}${PREFIX}/bin/FileCheck${LLVM_SUFFIX}
+
+TEST_CMD=	'(cd ${WRKSRC}/test; ${SETENV} ${MAKE_ENV} LD_LIBRARY_PATH=${WRKSRC}/Release/lib ${MAKE_CMD} check-local-lit)'
+do-test:
+	if [ `${ID} -u` = 0 ]; then \
+		${CHOWN} -R nobody ${WRKSRC}/test; \
+		su -m nobody -c ${TEST_CMD}; \
+	else \
+		${SH} -c ${TEST_CMD}; \
+	fi
+
+build-plist:
+	${RM} ${PLIST} ${PLIST}.tmp
+	${ECHO_CMD} "@comment >>>>> GENERATED FILE, DO NOT EDIT <<<<<" >> ${PLIST}.tmp
+	${ECHO_CMD} "@comment Alter build-plist target and regenerate as required" >> ${PLIST}.tmp
+.for command in ${COMMANDS}
+	${ECHO_CMD} bin/${command}%%LLVM_SUFFIX%% >> ${PLIST}.tmp
+.endfor
+.for command in ${LIT_COMMANDS}
+	${ECHO_CMD} %%LIT%%bin/${command}%%LLVM_SUFFIX%% >> ${PLIST}.tmp
+	${ECHO_CMD} %%LIT%%${LLVM_PREFIX:S|${PREFIX}/||:C|${LLVM_SUFFIX}|%%LLVM_SUFFIX%%|}/bin/${command} >> ${PLIST}.tmp
+.endfor
+
+	${FIND} ${FAKE_DESTDIR}${LLVM_PREFIX} -type f -o -type l | \
+	    ${GREP} -v '[/-]lit$$' | ${GREP} -v 'FileCheck$$' | \
+	    ${GREP} -v man/man1 | ${SED} -e 's|${STAGEDIR}${PREFIX}/||' \
+	    -e 's|${PYTHON_SITELIBDIR:C|${PREFIX}/||}|%%PYTHON_SITELIBDIR%%|' \
+	    -e 's|${LLVM_RELEASE}|%%LLVM_RELEASE%%|' \
+	    -e 's|release.cmake|%%CMAKE_BUILD_TYPE%%.cmake|' \
+	    -e 's|${LLVM_RELEASE:C/\./\\./g}|%%LLVM_RELEASE%%|' \
+	    -e 's|${LLVM_MAJOR:C/\./\\./}|%%LLVM_MAJOR%%|' \
+	    -e 's|${LLVM_MAJOR:C/\.//}|%%LLVM_LIB_VER%%|' \
+	    | ${SORT} >> ${PLIST}.tmp
+	${FIND} ${FAKE_DESTDIR}${PYTHON_SITELIBDIR}/lit${LLVM_SUFFIX} -type f | \
+	    ${SED} -e 's|${STAGEDIR}${PYTHON_SITELIBDIR}|%%LIT%%%%PYTHON_SITELIBDIR%%|' \
+	    -e 's|${LLVM_RELEASE:C/\./\\./g}|%%LLVM_RELEASE%%|' \
+	    -e 's|${LLVM_MAJOR:C/\./\\./}|%%LLVM_MAJOR%%|' \
+	    -e 's|lit${LLVM_SUFFIX}|lit%%LLVM_SUFFIX%%|' | \
+	    ${SORT} >> ${PLIST}.tmp
+	${AWK} '{ \
+	    if ($$0 ~ /${CLANG_PATTERN}/ && $$0 !~ /(omp.h|ompt.h|${EXTRAS_PATTERN}|libclang_rt)/) {printf "%%%%CLANG%%%%"} \
+	    if ($$0 ~ /${COMPILER_RT_PATTERN}/) \
+		{printf "%%%%COMPILER_RT%%%%"} \
+	    if ($$0 ~ /(${EXTRAS_PATTERN})/) {printf "%%%%EXTRAS%%%%"} \
+	    if ($$0 ~ /lld|wasm-ld/ && $$0 !~ /lldb/) {printf "%%%%LLD%%%%"} \
+	    if ($$0 ~ /(argdumper|lldb|six.py)/) {printf "%%%%LLDB%%%%"} \
+	    if ($$0 ~ /lib.*omp|omp.h|ompt.h/) {printf "%%%%OPENMP%%%%"} \
+	    if ($$0 ~ /LLVMgold/) {printf "%%%%GOLD%%%%"} \
+	    if ($$0 !~ /libclang_rt/) {print}}' ${PLIST}.tmp >> ${PLIST}
+	${ECHO_CMD} '@postexec if type ccache-update-links >/dev/null 2>&1; then ccache-update-links -v; fi' >> ${PLIST}
+	${ECHO_CMD} '@postunexec if type ccache-update-links >/dev/null 2>&1; then ccache-update-links -v; fi' >> ${PLIST}
+	${RM} ${PLIST}.tmp
+
+check-commands:
+.for command in ${COMMANDS}
+	test -e ${FAKE_DESTDIR}${LLVM_PREFIX}/bin/${command}
+.endfor
+
+.if make(svn-patch-llvm)
+.if !defined(PATCH_REV)
+.error svn-patch-llvm requires that PATCH_REV be set
+.endif
+_PATCH_FILE=${FILESDIR}/patch-svn-${PATCH_REV}
+_LLVM_BASE=http://llvm.org/svn/llvm-project/llvm/trunk
+svn-patch-llvm:
+	svn log -c ${PATCH_REV} ${_LLVM_BASE} >> ${_PATCH_FILE}
+	svn diff -c ${PATCH_REV} ${_LLVM_BASE} >> ${_PATCH_FILE}
+.endif
+
+.if make(svn-patch-clang)
+.if !defined(PATCH_REV)
+.error svn-patch-clang requires that PATCH_REV be set
+.endif
+_PATCH_FILE=${FILESDIR}/clang/patch-svn-${PATCH_REV}
+_LLVM_BASE=http://llvm.org/svn/llvm-project/cfe/trunk
+svn-patch-clang:
+	svn log -c ${PATCH_REV} ${_LLVM_BASE} >> ${_PATCH_FILE}
+	svn diff -c ${PATCH_REV} ${_LLVM_BASE} | \
+	    ${SED} -E -e 's;^(---|\+\+\+) ;\1 tools/clang/;' >> ${_PATCH_FILE}
+.endif
+
+.if make(svn-patch-compiler-rt)
+.if !defined(PATCH_REV)
+.error svn-patch-compiler-rt requires that PATCH_REV be set
+.endif
+_PATCH_FILE=${FILESDIR}/compiler-rt/patch-svn-${PATCH_REV}
+_LLVM_BASE=http://llvm.org/svn/llvm-project/compiler-rt/trunk
+svn-patch-compiler-rt:
+	svn log -c ${PATCH_REV} ${_LLVM_BASE} >> ${_PATCH_FILE}
+	svn diff -c ${PATCH_REV} ${_LLVM_BASE} | \
+	    ${SED} -E -e 's;^(---|\+\+\+) ;\1 tools/compiler-rt/;' >> ${_PATCH_FILE}
+.endif
+
+.if make(svn-patch-lldb)
+.if !defined(PATCH_REV)
+.error svn-patch-lldb requires that PATCH_REV be set
+.endif
+_PATCH_FILE=${FILESDIR}/lldb/patch-svn-${PATCH_REV}
+_LLVM_BASE=http://llvm.org/svn/llvm-project/lldb/trunk
+svn-patch-lldb:
+	svn log -c ${PATCH_REV} ${_LLVM_BASE} >> ${_PATCH_FILE}
+	svn diff -c ${PATCH_REV} ${_LLVM_BASE} | >> ${_PATCH_FILE}
+.endif
+
+.include <bsd.port.post.mk>


Property changes on: trunk/devel/llvm60/Makefile
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/devel/llvm60/distinfo
===================================================================
--- trunk/devel/llvm60/distinfo	                        (rev 0)
+++ trunk/devel/llvm60/distinfo	2018-09-02 17:45:23 UTC (rev 24061)
@@ -0,0 +1,15 @@
+TIMESTAMP = 1530117803
+SHA256 (llvm-6.0.1.src.tar.xz) = b6d6c324f9c71494c0ccaf3dac1f16236d970002b42bb24a6c9e1634f7d0f4e2
+SIZE (llvm-6.0.1.src.tar.xz) = 25306628
+SHA256 (cfe-6.0.1.src.tar.xz) = 7c243f1485bddfdfedada3cd402ff4792ea82362ff91fbdac2dae67c6026b667
+SIZE (cfe-6.0.1.src.tar.xz) = 11905772
+SHA256 (compiler-rt-6.0.1.src.tar.xz) = f4cd1e15e7d5cb708f9931d4844524e4904867240c306b06a4287b22ac1c99b9
+SIZE (compiler-rt-6.0.1.src.tar.xz) = 1686820
+SHA256 (clang-tools-extra-6.0.1.src.tar.xz) = 0d2e3727786437574835b75135f9e36f861932a958d8547ced7e13ebdda115f1
+SIZE (clang-tools-extra-6.0.1.src.tar.xz) = 757256
+SHA256 (lld-6.0.1.src.tar.xz) = e706745806921cea5c45700e13ebe16d834b5e3c0b7ad83bf6da1f28b0634e11
+SIZE (lld-6.0.1.src.tar.xz) = 787804
+SHA256 (lldb-6.0.1.src.tar.xz) = 6b8573841f2f7b60ffab9715c55dceff4f2a44e5a6d590ac189d20e8e7472714
+SIZE (lldb-6.0.1.src.tar.xz) = 19292420
+SHA256 (openmp-6.0.1.src.tar.xz) = 66afca2b308351b180136cf899a3b22865af1a775efaf74dc8a10c96d4721c5a
+SIZE (openmp-6.0.1.src.tar.xz) = 2048320


Property changes on: trunk/devel/llvm60/distinfo
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/devel/llvm60/files/clang/patch-fformat_extensions.diff
===================================================================
--- trunk/devel/llvm60/files/clang/patch-fformat_extensions.diff	                        (rev 0)
+++ trunk/devel/llvm60/files/clang/patch-fformat_extensions.diff	2018-09-02 17:45:23 UTC (rev 24061)
@@ -0,0 +1,44 @@
+diff -ruN tools/clang/include/clang/Basic/LangOptions.def tools/clang/include/clang/Basic/LangOptions.def
+--- tools/clang/include/clang/Basic/LangOptions.def	2015-07-30 22:47:41 UTC
++++ tools/clang/include/clang/Basic/LangOptions.def
+@@ -114,6 +114,7 @@
+ LANGOPT(RTTIData          , 1, 1, "emit run-time type information data")
+ LANGOPT(MSBitfields       , 1, 0, "Microsoft-compatible structure layout")
+ LANGOPT(Freestanding, 1, 0, "freestanding implementation")
++LANGOPT(FormatExtensions  , 1, 0, "FreeBSD format extensions")
+ LANGOPT(NoBuiltin         , 1, 0, "disable builtin functions")
+ LANGOPT(NoMathBuiltin     , 1, 0, "disable math builtin functions")
+ LANGOPT(GNUAsm            , 1, 1, "GNU-style inline assembly")
+diff -ruN tools/clang/include/clang/Driver/Options.td tools/clang/include/clang/Driver/Options.td
+--- tools/clang/include/clang/Driver/Options.td	2015-07-30 22:47:41 UTC
++++ tools/clang/include/clang/Driver/Options.td
+@@ -644,6 +644,8 @@
+ 
+ def ffreestanding : Flag<["-"], "ffreestanding">, Group<f_Group>, Flags<[CC1Option]>,
+   HelpText<"Assert that the compilation takes place in a freestanding environment">;
++def fformat_extensions: Flag<["-"], "fformat-extensions">, Group<f_Group>, Flags<[CC1Option]>,
++  HelpText<"Enable FreeBSD kernel specific format string extensions">;
+ def fgnu_keywords : Flag<["-"], "fgnu-keywords">, Group<f_Group>, Flags<[CC1Option]>,
+   HelpText<"Allow GNU-extension keywords regardless of language standard">;
+ def fgnu89_inline : Flag<["-"], "fgnu89-inline">, Group<f_Group>, Flags<[CC1Option]>,
+--- tools/clang/lib/Driver/ToolChains/Clang.cpp.orig	2017-09-14 19:36:28.212240000 +0100
++++ tools/clang/lib/Driver/ToolChains/Clang.cpp	2017-09-14 19:35:59.296165000 +0100
+@@ -3202,6 +3202,7 @@
+ 
+   // Forward -f (flag) options which we can pass directly.
+   Args.AddLastArg(CmdArgs, options::OPT_femit_all_decls);
++  Args.AddLastArg(CmdArgs, options::OPT_fformat_extensions);
+   Args.AddLastArg(CmdArgs, options::OPT_fheinous_gnu_extensions);
+   Args.AddLastArg(CmdArgs, options::OPT_fno_operator_names);
+   // Emulated TLS is enabled by default on Android and OpenBSD, and can be enabled
+diff -ruN tools/clang/lib/Frontend/CompilerInvocation.cpp tools/clang/lib/Frontend/CompilerInvocation.cpp
+--- tools/clang/lib/Frontend/CompilerInvocation.cpp	2015-07-30 22:47:41 UTC
++++ tools/clang/lib/Frontend/CompilerInvocation.cpp
+@@ -1543,6 +1543,7 @@
+   Opts.ShortWChar = Args.hasFlag(OPT_fshort_wchar, OPT_fno_short_wchar, false);
+   Opts.ShortEnums = Args.hasArg(OPT_fshort_enums);
+   Opts.Freestanding = Args.hasArg(OPT_ffreestanding);
++  Opts.FormatExtensions = Args.hasArg(OPT_fformat_extensions);
+   Opts.NoBuiltin = Args.hasArg(OPT_fno_builtin) || Opts.Freestanding;
+   Opts.NoMathBuiltin = Args.hasArg(OPT_fno_math_builtin);
+   Opts.AssumeSaneOperatorNew = !Args.hasArg(OPT_fno_assume_sane_operator_new);


Property changes on: trunk/devel/llvm60/files/clang/patch-fformat_extensions.diff
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/devel/llvm60/files/clang/patch-fopenmp.diff
===================================================================
--- trunk/devel/llvm60/files/clang/patch-fopenmp.diff	                        (rev 0)
+++ trunk/devel/llvm60/files/clang/patch-fopenmp.diff	2018-09-02 17:45:23 UTC (rev 24061)
@@ -0,0 +1,14 @@
+--- tools/clang/lib/Driver/ToolChains/CommonArgs.cpp.orig	2017-05-10 17:18:56.000000000 +0000
++++ tools/clang/lib/Driver/ToolChains/CommonArgs.cpp	2017-05-10 23:01:17.087686000 +0000
+@@ -441,7 +441,10 @@
+ 
+   switch (TC.getDriver().getOpenMPRuntime(Args)) {
+   case Driver::OMPRT_OMP:
+-    CmdArgs.push_back("-lomp");
++    if (TC.getTriple().getOS() != llvm::Triple::FreeBSD || TC.isCrossCompiling() || !llvm::sys::fs::exists("%%LLVM_PREFIX%%/lib/libomp.so"))
++      CmdArgs.push_back("-lomp");
++    else
++      CmdArgs.push_back("%%LLVM_PREFIX%%/lib/libomp.so");
+     break;
+   case Driver::OMPRT_GOMP:
+     CmdArgs.push_back("-lgomp");


Property changes on: trunk/devel/llvm60/files/clang/patch-fopenmp.diff
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/devel/llvm60/files/clang/patch-tools_clang_lib_Headers_CMakeLists.txt
===================================================================
--- trunk/devel/llvm60/files/clang/patch-tools_clang_lib_Headers_CMakeLists.txt	                        (rev 0)
+++ trunk/devel/llvm60/files/clang/patch-tools_clang_lib_Headers_CMakeLists.txt	2018-09-02 17:45:23 UTC (rev 24061)
@@ -0,0 +1,32 @@
+--- tools/clang/lib/Headers/CMakeLists.txt.orig
++++ tools/clang/lib/Headers/CMakeLists.txt
+@@ -56,7 +56,6 @@
+   intrin.h
+   inttypes.h
+   iso646.h
+-  limits.h
+   lwpintrin.h
+   lzcntintrin.h
+   mm3dnow.h
+@@ -76,21 +75,13 @@
+   s390intrin.h
+   shaintrin.h
+   smmintrin.h
+-  stdalign.h
+-  stdarg.h
+-  stdatomic.h
+-  stdbool.h
+-  stddef.h
+   __stddef_max_align_t.h
+-  stdint.h
+-  stdnoreturn.h
+   tbmintrin.h
+   tgmath.h
+   tmmintrin.h
+   unwind.h
+   vadefs.h
+   vaesintrin.h
+-  varargs.h
+   vecintrin.h
+   vpclmulqdqintrin.h
+   wmmintrin.h


Property changes on: trunk/devel/llvm60/files/clang/patch-tools_clang_lib_Headers_CMakeLists.txt
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/devel/llvm60/files/clang/patch-tools_clang_tools_clang-format_clang-format-sublime.py
===================================================================
--- trunk/devel/llvm60/files/clang/patch-tools_clang_tools_clang-format_clang-format-sublime.py	                        (rev 0)
+++ trunk/devel/llvm60/files/clang/patch-tools_clang_tools_clang-format_clang-format-sublime.py	2018-09-02 17:45:23 UTC (rev 24061)
@@ -0,0 +1,14 @@
+
+$FreeBSD: head/devel/llvm60/files/clang/patch-tools_clang_tools_clang-format_clang-format-sublime.py 460063 2018-01-26 23:47:28Z brooks $
+
+--- tools/clang/tools/clang-format/clang-format-sublime.py.orig
++++ tools/clang/tools/clang-format/clang-format-sublime.py
+@@ -18,7 +18,7 @@
+ import subprocess
+ 
+ # Change this to the full path if clang-format is not on the path.
+-binary = 'clang-format'
++binary = 'clang-format%%LLVM_SUFFIX%%'
+ 
+ # Change this to format according to other formatting styles. See the output of
+ # 'clang-format --help' for a list of supported styles. The default looks for


Property changes on: trunk/devel/llvm60/files/clang/patch-tools_clang_tools_clang-format_clang-format-sublime.py
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/devel/llvm60/files/clang/patch-tools_clang_tools_clang-format_clang-format.py
===================================================================
--- trunk/devel/llvm60/files/clang/patch-tools_clang_tools_clang-format_clang-format.py	                        (rev 0)
+++ trunk/devel/llvm60/files/clang/patch-tools_clang_tools_clang-format_clang-format.py	2018-09-02 17:45:23 UTC (rev 24061)
@@ -0,0 +1,11 @@
+--- tools/clang/tools/clang-format/clang-format.py.orig	2015-09-08 20:44:00 UTC
++++ tools/clang/tools/clang-format/clang-format.py
+@@ -34,7 +34,7 @@ import vim
+ 
+ # set g:clang_format_path to the path to clang-format if it is not on the path
+ # Change this to the full path if clang-format is not on the path.
+-binary = 'clang-format'
++binary = 'clang-format%%LLVM_SUFFIX%%'
+ if vim.eval('exists("g:clang_format_path")') == "1":
+   binary = vim.eval('g:clang_format_path')
+ 


Property changes on: trunk/devel/llvm60/files/clang/patch-tools_clang_tools_clang-format_clang-format.py
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/devel/llvm60/files/clang/patch-tools_clang_tools_clang-format_git-clang-format
===================================================================
--- trunk/devel/llvm60/files/clang/patch-tools_clang_tools_clang-format_git-clang-format	                        (rev 0)
+++ trunk/devel/llvm60/files/clang/patch-tools_clang_tools_clang-format_git-clang-format	2018-09-02 17:45:23 UTC (rev 24061)
@@ -0,0 +1,32 @@
+
+$FreeBSD: head/devel/llvm60/files/clang/patch-tools_clang_tools_clang-format_git-clang-format 460063 2018-01-26 23:47:28Z brooks $
+
+--- tools/clang/tools/clang-format/git-clang-format.orig
++++ tools/clang/tools/clang-format/git-clang-format
+@@ -90,7 +90,7 @@
+     usage=usage, formatter_class=argparse.RawDescriptionHelpFormatter,
+     description=desc)
+   p.add_argument('--binary',
+-                 default=config.get('clangformat.binary', 'clang-format'),
++                 default=config.get('clangformat.binary', 'clang-format%%LLVM_SUFFIX%%'),
+                  help='path to clang-format'),
+   p.add_argument('--commit',
+                  default=config.get('clangformat.commit', 'HEAD'),
+@@ -344,7 +344,7 @@
+ 
+ 
+ def run_clang_format_and_save_to_tree(changed_lines, revision=None,
+-                                      binary='clang-format', style=None):
++                                      binary='clang-format%%LLVM_SUFFIX%%', style=None):
+   """Run clang-format on each file and save the result to a git tree.
+ 
+   Returns the object ID (SHA-1) of the created tree."""
+@@ -397,7 +397,7 @@
+ 
+ 
+ def clang_format_to_blob(filename, line_ranges, revision=None,
+-                         binary='clang-format', style=None):
++                         binary='clang-format%%LLVM_SUFFIX%%', style=None):
+   """Run clang-format on the given file and save the result to a git blob.
+ 
+   Runs on the file in `revision` if not None, or on the file in the working


Property changes on: trunk/devel/llvm60/files/clang/patch-tools_clang_tools_clang-format_git-clang-format
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/devel/llvm60/files/clang/patch-tools_clang_tools_scan-build_libexec_ccc-analyzer
===================================================================
--- trunk/devel/llvm60/files/clang/patch-tools_clang_tools_scan-build_libexec_ccc-analyzer	                        (rev 0)
+++ trunk/devel/llvm60/files/clang/patch-tools_clang_tools_scan-build_libexec_ccc-analyzer	2018-09-02 17:45:23 UTC (rev 24061)
@@ -0,0 +1,12 @@
+--- tools/clang/tools/scan-build/libexec/ccc-analyzer.orig
++++ tools/clang/tools/scan-build/libexec/ccc-analyzer
+@@ -81,6 +81,9 @@
+   if (-x "/usr/bin/xcrun") {
+     $UseXCRUN = 1;
+   }
++} elsif (`uname -s` eq "MidnightBSD\n") {
++  $DefaultCCompiler = 'cc';
++  $DefaultCXXCompiler = 'c++';
+ } else {
+   $DefaultCCompiler = 'gcc';
+   $DefaultCXXCompiler = 'g++';


Property changes on: trunk/devel/llvm60/files/clang/patch-tools_clang_tools_scan-build_libexec_ccc-analyzer
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/devel/llvm60/files/llvm-wrapper.sh.in
===================================================================
--- trunk/devel/llvm60/files/llvm-wrapper.sh.in	                        (rev 0)
+++ trunk/devel/llvm60/files/llvm-wrapper.sh.in	2018-09-02 17:45:23 UTC (rev 24061)
@@ -0,0 +1,11 @@
+#!/bin/sh
+# $FreeBSD: head/devel/llvm60/files/llvm-wrapper.sh.in 466018 2018-03-31 03:28:42Z tobik $
+
+LLVM_PREFIX="%%LLVM_PREFIX%%"
+LLVM_SUFFIX="%%LLVM_SUFFIX%%"
+
+tool=$(/bin/realpath $0)
+tool=${tool##*/}
+tool="${LLVM_PREFIX}/bin/${tool%${LLVM_SUFFIX}}"
+LD_LIBRARY_PATH="${LD_LIBRARY_PATH:+${LD_LIBRARY_PATH}:}${LLVM_PREFIX}/lib" \
+    "${tool}" "${@}"


Property changes on: trunk/devel/llvm60/files/llvm-wrapper.sh.in
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/devel/llvm60/files/openmp/patch-bug32279
===================================================================
--- trunk/devel/llvm60/files/openmp/patch-bug32279	                        (rev 0)
+++ trunk/devel/llvm60/files/openmp/patch-bug32279	2018-09-02 17:45:23 UTC (rev 24061)
@@ -0,0 +1,29 @@
+--- projects/openmp/runtime/cmake/LibompHandleFlags.cmake.orig	2017-03-16 15:50:48 UTC
++++ projects/openmp/runtime/cmake/LibompHandleFlags.cmake
+@@ -156,6 +156,11 @@ function(libomp_get_libflags libflags)
+   if(${IA32})
+     libomp_append(libflags_local -lirc_pic LIBOMP_HAVE_IRC_PIC_LIBRARY)
+   endif()
++  IF(${CMAKE_SYSTEM_NAME} MATCHES "MidnightBSD")
++    libomp_append(libflags_local "-Wl,--no-as-needed" LIBOMP_HAVE_AS_NEEDED_FLAG)
++    libomp_append(libflags_local "-lm")
++    libomp_append(libflags_local "-Wl,--as-needed" LIBOMP_HAVE_AS_NEEDED_FLAG)
++  ENDIF(${CMAKE_SYSTEM_NAME} MATCHES "MidnightBSD")
+   IF(${CMAKE_SYSTEM_NAME} MATCHES "NetBSD")
+     libomp_append(libflags_local -lm)
+   ENDIF(${CMAKE_SYSTEM_NAME} MATCHES "NetBSD")
+ runtime/cmake/LibompHandleFlags.cmake | 5 +++++
+ runtime/cmake/LibompMicroTests.cmake  | 2 +-
+ 2 files changed, 6 insertions(+), 1 deletion(-)
+
+--- projects/openmp/runtime/cmake/LibompMicroTests.cmake.orig	2017-03-16 15:50:48 UTC
++++ projects/openmp/runtime/cmake/LibompMicroTests.cmake
+@@ -171,7 +171,7 @@ add_custom_command(
+ add_custom_target(libomp-test-deps DEPENDS test-deps/.success)
+ set(libomp_expected_library_deps)
+ if(CMAKE_SYSTEM_NAME MATCHES "FreeBSD")
+-  set(libomp_expected_library_deps libc.so.7 libthr.so.3)
++  set(libomp_expected_library_deps libc.so.7 libthr.so.3 libm.so.5)
+   libomp_append(libomp_expected_library_deps libhwloc.so.5 LIBOMP_USE_HWLOC)
+ elseif(CMAKE_SYSTEM_NAME MATCHES "NetBSD")
+   set(libomp_expected_library_deps libc.so.12 libpthread.so.1 libm.so.0)


Property changes on: trunk/devel/llvm60/files/openmp/patch-bug32279
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/devel/llvm60/files/openmp/patch-i386
===================================================================
--- trunk/devel/llvm60/files/openmp/patch-i386	                        (rev 0)
+++ trunk/devel/llvm60/files/openmp/patch-i386	2018-09-02 17:45:23 UTC (rev 24061)
@@ -0,0 +1,11 @@
+--- projects/openmp/runtime/src/kmp_runtime.cpp.orig	2017-07-17 09:03:14 UTC
++++ projects/openmp/runtime/src/kmp_runtime.cpp
+@@ -7535,7 +7535,7 @@ __kmp_determine_reduction_method(
+ 
+ #elif KMP_ARCH_X86 || KMP_ARCH_ARM || KMP_ARCH_AARCH || KMP_ARCH_MIPS
+ 
+-#if KMP_OS_LINUX || KMP_OS_WINDOWS
++#if KMP_OS_LINUX || KMP_OS_FREEBSD || KMP_OS_WINDOWS
+ 
+     // basic tuning
+ 


Property changes on: trunk/devel/llvm60/files/openmp/patch-i386
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/devel/llvm60/files/patch-CMakeLists.txt
===================================================================
--- trunk/devel/llvm60/files/patch-CMakeLists.txt	                        (rev 0)
+++ trunk/devel/llvm60/files/patch-CMakeLists.txt	2018-09-02 17:45:23 UTC (rev 24061)
@@ -0,0 +1,17 @@
+--- CMakeLists.txt.bak	2018-04-06 20:33:40.000000000 -0400
++++ CMakeLists.txt	2018-09-01 11:49:17.015209000 -0400
+@@ -799,12 +799,12 @@
+ # (this is a variable that CrossCompile sets on recursive invocations)
+ endif()
+ 
+-if(${CMAKE_SYSTEM_NAME} MATCHES "(FreeBSD|DragonFly)")
++if(${CMAKE_SYSTEM_NAME} MATCHES "(FreeBSD|DragonFly|MidnightBSD)")
+   # On FreeBSD, /usr/local/* is not used by default. In order to build LLVM
+   # with libxml2, iconv.h, etc., we must add /usr/local paths.
+   include_directories(SYSTEM "/usr/local/include")
+   link_directories("/usr/local/lib")
+-endif(${CMAKE_SYSTEM_NAME} MATCHES "(FreeBSD|DragonFly)")
++endif(${CMAKE_SYSTEM_NAME} MATCHES "(FreeBSD|DragonFly|MidnightBSD)")
+ 
+ if( ${CMAKE_SYSTEM_NAME} MATCHES SunOS )
+    # special hack for Solaris to handle crazy system sys/regset.h


Property changes on: trunk/devel/llvm60/files/patch-CMakeLists.txt
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/devel/llvm60/files/patch-cmake-modules_AddLLVM.cmake
===================================================================
--- trunk/devel/llvm60/files/patch-cmake-modules_AddLLVM.cmake	                        (rev 0)
+++ trunk/devel/llvm60/files/patch-cmake-modules_AddLLVM.cmake	2018-09-02 17:45:23 UTC (rev 24061)
@@ -0,0 +1,11 @@
+--- cmake/modules/AddLLVM.cmake.orig	2018-08-29 20:52:53.936091000 -0400
++++ cmake/modules/AddLLVM.cmake	2018-08-29 20:53:52.910763000 -0400
+@@ -1423,7 +1423,7 @@
+     set(_install_rpath "@loader_path/../lib" ${extra_libdir})
+   elseif(UNIX)
+     set(_install_rpath "\$ORIGIN/../lib${LLVM_LIBDIR_SUFFIX}" ${extra_libdir})
+-    if(${CMAKE_SYSTEM_NAME} MATCHES "(FreeBSD|DragonFly)")
++    if(${CMAKE_SYSTEM_NAME} MATCHES "(FreeBSD|DragonFly|MidnightBSD)")
+       set_property(TARGET ${name} APPEND_STRING PROPERTY
+                    LINK_FLAGS " -Wl,-z,origin ")
+     elseif(${CMAKE_SYSTEM_NAME} STREQUAL "Linux" AND NOT LLVM_LINKER_IS_GOLD)


Property changes on: trunk/devel/llvm60/files/patch-cmake-modules_AddLLVM.cmake
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/devel/llvm60/files/patch-cmake-modules_HandleLLVMOptions.cmake
===================================================================
--- trunk/devel/llvm60/files/patch-cmake-modules_HandleLLVMOptions.cmake	                        (rev 0)
+++ trunk/devel/llvm60/files/patch-cmake-modules_HandleLLVMOptions.cmake	2018-09-02 17:45:23 UTC (rev 24061)
@@ -0,0 +1,10 @@
+--- cmake/modules/HandleLLVMOptions.cmake.orig	2018-08-29 20:53:02.343548000 -0400
++++ cmake/modules/HandleLLVMOptions.cmake	2018-08-29 20:53:25.277917000 -0400
+@@ -107,6 +107,7 @@
+ # build might work on ELF but fail on MachO/COFF.
+ if(NOT (${CMAKE_SYSTEM_NAME} MATCHES "Darwin" OR WIN32 OR CYGWIN OR
+         ${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD" OR
++	${CMAKE_SYSTEM_NAME} MATCHES "MidnightBSD" OR
+         ${CMAKE_SYSTEM_NAME} MATCHES "OpenBSD") AND
+    NOT LLVM_USE_SANITIZER)
+   set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,-z,defs")


Property changes on: trunk/devel/llvm60/files/patch-cmake-modules_HandleLLVMOptions.cmake
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/devel/llvm60/files/patch-cmake_config.guess
===================================================================
--- trunk/devel/llvm60/files/patch-cmake_config.guess	                        (rev 0)
+++ trunk/devel/llvm60/files/patch-cmake_config.guess	2018-09-02 17:45:23 UTC (rev 24061)
@@ -0,0 +1,18 @@
+--- cmake/config.guess.orig	2018-08-31 20:33:46.222021000 -0400
++++ cmake/config.guess	2018-08-31 20:35:08.556936000 -0400
+@@ -800,6 +800,15 @@
+ 		echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
+ 	esac
+ 	exit ;;
++    *:MidnightBSD:*:*)
++        UNAME_PROCESSOR=`/usr/bin/uname -p`
++        case ${UNAME_PROCESSOR} in
++            amd64)
++                echo x86_64-unknown-freebsd10.4 ;;
++            *)
++                echo ${UNAME_PROCESSOR}-unknown-freebsd10.4;;
++        esac
++        exit ;;
+     i*:CYGWIN*:*)
+ 	echo ${UNAME_MACHINE}-pc-cygwin
+ 	exit ;;


Property changes on: trunk/devel/llvm60/files/patch-cmake_config.guess
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/devel/llvm60/files/patch-cmake_modules_AddSphinxTarget.cmake
===================================================================
--- trunk/devel/llvm60/files/patch-cmake_modules_AddSphinxTarget.cmake	                        (rev 0)
+++ trunk/devel/llvm60/files/patch-cmake_modules_AddSphinxTarget.cmake	2018-09-02 17:45:23 UTC (rev 24061)
@@ -0,0 +1,11 @@
+--- cmake/modules/AddSphinxTarget.cmake.orig
++++ cmake/modules/AddSphinxTarget.cmake
+@@ -29,6 +29,8 @@
+   endif()
+ 
+   add_custom_target(${SPHINX_TARGET_NAME}
++		    COMMAND ${CMAKE_COMMAND}
++                            -E make_directory ${SPHINX_BUILD_DIR}
+                     COMMAND ${SPHINX_EXECUTABLE}
+                             -b ${builder}
+                             -d "${SPHINX_DOC_TREE_DIR}"


Property changes on: trunk/devel/llvm60/files/patch-cmake_modules_AddSphinxTarget.cmake
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/devel/llvm60/files/patch-svn-r322325
===================================================================
--- trunk/devel/llvm60/files/patch-svn-r322325	                        (rev 0)
+++ trunk/devel/llvm60/files/patch-svn-r322325	2018-09-02 17:45:23 UTC (rev 24061)
@@ -0,0 +1,1589 @@
+r322325:
+
+PeepholeOpt cleanup/refactor; NFC
+
+- Less unnecessary use of `auto`
+- Add early `using RegSubRegPair(AndIdx) =` to avoid countless
+  `TargetInstrInfo::` qualifications.
+- Use references instead of pointers where possible.
+- Remove unused parameters.
+- Rewrite the CopyRewriter class hierarchy:
+   - Pull out uncoalescable copy rewriting functionality into
+     PeepholeOptimizer class.
+   - Use an abstract base class to make it clear that rewriters are
+     independent.
+- Remove unnecessary \brief in doxygen comments.
+- Remove unused constructor and method from ValueTracker.
+- Replace UseAdvancedTracking of ValueTracker with DisableAdvCopyOpt use.
+
+--- lib/CodeGen/PeepholeOptimizer.cpp.orig
++++ lib/CodeGen/PeepholeOptimizer.cpp
+@@ -98,6 +98,8 @@
+ #include <utility>
+ 
+ using namespace llvm;
++using RegSubRegPair = TargetInstrInfo::RegSubRegPair;
++using RegSubRegPairAndIdx = TargetInstrInfo::RegSubRegPairAndIdx;
+ 
+ #define DEBUG_TYPE "peephole-opt"
+ 
+@@ -110,6 +112,9 @@
+ DisablePeephole("disable-peephole", cl::Hidden, cl::init(false),
+                 cl::desc("Disable the peephole optimizer"));
+ 
++/// Specifiy whether or not the value tracking looks through
++/// complex instructions. When this is true, the value tracker
++/// bails on everything that is not a copy or a bitcast.
+ static cl::opt<bool>
+ DisableAdvCopyOpt("disable-adv-copy-opt", cl::Hidden, cl::init(false),
+                   cl::desc("Disable advanced copy optimization"));
+@@ -132,11 +137,11 @@
+              "of commuting operands"));
+ 
+ 
+-STATISTIC(NumReuse,      "Number of extension results reused");
+-STATISTIC(NumCmps,       "Number of compares eliminated");
+-STATISTIC(NumImmFold,    "Number of move immediate folded");
+-STATISTIC(NumLoadFold,   "Number of loads folded");
+-STATISTIC(NumSelects,    "Number of selects optimized");
++STATISTIC(NumReuse, "Number of extension results reused");
++STATISTIC(NumCmps, "Number of compares eliminated");
++STATISTIC(NumImmFold, "Number of move immediate folded");
++STATISTIC(NumLoadFold, "Number of loads folded");
++STATISTIC(NumSelects, "Number of selects optimized");
+ STATISTIC(NumUncoalescableCopies, "Number of uncoalescable copies optimized");
+ STATISTIC(NumRewrittenCopies, "Number of copies rewritten");
+ STATISTIC(NumNAPhysCopies, "Number of non-allocatable physical copies removed");
+@@ -149,9 +154,9 @@
+   class PeepholeOptimizer : public MachineFunctionPass {
+     const TargetInstrInfo *TII;
+     const TargetRegisterInfo *TRI;
+-    MachineRegisterInfo   *MRI;
+-    MachineDominatorTree  *DT;  // Machine dominator tree
+-    MachineLoopInfo       *MLI;
++    MachineRegisterInfo *MRI;
++    MachineDominatorTree *DT;  // Machine dominator tree
++    MachineLoopInfo *MLI;
+ 
+   public:
+     static char ID; // Pass identification
+@@ -173,31 +178,28 @@
+       }
+     }
+ 
+-    /// \brief Track Def -> Use info used for rewriting copies.
+-    using RewriteMapTy =
+-        SmallDenseMap<TargetInstrInfo::RegSubRegPair, ValueTrackerResult>;
++    /// Track Def -> Use info used for rewriting copies.
++    using RewriteMapTy = SmallDenseMap<RegSubRegPair, ValueTrackerResult>;
+ 
+-    /// \brief Sequence of instructions that formulate recurrence cycle.
++    /// Sequence of instructions that formulate recurrence cycle.
+     using RecurrenceCycle = SmallVector<RecurrenceInstr, 4>;
+ 
+   private:
+-    bool optimizeCmpInstr(MachineInstr *MI, MachineBasicBlock *MBB);
+-    bool optimizeExtInstr(MachineInstr *MI, MachineBasicBlock *MBB,
++    bool optimizeCmpInstr(MachineInstr &MI);
++    bool optimizeExtInstr(MachineInstr &MI, MachineBasicBlock &MBB,
+                           SmallPtrSetImpl<MachineInstr*> &LocalMIs);
+-    bool optimizeSelect(MachineInstr *MI,
++    bool optimizeSelect(MachineInstr &MI,
+                         SmallPtrSetImpl<MachineInstr *> &LocalMIs);
+-    bool optimizeCondBranch(MachineInstr *MI);
+-    bool optimizeCoalescableCopy(MachineInstr *MI);
+-    bool optimizeUncoalescableCopy(MachineInstr *MI,
++    bool optimizeCondBranch(MachineInstr &MI);
++    bool optimizeCoalescableCopy(MachineInstr &MI);
++    bool optimizeUncoalescableCopy(MachineInstr &MI,
+                                    SmallPtrSetImpl<MachineInstr *> &LocalMIs);
+     bool optimizeRecurrence(MachineInstr &PHI);
+-    bool findNextSource(unsigned Reg, unsigned SubReg,
+-                        RewriteMapTy &RewriteMap);
+-    bool isMoveImmediate(MachineInstr *MI,
++    bool findNextSource(RegSubRegPair RegSubReg, RewriteMapTy &RewriteMap);
++    bool isMoveImmediate(MachineInstr &MI,
+                          SmallSet<unsigned, 4> &ImmDefRegs,
+                          DenseMap<unsigned, MachineInstr*> &ImmDefMIs);
+-    bool foldImmediate(MachineInstr *MI, MachineBasicBlock *MBB,
+-                       SmallSet<unsigned, 4> &ImmDefRegs,
++    bool foldImmediate(MachineInstr &MI, SmallSet<unsigned, 4> &ImmDefRegs,
+                        DenseMap<unsigned, MachineInstr*> &ImmDefMIs);
+ 
+     /// \brief Finds recurrence cycles, but only ones that formulated around
+@@ -212,11 +214,11 @@
+     /// the set \p CopySrcRegs and \p CopyMIs. If this virtual register was
+     /// previously seen as a copy, replace the uses of this copy with the
+     /// previously seen copy's destination register.
+-    bool foldRedundantCopy(MachineInstr *MI,
++    bool foldRedundantCopy(MachineInstr &MI,
+                            SmallSet<unsigned, 4> &CopySrcRegs,
+                            DenseMap<unsigned, MachineInstr *> &CopyMIs);
+ 
+-    /// \brief Is the register \p Reg a non-allocatable physical register?
++    /// Is the register \p Reg a non-allocatable physical register?
+     bool isNAPhysCopy(unsigned Reg);
+ 
+     /// \brief If copy instruction \p MI is a non-allocatable virtual<->physical
+@@ -224,11 +226,10 @@
+     /// non-allocatable physical register was previously copied to a virtual
+     /// registered and hasn't been clobbered, the virt->phys copy can be
+     /// deleted.
+-    bool foldRedundantNAPhysCopy(
+-        MachineInstr *MI,
++    bool foldRedundantNAPhysCopy(MachineInstr &MI,
+         DenseMap<unsigned, MachineInstr *> &NAPhysToVirtMIs);
+ 
+-    bool isLoadFoldable(MachineInstr *MI,
++    bool isLoadFoldable(MachineInstr &MI,
+                         SmallSet<unsigned, 16> &FoldAsLoadDefCandidates);
+ 
+     /// \brief Check whether \p MI is understood by the register coalescer
+@@ -249,10 +250,13 @@
+               (MI.isRegSequenceLike() || MI.isInsertSubregLike() ||
+                MI.isExtractSubregLike()));
+     }
++
++    MachineInstr &rewriteSource(MachineInstr &CopyLike,
++                                RegSubRegPair Def, RewriteMapTy &RewriteMap);
+   };
+ 
+-  /// \brief Helper class to hold instructions that are inside recurrence
+-  /// cycles. The recurrence cycle is formulated around 1) a def operand and its
++  /// Helper class to hold instructions that are inside recurrence cycles.
++  /// The recurrence cycle is formulated around 1) a def operand and its
+   /// tied use operand, or 2) a def operand and a use operand that is commutable
+   /// with another use operand which is tied to the def operand. In the latter
+   /// case, index of the tied use operand and the commutable use operand are
+@@ -273,13 +277,13 @@
+     Optional<IndexPair> CommutePair;
+   };
+ 
+-  /// \brief Helper class to hold a reply for ValueTracker queries. Contains the
+-  /// returned sources for a given search and the instructions where the sources
+-  /// were tracked from.
++  /// Helper class to hold a reply for ValueTracker queries.
++  /// Contains the returned sources for a given search and the instructions
++  /// where the sources were tracked from.
+   class ValueTrackerResult {
+   private:
+     /// Track all sources found by one ValueTracker query.
+-    SmallVector<TargetInstrInfo::RegSubRegPair, 2> RegSrcs;
++    SmallVector<RegSubRegPair, 2> RegSrcs;
+ 
+     /// Instruction using the sources in 'RegSrcs'.
+     const MachineInstr *Inst = nullptr;
+@@ -302,16 +306,20 @@
+     }
+ 
+     void addSource(unsigned SrcReg, unsigned SrcSubReg) {
+-      RegSrcs.push_back(TargetInstrInfo::RegSubRegPair(SrcReg, SrcSubReg));
++      RegSrcs.push_back(RegSubRegPair(SrcReg, SrcSubReg));
+     }
+ 
+     void setSource(int Idx, unsigned SrcReg, unsigned SrcSubReg) {
+       assert(Idx < getNumSources() && "Reg pair source out of index");
+-      RegSrcs[Idx] = TargetInstrInfo::RegSubRegPair(SrcReg, SrcSubReg);
++      RegSrcs[Idx] = RegSubRegPair(SrcReg, SrcSubReg);
+     }
+ 
+     int getNumSources() const { return RegSrcs.size(); }
+ 
++    RegSubRegPair getSrc(int Idx) const {
++      return RegSrcs[Idx];
++    }
++
+     unsigned getSrcReg(int Idx) const {
+       assert(Idx < getNumSources() && "Reg source out of index");
+       return RegSrcs[Idx].Reg;
+@@ -367,59 +375,41 @@
+     /// The register where the value can be found.
+     unsigned Reg;
+ 
+-    /// Specifiy whether or not the value tracking looks through
+-    /// complex instructions. When this is false, the value tracker
+-    /// bails on everything that is not a copy or a bitcast.
+-    ///
+-    /// Note: This could have been implemented as a specialized version of
+-    /// the ValueTracker class but that would have complicated the code of
+-    /// the users of this class.
+-    bool UseAdvancedTracking;
+-
+     /// MachineRegisterInfo used to perform tracking.
+     const MachineRegisterInfo &MRI;
+ 
+-    /// Optional TargetInstrInfo used to perform some complex
+-    /// tracking.
++    /// Optional TargetInstrInfo used to perform some complex tracking.
+     const TargetInstrInfo *TII;
+ 
+-    /// \brief Dispatcher to the right underlying implementation of
+-    /// getNextSource.
++    /// Dispatcher to the right underlying implementation of getNextSource.
+     ValueTrackerResult getNextSourceImpl();
+ 
+-    /// \brief Specialized version of getNextSource for Copy instructions.
++    /// Specialized version of getNextSource for Copy instructions.
+     ValueTrackerResult getNextSourceFromCopy();
+ 
+-    /// \brief Specialized version of getNextSource for Bitcast instructions.
++    /// Specialized version of getNextSource for Bitcast instructions.
+     ValueTrackerResult getNextSourceFromBitcast();
+ 
+-    /// \brief Specialized version of getNextSource for RegSequence
+-    /// instructions.
++    /// Specialized version of getNextSource for RegSequence instructions.
+     ValueTrackerResult getNextSourceFromRegSequence();
+ 
+-    /// \brief Specialized version of getNextSource for InsertSubreg
+-    /// instructions.
++    /// Specialized version of getNextSource for InsertSubreg instructions.
+     ValueTrackerResult getNextSourceFromInsertSubreg();
+ 
+-    /// \brief Specialized version of getNextSource for ExtractSubreg
+-    /// instructions.
++    /// Specialized version of getNextSource for ExtractSubreg instructions.
+     ValueTrackerResult getNextSourceFromExtractSubreg();
+ 
+-    /// \brief Specialized version of getNextSource for SubregToReg
+-    /// instructions.
++    /// Specialized version of getNextSource for SubregToReg instructions.
+     ValueTrackerResult getNextSourceFromSubregToReg();
+ 
+-    /// \brief Specialized version of getNextSource for PHI instructions.
++    /// Specialized version of getNextSource for PHI instructions.
+     ValueTrackerResult getNextSourceFromPHI();
+ 
+   public:
+-    /// \brief Create a ValueTracker instance for the value defined by \p Reg.
++    /// Create a ValueTracker instance for the value defined by \p Reg.
+     /// \p DefSubReg represents the sub register index the value tracker will
+     /// track. It does not need to match the sub register index used in the
+     /// definition of \p Reg.
+-    /// \p UseAdvancedTracking specifies whether or not the value tracker looks
+-    /// through complex instructions. By default (false), it handles only copy
+-    /// and bitcast instructions.
+     /// If \p Reg is a physical register, a value tracker constructed with
+     /// this constructor will not find any alternative source.
+     /// Indeed, when \p Reg is a physical register that constructor does not
+@@ -427,46 +417,20 @@
+     /// Use the next constructor to track a physical register.
+     ValueTracker(unsigned Reg, unsigned DefSubReg,
+                  const MachineRegisterInfo &MRI,
+-                 bool UseAdvancedTracking = false,
+                  const TargetInstrInfo *TII = nullptr)
+-        : DefSubReg(DefSubReg), Reg(Reg),
+-          UseAdvancedTracking(UseAdvancedTracking), MRI(MRI), TII(TII) {
++        : DefSubReg(DefSubReg), Reg(Reg), MRI(MRI), TII(TII) {
+       if (!TargetRegisterInfo::isPhysicalRegister(Reg)) {
+         Def = MRI.getVRegDef(Reg);
+         DefIdx = MRI.def_begin(Reg).getOperandNo();
+       }
+     }
+ 
+-    /// \brief Create a ValueTracker instance for the value defined by
+-    /// the pair \p MI, \p DefIdx.
+-    /// Unlike the other constructor, the value tracker produced by this one
+-    /// may be able to find a new source when the definition is a physical
+-    /// register.
+-    /// This could be useful to rewrite target specific instructions into
+-    /// generic copy instructions.
+-    ValueTracker(const MachineInstr &MI, unsigned DefIdx, unsigned DefSubReg,
+-                 const MachineRegisterInfo &MRI,
+-                 bool UseAdvancedTracking = false,
+-                 const TargetInstrInfo *TII = nullptr)
+-        : Def(&MI), DefIdx(DefIdx), DefSubReg(DefSubReg),
+-          UseAdvancedTracking(UseAdvancedTracking), MRI(MRI), TII(TII) {
+-      assert(DefIdx < Def->getDesc().getNumDefs() &&
+-             Def->getOperand(DefIdx).isReg() && "Invalid definition");
+-      Reg = Def->getOperand(DefIdx).getReg();
+-    }
+-
+     /// \brief Following the use-def chain, get the next available source
+     /// for the tracked value.
+     /// \return A ValueTrackerResult containing a set of registers
+     /// and sub registers with tracked values. A ValueTrackerResult with
+     /// an empty set of registers means no source was found.
+     ValueTrackerResult getNextSource();
+-
+-    /// \brief Get the last register where the initial value can be found.
+-    /// Initially this is the register of the definition.
+-    /// Then, after each successful call to getNextSource, this is the
+-    /// register of the last source.
+-    unsigned getReg() const { return Reg; }
+   };
+ 
+ } // end anonymous namespace
+@@ -476,11 +440,11 @@
+ char &llvm::PeepholeOptimizerID = PeepholeOptimizer::ID;
+ 
+ INITIALIZE_PASS_BEGIN(PeepholeOptimizer, DEBUG_TYPE,
+-                "Peephole Optimizations", false, false)
++                      "Peephole Optimizations", false, false)
+ INITIALIZE_PASS_DEPENDENCY(MachineDominatorTree)
+ INITIALIZE_PASS_DEPENDENCY(MachineLoopInfo)
+ INITIALIZE_PASS_END(PeepholeOptimizer, DEBUG_TYPE,
+-                "Peephole Optimizations", false, false)
++                    "Peephole Optimizations", false, false)
+ 
+ /// If instruction is a copy-like instruction, i.e. it reads a single register
+ /// and writes a single register and it does not modify the source, and if the
+@@ -491,10 +455,10 @@
+ /// the code. Since this code does not currently share EXTRACTs, just ignore all
+ /// debug uses.
+ bool PeepholeOptimizer::
+-optimizeExtInstr(MachineInstr *MI, MachineBasicBlock *MBB,
++optimizeExtInstr(MachineInstr &MI, MachineBasicBlock &MBB,
+                  SmallPtrSetImpl<MachineInstr*> &LocalMIs) {
+   unsigned SrcReg, DstReg, SubIdx;
+-  if (!TII->isCoalescableExtInstr(*MI, SrcReg, DstReg, SubIdx))
++  if (!TII->isCoalescableExtInstr(MI, SrcReg, DstReg, SubIdx))
+     return false;
+ 
+   if (TargetRegisterInfo::isPhysicalRegister(DstReg) ||
+@@ -535,7 +499,7 @@
+   bool ExtendLife = true;
+   for (MachineOperand &UseMO : MRI->use_nodbg_operands(SrcReg)) {
+     MachineInstr *UseMI = UseMO.getParent();
+-    if (UseMI == MI)
++    if (UseMI == &MI)
+       continue;
+ 
+     if (UseMI->isPHI()) {
+@@ -568,7 +532,7 @@
+       continue;
+ 
+     MachineBasicBlock *UseMBB = UseMI->getParent();
+-    if (UseMBB == MBB) {
++    if (UseMBB == &MBB) {
+       // Local uses that come after the extension.
+       if (!LocalMIs.count(UseMI))
+         Uses.push_back(&UseMO);
+@@ -576,7 +540,7 @@
+       // Non-local uses where the result of the extension is used. Always
+       // replace these unless it's a PHI.
+       Uses.push_back(&UseMO);
+-    } else if (Aggressive && DT->dominates(MBB, UseMBB)) {
++    } else if (Aggressive && DT->dominates(&MBB, UseMBB)) {
+       // We may want to extend the live range of the extension result in order
+       // to replace these uses.
+       ExtendedUses.push_back(&UseMO);
+@@ -640,19 +604,18 @@
+ /// against already sets (or could be modified to set) the same flag as the
+ /// compare, then we can remove the comparison and use the flag from the
+ /// previous instruction.
+-bool PeepholeOptimizer::optimizeCmpInstr(MachineInstr *MI,
+-                                         MachineBasicBlock *MBB) {
++bool PeepholeOptimizer::optimizeCmpInstr(MachineInstr &MI) {
+   // If this instruction is a comparison against zero and isn't comparing a
+   // physical register, we can try to optimize it.
+   unsigned SrcReg, SrcReg2;
+   int CmpMask, CmpValue;
+-  if (!TII->analyzeCompare(*MI, SrcReg, SrcReg2, CmpMask, CmpValue) ||
++  if (!TII->analyzeCompare(MI, SrcReg, SrcReg2, CmpMask, CmpValue) ||
+       TargetRegisterInfo::isPhysicalRegister(SrcReg) ||
+       (SrcReg2 != 0 && TargetRegisterInfo::isPhysicalRegister(SrcReg2)))
+     return false;
+ 
+   // Attempt to optimize the comparison instruction.
+-  if (TII->optimizeCompareInstr(*MI, SrcReg, SrcReg2, CmpMask, CmpValue, MRI)) {
++  if (TII->optimizeCompareInstr(MI, SrcReg, SrcReg2, CmpMask, CmpValue, MRI)) {
+     ++NumCmps;
+     return true;
+   }
+@@ -661,27 +624,26 @@
+ }
+ 
+ /// Optimize a select instruction.
+-bool PeepholeOptimizer::optimizeSelect(MachineInstr *MI,
++bool PeepholeOptimizer::optimizeSelect(MachineInstr &MI,
+                             SmallPtrSetImpl<MachineInstr *> &LocalMIs) {
+   unsigned TrueOp = 0;
+   unsigned FalseOp = 0;
+   bool Optimizable = false;
+   SmallVector<MachineOperand, 4> Cond;
+-  if (TII->analyzeSelect(*MI, Cond, TrueOp, FalseOp, Optimizable))
++  if (TII->analyzeSelect(MI, Cond, TrueOp, FalseOp, Optimizable))
+     return false;
+   if (!Optimizable)
+     return false;
+-  if (!TII->optimizeSelect(*MI, LocalMIs))
++  if (!TII->optimizeSelect(MI, LocalMIs))
+     return false;
+-  MI->eraseFromParent();
++  MI.eraseFromParent();
+   ++NumSelects;
+   return true;
+ }
+ 
+-/// \brief Check if a simpler conditional branch can be
+-/// generated
+-bool PeepholeOptimizer::optimizeCondBranch(MachineInstr *MI) {
+-  return TII->optimizeCondBranch(*MI);
++/// Check if a simpler conditional branch can be generated.
++bool PeepholeOptimizer::optimizeCondBranch(MachineInstr &MI) {
++  return TII->optimizeCondBranch(MI);
+ }
+ 
+ /// \brief Try to find the next source that share the same register file
+@@ -695,30 +657,29 @@
+ /// share the same register file as \p Reg and \p SubReg. The client should
+ /// then be capable to rewrite all intermediate PHIs to get the next source.
+ /// \return False if no alternative sources are available. True otherwise.
+-bool PeepholeOptimizer::findNextSource(unsigned Reg, unsigned SubReg,
++bool PeepholeOptimizer::findNextSource(RegSubRegPair RegSubReg,
+                                        RewriteMapTy &RewriteMap) {
+   // Do not try to find a new source for a physical register.
+   // So far we do not have any motivating example for doing that.
+   // Thus, instead of maintaining untested code, we will revisit that if
+   // that changes at some point.
++  unsigned Reg = RegSubReg.Reg;
+   if (TargetRegisterInfo::isPhysicalRegister(Reg))
+     return false;
+   const TargetRegisterClass *DefRC = MRI->getRegClass(Reg);
+ 
+-  SmallVector<TargetInstrInfo::RegSubRegPair, 4> SrcToLook;
+-  TargetInstrInfo::RegSubRegPair CurSrcPair(Reg, SubReg);
++  SmallVector<RegSubRegPair, 4> SrcToLook;
++  RegSubRegPair CurSrcPair = RegSubReg;
+   SrcToLook.push_back(CurSrcPair);
+ 
+   unsigned PHICount = 0;
+-  while (!SrcToLook.empty() && PHICount < RewritePHILimit) {
+-    TargetInstrInfo::RegSubRegPair Pair = SrcToLook.pop_back_val();
++  do {
++    CurSrcPair = SrcToLook.pop_back_val();
+     // As explained above, do not handle physical registers
+-    if (TargetRegisterInfo::isPhysicalRegister(Pair.Reg))
++    if (TargetRegisterInfo::isPhysicalRegister(CurSrcPair.Reg))
+       return false;
+ 
+-    CurSrcPair = Pair;
+-    ValueTracker ValTracker(CurSrcPair.Reg, CurSrcPair.SubReg, *MRI,
+-                            !DisableAdvCopyOpt, TII);
++    ValueTracker ValTracker(CurSrcPair.Reg, CurSrcPair.SubReg, *MRI, TII);
+ 
+     // Follow the chain of copies until we find a more suitable source, a phi
+     // or have to abort.
+@@ -747,14 +708,17 @@
+       unsigned NumSrcs = Res.getNumSources();
+       if (NumSrcs > 1) {
+         PHICount++;
++        if (PHICount >= RewritePHILimit) {
++          DEBUG(dbgs() << "findNextSource: PHI limit reached\n");
++          return false;
++        }
++
+         for (unsigned i = 0; i < NumSrcs; ++i)
+-          SrcToLook.push_back(TargetInstrInfo::RegSubRegPair(
+-              Res.getSrcReg(i), Res.getSrcSubReg(i)));
++          SrcToLook.push_back(Res.getSrc(i));
+         break;
+       }
+ 
+-      CurSrcPair.Reg = Res.getSrcReg(0);
+-      CurSrcPair.SubReg = Res.getSrcSubReg(0);
++      CurSrcPair = Res.getSrc(0);
+       // Do not extend the live-ranges of physical registers as they add
+       // constraints to the register allocator. Moreover, if we want to extend
+       // the live-range of a physical register, unlike SSA virtual register,
+@@ -764,7 +728,8 @@
+ 
+       // Keep following the chain if the value isn't any better yet.
+       const TargetRegisterClass *SrcRC = MRI->getRegClass(CurSrcPair.Reg);
+-      if (!TRI->shouldRewriteCopySrc(DefRC, SubReg, SrcRC, CurSrcPair.SubReg))
++      if (!TRI->shouldRewriteCopySrc(DefRC, RegSubReg.SubReg, SrcRC,
++                                     CurSrcPair.SubReg))
+         continue;
+ 
+       // We currently cannot deal with subreg operands on PHI instructions
+@@ -775,7 +740,7 @@
+       // We found a suitable source, and are done with this chain.
+       break;
+     }
+-  }
++  } while (!SrcToLook.empty());
+ 
+   // If we did not find a more suitable source, there is nothing to optimize.
+   return CurSrcPair.Reg != Reg;
+@@ -786,54 +751,50 @@
+ /// successfully traverse a PHI instruction and find suitable sources coming
+ /// from its edges. By inserting a new PHI, we provide a rewritten PHI def
+ /// suitable to be used in a new COPY instruction.
+-static MachineInstr *
+-insertPHI(MachineRegisterInfo *MRI, const TargetInstrInfo *TII,
+-          const SmallVectorImpl<TargetInstrInfo::RegSubRegPair> &SrcRegs,
+-          MachineInstr *OrigPHI) {
++static MachineInstr &
++insertPHI(MachineRegisterInfo &MRI, const TargetInstrInfo &TII,
++          const SmallVectorImpl<RegSubRegPair> &SrcRegs,
++          MachineInstr &OrigPHI) {
+   assert(!SrcRegs.empty() && "No sources to create a PHI instruction?");
+ 
+-  const TargetRegisterClass *NewRC = MRI->getRegClass(SrcRegs[0].Reg);
++  const TargetRegisterClass *NewRC = MRI.getRegClass(SrcRegs[0].Reg);
+   // NewRC is only correct if no subregisters are involved. findNextSource()
+   // should have rejected those cases already.
+   assert(SrcRegs[0].SubReg == 0 && "should not have subreg operand");
+-  unsigned NewVR = MRI->createVirtualRegister(NewRC);
+-  MachineBasicBlock *MBB = OrigPHI->getParent();
+-  MachineInstrBuilder MIB = BuildMI(*MBB, OrigPHI, OrigPHI->getDebugLoc(),
+-                                    TII->get(TargetOpcode::PHI), NewVR);
++  unsigned NewVR = MRI.createVirtualRegister(NewRC);
++  MachineBasicBlock *MBB = OrigPHI.getParent();
++  MachineInstrBuilder MIB = BuildMI(*MBB, &OrigPHI, OrigPHI.getDebugLoc(),
++                                    TII.get(TargetOpcode::PHI), NewVR);
+ 
+   unsigned MBBOpIdx = 2;
+-  for (auto RegPair : SrcRegs) {
++  for (const RegSubRegPair &RegPair : SrcRegs) {
+     MIB.addReg(RegPair.Reg, 0, RegPair.SubReg);
+-    MIB.addMBB(OrigPHI->getOperand(MBBOpIdx).getMBB());
++    MIB.addMBB(OrigPHI.getOperand(MBBOpIdx).getMBB());
+     // Since we're extended the lifetime of RegPair.Reg, clear the
+     // kill flags to account for that and make RegPair.Reg reaches
+     // the new PHI.
+-    MRI->clearKillFlags(RegPair.Reg);
++    MRI.clearKillFlags(RegPair.Reg);
+     MBBOpIdx += 2;
+   }
+ 
+-  return MIB;
++  return *MIB;
+ }
+ 
+ namespace {
+ 
+-/// \brief Helper class to rewrite the arguments of a copy-like instruction.
+-class CopyRewriter {
++/// Interface to query instructions amenable to copy rewriting.
++class Rewriter {
+ protected:
+-  /// The copy-like instruction.
+   MachineInstr &CopyLike;
+-
+-  /// The index of the source being rewritten.
+-  unsigned CurrentSrcIdx = 0;
+-
++  unsigned CurrentSrcIdx = 0;   ///< The index of the source being rewritten.
+ public:
+-  CopyRewriter(MachineInstr &MI) : CopyLike(MI) {}
+-  virtual ~CopyRewriter() = default;
++  Rewriter(MachineInstr &CopyLike) : CopyLike(CopyLike) {}
++  virtual ~Rewriter() {}
+ 
+   /// \brief Get the next rewritable source (SrcReg, SrcSubReg) and
+-  /// the related value that it affects (TrackReg, TrackSubReg).
++  /// the related value that it affects (DstReg, DstSubReg).
+   /// A source is considered rewritable if its register class and the
+-  /// register class of the related TrackReg may not be register
++  /// register class of the related DstReg may not be register
+   /// coalescer friendly. In other words, given a copy-like instruction
+   /// not all the arguments may be returned at rewritable source, since
+   /// some arguments are none to be register coalescer friendly.
+@@ -848,137 +809,72 @@
+   /// the only source this instruction has:
+   /// (SrcReg, SrcSubReg) = (src, srcSubIdx).
+   /// This source defines the whole definition, i.e.,
+-  /// (TrackReg, TrackSubReg) = (dst, dstSubIdx).
++  /// (DstReg, DstSubReg) = (dst, dstSubIdx).
+   ///
+   /// The second and subsequent calls will return false, as there is only one
+   /// rewritable source.
+   ///
+   /// \return True if a rewritable source has been found, false otherwise.
+   /// The output arguments are valid if and only if true is returned.
+-  virtual bool getNextRewritableSource(unsigned &SrcReg, unsigned &SrcSubReg,
+-                                       unsigned &TrackReg,
+-                                       unsigned &TrackSubReg) {
+-    // If CurrentSrcIdx == 1, this means this function has already been called
+-    // once. CopyLike has one definition and one argument, thus, there is
+-    // nothing else to rewrite.
+-    if (!CopyLike.isCopy() || CurrentSrcIdx == 1)
++  virtual bool getNextRewritableSource(RegSubRegPair &Src,
++                                       RegSubRegPair &Dst) = 0;
++
++  /// Rewrite the current source with \p NewReg and \p NewSubReg if possible.
++  /// \return True if the rewriting was possible, false otherwise.
++  virtual bool RewriteCurrentSource(unsigned NewReg, unsigned NewSubReg) = 0;
++};
++
++/// Rewriter for COPY instructions.
++class CopyRewriter : public Rewriter {
++public:
++  CopyRewriter(MachineInstr &MI) : Rewriter(MI) {
++    assert(MI.isCopy() && "Expected copy instruction");
++  }
++  virtual ~CopyRewriter() = default;
++
++  bool getNextRewritableSource(RegSubRegPair &Src,
++                               RegSubRegPair &Dst) override {
++    // CurrentSrcIdx > 0 means this function has already been called.
++    if (CurrentSrcIdx > 0)
+       return false;
+     // This is the first call to getNextRewritableSource.
+     // Move the CurrentSrcIdx to remember that we made that call.
+     CurrentSrcIdx = 1;
+     // The rewritable source is the argument.
+     const MachineOperand &MOSrc = CopyLike.getOperand(1);
+-    SrcReg = MOSrc.getReg();
+-    SrcSubReg = MOSrc.getSubReg();
++    Src = RegSubRegPair(MOSrc.getReg(), MOSrc.getSubReg());
+     // What we track are the alternative sources of the definition.
+     const MachineOperand &MODef = CopyLike.getOperand(0);
+-    TrackReg = MODef.getReg();
+-    TrackSubReg = MODef.getSubReg();
++    Dst = RegSubRegPair(MODef.getReg(), MODef.getSubReg());
+     return true;
+   }
+ 
+-  /// \brief Rewrite the current source with \p NewReg and \p NewSubReg
+-  /// if possible.
+-  /// \return True if the rewriting was possible, false otherwise.
+-  virtual bool RewriteCurrentSource(unsigned NewReg, unsigned NewSubReg) {
+-    if (!CopyLike.isCopy() || CurrentSrcIdx != 1)
++  bool RewriteCurrentSource(unsigned NewReg, unsigned NewSubReg) override {
++    if (CurrentSrcIdx != 1)
+       return false;
+     MachineOperand &MOSrc = CopyLike.getOperand(CurrentSrcIdx);
+     MOSrc.setReg(NewReg);
+     MOSrc.setSubReg(NewSubReg);
+     return true;
+   }
+-
+-  /// \brief Given a \p Def.Reg and Def.SubReg  pair, use \p RewriteMap to find
+-  /// the new source to use for rewrite. If \p HandleMultipleSources is true and
+-  /// multiple sources for a given \p Def are found along the way, we found a
+-  /// PHI instructions that needs to be rewritten.
+-  /// TODO: HandleMultipleSources should be removed once we test PHI handling
+-  /// with coalescable copies.
+-  TargetInstrInfo::RegSubRegPair
+-  getNewSource(MachineRegisterInfo *MRI, const TargetInstrInfo *TII,
+-               TargetInstrInfo::RegSubRegPair Def,
+-               PeepholeOptimizer::RewriteMapTy &RewriteMap,
+-               bool HandleMultipleSources = true) {
+-    TargetInstrInfo::RegSubRegPair LookupSrc(Def.Reg, Def.SubReg);
+-    do {
+-      ValueTrackerResult Res = RewriteMap.lookup(LookupSrc);
+-      // If there are no entries on the map, LookupSrc is the new source.
+-      if (!Res.isValid())
+-        return LookupSrc;
+-
+-      // There's only one source for this definition, keep searching...
+-      unsigned NumSrcs = Res.getNumSources();
+-      if (NumSrcs == 1) {
+-        LookupSrc.Reg = Res.getSrcReg(0);
+-        LookupSrc.SubReg = Res.getSrcSubReg(0);
+-        continue;
+-      }
+-
+-      // TODO: Remove once multiple srcs w/ coalescable copies are supported.
+-      if (!HandleMultipleSources)
+-        break;
+-
+-      // Multiple sources, recurse into each source to find a new source
+-      // for it. Then, rewrite the PHI accordingly to its new edges.
+-      SmallVector<TargetInstrInfo::RegSubRegPair, 4> NewPHISrcs;
+-      for (unsigned i = 0; i < NumSrcs; ++i) {
+-        TargetInstrInfo::RegSubRegPair PHISrc(Res.getSrcReg(i),
+-                                              Res.getSrcSubReg(i));
+-        NewPHISrcs.push_back(
+-            getNewSource(MRI, TII, PHISrc, RewriteMap, HandleMultipleSources));
+-      }
+-
+-      // Build the new PHI node and return its def register as the new source.
+-      MachineInstr *OrigPHI = const_cast<MachineInstr *>(Res.getInst());
+-      MachineInstr *NewPHI = insertPHI(MRI, TII, NewPHISrcs, OrigPHI);
+-      DEBUG(dbgs() << "-- getNewSource\n");
+-      DEBUG(dbgs() << "   Replacing: " << *OrigPHI);
+-      DEBUG(dbgs() << "        With: " << *NewPHI);
+-      const MachineOperand &MODef = NewPHI->getOperand(0);
+-      return TargetInstrInfo::RegSubRegPair(MODef.getReg(), MODef.getSubReg());
+-
+-    } while (true);
+-
+-    return TargetInstrInfo::RegSubRegPair(0, 0);
+-  }
+-
+-  /// \brief Rewrite the source found through \p Def, by using the \p RewriteMap
+-  /// and create a new COPY instruction. More info about RewriteMap in
+-  /// PeepholeOptimizer::findNextSource. Right now this is only used to handle
+-  /// Uncoalescable copies, since they are copy like instructions that aren't
+-  /// recognized by the register allocator.
+-  virtual MachineInstr *
+-  RewriteSource(TargetInstrInfo::RegSubRegPair Def,
+-                PeepholeOptimizer::RewriteMapTy &RewriteMap) {
+-    return nullptr;
+-  }
+ };
+ 
+ /// \brief Helper class to rewrite uncoalescable copy like instructions
+ /// into new COPY (coalescable friendly) instructions.
+-class UncoalescableRewriter : public CopyRewriter {
+-protected:
+-  const TargetInstrInfo &TII;
+-  MachineRegisterInfo   &MRI;
+-
+-  /// The number of defs in the bitcast
+-  unsigned NumDefs;
++class UncoalescableRewriter : public Rewriter {
++  unsigned NumDefs;  ///< Number of defs in the bitcast.
+ 
+ public:
+-  UncoalescableRewriter(MachineInstr &MI, const TargetInstrInfo &TII,
+-                         MachineRegisterInfo &MRI)
+-      : CopyRewriter(MI), TII(TII), MRI(MRI) {
++  UncoalescableRewriter(MachineInstr &MI) : Rewriter(MI) {
+     NumDefs = MI.getDesc().getNumDefs();
+   }
+ 
+-  /// \brief Get the next rewritable def source (TrackReg, TrackSubReg)
++  /// \see See Rewriter::getNextRewritableSource()
+   /// All such sources need to be considered rewritable in order to
+   /// rewrite a uncoalescable copy-like instruction. This method return
+   /// each definition that must be checked if rewritable.
+-  bool getNextRewritableSource(unsigned &SrcReg, unsigned &SrcSubReg,
+-                               unsigned &TrackReg,
+-                               unsigned &TrackSubReg) override {
++  bool getNextRewritableSource(RegSubRegPair &Src,
++                               RegSubRegPair &Dst) override {
+     // Find the next non-dead definition and continue from there.
+     if (CurrentSrcIdx == NumDefs)
+       return false;
+@@ -990,64 +886,27 @@
+     }
+ 
+     // What we track are the alternative sources of the definition.
++    Src = RegSubRegPair(0, 0);
+     const MachineOperand &MODef = CopyLike.getOperand(CurrentSrcIdx);
+-    TrackReg = MODef.getReg();
+-    TrackSubReg = MODef.getSubReg();
++    Dst = RegSubRegPair(MODef.getReg(), MODef.getSubReg());
+ 
+     CurrentSrcIdx++;
+     return true;
+   }
+ 
+-  /// \brief Rewrite the source found through \p Def, by using the \p RewriteMap
+-  /// and create a new COPY instruction. More info about RewriteMap in
+-  /// PeepholeOptimizer::findNextSource. Right now this is only used to handle
+-  /// Uncoalescable copies, since they are copy like instructions that aren't
+-  /// recognized by the register allocator.
+-  MachineInstr *
+-  RewriteSource(TargetInstrInfo::RegSubRegPair Def,
+-                PeepholeOptimizer::RewriteMapTy &RewriteMap) override {
+-    assert(!TargetRegisterInfo::isPhysicalRegister(Def.Reg) &&
+-           "We do not rewrite physical registers");
+-
+-    // Find the new source to use in the COPY rewrite.
+-    TargetInstrInfo::RegSubRegPair NewSrc =
+-        getNewSource(&MRI, &TII, Def, RewriteMap);
+-
+-    // Insert the COPY.
+-    const TargetRegisterClass *DefRC = MRI.getRegClass(Def.Reg);
+-    unsigned NewVR = MRI.createVirtualRegister(DefRC);
+-
+-    MachineInstr *NewCopy =
+-        BuildMI(*CopyLike.getParent(), &CopyLike, CopyLike.getDebugLoc(),
+-                TII.get(TargetOpcode::COPY), NewVR)
+-            .addReg(NewSrc.Reg, 0, NewSrc.SubReg);
+-
+-    NewCopy->getOperand(0).setSubReg(Def.SubReg);
+-    if (Def.SubReg)
+-      NewCopy->getOperand(0).setIsUndef();
+-
+-    DEBUG(dbgs() << "-- RewriteSource\n");
+-    DEBUG(dbgs() << "   Replacing: " << CopyLike);
+-    DEBUG(dbgs() << "        With: " << *NewCopy);
+-    MRI.replaceRegWith(Def.Reg, NewVR);
+-    MRI.clearKillFlags(NewVR);
+-
+-    // We extended the lifetime of NewSrc.Reg, clear the kill flags to
+-    // account for that.
+-    MRI.clearKillFlags(NewSrc.Reg);
+-
+-    return NewCopy;
++  bool RewriteCurrentSource(unsigned NewReg, unsigned NewSubReg) override {
++    return false;
+   }
+ };
+ 
+-/// \brief Specialized rewriter for INSERT_SUBREG instruction.
+-class InsertSubregRewriter : public CopyRewriter {
++/// Specialized rewriter for INSERT_SUBREG instruction.
++class InsertSubregRewriter : public Rewriter {
+ public:
+-  InsertSubregRewriter(MachineInstr &MI) : CopyRewriter(MI) {
++  InsertSubregRewriter(MachineInstr &MI) : Rewriter(MI) {
+     assert(MI.isInsertSubreg() && "Invalid instruction");
+   }
+ 
+-  /// \brief See CopyRewriter::getNextRewritableSource.
++  /// \see See Rewriter::getNextRewritableSource()
+   /// Here CopyLike has the following form:
+   /// dst = INSERT_SUBREG Src1, Src2.src2SubIdx, subIdx.
+   /// Src1 has the same register class has dst, hence, there is
+@@ -1055,29 +914,27 @@
+   /// Src2.src2SubIdx, may not be register coalescer friendly.
+   /// Therefore, the first call to this method returns:
+   /// (SrcReg, SrcSubReg) = (Src2, src2SubIdx).
+-  /// (TrackReg, TrackSubReg) = (dst, subIdx).
++  /// (DstReg, DstSubReg) = (dst, subIdx).
+   ///
+   /// Subsequence calls will return false.
+-  bool getNextRewritableSource(unsigned &SrcReg, unsigned &SrcSubReg,
+-                               unsigned &TrackReg,
+-                               unsigned &TrackSubReg) override {
++  bool getNextRewritableSource(RegSubRegPair &Src,
++                               RegSubRegPair &Dst) override {
+     // If we already get the only source we can rewrite, return false.
+     if (CurrentSrcIdx == 2)
+       return false;
+     // We are looking at v2 = INSERT_SUBREG v0, v1, sub0.
+     CurrentSrcIdx = 2;
+     const MachineOperand &MOInsertedReg = CopyLike.getOperand(2);
+-    SrcReg = MOInsertedReg.getReg();
+-    SrcSubReg = MOInsertedReg.getSubReg();
++    Src = RegSubRegPair(MOInsertedReg.getReg(), MOInsertedReg.getSubReg());
+     const MachineOperand &MODef = CopyLike.getOperand(0);
+ 
+     // We want to track something that is compatible with the
+     // partial definition.
+-    TrackReg = MODef.getReg();
+     if (MODef.getSubReg())
+       // Bail if we have to compose sub-register indices.
+       return false;
+-    TrackSubReg = (unsigned)CopyLike.getOperand(3).getImm();
++    Dst = RegSubRegPair(MODef.getReg(),
++                        (unsigned)CopyLike.getOperand(3).getImm());
+     return true;
+   }
+ 
+@@ -1092,41 +949,39 @@
+   }
+ };
+ 
+-/// \brief Specialized rewriter for EXTRACT_SUBREG instruction.
+-class ExtractSubregRewriter : public CopyRewriter {
++/// Specialized rewriter for EXTRACT_SUBREG instruction.
++class ExtractSubregRewriter : public Rewriter {
+   const TargetInstrInfo &TII;
+ 
+ public:
+   ExtractSubregRewriter(MachineInstr &MI, const TargetInstrInfo &TII)
+-      : CopyRewriter(MI), TII(TII) {
++      : Rewriter(MI), TII(TII) {
+     assert(MI.isExtractSubreg() && "Invalid instruction");
+   }
+ 
+-  /// \brief See CopyRewriter::getNextRewritableSource.
++  /// \see Rewriter::getNextRewritableSource()
+   /// Here CopyLike has the following form:
+   /// dst.dstSubIdx = EXTRACT_SUBREG Src, subIdx.
+   /// There is only one rewritable source: Src.subIdx,
+   /// which defines dst.dstSubIdx.
+-  bool getNextRewritableSource(unsigned &SrcReg, unsigned &SrcSubReg,
+-                               unsigned &TrackReg,
+-                               unsigned &TrackSubReg) override {
++  bool getNextRewritableSource(RegSubRegPair &Src,
++                               RegSubRegPair &Dst) override {
+     // If we already get the only source we can rewrite, return false.
+     if (CurrentSrcIdx == 1)
+       return false;
+     // We are looking at v1 = EXTRACT_SUBREG v0, sub0.
+     CurrentSrcIdx = 1;
+     const MachineOperand &MOExtractedReg = CopyLike.getOperand(1);
+-    SrcReg = MOExtractedReg.getReg();
+     // If we have to compose sub-register indices, bail out.
+     if (MOExtractedReg.getSubReg())
+       return false;
+ 
+-    SrcSubReg = CopyLike.getOperand(2).getImm();
++    Src = RegSubRegPair(MOExtractedReg.getReg(),
++                        CopyLike.getOperand(2).getImm());
+ 
+     // We want to track something that is compatible with the definition.
+     const MachineOperand &MODef = CopyLike.getOperand(0);
+-    TrackReg = MODef.getReg();
+-    TrackSubReg = MODef.getSubReg();
++    Dst = RegSubRegPair(MODef.getReg(), MODef.getSubReg());
+     return true;
+   }
+ 
+@@ -1156,14 +1011,14 @@
+   }
+ };
+ 
+-/// \brief Specialized rewriter for REG_SEQUENCE instruction.
+-class RegSequenceRewriter : public CopyRewriter {
++/// Specialized rewriter for REG_SEQUENCE instruction.
++class RegSequenceRewriter : public Rewriter {
+ public:
+-  RegSequenceRewriter(MachineInstr &MI) : CopyRewriter(MI) {
++  RegSequenceRewriter(MachineInstr &MI) : Rewriter(MI) {
+     assert(MI.isRegSequence() && "Invalid instruction");
+   }
+ 
+-  /// \brief See CopyRewriter::getNextRewritableSource.
++  /// \see Rewriter::getNextRewritableSource()
+   /// Here CopyLike has the following form:
+   /// dst = REG_SEQUENCE Src1.src1SubIdx, subIdx1, Src2.src2SubIdx, subIdx2.
+   /// Each call will return a different source, walking all the available
+@@ -1171,17 +1026,16 @@
+   ///
+   /// The first call returns:
+   /// (SrcReg, SrcSubReg) = (Src1, src1SubIdx).
+-  /// (TrackReg, TrackSubReg) = (dst, subIdx1).
++  /// (DstReg, DstSubReg) = (dst, subIdx1).
+   ///
+   /// The second call returns:
+   /// (SrcReg, SrcSubReg) = (Src2, src2SubIdx).
+-  /// (TrackReg, TrackSubReg) = (dst, subIdx2).
++  /// (DstReg, DstSubReg) = (dst, subIdx2).
+   ///
+   /// And so on, until all the sources have been traversed, then
+   /// it returns false.
+-  bool getNextRewritableSource(unsigned &SrcReg, unsigned &SrcSubReg,
+-                               unsigned &TrackReg,
+-                               unsigned &TrackSubReg) override {
++  bool getNextRewritableSource(RegSubRegPair &Src,
++                               RegSubRegPair &Dst) override {
+     // We are looking at v0 = REG_SEQUENCE v1, sub1, v2, sub2, etc.
+ 
+     // If this is the first call, move to the first argument.
+@@ -1194,17 +1048,17 @@
+         return false;
+     }
+     const MachineOperand &MOInsertedReg = CopyLike.getOperand(CurrentSrcIdx);
+-    SrcReg = MOInsertedReg.getReg();
++    Src.Reg = MOInsertedReg.getReg();
+     // If we have to compose sub-register indices, bail out.
+-    if ((SrcSubReg = MOInsertedReg.getSubReg()))
++    if ((Src.SubReg = MOInsertedReg.getSubReg()))
+       return false;
+ 
+     // We want to track something that is compatible with the related
+     // partial definition.
+-    TrackSubReg = CopyLike.getOperand(CurrentSrcIdx + 1).getImm();
++    Dst.SubReg = CopyLike.getOperand(CurrentSrcIdx + 1).getImm();
+ 
+     const MachineOperand &MODef = CopyLike.getOperand(0);
+-    TrackReg = MODef.getReg();
++    Dst.Reg = MODef.getReg();
+     // If we have to compose sub-registers, bail.
+     return MODef.getSubReg() == 0;
+   }
+@@ -1224,16 +1078,14 @@
+ 
+ } // end anonymous namespace
+ 
+-/// \brief Get the appropriated CopyRewriter for \p MI.
+-/// \return A pointer to a dynamically allocated CopyRewriter or nullptr
+-/// if no rewriter works for \p MI.
+-static CopyRewriter *getCopyRewriter(MachineInstr &MI,
+-                                     const TargetInstrInfo &TII,
+-                                     MachineRegisterInfo &MRI) {
++/// Get the appropriated Rewriter for \p MI.
++/// \return A pointer to a dynamically allocated Rewriter or nullptr if no
++/// rewriter works for \p MI.
++static Rewriter *getCopyRewriter(MachineInstr &MI, const TargetInstrInfo &TII) {
+   // Handle uncoalescable copy-like instructions.
+-  if (MI.isBitcast() || (MI.isRegSequenceLike() || MI.isInsertSubregLike() ||
+-                         MI.isExtractSubregLike()))
+-    return new UncoalescableRewriter(MI, TII, MRI);
++  if (MI.isBitcast() || MI.isRegSequenceLike() || MI.isInsertSubregLike() ||
++      MI.isExtractSubregLike())
++    return new UncoalescableRewriter(MI);
+ 
+   switch (MI.getOpcode()) {
+   default:
+@@ -1247,53 +1099,102 @@
+   case TargetOpcode::REG_SEQUENCE:
+     return new RegSequenceRewriter(MI);
+   }
+-  llvm_unreachable(nullptr);
+ }
+ 
+-/// \brief Optimize generic copy instructions to avoid cross
+-/// register bank copy. The optimization looks through a chain of
+-/// copies and tries to find a source that has a compatible register
+-/// class.
+-/// Two register classes are considered to be compatible if they share
+-/// the same register bank.
++/// \brief Given a \p Def.Reg and Def.SubReg  pair, use \p RewriteMap to find
++/// the new source to use for rewrite. If \p HandleMultipleSources is true and
++/// multiple sources for a given \p Def are found along the way, we found a
++/// PHI instructions that needs to be rewritten.
++/// TODO: HandleMultipleSources should be removed once we test PHI handling
++/// with coalescable copies.
++static RegSubRegPair
++getNewSource(MachineRegisterInfo *MRI, const TargetInstrInfo *TII,
++             RegSubRegPair Def,
++             const PeepholeOptimizer::RewriteMapTy &RewriteMap,
++             bool HandleMultipleSources = true) {
++  RegSubRegPair LookupSrc(Def.Reg, Def.SubReg);
++  while (true) {
++    ValueTrackerResult Res = RewriteMap.lookup(LookupSrc);
++    // If there are no entries on the map, LookupSrc is the new source.
++    if (!Res.isValid())
++      return LookupSrc;
++
++    // There's only one source for this definition, keep searching...
++    unsigned NumSrcs = Res.getNumSources();
++    if (NumSrcs == 1) {
++      LookupSrc.Reg = Res.getSrcReg(0);
++      LookupSrc.SubReg = Res.getSrcSubReg(0);
++      continue;
++    }
++
++    // TODO: Remove once multiple srcs w/ coalescable copies are supported.
++    if (!HandleMultipleSources)
++      break;
++
++    // Multiple sources, recurse into each source to find a new source
++    // for it. Then, rewrite the PHI accordingly to its new edges.
++    SmallVector<RegSubRegPair, 4> NewPHISrcs;
++    for (unsigned i = 0; i < NumSrcs; ++i) {
++      RegSubRegPair PHISrc(Res.getSrcReg(i), Res.getSrcSubReg(i));
++      NewPHISrcs.push_back(
++          getNewSource(MRI, TII, PHISrc, RewriteMap, HandleMultipleSources));
++    }
++
++    // Build the new PHI node and return its def register as the new source.
++    MachineInstr &OrigPHI = const_cast<MachineInstr &>(*Res.getInst());
++    MachineInstr &NewPHI = insertPHI(*MRI, *TII, NewPHISrcs, OrigPHI);
++    DEBUG(dbgs() << "-- getNewSource\n");
++    DEBUG(dbgs() << "   Replacing: " << OrigPHI);
++    DEBUG(dbgs() << "        With: " << NewPHI);
++    const MachineOperand &MODef = NewPHI.getOperand(0);
++    return RegSubRegPair(MODef.getReg(), MODef.getSubReg());
++  }
++
++  return RegSubRegPair(0, 0);
++}
++
++/// Optimize generic copy instructions to avoid cross register bank copy.
++/// The optimization looks through a chain of copies and tries to find a source
++/// that has a compatible register class.
++/// Two register classes are considered to be compatible if they share the same
++/// register bank.
+ /// New copies issued by this optimization are register allocator
+ /// friendly. This optimization does not remove any copy as it may
+ /// overconstrain the register allocator, but replaces some operands
+ /// when possible.
+ /// \pre isCoalescableCopy(*MI) is true.
+ /// \return True, when \p MI has been rewritten. False otherwise.
+-bool PeepholeOptimizer::optimizeCoalescableCopy(MachineInstr *MI) {
+-  assert(MI && isCoalescableCopy(*MI) && "Invalid argument");
+-  assert(MI->getDesc().getNumDefs() == 1 &&
++bool PeepholeOptimizer::optimizeCoalescableCopy(MachineInstr &MI) {
++  assert(isCoalescableCopy(MI) && "Invalid argument");
++  assert(MI.getDesc().getNumDefs() == 1 &&
+          "Coalescer can understand multiple defs?!");
+-  const MachineOperand &MODef = MI->getOperand(0);
++  const MachineOperand &MODef = MI.getOperand(0);
+   // Do not rewrite physical definitions.
+   if (TargetRegisterInfo::isPhysicalRegister(MODef.getReg()))
+     return false;
+ 
+   bool Changed = false;
+   // Get the right rewriter for the current copy.
+-  std::unique_ptr<CopyRewriter> CpyRewriter(getCopyRewriter(*MI, *TII, *MRI));
++  std::unique_ptr<Rewriter> CpyRewriter(getCopyRewriter(MI, *TII));
+   // If none exists, bail out.
+   if (!CpyRewriter)
+     return false;
+   // Rewrite each rewritable source.
+-  unsigned SrcReg, SrcSubReg, TrackReg, TrackSubReg;
+-  while (CpyRewriter->getNextRewritableSource(SrcReg, SrcSubReg, TrackReg,
+-                                              TrackSubReg)) {
++  RegSubRegPair Src;
++  RegSubRegPair TrackPair;
++  while (CpyRewriter->getNextRewritableSource(Src, TrackPair)) {
+     // Keep track of PHI nodes and its incoming edges when looking for sources.
+     RewriteMapTy RewriteMap;
+     // Try to find a more suitable source. If we failed to do so, or get the
+     // actual source, move to the next source.
+-    if (!findNextSource(TrackReg, TrackSubReg, RewriteMap))
++    if (!findNextSource(TrackPair, RewriteMap))
+       continue;
+ 
+     // Get the new source to rewrite. TODO: Only enable handling of multiple
+     // sources (PHIs) once we have a motivating example and testcases for it.
+-    TargetInstrInfo::RegSubRegPair TrackPair(TrackReg, TrackSubReg);
+-    TargetInstrInfo::RegSubRegPair NewSrc = CpyRewriter->getNewSource(
+-        MRI, TII, TrackPair, RewriteMap, false /* multiple sources */);
+-    if (SrcReg == NewSrc.Reg || NewSrc.Reg == 0)
++    RegSubRegPair NewSrc = getNewSource(MRI, TII, TrackPair, RewriteMap,
++                                        /*HandleMultipleSources=*/false);
++    if (Src.Reg == NewSrc.Reg || NewSrc.Reg == 0)
+       continue;
+ 
+     // Rewrite source.
+@@ -1312,6 +1213,47 @@
+   return Changed;
+ }
+ 
++/// \brief Rewrite the source found through \p Def, by using the \p RewriteMap
++/// and create a new COPY instruction. More info about RewriteMap in
++/// PeepholeOptimizer::findNextSource. Right now this is only used to handle
++/// Uncoalescable copies, since they are copy like instructions that aren't
++/// recognized by the register allocator.
++MachineInstr &
++PeepholeOptimizer::rewriteSource(MachineInstr &CopyLike,
++                                 RegSubRegPair Def, RewriteMapTy &RewriteMap) {
++  assert(!TargetRegisterInfo::isPhysicalRegister(Def.Reg) &&
++         "We do not rewrite physical registers");
++
++  // Find the new source to use in the COPY rewrite.
++  RegSubRegPair NewSrc = getNewSource(MRI, TII, Def, RewriteMap);
++
++  // Insert the COPY.
++  const TargetRegisterClass *DefRC = MRI->getRegClass(Def.Reg);
++  unsigned NewVReg = MRI->createVirtualRegister(DefRC);
++
++  MachineInstr *NewCopy =
++      BuildMI(*CopyLike.getParent(), &CopyLike, CopyLike.getDebugLoc(),
++              TII->get(TargetOpcode::COPY), NewVReg)
++          .addReg(NewSrc.Reg, 0, NewSrc.SubReg);
++
++  if (Def.SubReg) {
++    NewCopy->getOperand(0).setSubReg(Def.SubReg);
++    NewCopy->getOperand(0).setIsUndef();
++  }
++
++  DEBUG(dbgs() << "-- RewriteSource\n");
++  DEBUG(dbgs() << "   Replacing: " << CopyLike);
++  DEBUG(dbgs() << "        With: " << *NewCopy);
++  MRI->replaceRegWith(Def.Reg, NewVReg);
++  MRI->clearKillFlags(NewVReg);
++
++  // We extended the lifetime of NewSrc.Reg, clear the kill flags to
++  // account for that.
++  MRI->clearKillFlags(NewSrc.Reg);
++
++  return *NewCopy;
++}
++
+ /// \brief Optimize copy-like instructions to create
+ /// register coalescer friendly instruction.
+ /// The optimization tries to kill-off the \p MI by looking
+@@ -1324,48 +1266,40 @@
+ /// been removed from its parent.
+ /// All COPY instructions created, are inserted in \p LocalMIs.
+ bool PeepholeOptimizer::optimizeUncoalescableCopy(
+-    MachineInstr *MI, SmallPtrSetImpl<MachineInstr *> &LocalMIs) {
+-  assert(MI && isUncoalescableCopy(*MI) && "Invalid argument");
+-
+-  // Check if we can rewrite all the values defined by this instruction.
+-  SmallVector<TargetInstrInfo::RegSubRegPair, 4> RewritePairs;
+-  // Get the right rewriter for the current copy.
+-  std::unique_ptr<CopyRewriter> CpyRewriter(getCopyRewriter(*MI, *TII, *MRI));
+-  // If none exists, bail out.
+-  if (!CpyRewriter)
+-    return false;
++    MachineInstr &MI, SmallPtrSetImpl<MachineInstr *> &LocalMIs) {
++  assert(isUncoalescableCopy(MI) && "Invalid argument");
++  UncoalescableRewriter CpyRewriter(MI);
+ 
+   // Rewrite each rewritable source by generating new COPYs. This works
+   // differently from optimizeCoalescableCopy since it first makes sure that all
+   // definitions can be rewritten.
+   RewriteMapTy RewriteMap;
+-  unsigned Reg, SubReg, CopyDefReg, CopyDefSubReg;
+-  while (CpyRewriter->getNextRewritableSource(Reg, SubReg, CopyDefReg,
+-                                              CopyDefSubReg)) {
++  RegSubRegPair Src;
++  RegSubRegPair Def;
++  SmallVector<RegSubRegPair, 4> RewritePairs;
++  while (CpyRewriter.getNextRewritableSource(Src, Def)) {
+     // If a physical register is here, this is probably for a good reason.
+     // Do not rewrite that.
+-    if (TargetRegisterInfo::isPhysicalRegister(CopyDefReg))
++    if (TargetRegisterInfo::isPhysicalRegister(Def.Reg))
+       return false;
+ 
+     // If we do not know how to rewrite this definition, there is no point
+     // in trying to kill this instruction.
+-    TargetInstrInfo::RegSubRegPair Def(CopyDefReg, CopyDefSubReg);
+-    if (!findNextSource(Def.Reg, Def.SubReg, RewriteMap))
++    if (!findNextSource(Def, RewriteMap))
+       return false;
+ 
+     RewritePairs.push_back(Def);
+   }
+ 
+   // The change is possible for all defs, do it.
+-  for (const auto &Def : RewritePairs) {
++  for (const RegSubRegPair &Def : RewritePairs) {
+     // Rewrite the "copy" in a way the register coalescer understands.
+-    MachineInstr *NewCopy = CpyRewriter->RewriteSource(Def, RewriteMap);
+-    assert(NewCopy && "Should be able to always generate a new copy");
+-    LocalMIs.insert(NewCopy);
++    MachineInstr &NewCopy = rewriteSource(MI, Def, RewriteMap);
++    LocalMIs.insert(&NewCopy);
+   }
+ 
+   // MI is now dead.
+-  MI->eraseFromParent();
++  MI.eraseFromParent();
+   ++NumUncoalescableCopies;
+   return true;
+ }
+@@ -1374,18 +1308,18 @@
+ /// We only fold loads to virtual registers and the virtual register defined
+ /// has a single use.
+ bool PeepholeOptimizer::isLoadFoldable(
+-    MachineInstr *MI, SmallSet<unsigned, 16> &FoldAsLoadDefCandidates) {
+-  if (!MI->canFoldAsLoad() || !MI->mayLoad())
++    MachineInstr &MI, SmallSet<unsigned, 16> &FoldAsLoadDefCandidates) {
++  if (!MI.canFoldAsLoad() || !MI.mayLoad())
+     return false;
+-  const MCInstrDesc &MCID = MI->getDesc();
++  const MCInstrDesc &MCID = MI.getDesc();
+   if (MCID.getNumDefs() != 1)
+     return false;
+ 
+-  unsigned Reg = MI->getOperand(0).getReg();
++  unsigned Reg = MI.getOperand(0).getReg();
+   // To reduce compilation time, we check MRI->hasOneNonDBGUse when inserting
+   // loads. It should be checked when processing uses of the load, since
+   // uses can be removed during peephole.
+-  if (!MI->getOperand(0).getSubReg() &&
++  if (!MI.getOperand(0).getSubReg() &&
+       TargetRegisterInfo::isVirtualRegister(Reg) &&
+       MRI->hasOneNonDBGUse(Reg)) {
+     FoldAsLoadDefCandidates.insert(Reg);
+@@ -1395,16 +1329,16 @@
+ }
+ 
+ bool PeepholeOptimizer::isMoveImmediate(
+-    MachineInstr *MI, SmallSet<unsigned, 4> &ImmDefRegs,
++    MachineInstr &MI, SmallSet<unsigned, 4> &ImmDefRegs,
+     DenseMap<unsigned, MachineInstr *> &ImmDefMIs) {
+-  const MCInstrDesc &MCID = MI->getDesc();
+-  if (!MI->isMoveImmediate())
++  const MCInstrDesc &MCID = MI.getDesc();
++  if (!MI.isMoveImmediate())
+     return false;
+   if (MCID.getNumDefs() != 1)
+     return false;
+-  unsigned Reg = MI->getOperand(0).getReg();
++  unsigned Reg = MI.getOperand(0).getReg();
+   if (TargetRegisterInfo::isVirtualRegister(Reg)) {
+-    ImmDefMIs.insert(std::make_pair(Reg, MI));
++    ImmDefMIs.insert(std::make_pair(Reg, &MI));
+     ImmDefRegs.insert(Reg);
+     return true;
+   }
+@@ -1415,11 +1349,11 @@
+ /// Try folding register operands that are defined by move immediate
+ /// instructions, i.e. a trivial constant folding optimization, if
+ /// and only if the def and use are in the same BB.
+-bool PeepholeOptimizer::foldImmediate(
+-    MachineInstr *MI, MachineBasicBlock *MBB, SmallSet<unsigned, 4> &ImmDefRegs,
++bool PeepholeOptimizer::foldImmediate(MachineInstr &MI,
++    SmallSet<unsigned, 4> &ImmDefRegs,
+     DenseMap<unsigned, MachineInstr *> &ImmDefMIs) {
+-  for (unsigned i = 0, e = MI->getDesc().getNumOperands(); i != e; ++i) {
+-    MachineOperand &MO = MI->getOperand(i);
++  for (unsigned i = 0, e = MI.getDesc().getNumOperands(); i != e; ++i) {
++    MachineOperand &MO = MI.getOperand(i);
+     if (!MO.isReg() || MO.isDef())
+       continue;
+     // Ignore dead implicit defs.
+@@ -1432,7 +1366,7 @@
+       continue;
+     DenseMap<unsigned, MachineInstr*>::iterator II = ImmDefMIs.find(Reg);
+     assert(II != ImmDefMIs.end() && "couldn't find immediate definition");
+-    if (TII->FoldImmediate(*MI, *II->second, Reg, MRI)) {
++    if (TII->FoldImmediate(MI, *II->second, Reg, MRI)) {
+       ++NumImmFold;
+       return true;
+     }
+@@ -1454,28 +1388,28 @@
+ // %2 = COPY %0:sub1
+ //
+ // Should replace %2 uses with %1:sub1
+-bool PeepholeOptimizer::foldRedundantCopy(
+-    MachineInstr *MI, SmallSet<unsigned, 4> &CopySrcRegs,
++bool PeepholeOptimizer::foldRedundantCopy(MachineInstr &MI,
++    SmallSet<unsigned, 4> &CopySrcRegs,
+     DenseMap<unsigned, MachineInstr *> &CopyMIs) {
+-  assert(MI->isCopy() && "expected a COPY machine instruction");
++  assert(MI.isCopy() && "expected a COPY machine instruction");
+ 
+-  unsigned SrcReg = MI->getOperand(1).getReg();
++  unsigned SrcReg = MI.getOperand(1).getReg();
+   if (!TargetRegisterInfo::isVirtualRegister(SrcReg))
+     return false;
+ 
+-  unsigned DstReg = MI->getOperand(0).getReg();
++  unsigned DstReg = MI.getOperand(0).getReg();
+   if (!TargetRegisterInfo::isVirtualRegister(DstReg))
+     return false;
+ 
+   if (CopySrcRegs.insert(SrcReg).second) {
+     // First copy of this reg seen.
+-    CopyMIs.insert(std::make_pair(SrcReg, MI));
++    CopyMIs.insert(std::make_pair(SrcReg, &MI));
+     return false;
+   }
+ 
+   MachineInstr *PrevCopy = CopyMIs.find(SrcReg)->second;
+ 
+-  unsigned SrcSubReg = MI->getOperand(1).getSubReg();
++  unsigned SrcSubReg = MI.getOperand(1).getSubReg();
+   unsigned PrevSrcSubReg = PrevCopy->getOperand(1).getSubReg();
+ 
+   // Can't replace different subregister extracts.
+@@ -1504,19 +1438,19 @@
+ }
+ 
+ bool PeepholeOptimizer::foldRedundantNAPhysCopy(
+-    MachineInstr *MI, DenseMap<unsigned, MachineInstr *> &NAPhysToVirtMIs) {
+-  assert(MI->isCopy() && "expected a COPY machine instruction");
++    MachineInstr &MI, DenseMap<unsigned, MachineInstr *> &NAPhysToVirtMIs) {
++  assert(MI.isCopy() && "expected a COPY machine instruction");
+ 
+   if (DisableNAPhysCopyOpt)
+     return false;
+ 
+-  unsigned DstReg = MI->getOperand(0).getReg();
+-  unsigned SrcReg = MI->getOperand(1).getReg();
++  unsigned DstReg = MI.getOperand(0).getReg();
++  unsigned SrcReg = MI.getOperand(1).getReg();
+   if (isNAPhysCopy(SrcReg) && TargetRegisterInfo::isVirtualRegister(DstReg)) {
+     // %vreg = COPY %physreg
+     // Avoid using a datastructure which can track multiple live non-allocatable
+     // phys->virt copies since LLVM doesn't seem to do this.
+-    NAPhysToVirtMIs.insert({SrcReg, MI});
++    NAPhysToVirtMIs.insert({SrcReg, &MI});
+     return false;
+   }
+ 
+@@ -1528,8 +1462,7 @@
+   if (PrevCopy == NAPhysToVirtMIs.end()) {
+     // We can't remove the copy: there was an intervening clobber of the
+     // non-allocatable physical register after the copy to virtual.
+-    DEBUG(dbgs() << "NAPhysCopy: intervening clobber forbids erasing " << *MI
+-                 << '\n');
++    DEBUG(dbgs() << "NAPhysCopy: intervening clobber forbids erasing " << MI);
+     return false;
+   }
+ 
+@@ -1537,7 +1470,7 @@
+   if (PrevDstReg == SrcReg) {
+     // Remove the virt->phys copy: we saw the virtual register definition, and
+     // the non-allocatable physical register's state hasn't changed since then.
+-    DEBUG(dbgs() << "NAPhysCopy: erasing " << *MI << '\n');
++    DEBUG(dbgs() << "NAPhysCopy: erasing " << MI);
+     ++NumNAPhysCopies;
+     return true;
+   }
+@@ -1546,7 +1479,7 @@
+   // register get a copy of the non-allocatable physical register, and we only
+   // track one such copy. Avoid getting confused by this new non-allocatable
+   // physical register definition, and remove it from the tracked copies.
+-  DEBUG(dbgs() << "NAPhysCopy: missed opportunity " << *MI << '\n');
++  DEBUG(dbgs() << "NAPhysCopy: missed opportunity " << MI);
+   NAPhysToVirtMIs.erase(PrevCopy);
+   return false;
+ }
+@@ -1611,11 +1544,11 @@
+   return false;
+ }
+ 
+-/// \brief Phi instructions will eventually be lowered to copy instructions. If
+-/// phi is in a loop header, a recurrence may formulated around the source and
+-/// destination of the phi. For such case commuting operands of the instructions
+-/// in the recurrence may enable coalescing of the copy instruction generated
+-/// from the phi. For example, if there is a recurrence of
++/// Phi instructions will eventually be lowered to copy instructions.
++/// If phi is in a loop header, a recurrence may formulated around the source
++/// and destination of the phi. For such case commuting operands of the
++/// instructions in the recurrence may enable coalescing of the copy instruction
++/// generated from the phi. For example, if there is a recurrence of
+ ///
+ /// LoopHeader:
+ ///   %1 = phi(%0, %100)
+@@ -1725,27 +1658,25 @@
+       }
+ 
+       if (!MI->isCopy()) {
+-        for (const auto &Op : MI->operands()) {
++        for (const MachineOperand &MO : MI->operands()) {
+           // Visit all operands: definitions can be implicit or explicit.
+-          if (Op.isReg()) {
+-            unsigned Reg = Op.getReg();
+-            if (Op.isDef() && isNAPhysCopy(Reg)) {
++          if (MO.isReg()) {
++            unsigned Reg = MO.getReg();
++            if (MO.isDef() && isNAPhysCopy(Reg)) {
+               const auto &Def = NAPhysToVirtMIs.find(Reg);
+               if (Def != NAPhysToVirtMIs.end()) {
+                 // A new definition of the non-allocatable physical register
+                 // invalidates previous copies.
+-                DEBUG(dbgs() << "NAPhysCopy: invalidating because of " << *MI
+-                             << '\n');
++                DEBUG(dbgs() << "NAPhysCopy: invalidating because of " << *MI);
+                 NAPhysToVirtMIs.erase(Def);
+               }
+             }
+-          } else if (Op.isRegMask()) {
+-            const uint32_t *RegMask = Op.getRegMask();
++          } else if (MO.isRegMask()) {
++            const uint32_t *RegMask = MO.getRegMask();
+             for (auto &RegMI : NAPhysToVirtMIs) {
+               unsigned Def = RegMI.first;
+               if (MachineOperand::clobbersPhysReg(RegMask, Def)) {
+-                DEBUG(dbgs() << "NAPhysCopy: invalidating because of " << *MI
+-                             << '\n');
++                DEBUG(dbgs() << "NAPhysCopy: invalidating because of " << *MI);
+                 NAPhysToVirtMIs.erase(Def);
+               }
+             }
+@@ -1761,58 +1692,57 @@
+         // don't know what's correct anymore.
+         //
+         // FIXME: handle explicit asm clobbers.
+-        DEBUG(dbgs() << "NAPhysCopy: blowing away all info due to " << *MI
+-                     << '\n');
++        DEBUG(dbgs() << "NAPhysCopy: blowing away all info due to " << *MI);
+         NAPhysToVirtMIs.clear();
+       }
+ 
+       if ((isUncoalescableCopy(*MI) &&
+-           optimizeUncoalescableCopy(MI, LocalMIs)) ||
+-          (MI->isCompare() && optimizeCmpInstr(MI, &MBB)) ||
+-          (MI->isSelect() && optimizeSelect(MI, LocalMIs))) {
++           optimizeUncoalescableCopy(*MI, LocalMIs)) ||
++          (MI->isCompare() && optimizeCmpInstr(*MI)) ||
++          (MI->isSelect() && optimizeSelect(*MI, LocalMIs))) {
+         // MI is deleted.
+         LocalMIs.erase(MI);
+         Changed = true;
+         continue;
+       }
+ 
+-      if (MI->isConditionalBranch() && optimizeCondBranch(MI)) {
++      if (MI->isConditionalBranch() && optimizeCondBranch(*MI)) {
+         Changed = true;
+         continue;
+       }
+ 
+-      if (isCoalescableCopy(*MI) && optimizeCoalescableCopy(MI)) {
++      if (isCoalescableCopy(*MI) && optimizeCoalescableCopy(*MI)) {
+         // MI is just rewritten.
+         Changed = true;
+         continue;
+       }
+ 
+       if (MI->isCopy() &&
+-          (foldRedundantCopy(MI, CopySrcRegs, CopySrcMIs) ||
+-           foldRedundantNAPhysCopy(MI, NAPhysToVirtMIs))) {
++          (foldRedundantCopy(*MI, CopySrcRegs, CopySrcMIs) ||
++           foldRedundantNAPhysCopy(*MI, NAPhysToVirtMIs))) {
+         LocalMIs.erase(MI);
+         MI->eraseFromParent();
+         Changed = true;
+         continue;
+       }
+ 
+-      if (isMoveImmediate(MI, ImmDefRegs, ImmDefMIs)) {
++      if (isMoveImmediate(*MI, ImmDefRegs, ImmDefMIs)) {
+         SeenMoveImm = true;
+       } else {
+-        Changed |= optimizeExtInstr(MI, &MBB, LocalMIs);
++        Changed |= optimizeExtInstr(*MI, MBB, LocalMIs);
+         // optimizeExtInstr might have created new instructions after MI
+         // and before the already incremented MII. Adjust MII so that the
+         // next iteration sees the new instructions.
+         MII = MI;
+         ++MII;
+         if (SeenMoveImm)
+-          Changed |= foldImmediate(MI, &MBB, ImmDefRegs, ImmDefMIs);
++          Changed |= foldImmediate(*MI, ImmDefRegs, ImmDefMIs);
+       }
+ 
+       // Check whether MI is a load candidate for folding into a later
+       // instruction. If MI is not a candidate, check whether we can fold an
+       // earlier load into MI.
+-      if (!isLoadFoldable(MI, FoldAsLoadDefCandidates) &&
++      if (!isLoadFoldable(*MI, FoldAsLoadDefCandidates) &&
+           !FoldAsLoadDefCandidates.empty()) {
+ 
+         // We visit each operand even after successfully folding a previous
+@@ -1861,7 +1791,7 @@
+       // the load candidates.  Note: We might be able to fold *into* this
+       // instruction, so this needs to be after the folding logic.
+       if (MI->isLoadFoldBarrier()) {
+-        DEBUG(dbgs() << "Encountered load fold barrier on " << *MI << "\n");
++        DEBUG(dbgs() << "Encountered load fold barrier on " << *MI);
+         FoldAsLoadDefCandidates.clear();
+       }
+     }
+@@ -1958,14 +1888,14 @@
+     // duplicate the code from the generic TII.
+     return ValueTrackerResult();
+ 
+-  SmallVector<TargetInstrInfo::RegSubRegPairAndIdx, 8> RegSeqInputRegs;
++  SmallVector<RegSubRegPairAndIdx, 8> RegSeqInputRegs;
+   if (!TII->getRegSequenceInputs(*Def, DefIdx, RegSeqInputRegs))
+     return ValueTrackerResult();
+ 
+   // We are looking at:
+   // Def = REG_SEQUENCE v0, sub0, v1, sub1, ...
+   // Check if one of the operand defines the subreg we are interested in.
+-  for (auto &RegSeqInput : RegSeqInputRegs) {
++  for (const RegSubRegPairAndIdx &RegSeqInput : RegSeqInputRegs) {
+     if (RegSeqInput.SubIdx == DefSubReg) {
+       if (RegSeqInput.SubReg)
+         // Bail if we have to compose sub registers.
+@@ -1996,8 +1926,8 @@
+     // duplicate the code from the generic TII.
+     return ValueTrackerResult();
+ 
+-  TargetInstrInfo::RegSubRegPair BaseReg;
+-  TargetInstrInfo::RegSubRegPairAndIdx InsertedReg;
++  RegSubRegPair BaseReg;
++  RegSubRegPairAndIdx InsertedReg;
+   if (!TII->getInsertSubregInputs(*Def, DefIdx, BaseReg, InsertedReg))
+     return ValueTrackerResult();
+ 
+@@ -2050,7 +1980,7 @@
+     // duplicate the code from the generic TII.
+     return ValueTrackerResult();
+ 
+-  TargetInstrInfo::RegSubRegPairAndIdx ExtractSubregInputReg;
++  RegSubRegPairAndIdx ExtractSubregInputReg;
+   if (!TII->getExtractSubregInputs(*Def, DefIdx, ExtractSubregInputReg))
+     return ValueTrackerResult();
+ 
+@@ -2083,7 +2013,7 @@
+                             Def->getOperand(3).getImm());
+ }
+ 
+-/// \brief Explore each PHI incoming operand and return its sources
++/// Explore each PHI incoming operand and return its sources.
+ ValueTrackerResult ValueTracker::getNextSourceFromPHI() {
+   assert(Def->isPHI() && "Invalid definition");
+   ValueTrackerResult Res;
+@@ -2095,7 +2025,7 @@
+ 
+   // Return all register sources for PHI instructions.
+   for (unsigned i = 1, e = Def->getNumOperands(); i < e; i += 2) {
+-    auto &MO = Def->getOperand(i);
++    const MachineOperand &MO = Def->getOperand(i);
+     assert(MO.isReg() && "Invalid PHI instruction");
+     // We have no code to deal with undef operands. They shouldn't happen in
+     // normal programs anyway.
+@@ -2121,7 +2051,7 @@
+     return getNextSourceFromBitcast();
+   // All the remaining cases involve "complex" instructions.
+   // Bail if we did not ask for the advanced tracking.
+-  if (!UseAdvancedTracking)
++  if (DisableAdvCopyOpt)
+     return ValueTrackerResult();
+   if (Def->isRegSequence() || Def->isRegSequenceLike())
+     return getNextSourceFromRegSequence();


Property changes on: trunk/devel/llvm60/files/patch-svn-r322325
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/devel/llvm60/pkg-descr
===================================================================
--- trunk/devel/llvm60/pkg-descr	                        (rev 0)
+++ trunk/devel/llvm60/pkg-descr	2018-09-02 17:45:23 UTC (rev 24061)
@@ -0,0 +1,8 @@
+The LLVM Project is a collection of modular and reusable compiler and
+toolchain technologies.
+
+This port includes Clang (a C/C++/Objective-C compiler), LLD (a linker),
+LLDB (a debugger), an OpenMP runtime library, and the LLVM infrastructure
+these are built on.
+
+WWW: http://llvm.org/


Property changes on: trunk/devel/llvm60/pkg-descr
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/devel/llvm60/pkg-plist
===================================================================
--- trunk/devel/llvm60/pkg-plist	                        (rev 0)
+++ trunk/devel/llvm60/pkg-plist	2018-09-02 17:45:23 UTC (rev 24061)
@@ -0,0 +1,2281 @@
+ at comment >>>>> GENERATED FILE, DO NOT EDIT <<<<<
+ at comment Alter build-plist target and regenerate as required
+bin/bugpoint%%LLVM_SUFFIX%%
+bin/llc%%LLVM_SUFFIX%%
+bin/lli%%LLVM_SUFFIX%%
+bin/llvm-ar%%LLVM_SUFFIX%%
+bin/llvm-as%%LLVM_SUFFIX%%
+bin/llvm-bcanalyzer%%LLVM_SUFFIX%%
+bin/llvm-cat%%LLVM_SUFFIX%%
+bin/llvm-cfi-verify%%LLVM_SUFFIX%%
+bin/llvm-config%%LLVM_SUFFIX%%
+bin/llvm-cov%%LLVM_SUFFIX%%
+bin/llvm-cvtres%%LLVM_SUFFIX%%
+bin/llvm-diff%%LLVM_SUFFIX%%
+bin/llvm-dis%%LLVM_SUFFIX%%
+bin/llvm-dlltool%%LLVM_SUFFIX%%
+bin/llvm-dwarfdump%%LLVM_SUFFIX%%
+bin/llvm-dwp%%LLVM_SUFFIX%%
+bin/llvm-extract%%LLVM_SUFFIX%%
+bin/llvm-link%%LLVM_SUFFIX%%
+bin/llvm-mc%%LLVM_SUFFIX%%
+bin/llvm-mcmarkup%%LLVM_SUFFIX%%
+bin/llvm-modextract%%LLVM_SUFFIX%%
+bin/llvm-mt%%LLVM_SUFFIX%%
+bin/llvm-nm%%LLVM_SUFFIX%%
+bin/llvm-objcopy%%LLVM_SUFFIX%%
+bin/llvm-objdump%%LLVM_SUFFIX%%
+bin/llvm-opt-report%%LLVM_SUFFIX%%
+bin/llvm-pdbutil%%LLVM_SUFFIX%%
+bin/llvm-profdata%%LLVM_SUFFIX%%
+bin/llvm-ranlib%%LLVM_SUFFIX%%
+bin/llvm-rc%%LLVM_SUFFIX%%
+bin/llvm-readelf%%LLVM_SUFFIX%%
+bin/llvm-readobj%%LLVM_SUFFIX%%
+bin/llvm-rtdyld%%LLVM_SUFFIX%%
+bin/llvm-size%%LLVM_SUFFIX%%
+bin/llvm-split%%LLVM_SUFFIX%%
+bin/llvm-stress%%LLVM_SUFFIX%%
+bin/llvm-strings%%LLVM_SUFFIX%%
+bin/llvm-symbolizer%%LLVM_SUFFIX%%
+bin/llvm-tblgen%%LLVM_SUFFIX%%
+bin/macho-dump%%LLVM_SUFFIX%%
+bin/opt%%LLVM_SUFFIX%%
+bin/sancov%%LLVM_SUFFIX%%
+%%CLANG%%bin/c-index-test%%LLVM_SUFFIX%%
+%%CLANG%%bin/clang%%LLVM_SUFFIX%%
+%%CLANG%%bin/clang++%%LLVM_SUFFIX%%
+%%CLANG%%bin/clang-check%%LLVM_SUFFIX%%
+%%CLANG%%bin/clang-cpp%%LLVM_SUFFIX%%
+%%CLANG%%bin/clang-format%%LLVM_SUFFIX%%
+%%CLANG%%bin/clang-func-mapping%%LLVM_SUFFIX%%
+%%CLANG%%bin/clang-import-test%%LLVM_SUFFIX%%
+%%CLANG%%bin/clang-offload-bundler%%LLVM_SUFFIX%%
+%%CLANG%%bin/scan-build%%LLVM_SUFFIX%%
+%%CLANG%%bin/scan-view%%LLVM_SUFFIX%%
+%%EXTRAS%%bin/clang-apply-replacements%%LLVM_SUFFIX%%
+%%EXTRAS%%bin/clang-change-namespace%%LLVM_SUFFIX%%
+%%EXTRAS%%bin/clang-include-fixer%%LLVM_SUFFIX%%
+%%EXTRAS%%bin/clang-modernize%%LLVM_SUFFIX%%
+%%EXTRAS%%bin/clang-query%%LLVM_SUFFIX%%
+%%EXTRAS%%bin/clang-rename%%LLVM_SUFFIX%%
+%%EXTRAS%%bin/clang-reorder-fields%%LLVM_SUFFIX%%
+%%EXTRAS%%bin/clang-tidy%%LLVM_SUFFIX%%
+%%EXTRAS%%bin/clangd%%LLVM_SUFFIX%%
+%%EXTRAS%%bin/find-all-symbols%%LLVM_SUFFIX%%
+%%EXTRAS%%bin/modularize%%LLVM_SUFFIX%%
+%%LLD%%bin/ld.lld%%LLVM_SUFFIX%%
+%%LLD%%bin/ld64.lld%%LLVM_SUFFIX%%
+%%LLD%%bin/lld%%LLVM_SUFFIX%%
+%%LLD%%bin/lld-link%%LLVM_SUFFIX%%
+%%LLD%%bin/wasm-ld%%LLVM_SUFFIX%%
+%%LIT%%bin/lit%%LLVM_SUFFIX%%
+%%LIT%%llvm%%LLVM_SUFFIX%%/bin/lit
+%%LIT%%bin/llvm-lit%%LLVM_SUFFIX%%
+%%LIT%%llvm%%LLVM_SUFFIX%%/bin/llvm-lit
+%%LIT%%bin/FileCheck%%LLVM_SUFFIX%%
+%%LIT%%llvm%%LLVM_SUFFIX%%/bin/FileCheck
+%%COMPILER_RT%%llvm%%LLVM_LIB_VER%%/asan_blacklist.txt
+llvm%%LLVM_LIB_VER%%/bin/bugpoint
+%%CLANG%%llvm%%LLVM_LIB_VER%%/bin/c-index-test
+%%CLANG%%llvm%%LLVM_LIB_VER%%/bin/clang
+%%CLANG%%llvm%%LLVM_LIB_VER%%/bin/clang++
+%%CLANG%%llvm%%LLVM_LIB_VER%%/bin/clang-%%LLVM_MAJOR%%
+%%EXTRAS%%llvm%%LLVM_LIB_VER%%/bin/clang-apply-replacements
+%%EXTRAS%%llvm%%LLVM_LIB_VER%%/bin/clang-change-namespace
+%%CLANG%%llvm%%LLVM_LIB_VER%%/bin/clang-check
+%%CLANG%%llvm%%LLVM_LIB_VER%%/bin/clang-cl
+%%CLANG%%llvm%%LLVM_LIB_VER%%/bin/clang-cpp
+%%CLANG%%llvm%%LLVM_LIB_VER%%/bin/clang-format
+%%CLANG%%llvm%%LLVM_LIB_VER%%/bin/clang-func-mapping
+%%CLANG%%llvm%%LLVM_LIB_VER%%/bin/clang-import-test
+%%EXTRAS%%llvm%%LLVM_LIB_VER%%/bin/clang-include-fixer
+%%CLANG%%llvm%%LLVM_LIB_VER%%/bin/clang-offload-bundler
+%%EXTRAS%%llvm%%LLVM_LIB_VER%%/bin/clang-query
+%%CLANG%%llvm%%LLVM_LIB_VER%%/bin/clang-refactor
+%%EXTRAS%%llvm%%LLVM_LIB_VER%%/bin/clang-rename
+%%EXTRAS%%llvm%%LLVM_LIB_VER%%/bin/clang-reorder-fields
+%%CLANG%%llvm%%LLVM_LIB_VER%%/bin/clang-tblgen
+%%EXTRAS%%llvm%%LLVM_LIB_VER%%/bin/clang-tidy
+%%EXTRAS%%llvm%%LLVM_LIB_VER%%/bin/clangd
+%%EXTRAS%%llvm%%LLVM_LIB_VER%%/bin/find-all-symbols
+%%CLANG%%llvm%%LLVM_LIB_VER%%/bin/git-clang-format
+%%LLD%%llvm%%LLVM_LIB_VER%%/bin/ld.lld
+%%LLD%%llvm%%LLVM_LIB_VER%%/bin/ld64.lld
+llvm%%LLVM_LIB_VER%%/bin/llc
+%%LLD%%llvm%%LLVM_LIB_VER%%/bin/lld
+%%LLD%%llvm%%LLVM_LIB_VER%%/bin/lld-link
+llvm%%LLVM_LIB_VER%%/bin/lli
+llvm%%LLVM_LIB_VER%%/bin/llvm-ar
+llvm%%LLVM_LIB_VER%%/bin/llvm-as
+llvm%%LLVM_LIB_VER%%/bin/llvm-bcanalyzer
+llvm%%LLVM_LIB_VER%%/bin/llvm-c-test
+llvm%%LLVM_LIB_VER%%/bin/llvm-cat
+llvm%%LLVM_LIB_VER%%/bin/llvm-cfi-verify
+llvm%%LLVM_LIB_VER%%/bin/llvm-config
+llvm%%LLVM_LIB_VER%%/bin/llvm-cov
+llvm%%LLVM_LIB_VER%%/bin/llvm-cvtres
+llvm%%LLVM_LIB_VER%%/bin/llvm-cxxdump
+llvm%%LLVM_LIB_VER%%/bin/llvm-cxxfilt
+llvm%%LLVM_LIB_VER%%/bin/llvm-diff
+llvm%%LLVM_LIB_VER%%/bin/llvm-dis
+llvm%%LLVM_LIB_VER%%/bin/llvm-dlltool
+llvm%%LLVM_LIB_VER%%/bin/llvm-dsymutil
+llvm%%LLVM_LIB_VER%%/bin/llvm-dwarfdump
+llvm%%LLVM_LIB_VER%%/bin/llvm-dwp
+llvm%%LLVM_LIB_VER%%/bin/llvm-extract
+llvm%%LLVM_LIB_VER%%/bin/llvm-lib
+llvm%%LLVM_LIB_VER%%/bin/llvm-link
+llvm%%LLVM_LIB_VER%%/bin/llvm-lto
+llvm%%LLVM_LIB_VER%%/bin/llvm-lto2
+llvm%%LLVM_LIB_VER%%/bin/llvm-mc
+llvm%%LLVM_LIB_VER%%/bin/llvm-mcmarkup
+llvm%%LLVM_LIB_VER%%/bin/llvm-modextract
+llvm%%LLVM_LIB_VER%%/bin/llvm-mt
+llvm%%LLVM_LIB_VER%%/bin/llvm-nm
+llvm%%LLVM_LIB_VER%%/bin/llvm-objcopy
+llvm%%LLVM_LIB_VER%%/bin/llvm-objdump
+llvm%%LLVM_LIB_VER%%/bin/llvm-opt-report
+llvm%%LLVM_LIB_VER%%/bin/llvm-pdbutil
+llvm%%LLVM_LIB_VER%%/bin/llvm-profdata
+llvm%%LLVM_LIB_VER%%/bin/llvm-ranlib
+llvm%%LLVM_LIB_VER%%/bin/llvm-rc
+llvm%%LLVM_LIB_VER%%/bin/llvm-readelf
+llvm%%LLVM_LIB_VER%%/bin/llvm-readobj
+llvm%%LLVM_LIB_VER%%/bin/llvm-rtdyld
+llvm%%LLVM_LIB_VER%%/bin/llvm-size
+llvm%%LLVM_LIB_VER%%/bin/llvm-split
+llvm%%LLVM_LIB_VER%%/bin/llvm-stress
+llvm%%LLVM_LIB_VER%%/bin/llvm-strings
+llvm%%LLVM_LIB_VER%%/bin/llvm-symbolizer
+llvm%%LLVM_LIB_VER%%/bin/llvm-tblgen
+llvm%%LLVM_LIB_VER%%/bin/llvm-xray
+%%EXTRAS%%llvm%%LLVM_LIB_VER%%/bin/modularize
+llvm%%LLVM_LIB_VER%%/bin/obj2yaml
+llvm%%LLVM_LIB_VER%%/bin/opt
+llvm%%LLVM_LIB_VER%%/bin/sancov
+llvm%%LLVM_LIB_VER%%/bin/sanstats
+%%CLANG%%llvm%%LLVM_LIB_VER%%/bin/scan-build
+%%CLANG%%llvm%%LLVM_LIB_VER%%/bin/scan-view
+llvm%%LLVM_LIB_VER%%/bin/verify-uselistorder
+%%LLD%%llvm%%LLVM_LIB_VER%%/bin/wasm-ld
+llvm%%LLVM_LIB_VER%%/bin/yaml2obj
+%%COMPILER_RT%%llvm%%LLVM_LIB_VER%%/cfi_blacklist.txt
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang-c/BuildSystem.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang-c/CXCompilationDatabase.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang-c/CXErrorCode.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang-c/CXString.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang-c/Documentation.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang-c/Index.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang-c/Platform.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/ARCMigrate/ARCMT.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/ARCMigrate/ARCMTActions.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/ARCMigrate/FileRemapper.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/AST/APValue.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/AST/AST.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/AST/ASTConsumer.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/AST/ASTContext.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/AST/ASTDiagnostic.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/AST/ASTFwd.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/AST/ASTImporter.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/AST/ASTLambda.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/AST/ASTMutationListener.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/AST/ASTStructuralEquivalence.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/AST/ASTTypeTraits.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/AST/ASTUnresolvedSet.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/AST/ASTVector.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/AST/Attr.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/AST/AttrDump.inc
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/AST/AttrImpl.inc
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/AST/AttrIterator.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/AST/AttrVisitor.inc
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/AST/Attrs.inc
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/AST/Availability.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/AST/BaseSubobject.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/AST/BuiltinTypes.def
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/AST/CXXInheritance.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/AST/CanonicalType.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/AST/CharUnits.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/AST/Comment.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/AST/CommentBriefParser.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/AST/CommentCommandInfo.inc
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/AST/CommentCommandList.inc
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/AST/CommentCommandTraits.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/AST/CommentDiagnostic.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/AST/CommentHTMLNamedCharacterReferences.inc
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/AST/CommentHTMLTags.inc
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/AST/CommentHTMLTagsProperties.inc
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/AST/CommentLexer.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/AST/CommentNodes.inc
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/AST/CommentParser.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/AST/CommentSema.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/AST/CommentVisitor.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/AST/DataCollection.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/AST/Decl.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/AST/DeclAccessPair.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/AST/DeclBase.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/AST/DeclCXX.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/AST/DeclContextInternals.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/AST/DeclFriend.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/AST/DeclGroup.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/AST/DeclLookups.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/AST/DeclNodes.inc
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/AST/DeclObjC.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/AST/DeclOpenMP.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/AST/DeclTemplate.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/AST/DeclVisitor.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/AST/DeclarationName.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/AST/DependentDiagnostic.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/AST/EvaluatedExprVisitor.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/AST/Expr.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/AST/ExprCXX.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/AST/ExprObjC.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/AST/ExprOpenMP.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/AST/ExternalASTMerger.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/AST/ExternalASTSource.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/AST/GlobalDecl.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/AST/LambdaCapture.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/AST/LexicallyOrderedRecursiveASTVisitor.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/AST/LocInfoType.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/AST/Mangle.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/AST/MangleNumberingContext.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/AST/NSAPI.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/AST/NestedNameSpecifier.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/AST/ODRHash.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/AST/OpenMPClause.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/AST/OperationKinds.def
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/AST/OperationKinds.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/AST/ParentMap.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/AST/PrettyPrinter.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/AST/QualTypeNames.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/AST/RawCommentList.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/AST/RecordLayout.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/AST/RecursiveASTVisitor.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/AST/Redeclarable.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/AST/SelectorLocationsKind.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/AST/Stmt.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/AST/StmtCXX.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/AST/StmtDataCollectors.inc
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/AST/StmtGraphTraits.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/AST/StmtIterator.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/AST/StmtNodes.inc
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/AST/StmtObjC.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/AST/StmtOpenMP.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/AST/StmtVisitor.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/AST/TemplateBase.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/AST/TemplateName.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/AST/Type.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/AST/TypeLoc.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/AST/TypeLocNodes.def
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/AST/TypeLocVisitor.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/AST/TypeNodes.def
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/AST/TypeOrdering.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/AST/TypeVisitor.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/AST/UnresolvedSet.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/AST/VTTBuilder.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/AST/VTableBuilder.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/ASTMatchers/ASTMatchFinder.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/ASTMatchers/ASTMatchers.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/ASTMatchers/ASTMatchersInternal.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/ASTMatchers/ASTMatchersMacros.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/ASTMatchers/Dynamic/Diagnostics.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/ASTMatchers/Dynamic/Parser.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/ASTMatchers/Dynamic/Registry.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/ASTMatchers/Dynamic/VariantValue.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Analysis/Analyses/CFGReachabilityAnalysis.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Analysis/Analyses/Consumed.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Analysis/Analyses/Dominators.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Analysis/Analyses/FormatString.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Analysis/Analyses/LiveVariables.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Analysis/Analyses/OSLog.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Analysis/Analyses/PostOrderCFGView.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Analysis/Analyses/PseudoConstantAnalysis.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Analysis/Analyses/ReachableCode.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Analysis/Analyses/ThreadSafety.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Analysis/Analyses/ThreadSafetyCommon.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Analysis/Analyses/ThreadSafetyLogical.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Analysis/Analyses/ThreadSafetyOps.def
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Analysis/Analyses/ThreadSafetyTIL.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Analysis/Analyses/ThreadSafetyTraverse.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Analysis/Analyses/ThreadSafetyUtil.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Analysis/Analyses/UninitializedValues.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Analysis/AnalysisDeclContext.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Analysis/AnalysisDiagnostic.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Analysis/BodyFarm.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Analysis/CFG.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Analysis/CFGStmtMap.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Analysis/CallGraph.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Analysis/CloneDetection.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Analysis/CodeInjector.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Analysis/DomainSpecific/CocoaConventions.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Analysis/DomainSpecific/ObjCNoReturn.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Analysis/FlowSensitive/DataflowValues.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Analysis/ProgramPoint.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Analysis/Support/BumpVector.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Basic/ABI.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Basic/AddressSpaces.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Basic/AlignedAllocation.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Basic/AllDiagnostics.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Basic/AttrHasAttributeImpl.inc
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Basic/AttrKinds.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Basic/AttrList.inc
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Basic/AttrSubMatchRulesList.inc
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Basic/AttrSubjectMatchRules.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Basic/Attributes.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Basic/Builtins.def
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Basic/Builtins.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Basic/BuiltinsAArch64.def
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Basic/BuiltinsAMDGPU.def
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Basic/BuiltinsARM.def
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Basic/BuiltinsHexagon.def
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Basic/BuiltinsLe64.def
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Basic/BuiltinsMips.def
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Basic/BuiltinsNEON.def
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Basic/BuiltinsNVPTX.def
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Basic/BuiltinsNios2.def
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Basic/BuiltinsPPC.def
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Basic/BuiltinsSystemZ.def
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Basic/BuiltinsWebAssembly.def
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Basic/BuiltinsX86.def
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Basic/BuiltinsX86_64.def
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Basic/BuiltinsXCore.def
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Basic/CapturedStmt.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Basic/CharInfo.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Basic/CommentOptions.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Basic/Cuda.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Basic/DebugInfoOptions.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Basic/Diagnostic.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Basic/DiagnosticASTKinds.inc
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Basic/DiagnosticAnalysisKinds.inc
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Basic/DiagnosticCategories.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Basic/DiagnosticCommentKinds.inc
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Basic/DiagnosticCommonKinds.inc
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Basic/DiagnosticCrossTUKinds.inc
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Basic/DiagnosticDriverKinds.inc
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Basic/DiagnosticError.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Basic/DiagnosticFrontendKinds.inc
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Basic/DiagnosticGroups.inc
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Basic/DiagnosticIDs.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Basic/DiagnosticIndexName.inc
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Basic/DiagnosticLexKinds.inc
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Basic/DiagnosticOptions.def
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Basic/DiagnosticOptions.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Basic/DiagnosticParseKinds.inc
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Basic/DiagnosticRefactoringKinds.inc
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Basic/DiagnosticSemaKinds.inc
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Basic/DiagnosticSerializationKinds.inc
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Basic/ExceptionSpecificationType.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Basic/ExpressionTraits.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Basic/FileManager.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Basic/FileSystemOptions.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Basic/FileSystemStatCache.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Basic/IdentifierTable.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Basic/LLVM.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Basic/Lambda.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Basic/LangOptions.def
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Basic/LangOptions.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Basic/Linkage.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Basic/MacroBuilder.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Basic/MemoryBufferCache.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Basic/Module.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Basic/ObjCRuntime.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Basic/OpenCLExtensions.def
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Basic/OpenCLImageTypes.def
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Basic/OpenCLOptions.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Basic/OpenMPKinds.def
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Basic/OpenMPKinds.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Basic/OperatorKinds.def
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Basic/OperatorKinds.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Basic/OperatorPrecedence.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Basic/PartialDiagnostic.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Basic/PlistSupport.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Basic/PragmaKinds.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Basic/PrettyStackTrace.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Basic/SanitizerBlacklist.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Basic/SanitizerSpecialCaseList.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Basic/Sanitizers.def
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Basic/Sanitizers.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Basic/SourceLocation.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Basic/SourceManager.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Basic/SourceManagerInternals.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Basic/Specifiers.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Basic/SyncScope.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Basic/TargetBuiltins.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Basic/TargetCXXABI.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Basic/TargetInfo.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Basic/TargetOptions.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Basic/TemplateKinds.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Basic/TokenKinds.def
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Basic/TokenKinds.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Basic/TypeTraits.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Basic/Version.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Basic/Version.inc
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Basic/VersionTuple.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Basic/VirtualFileSystem.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Basic/Visibility.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Basic/X86Target.def
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Basic/XRayLists.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Basic/arm_neon.inc
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/CodeGen/BackendUtil.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/CodeGen/CGFunctionInfo.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/CodeGen/CodeGenABITypes.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/CodeGen/CodeGenAction.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/CodeGen/ConstantInitBuilder.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/CodeGen/ConstantInitFuture.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/CodeGen/ModuleBuilder.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/CodeGen/ObjectFilePCHContainerOperations.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/CodeGen/SwiftCallingConv.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Config/config.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/CrossTU/CrossTUDiagnostic.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/CrossTU/CrossTranslationUnit.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Driver/Action.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Driver/Compilation.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Driver/Distro.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Driver/Driver.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Driver/DriverDiagnostic.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Driver/Job.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Driver/Multilib.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Driver/Options.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Driver/Options.inc
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Driver/Phases.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Driver/SanitizerArgs.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Driver/Tool.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Driver/ToolChain.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Driver/Types.def
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Driver/Types.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Driver/Util.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Driver/XRayArgs.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Edit/Commit.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Edit/EditedSource.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Edit/EditsReceiver.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Edit/FileOffset.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Edit/Rewriters.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Format/Format.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Frontend/ASTConsumers.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Frontend/ASTUnit.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Frontend/ChainedDiagnosticConsumer.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Frontend/CodeGenOptions.def
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Frontend/CodeGenOptions.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Frontend/CommandLineSourceLoc.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Frontend/CompilerInstance.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Frontend/CompilerInvocation.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Frontend/DependencyOutputOptions.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Frontend/DiagnosticRenderer.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Frontend/FrontendAction.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Frontend/FrontendActions.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Frontend/FrontendDiagnostic.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Frontend/FrontendOptions.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Frontend/FrontendPluginRegistry.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Frontend/LangStandard.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Frontend/LangStandards.def
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Frontend/LayoutOverrideSource.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Frontend/LogDiagnosticPrinter.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Frontend/MigratorOptions.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Frontend/MultiplexConsumer.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Frontend/PCHContainerOperations.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Frontend/PrecompiledPreamble.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Frontend/PreprocessorOutputOptions.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Frontend/SerializedDiagnosticPrinter.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Frontend/SerializedDiagnosticReader.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Frontend/SerializedDiagnostics.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Frontend/TextDiagnostic.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Frontend/TextDiagnosticBuffer.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Frontend/TextDiagnosticPrinter.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Frontend/Utils.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Frontend/VerifyDiagnosticConsumer.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/FrontendTool/Utils.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Index/CodegenNameGenerator.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Index/CommentToXML.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Index/IndexDataConsumer.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Index/IndexSymbol.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Index/IndexingAction.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Index/USRGeneration.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Lex/CodeCompletionHandler.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Lex/DirectoryLookup.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Lex/ExternalPreprocessorSource.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Lex/HeaderMap.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Lex/HeaderMapTypes.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Lex/HeaderSearch.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Lex/HeaderSearchOptions.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Lex/LexDiagnostic.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Lex/Lexer.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Lex/LiteralSupport.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Lex/MacroArgs.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Lex/MacroInfo.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Lex/ModuleLoader.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Lex/ModuleMap.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Lex/MultipleIncludeOpt.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Lex/PPCallbacks.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Lex/PPConditionalDirectiveRecord.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Lex/PTHLexer.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Lex/PTHManager.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Lex/Pragma.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Lex/PreprocessingRecord.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Lex/Preprocessor.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Lex/PreprocessorLexer.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Lex/PreprocessorOptions.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Lex/ScratchBuffer.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Lex/Token.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Lex/TokenConcatenation.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Lex/TokenLexer.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Lex/VariadicMacroSupport.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Parse/AttrParserStringSwitches.inc
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Parse/AttrSubMatchRulesParserStringSwitches.inc
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Parse/ParseAST.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Parse/ParseDiagnostic.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Parse/Parser.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Parse/RAIIObjectsForParser.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Rewrite/Core/DeltaTree.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Rewrite/Core/HTMLRewrite.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Rewrite/Core/RewriteBuffer.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Rewrite/Core/RewriteRope.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Rewrite/Core/Rewriter.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Rewrite/Core/TokenRewriter.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Rewrite/Frontend/ASTConsumers.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Rewrite/Frontend/FixItRewriter.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Rewrite/Frontend/FrontendActions.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Rewrite/Frontend/Rewriters.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Sema/AnalysisBasedWarnings.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Sema/AttrParsedAttrImpl.inc
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Sema/AttrParsedAttrKinds.inc
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Sema/AttrParsedAttrList.inc
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Sema/AttrSpellingListIndex.inc
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Sema/AttrTemplateInstantiate.inc
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Sema/AttributeList.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Sema/CXXFieldCollector.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Sema/CleanupInfo.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Sema/CodeCompleteConsumer.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Sema/CodeCompleteOptions.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Sema/DeclSpec.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Sema/DelayedDiagnostic.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Sema/Designator.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Sema/ExternalSemaSource.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Sema/IdentifierResolver.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Sema/Initialization.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Sema/Lookup.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Sema/LoopHint.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Sema/MultiplexExternalSemaSource.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Sema/ObjCMethodList.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Sema/Overload.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Sema/Ownership.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Sema/ParsedTemplate.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Sema/PrettyDeclStackTrace.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Sema/Scope.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Sema/ScopeInfo.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Sema/Sema.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Sema/SemaConsumer.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Sema/SemaDiagnostic.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Sema/SemaFixItUtils.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Sema/SemaInternal.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Sema/SemaLambda.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Sema/Template.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Sema/TemplateDeduction.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Sema/TypoCorrection.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Sema/Weak.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Serialization/ASTBitCodes.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Serialization/ASTDeserializationListener.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Serialization/ASTReader.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Serialization/ASTWriter.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Serialization/AttrPCHRead.inc
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Serialization/AttrPCHWrite.inc
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Serialization/ContinuousRangeMap.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Serialization/GlobalModuleIndex.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Serialization/Module.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Serialization/ModuleFileExtension.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Serialization/ModuleManager.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Serialization/SerializationDiagnostic.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/StaticAnalyzer/Checkers/Checkers.inc
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/StaticAnalyzer/Checkers/ClangCheckers.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/StaticAnalyzer/Checkers/LocalCheckers.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/StaticAnalyzer/Checkers/MPIFunctionClassifier.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/StaticAnalyzer/Checkers/ObjCRetainCount.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/StaticAnalyzer/Checkers/SValExplainer.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/StaticAnalyzer/Core/Analyses.def
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/StaticAnalyzer/Core/AnalyzerOptions.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/StaticAnalyzer/Core/BugReporter/BugReporter.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/StaticAnalyzer/Core/BugReporter/BugReporterVisitors.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/StaticAnalyzer/Core/BugReporter/BugType.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/StaticAnalyzer/Core/BugReporter/CommonBugCategories.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/StaticAnalyzer/Core/BugReporter/PathDiagnostic.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/StaticAnalyzer/Core/Checker.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/StaticAnalyzer/Core/CheckerManager.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/StaticAnalyzer/Core/CheckerOptInfo.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/StaticAnalyzer/Core/CheckerRegistry.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/StaticAnalyzer/Core/IssueHash.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/StaticAnalyzer/Core/PathDiagnosticConsumers.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/StaticAnalyzer/Core/PathSensitive/APSIntType.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/StaticAnalyzer/Core/PathSensitive/AnalysisManager.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/StaticAnalyzer/Core/PathSensitive/BasicValueFactory.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/StaticAnalyzer/Core/PathSensitive/BlockCounter.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/StaticAnalyzer/Core/PathSensitive/CheckerContext.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/StaticAnalyzer/Core/PathSensitive/CheckerHelpers.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/StaticAnalyzer/Core/PathSensitive/ConstraintManager.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/StaticAnalyzer/Core/PathSensitive/DynamicTypeInfo.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/StaticAnalyzer/Core/PathSensitive/DynamicTypeMap.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/StaticAnalyzer/Core/PathSensitive/Environment.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/StaticAnalyzer/Core/PathSensitive/ExplodedGraph.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/StaticAnalyzer/Core/PathSensitive/FunctionSummary.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/StaticAnalyzer/Core/PathSensitive/LoopUnrolling.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/StaticAnalyzer/Core/PathSensitive/LoopWidening.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/StaticAnalyzer/Core/PathSensitive/MemRegion.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/StaticAnalyzer/Core/PathSensitive/ProgramStateTrait.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState_Fwd.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/StaticAnalyzer/Core/PathSensitive/Regions.def
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/StaticAnalyzer/Core/PathSensitive/SValBuilder.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/StaticAnalyzer/Core/PathSensitive/SValVisitor.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/StaticAnalyzer/Core/PathSensitive/SVals.def
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/StaticAnalyzer/Core/PathSensitive/SVals.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/StaticAnalyzer/Core/PathSensitive/SimpleConstraintManager.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/StaticAnalyzer/Core/PathSensitive/Store.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/StaticAnalyzer/Core/PathSensitive/StoreRef.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/StaticAnalyzer/Core/PathSensitive/SubEngine.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/StaticAnalyzer/Core/PathSensitive/SummaryManager.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/StaticAnalyzer/Core/PathSensitive/SymExpr.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/StaticAnalyzer/Core/PathSensitive/Symbols.def
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/StaticAnalyzer/Core/PathSensitive/TaintManager.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/StaticAnalyzer/Core/PathSensitive/TaintTag.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/StaticAnalyzer/Core/PathSensitive/WorkList.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/StaticAnalyzer/Frontend/AnalysisConsumer.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/StaticAnalyzer/Frontend/CheckerRegistration.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/StaticAnalyzer/Frontend/FrontendActions.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/StaticAnalyzer/Frontend/ModelConsumer.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Tooling/ASTDiff/ASTDiff.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Tooling/ASTDiff/ASTDiffInternal.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Tooling/ArgumentsAdjusters.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Tooling/CommonOptionsParser.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Tooling/CompilationDatabase.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Tooling/CompilationDatabasePluginRegistry.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Tooling/Core/Diagnostic.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Tooling/Core/Lookup.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Tooling/Core/Replacement.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Tooling/DiagnosticsYaml.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Tooling/Execution.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Tooling/FileMatchTrie.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Tooling/FixIt.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Tooling/JSONCompilationDatabase.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Tooling/Refactoring.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Tooling/Refactoring/ASTSelection.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Tooling/Refactoring/AtomicChange.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Tooling/Refactoring/Extract/Extract.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Tooling/Refactoring/RecursiveSymbolVisitor.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Tooling/Refactoring/RefactoringAction.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Tooling/Refactoring/RefactoringActionRule.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Tooling/Refactoring/RefactoringActionRuleRequirements.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Tooling/Refactoring/RefactoringActionRules.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Tooling/Refactoring/RefactoringActionRulesInternal.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Tooling/Refactoring/RefactoringDiagnostic.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Tooling/Refactoring/RefactoringOption.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Tooling/Refactoring/RefactoringOptionVisitor.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Tooling/Refactoring/RefactoringOptions.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Tooling/Refactoring/RefactoringResultConsumer.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Tooling/Refactoring/RefactoringRuleContext.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Tooling/Refactoring/Rename/RenamingAction.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Tooling/Refactoring/Rename/SymbolName.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Tooling/Refactoring/Rename/SymbolOccurrences.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Tooling/Refactoring/Rename/USRFinder.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Tooling/Refactoring/Rename/USRFindingAction.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Tooling/Refactoring/Rename/USRLocFinder.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Tooling/RefactoringCallbacks.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Tooling/ReplacementsYaml.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Tooling/StandaloneExecution.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Tooling/ToolExecutorPluginRegistry.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/include/clang/Tooling/Tooling.h
+%%LLD%%llvm%%LLVM_LIB_VER%%/include/lld/Common/Args.h
+%%LLD%%llvm%%LLVM_LIB_VER%%/include/lld/Common/Driver.h
+%%LLD%%llvm%%LLVM_LIB_VER%%/include/lld/Common/ErrorHandler.h
+%%LLD%%llvm%%LLVM_LIB_VER%%/include/lld/Common/LLVM.h
+%%LLD%%llvm%%LLVM_LIB_VER%%/include/lld/Common/Memory.h
+%%LLD%%llvm%%LLVM_LIB_VER%%/include/lld/Common/Reproduce.h
+%%LLD%%llvm%%LLVM_LIB_VER%%/include/lld/Common/Strings.h
+%%LLD%%llvm%%LLVM_LIB_VER%%/include/lld/Common/TargetOptionsCommandFlags.h
+%%LLD%%llvm%%LLVM_LIB_VER%%/include/lld/Common/Threads.h
+%%LLD%%llvm%%LLVM_LIB_VER%%/include/lld/Common/Version.h
+%%LLD%%llvm%%LLVM_LIB_VER%%/include/lld/Core/AbsoluteAtom.h
+%%LLD%%llvm%%LLVM_LIB_VER%%/include/lld/Core/ArchiveLibraryFile.h
+%%LLD%%llvm%%LLVM_LIB_VER%%/include/lld/Core/Atom.h
+%%LLD%%llvm%%LLVM_LIB_VER%%/include/lld/Core/DefinedAtom.h
+%%LLD%%llvm%%LLVM_LIB_VER%%/include/lld/Core/Error.h
+%%LLD%%llvm%%LLVM_LIB_VER%%/include/lld/Core/File.h
+%%LLD%%llvm%%LLVM_LIB_VER%%/include/lld/Core/Instrumentation.h
+%%LLD%%llvm%%LLVM_LIB_VER%%/include/lld/Core/LinkingContext.h
+%%LLD%%llvm%%LLVM_LIB_VER%%/include/lld/Core/Node.h
+%%LLD%%llvm%%LLVM_LIB_VER%%/include/lld/Core/Pass.h
+%%LLD%%llvm%%LLVM_LIB_VER%%/include/lld/Core/PassManager.h
+%%LLD%%llvm%%LLVM_LIB_VER%%/include/lld/Core/Reader.h
+%%LLD%%llvm%%LLVM_LIB_VER%%/include/lld/Core/Reference.h
+%%LLD%%llvm%%LLVM_LIB_VER%%/include/lld/Core/Resolver.h
+%%LLD%%llvm%%LLVM_LIB_VER%%/include/lld/Core/SharedLibraryAtom.h
+%%LLD%%llvm%%LLVM_LIB_VER%%/include/lld/Core/SharedLibraryFile.h
+%%LLD%%llvm%%LLVM_LIB_VER%%/include/lld/Core/Simple.h
+%%LLD%%llvm%%LLVM_LIB_VER%%/include/lld/Core/SymbolTable.h
+%%LLD%%llvm%%LLVM_LIB_VER%%/include/lld/Core/UndefinedAtom.h
+%%LLD%%llvm%%LLVM_LIB_VER%%/include/lld/Core/Writer.h
+%%LLD%%llvm%%LLVM_LIB_VER%%/include/lld/ReaderWriter/MachOLinkingContext.h
+%%LLD%%llvm%%LLVM_LIB_VER%%/include/lld/ReaderWriter/YamlContext.h
+llvm%%LLVM_LIB_VER%%/include/llvm-c/Analysis.h
+llvm%%LLVM_LIB_VER%%/include/llvm-c/BitReader.h
+llvm%%LLVM_LIB_VER%%/include/llvm-c/BitWriter.h
+llvm%%LLVM_LIB_VER%%/include/llvm-c/Core.h
+llvm%%LLVM_LIB_VER%%/include/llvm-c/DebugInfo.h
+llvm%%LLVM_LIB_VER%%/include/llvm-c/Disassembler.h
+llvm%%LLVM_LIB_VER%%/include/llvm-c/ErrorHandling.h
+llvm%%LLVM_LIB_VER%%/include/llvm-c/ExecutionEngine.h
+llvm%%LLVM_LIB_VER%%/include/llvm-c/IRReader.h
+llvm%%LLVM_LIB_VER%%/include/llvm-c/Initialization.h
+llvm%%LLVM_LIB_VER%%/include/llvm-c/LinkTimeOptimizer.h
+llvm%%LLVM_LIB_VER%%/include/llvm-c/Linker.h
+llvm%%LLVM_LIB_VER%%/include/llvm-c/Object.h
+llvm%%LLVM_LIB_VER%%/include/llvm-c/OrcBindings.h
+llvm%%LLVM_LIB_VER%%/include/llvm-c/Support.h
+llvm%%LLVM_LIB_VER%%/include/llvm-c/Target.h
+llvm%%LLVM_LIB_VER%%/include/llvm-c/TargetMachine.h
+llvm%%LLVM_LIB_VER%%/include/llvm-c/Transforms/IPO.h
+llvm%%LLVM_LIB_VER%%/include/llvm-c/Transforms/PassManagerBuilder.h
+llvm%%LLVM_LIB_VER%%/include/llvm-c/Transforms/Scalar.h
+llvm%%LLVM_LIB_VER%%/include/llvm-c/Transforms/Vectorize.h
+llvm%%LLVM_LIB_VER%%/include/llvm-c/Types.h
+llvm%%LLVM_LIB_VER%%/include/llvm-c/lto.h
+llvm%%LLVM_LIB_VER%%/include/llvm/ADT/APFloat.h
+llvm%%LLVM_LIB_VER%%/include/llvm/ADT/APInt.h
+llvm%%LLVM_LIB_VER%%/include/llvm/ADT/APSInt.h
+llvm%%LLVM_LIB_VER%%/include/llvm/ADT/AllocatorList.h
+llvm%%LLVM_LIB_VER%%/include/llvm/ADT/ArrayRef.h
+llvm%%LLVM_LIB_VER%%/include/llvm/ADT/BitVector.h
+llvm%%LLVM_LIB_VER%%/include/llvm/ADT/BitmaskEnum.h
+llvm%%LLVM_LIB_VER%%/include/llvm/ADT/BreadthFirstIterator.h
+llvm%%LLVM_LIB_VER%%/include/llvm/ADT/CachedHashString.h
+llvm%%LLVM_LIB_VER%%/include/llvm/ADT/DAGDeltaAlgorithm.h
+llvm%%LLVM_LIB_VER%%/include/llvm/ADT/DeltaAlgorithm.h
+llvm%%LLVM_LIB_VER%%/include/llvm/ADT/DenseMap.h
+llvm%%LLVM_LIB_VER%%/include/llvm/ADT/DenseMapInfo.h
+llvm%%LLVM_LIB_VER%%/include/llvm/ADT/DenseSet.h
+llvm%%LLVM_LIB_VER%%/include/llvm/ADT/DepthFirstIterator.h
+llvm%%LLVM_LIB_VER%%/include/llvm/ADT/EpochTracker.h
+llvm%%LLVM_LIB_VER%%/include/llvm/ADT/EquivalenceClasses.h
+llvm%%LLVM_LIB_VER%%/include/llvm/ADT/FoldingSet.h
+llvm%%LLVM_LIB_VER%%/include/llvm/ADT/GraphTraits.h
+llvm%%LLVM_LIB_VER%%/include/llvm/ADT/Hashing.h
+llvm%%LLVM_LIB_VER%%/include/llvm/ADT/ImmutableList.h
+llvm%%LLVM_LIB_VER%%/include/llvm/ADT/ImmutableMap.h
+llvm%%LLVM_LIB_VER%%/include/llvm/ADT/ImmutableSet.h
+llvm%%LLVM_LIB_VER%%/include/llvm/ADT/IndexedMap.h
+llvm%%LLVM_LIB_VER%%/include/llvm/ADT/IntEqClasses.h
+llvm%%LLVM_LIB_VER%%/include/llvm/ADT/IntervalMap.h
+llvm%%LLVM_LIB_VER%%/include/llvm/ADT/IntrusiveRefCntPtr.h
+llvm%%LLVM_LIB_VER%%/include/llvm/ADT/MapVector.h
+llvm%%LLVM_LIB_VER%%/include/llvm/ADT/None.h
+llvm%%LLVM_LIB_VER%%/include/llvm/ADT/Optional.h
+llvm%%LLVM_LIB_VER%%/include/llvm/ADT/PackedVector.h
+llvm%%LLVM_LIB_VER%%/include/llvm/ADT/PointerEmbeddedInt.h
+llvm%%LLVM_LIB_VER%%/include/llvm/ADT/PointerIntPair.h
+llvm%%LLVM_LIB_VER%%/include/llvm/ADT/PointerSumType.h
+llvm%%LLVM_LIB_VER%%/include/llvm/ADT/PointerUnion.h
+llvm%%LLVM_LIB_VER%%/include/llvm/ADT/PostOrderIterator.h
+llvm%%LLVM_LIB_VER%%/include/llvm/ADT/PriorityQueue.h
+llvm%%LLVM_LIB_VER%%/include/llvm/ADT/PriorityWorklist.h
+llvm%%LLVM_LIB_VER%%/include/llvm/ADT/SCCIterator.h
+llvm%%LLVM_LIB_VER%%/include/llvm/ADT/STLExtras.h
+llvm%%LLVM_LIB_VER%%/include/llvm/ADT/ScopeExit.h
+llvm%%LLVM_LIB_VER%%/include/llvm/ADT/ScopedHashTable.h
+llvm%%LLVM_LIB_VER%%/include/llvm/ADT/Sequence.h
+llvm%%LLVM_LIB_VER%%/include/llvm/ADT/SetOperations.h
+llvm%%LLVM_LIB_VER%%/include/llvm/ADT/SetVector.h
+llvm%%LLVM_LIB_VER%%/include/llvm/ADT/SmallBitVector.h
+llvm%%LLVM_LIB_VER%%/include/llvm/ADT/SmallPtrSet.h
+llvm%%LLVM_LIB_VER%%/include/llvm/ADT/SmallSet.h
+llvm%%LLVM_LIB_VER%%/include/llvm/ADT/SmallString.h
+llvm%%LLVM_LIB_VER%%/include/llvm/ADT/SmallVector.h
+llvm%%LLVM_LIB_VER%%/include/llvm/ADT/SparseBitVector.h
+llvm%%LLVM_LIB_VER%%/include/llvm/ADT/SparseMultiSet.h
+llvm%%LLVM_LIB_VER%%/include/llvm/ADT/SparseSet.h
+llvm%%LLVM_LIB_VER%%/include/llvm/ADT/Statistic.h
+llvm%%LLVM_LIB_VER%%/include/llvm/ADT/StringExtras.h
+llvm%%LLVM_LIB_VER%%/include/llvm/ADT/StringMap.h
+llvm%%LLVM_LIB_VER%%/include/llvm/ADT/StringRef.h
+llvm%%LLVM_LIB_VER%%/include/llvm/ADT/StringSet.h
+llvm%%LLVM_LIB_VER%%/include/llvm/ADT/StringSwitch.h
+llvm%%LLVM_LIB_VER%%/include/llvm/ADT/TinyPtrVector.h
+llvm%%LLVM_LIB_VER%%/include/llvm/ADT/Triple.h
+llvm%%LLVM_LIB_VER%%/include/llvm/ADT/Twine.h
+llvm%%LLVM_LIB_VER%%/include/llvm/ADT/UniqueVector.h
+llvm%%LLVM_LIB_VER%%/include/llvm/ADT/VariadicFunction.h
+llvm%%LLVM_LIB_VER%%/include/llvm/ADT/edit_distance.h
+llvm%%LLVM_LIB_VER%%/include/llvm/ADT/ilist.h
+llvm%%LLVM_LIB_VER%%/include/llvm/ADT/ilist_base.h
+llvm%%LLVM_LIB_VER%%/include/llvm/ADT/ilist_iterator.h
+llvm%%LLVM_LIB_VER%%/include/llvm/ADT/ilist_node.h
+llvm%%LLVM_LIB_VER%%/include/llvm/ADT/ilist_node_base.h
+llvm%%LLVM_LIB_VER%%/include/llvm/ADT/ilist_node_options.h
+llvm%%LLVM_LIB_VER%%/include/llvm/ADT/iterator.h
+llvm%%LLVM_LIB_VER%%/include/llvm/ADT/iterator_range.h
+llvm%%LLVM_LIB_VER%%/include/llvm/ADT/simple_ilist.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Analysis/AliasAnalysis.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Analysis/AliasAnalysisEvaluator.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Analysis/AliasSetTracker.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Analysis/AssumptionCache.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Analysis/BasicAliasAnalysis.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Analysis/BlockFrequencyInfo.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Analysis/BlockFrequencyInfoImpl.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Analysis/BranchProbabilityInfo.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Analysis/CFG.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Analysis/CFGPrinter.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Analysis/CFLAliasAnalysisUtils.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Analysis/CFLAndersAliasAnalysis.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Analysis/CFLSteensAliasAnalysis.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Analysis/CGSCCPassManager.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Analysis/CallGraph.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Analysis/CallGraphSCCPass.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Analysis/CallPrinter.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Analysis/CaptureTracking.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Analysis/CmpInstAnalysis.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Analysis/CodeMetrics.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Analysis/ConstantFolding.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Analysis/DOTGraphTraitsPass.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Analysis/DemandedBits.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Analysis/DependenceAnalysis.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Analysis/DivergenceAnalysis.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Analysis/DomPrinter.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Analysis/DominanceFrontier.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Analysis/DominanceFrontierImpl.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Analysis/EHPersonalities.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Analysis/GlobalsModRef.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Analysis/IVUsers.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Analysis/IndirectCallPromotionAnalysis.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Analysis/IndirectCallSiteVisitor.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Analysis/InlineCost.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Analysis/InstructionSimplify.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Analysis/Interval.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Analysis/IntervalIterator.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Analysis/IntervalPartition.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Analysis/IteratedDominanceFrontier.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Analysis/LazyBlockFrequencyInfo.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Analysis/LazyBranchProbabilityInfo.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Analysis/LazyCallGraph.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Analysis/LazyValueInfo.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Analysis/Lint.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Analysis/Loads.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Analysis/LoopAccessAnalysis.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Analysis/LoopAnalysisManager.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Analysis/LoopInfo.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Analysis/LoopInfoImpl.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Analysis/LoopIterator.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Analysis/LoopPass.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Analysis/LoopUnrollAnalyzer.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Analysis/MemoryBuiltins.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Analysis/MemoryDependenceAnalysis.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Analysis/MemoryLocation.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Analysis/MemorySSA.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Analysis/MemorySSAUpdater.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Analysis/ModuleSummaryAnalysis.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Analysis/ObjCARCAliasAnalysis.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Analysis/ObjCARCAnalysisUtils.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Analysis/ObjCARCInstKind.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Analysis/ObjectUtils.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Analysis/OptimizationRemarkEmitter.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Analysis/OrderedBasicBlock.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Analysis/PHITransAddr.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Analysis/Passes.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Analysis/PostDominators.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Analysis/ProfileSummaryInfo.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Analysis/PtrUseVisitor.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Analysis/RegionInfo.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Analysis/RegionInfoImpl.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Analysis/RegionIterator.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Analysis/RegionPass.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Analysis/RegionPrinter.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Analysis/ScalarEvolution.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Analysis/ScalarEvolutionAliasAnalysis.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Analysis/ScalarEvolutionExpander.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Analysis/ScalarEvolutionExpressions.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Analysis/ScalarEvolutionNormalization.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Analysis/ScopedNoAliasAA.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Analysis/SparsePropagation.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Analysis/TargetFolder.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Analysis/TargetLibraryInfo.def
+llvm%%LLVM_LIB_VER%%/include/llvm/Analysis/TargetLibraryInfo.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Analysis/TargetTransformInfo.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Analysis/TargetTransformInfoImpl.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Analysis/Trace.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Analysis/TypeBasedAliasAnalysis.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Analysis/TypeMetadataUtils.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Analysis/ValueLattice.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Analysis/ValueLatticeUtils.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Analysis/ValueTracking.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Analysis/VectorUtils.h
+llvm%%LLVM_LIB_VER%%/include/llvm/AsmParser/Parser.h
+llvm%%LLVM_LIB_VER%%/include/llvm/AsmParser/SlotMapping.h
+llvm%%LLVM_LIB_VER%%/include/llvm/BinaryFormat/COFF.h
+llvm%%LLVM_LIB_VER%%/include/llvm/BinaryFormat/Dwarf.def
+llvm%%LLVM_LIB_VER%%/include/llvm/BinaryFormat/Dwarf.h
+llvm%%LLVM_LIB_VER%%/include/llvm/BinaryFormat/ELF.h
+llvm%%LLVM_LIB_VER%%/include/llvm/BinaryFormat/ELFRelocs/AArch64.def
+llvm%%LLVM_LIB_VER%%/include/llvm/BinaryFormat/ELFRelocs/AMDGPU.def
+llvm%%LLVM_LIB_VER%%/include/llvm/BinaryFormat/ELFRelocs/ARC.def
+llvm%%LLVM_LIB_VER%%/include/llvm/BinaryFormat/ELFRelocs/ARM.def
+llvm%%LLVM_LIB_VER%%/include/llvm/BinaryFormat/ELFRelocs/AVR.def
+llvm%%LLVM_LIB_VER%%/include/llvm/BinaryFormat/ELFRelocs/BPF.def
+llvm%%LLVM_LIB_VER%%/include/llvm/BinaryFormat/ELFRelocs/Hexagon.def
+llvm%%LLVM_LIB_VER%%/include/llvm/BinaryFormat/ELFRelocs/Lanai.def
+llvm%%LLVM_LIB_VER%%/include/llvm/BinaryFormat/ELFRelocs/Mips.def
+llvm%%LLVM_LIB_VER%%/include/llvm/BinaryFormat/ELFRelocs/PowerPC.def
+llvm%%LLVM_LIB_VER%%/include/llvm/BinaryFormat/ELFRelocs/PowerPC64.def
+llvm%%LLVM_LIB_VER%%/include/llvm/BinaryFormat/ELFRelocs/RISCV.def
+llvm%%LLVM_LIB_VER%%/include/llvm/BinaryFormat/ELFRelocs/Sparc.def
+llvm%%LLVM_LIB_VER%%/include/llvm/BinaryFormat/ELFRelocs/SystemZ.def
+llvm%%LLVM_LIB_VER%%/include/llvm/BinaryFormat/ELFRelocs/WebAssembly.def
+llvm%%LLVM_LIB_VER%%/include/llvm/BinaryFormat/ELFRelocs/i386.def
+llvm%%LLVM_LIB_VER%%/include/llvm/BinaryFormat/ELFRelocs/x86_64.def
+llvm%%LLVM_LIB_VER%%/include/llvm/BinaryFormat/MachO.def
+llvm%%LLVM_LIB_VER%%/include/llvm/BinaryFormat/MachO.h
+llvm%%LLVM_LIB_VER%%/include/llvm/BinaryFormat/Magic.h
+llvm%%LLVM_LIB_VER%%/include/llvm/BinaryFormat/Wasm.h
+llvm%%LLVM_LIB_VER%%/include/llvm/BinaryFormat/WasmRelocs.def
+llvm%%LLVM_LIB_VER%%/include/llvm/Bitcode/BitCodes.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Bitcode/BitcodeReader.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Bitcode/BitcodeWriter.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Bitcode/BitcodeWriterPass.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Bitcode/BitstreamReader.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Bitcode/BitstreamWriter.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Bitcode/LLVMBitCodes.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/Analysis.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/AsmPrinter.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/AtomicExpandUtils.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/BasicTTIImpl.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/CalcSpillWeights.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/CallingConvLower.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/CommandFlags.def
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/CostTable.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/DAGCombine.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/DFAPacketizer.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/DIE.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/DIEValue.def
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/DwarfStringPoolEntry.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/EdgeBundles.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/ExecutionDepsFix.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/ExpandReductions.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/FastISel.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/FaultMaps.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/FunctionLoweringInfo.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/GCMetadata.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/GCMetadataPrinter.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/GCStrategy.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/GCs.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/GlobalISel/CallLowering.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/GlobalISel/GISelWorkList.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/GlobalISel/IRTranslator.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/GlobalISel/InstructionSelect.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/GlobalISel/InstructionSelector.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/GlobalISel/InstructionSelectorImpl.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/GlobalISel/LegalizationArtifactCombiner.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/GlobalISel/Legalizer.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/GlobalISel/LegalizerInfo.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/GlobalISel/Localizer.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/GlobalISel/RegBankSelect.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/GlobalISel/RegisterBank.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/GlobalISel/RegisterBankInfo.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/GlobalISel/Types.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/GlobalISel/Utils.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/ISDOpcodes.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/IntrinsicLowering.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/LatencyPriorityQueue.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/LazyMachineBlockFrequencyInfo.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/LexicalScopes.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/LinkAllAsmWriterComponents.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/LinkAllCodegenComponents.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/LiveInterval.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/LiveIntervalUnion.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/LiveIntervals.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/LivePhysRegs.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/LiveRangeEdit.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/LiveRegMatrix.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/LiveRegUnits.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/LiveStacks.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/LiveVariables.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/LowLevelType.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/MIRParser/MIRParser.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/MIRPrinter.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/MIRYamlMapping.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/MachORelocation.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/MachineBasicBlock.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/MachineBlockFrequencyInfo.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/MachineBranchProbabilityInfo.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/MachineCombinerPattern.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/MachineConstantPool.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/MachineDominanceFrontier.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/MachineDominators.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/MachineFrameInfo.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/MachineFunction.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/MachineFunctionPass.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/MachineInstr.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/MachineInstrBuilder.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/MachineInstrBundle.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/MachineInstrBundleIterator.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/MachineJumpTableInfo.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/MachineLoopInfo.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/MachineMemOperand.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/MachineModuleInfo.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/MachineModuleInfoImpls.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/MachineOperand.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/MachineOptimizationRemarkEmitter.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/MachinePassRegistry.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/MachinePostDominators.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/MachineRegionInfo.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/MachineRegisterInfo.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/MachineSSAUpdater.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/MachineScheduler.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/MachineTraceMetrics.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/MachineValueType.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/MacroFusion.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/PBQP/CostAllocator.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/PBQP/Graph.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/PBQP/Math.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/PBQP/ReductionRules.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/PBQP/Solution.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/PBQPRAConstraint.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/ParallelCG.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/Passes.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/PreISelIntrinsicLowering.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/PseudoSourceValue.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/RegAllocPBQP.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/RegAllocRegistry.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/RegisterClassInfo.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/RegisterPressure.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/RegisterScavenging.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/RegisterUsageInfo.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/ResourcePriorityQueue.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/RuntimeLibcalls.def
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/RuntimeLibcalls.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/SDNodeProperties.td
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/ScheduleDAG.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/ScheduleDAGInstrs.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/ScheduleDAGMutation.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/ScheduleDFS.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/ScheduleHazardRecognizer.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/SchedulerRegistry.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/ScoreboardHazardRecognizer.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/SelectionDAG.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/SelectionDAGAddressAnalysis.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/SelectionDAGISel.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/SelectionDAGNodes.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/SelectionDAGTargetInfo.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/SlotIndexes.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/StackMaps.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/StackProtector.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/TailDuplicator.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/TargetCallingConv.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/TargetFrameLowering.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/TargetInstrInfo.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/TargetLowering.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/TargetLoweringObjectFile.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/TargetOpcodes.def
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/TargetOpcodes.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/TargetPassConfig.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/TargetRegisterInfo.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/TargetSchedule.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/TargetSubtargetInfo.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/UnreachableBlockElim.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/ValueTypes.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/ValueTypes.td
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/VirtRegMap.h
+llvm%%LLVM_LIB_VER%%/include/llvm/CodeGen/WinEHFuncInfo.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Config/AsmParsers.def
+llvm%%LLVM_LIB_VER%%/include/llvm/Config/AsmPrinters.def
+llvm%%LLVM_LIB_VER%%/include/llvm/Config/Disassemblers.def
+llvm%%LLVM_LIB_VER%%/include/llvm/Config/Targets.def
+llvm%%LLVM_LIB_VER%%/include/llvm/Config/abi-breaking.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Config/llvm-config.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/CodeView/AppendingTypeTableBuilder.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/CodeView/CVDebugRecord.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/CodeView/CVRecord.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/CodeView/CVSymbolVisitor.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/CodeView/CVTypeVisitor.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/CodeView/CodeView.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/CodeView/CodeViewError.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/CodeView/CodeViewRecordIO.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/CodeView/CodeViewRegisters.def
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/CodeView/CodeViewSymbols.def
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/CodeView/CodeViewTypes.def
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/CodeView/ContinuationRecordBuilder.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/CodeView/DebugChecksumsSubsection.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/CodeView/DebugCrossExSubsection.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/CodeView/DebugCrossImpSubsection.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/CodeView/DebugFrameDataSubsection.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/CodeView/DebugInlineeLinesSubsection.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/CodeView/DebugLinesSubsection.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/CodeView/DebugStringTableSubsection.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/CodeView/DebugSubsection.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/CodeView/DebugSubsectionRecord.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/CodeView/DebugSubsectionVisitor.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/CodeView/DebugSymbolRVASubsection.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/CodeView/DebugSymbolsSubsection.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/CodeView/DebugUnknownSubsection.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/CodeView/EnumTables.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/CodeView/Formatters.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/CodeView/FunctionId.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/CodeView/GUID.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/CodeView/GlobalTypeTableBuilder.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/CodeView/LazyRandomTypeCollection.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/CodeView/Line.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/CodeView/MergingTypeTableBuilder.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/CodeView/RecordName.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/CodeView/RecordSerialization.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/CodeView/SimpleTypeSerializer.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/CodeView/StringsAndChecksums.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/CodeView/SymbolDeserializer.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/CodeView/SymbolDumpDelegate.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/CodeView/SymbolDumper.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/CodeView/SymbolRecord.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/CodeView/SymbolRecordMapping.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/CodeView/SymbolSerializer.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/CodeView/SymbolVisitorCallbackPipeline.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/CodeView/SymbolVisitorCallbacks.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/CodeView/SymbolVisitorDelegate.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/CodeView/TypeCollection.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/CodeView/TypeDeserializer.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/CodeView/TypeDumpVisitor.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/CodeView/TypeHashing.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/CodeView/TypeIndex.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/CodeView/TypeIndexDiscovery.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/CodeView/TypeRecord.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/CodeView/TypeRecordMapping.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/CodeView/TypeStreamMerger.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/CodeView/TypeSymbolEmitter.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/CodeView/TypeTableCollection.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/CodeView/TypeVisitorCallbackPipeline.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/CodeView/TypeVisitorCallbacks.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/DIContext.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/DWARF/DWARFAbbreviationDeclaration.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/DWARF/DWARFAcceleratorTable.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/DWARF/DWARFAttribute.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/DWARF/DWARFCompileUnit.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/DWARF/DWARFContext.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/DWARF/DWARFDataExtractor.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/DWARF/DWARFDebugAbbrev.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/DWARF/DWARFDebugArangeSet.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/DWARF/DWARFDebugAranges.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/DWARF/DWARFDebugFrame.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/DWARF/DWARFDebugInfoEntry.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/DWARF/DWARFDebugLine.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/DWARF/DWARFDebugLoc.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/DWARF/DWARFDebugMacro.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/DWARF/DWARFDebugPubTable.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/DWARF/DWARFDebugRangeList.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/DWARF/DWARFDie.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/DWARF/DWARFExpression.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/DWARF/DWARFFormValue.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/DWARF/DWARFGdbIndex.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/DWARF/DWARFObject.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/DWARF/DWARFRelocMap.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/DWARF/DWARFSection.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/DWARF/DWARFTypeUnit.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/DWARF/DWARFUnit.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/DWARF/DWARFUnitIndex.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/DWARF/DWARFVerifier.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/MSF/IMSFFile.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/MSF/MSFBuilder.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/MSF/MSFCommon.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/MSF/MSFError.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/MSF/MappedBlockStream.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/PDB/ConcreteSymbolEnumerator.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/PDB/DIA/DIADataStream.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/PDB/DIA/DIAEnumDebugStreams.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/PDB/DIA/DIAEnumLineNumbers.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/PDB/DIA/DIAEnumSourceFiles.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/PDB/DIA/DIAEnumSymbols.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/PDB/DIA/DIAEnumTables.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/PDB/DIA/DIAError.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/PDB/DIA/DIALineNumber.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/PDB/DIA/DIARawSymbol.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/PDB/DIA/DIASession.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/PDB/DIA/DIASourceFile.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/PDB/DIA/DIASupport.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/PDB/DIA/DIATable.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/PDB/GenericError.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/PDB/IPDBDataStream.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/PDB/IPDBEnumChildren.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/PDB/IPDBLineNumber.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/PDB/IPDBRawSymbol.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/PDB/IPDBSession.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/PDB/IPDBSourceFile.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/PDB/IPDBTable.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/PDB/Native/DbiModuleDescriptor.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/PDB/Native/DbiModuleDescriptorBuilder.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/PDB/Native/DbiModuleList.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/PDB/Native/DbiStream.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/PDB/Native/DbiStreamBuilder.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/PDB/Native/EnumTables.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/PDB/Native/Formatters.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/PDB/Native/GSIStreamBuilder.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/PDB/Native/GlobalsStream.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/PDB/Native/Hash.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/PDB/Native/HashTable.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/PDB/Native/ISectionContribVisitor.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/PDB/Native/InfoStream.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/PDB/Native/InfoStreamBuilder.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/PDB/Native/ModuleDebugStream.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/PDB/Native/NamedStreamMap.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/PDB/Native/NativeBuiltinSymbol.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/PDB/Native/NativeCompilandSymbol.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/PDB/Native/NativeEnumModules.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/PDB/Native/NativeEnumSymbol.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/PDB/Native/NativeEnumTypes.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/PDB/Native/NativeExeSymbol.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/PDB/Native/NativeRawSymbol.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/PDB/Native/NativeSession.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/PDB/Native/PDBFile.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/PDB/Native/PDBFileBuilder.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/PDB/Native/PDBStringTable.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/PDB/Native/PDBStringTableBuilder.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/PDB/Native/PublicsStream.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/PDB/Native/RawConstants.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/PDB/Native/RawError.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/PDB/Native/RawTypes.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/PDB/Native/SymbolStream.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/PDB/Native/TpiHashing.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/PDB/Native/TpiStream.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/PDB/Native/TpiStreamBuilder.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/PDB/PDB.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/PDB/PDBContext.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/PDB/PDBExtras.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/PDB/PDBSymDumper.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/PDB/PDBSymbol.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/PDB/PDBSymbolAnnotation.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/PDB/PDBSymbolBlock.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/PDB/PDBSymbolCompiland.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/PDB/PDBSymbolCompilandDetails.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/PDB/PDBSymbolCompilandEnv.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/PDB/PDBSymbolCustom.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/PDB/PDBSymbolData.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/PDB/PDBSymbolExe.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/PDB/PDBSymbolFunc.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/PDB/PDBSymbolFuncDebugEnd.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/PDB/PDBSymbolFuncDebugStart.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/PDB/PDBSymbolLabel.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/PDB/PDBSymbolPublicSymbol.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/PDB/PDBSymbolThunk.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/PDB/PDBSymbolTypeArray.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/PDB/PDBSymbolTypeBaseClass.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/PDB/PDBSymbolTypeBuiltin.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/PDB/PDBSymbolTypeCustom.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/PDB/PDBSymbolTypeDimension.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/PDB/PDBSymbolTypeEnum.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/PDB/PDBSymbolTypeFriend.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/PDB/PDBSymbolTypeFunctionArg.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/PDB/PDBSymbolTypeFunctionSig.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/PDB/PDBSymbolTypeManaged.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/PDB/PDBSymbolTypePointer.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/PDB/PDBSymbolTypeTypedef.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/PDB/PDBSymbolTypeUDT.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/PDB/PDBSymbolTypeVTable.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/PDB/PDBSymbolTypeVTableShape.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/PDB/PDBSymbolUnknown.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/PDB/PDBSymbolUsingNamespace.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/PDB/PDBTypes.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/PDB/UDTLayout.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/Symbolize/DIPrinter.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/Symbolize/SymbolizableModule.h
+llvm%%LLVM_LIB_VER%%/include/llvm/DebugInfo/Symbolize/Symbolize.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Demangle/Demangle.h
+llvm%%LLVM_LIB_VER%%/include/llvm/ExecutionEngine/ExecutionEngine.h
+llvm%%LLVM_LIB_VER%%/include/llvm/ExecutionEngine/GenericValue.h
+llvm%%LLVM_LIB_VER%%/include/llvm/ExecutionEngine/Interpreter.h
+llvm%%LLVM_LIB_VER%%/include/llvm/ExecutionEngine/JITEventListener.h
+llvm%%LLVM_LIB_VER%%/include/llvm/ExecutionEngine/JITSymbol.h
+llvm%%LLVM_LIB_VER%%/include/llvm/ExecutionEngine/MCJIT.h
+llvm%%LLVM_LIB_VER%%/include/llvm/ExecutionEngine/OProfileWrapper.h
+llvm%%LLVM_LIB_VER%%/include/llvm/ExecutionEngine/ObjectCache.h
+llvm%%LLVM_LIB_VER%%/include/llvm/ExecutionEngine/ObjectMemoryBuffer.h
+llvm%%LLVM_LIB_VER%%/include/llvm/ExecutionEngine/Orc/CompileOnDemandLayer.h
+llvm%%LLVM_LIB_VER%%/include/llvm/ExecutionEngine/Orc/CompileUtils.h
+llvm%%LLVM_LIB_VER%%/include/llvm/ExecutionEngine/Orc/ExecutionUtils.h
+llvm%%LLVM_LIB_VER%%/include/llvm/ExecutionEngine/Orc/GlobalMappingLayer.h
+llvm%%LLVM_LIB_VER%%/include/llvm/ExecutionEngine/Orc/IRCompileLayer.h
+llvm%%LLVM_LIB_VER%%/include/llvm/ExecutionEngine/Orc/IRTransformLayer.h
+llvm%%LLVM_LIB_VER%%/include/llvm/ExecutionEngine/Orc/IndirectionUtils.h
+llvm%%LLVM_LIB_VER%%/include/llvm/ExecutionEngine/Orc/LambdaResolver.h
+llvm%%LLVM_LIB_VER%%/include/llvm/ExecutionEngine/Orc/LazyEmittingLayer.h
+llvm%%LLVM_LIB_VER%%/include/llvm/ExecutionEngine/Orc/NullResolver.h
+llvm%%LLVM_LIB_VER%%/include/llvm/ExecutionEngine/Orc/ObjectTransformLayer.h
+llvm%%LLVM_LIB_VER%%/include/llvm/ExecutionEngine/Orc/OrcABISupport.h
+llvm%%LLVM_LIB_VER%%/include/llvm/ExecutionEngine/Orc/OrcError.h
+llvm%%LLVM_LIB_VER%%/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetClient.h
+llvm%%LLVM_LIB_VER%%/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetRPCAPI.h
+llvm%%LLVM_LIB_VER%%/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetServer.h
+llvm%%LLVM_LIB_VER%%/include/llvm/ExecutionEngine/Orc/RPCSerialization.h
+llvm%%LLVM_LIB_VER%%/include/llvm/ExecutionEngine/Orc/RPCUtils.h
+llvm%%LLVM_LIB_VER%%/include/llvm/ExecutionEngine/Orc/RTDyldObjectLinkingLayer.h
+llvm%%LLVM_LIB_VER%%/include/llvm/ExecutionEngine/Orc/RawByteChannel.h
+llvm%%LLVM_LIB_VER%%/include/llvm/ExecutionEngine/Orc/RemoteObjectLayer.h
+llvm%%LLVM_LIB_VER%%/include/llvm/ExecutionEngine/Orc/SymbolStringPool.h
+llvm%%LLVM_LIB_VER%%/include/llvm/ExecutionEngine/OrcMCJITReplacement.h
+llvm%%LLVM_LIB_VER%%/include/llvm/ExecutionEngine/RTDyldMemoryManager.h
+llvm%%LLVM_LIB_VER%%/include/llvm/ExecutionEngine/RuntimeDyld.h
+llvm%%LLVM_LIB_VER%%/include/llvm/ExecutionEngine/RuntimeDyldChecker.h
+llvm%%LLVM_LIB_VER%%/include/llvm/ExecutionEngine/SectionMemoryManager.h
+llvm%%LLVM_LIB_VER%%/include/llvm/FuzzMutate/FuzzerCLI.h
+llvm%%LLVM_LIB_VER%%/include/llvm/FuzzMutate/IRMutator.h
+llvm%%LLVM_LIB_VER%%/include/llvm/FuzzMutate/OpDescriptor.h
+llvm%%LLVM_LIB_VER%%/include/llvm/FuzzMutate/Operations.h
+llvm%%LLVM_LIB_VER%%/include/llvm/FuzzMutate/Random.h
+llvm%%LLVM_LIB_VER%%/include/llvm/FuzzMutate/RandomIRBuilder.h
+llvm%%LLVM_LIB_VER%%/include/llvm/IR/Argument.h
+llvm%%LLVM_LIB_VER%%/include/llvm/IR/AssemblyAnnotationWriter.h
+llvm%%LLVM_LIB_VER%%/include/llvm/IR/Attributes.gen
+llvm%%LLVM_LIB_VER%%/include/llvm/IR/Attributes.h
+llvm%%LLVM_LIB_VER%%/include/llvm/IR/Attributes.td
+llvm%%LLVM_LIB_VER%%/include/llvm/IR/AutoUpgrade.h
+llvm%%LLVM_LIB_VER%%/include/llvm/IR/BasicBlock.h
+llvm%%LLVM_LIB_VER%%/include/llvm/IR/CFG.h
+llvm%%LLVM_LIB_VER%%/include/llvm/IR/CallSite.h
+llvm%%LLVM_LIB_VER%%/include/llvm/IR/CallingConv.h
+llvm%%LLVM_LIB_VER%%/include/llvm/IR/Comdat.h
+llvm%%LLVM_LIB_VER%%/include/llvm/IR/Constant.h
+llvm%%LLVM_LIB_VER%%/include/llvm/IR/ConstantFolder.h
+llvm%%LLVM_LIB_VER%%/include/llvm/IR/ConstantRange.h
+llvm%%LLVM_LIB_VER%%/include/llvm/IR/Constants.h
+llvm%%LLVM_LIB_VER%%/include/llvm/IR/DIBuilder.h
+llvm%%LLVM_LIB_VER%%/include/llvm/IR/DataLayout.h
+llvm%%LLVM_LIB_VER%%/include/llvm/IR/DebugInfo.h
+llvm%%LLVM_LIB_VER%%/include/llvm/IR/DebugInfoFlags.def
+llvm%%LLVM_LIB_VER%%/include/llvm/IR/DebugInfoMetadata.h
+llvm%%LLVM_LIB_VER%%/include/llvm/IR/DebugLoc.h
+llvm%%LLVM_LIB_VER%%/include/llvm/IR/DerivedTypes.h
+llvm%%LLVM_LIB_VER%%/include/llvm/IR/DerivedUser.h
+llvm%%LLVM_LIB_VER%%/include/llvm/IR/DiagnosticHandler.h
+llvm%%LLVM_LIB_VER%%/include/llvm/IR/DiagnosticInfo.h
+llvm%%LLVM_LIB_VER%%/include/llvm/IR/DiagnosticPrinter.h
+llvm%%LLVM_LIB_VER%%/include/llvm/IR/Dominators.h
+llvm%%LLVM_LIB_VER%%/include/llvm/IR/Function.h
+llvm%%LLVM_LIB_VER%%/include/llvm/IR/GVMaterializer.h
+llvm%%LLVM_LIB_VER%%/include/llvm/IR/GetElementPtrTypeIterator.h
+llvm%%LLVM_LIB_VER%%/include/llvm/IR/GlobalAlias.h
+llvm%%LLVM_LIB_VER%%/include/llvm/IR/GlobalIFunc.h
+llvm%%LLVM_LIB_VER%%/include/llvm/IR/GlobalIndirectSymbol.h
+llvm%%LLVM_LIB_VER%%/include/llvm/IR/GlobalObject.h
+llvm%%LLVM_LIB_VER%%/include/llvm/IR/GlobalValue.h
+llvm%%LLVM_LIB_VER%%/include/llvm/IR/GlobalVariable.h
+llvm%%LLVM_LIB_VER%%/include/llvm/IR/IRBuilder.h
+llvm%%LLVM_LIB_VER%%/include/llvm/IR/IRPrintingPasses.h
+llvm%%LLVM_LIB_VER%%/include/llvm/IR/InlineAsm.h
+llvm%%LLVM_LIB_VER%%/include/llvm/IR/InstIterator.h
+llvm%%LLVM_LIB_VER%%/include/llvm/IR/InstVisitor.h
+llvm%%LLVM_LIB_VER%%/include/llvm/IR/InstrTypes.h
+llvm%%LLVM_LIB_VER%%/include/llvm/IR/Instruction.def
+llvm%%LLVM_LIB_VER%%/include/llvm/IR/Instruction.h
+llvm%%LLVM_LIB_VER%%/include/llvm/IR/Instructions.h
+llvm%%LLVM_LIB_VER%%/include/llvm/IR/IntrinsicInst.h
+llvm%%LLVM_LIB_VER%%/include/llvm/IR/Intrinsics.gen
+llvm%%LLVM_LIB_VER%%/include/llvm/IR/Intrinsics.h
+llvm%%LLVM_LIB_VER%%/include/llvm/IR/Intrinsics.td
+llvm%%LLVM_LIB_VER%%/include/llvm/IR/IntrinsicsAArch64.td
+llvm%%LLVM_LIB_VER%%/include/llvm/IR/IntrinsicsAMDGPU.td
+llvm%%LLVM_LIB_VER%%/include/llvm/IR/IntrinsicsARM.td
+llvm%%LLVM_LIB_VER%%/include/llvm/IR/IntrinsicsBPF.td
+llvm%%LLVM_LIB_VER%%/include/llvm/IR/IntrinsicsHexagon.td
+llvm%%LLVM_LIB_VER%%/include/llvm/IR/IntrinsicsMips.td
+llvm%%LLVM_LIB_VER%%/include/llvm/IR/IntrinsicsNVVM.td
+llvm%%LLVM_LIB_VER%%/include/llvm/IR/IntrinsicsPowerPC.td
+llvm%%LLVM_LIB_VER%%/include/llvm/IR/IntrinsicsSystemZ.td
+llvm%%LLVM_LIB_VER%%/include/llvm/IR/IntrinsicsWebAssembly.td
+llvm%%LLVM_LIB_VER%%/include/llvm/IR/IntrinsicsX86.td
+llvm%%LLVM_LIB_VER%%/include/llvm/IR/IntrinsicsXCore.td
+llvm%%LLVM_LIB_VER%%/include/llvm/IR/LLVMContext.h
+llvm%%LLVM_LIB_VER%%/include/llvm/IR/LegacyPassManager.h
+llvm%%LLVM_LIB_VER%%/include/llvm/IR/LegacyPassManagers.h
+llvm%%LLVM_LIB_VER%%/include/llvm/IR/LegacyPassNameParser.h
+llvm%%LLVM_LIB_VER%%/include/llvm/IR/MDBuilder.h
+llvm%%LLVM_LIB_VER%%/include/llvm/IR/Mangler.h
+llvm%%LLVM_LIB_VER%%/include/llvm/IR/Metadata.def
+llvm%%LLVM_LIB_VER%%/include/llvm/IR/Metadata.h
+llvm%%LLVM_LIB_VER%%/include/llvm/IR/Module.h
+llvm%%LLVM_LIB_VER%%/include/llvm/IR/ModuleSlotTracker.h
+llvm%%LLVM_LIB_VER%%/include/llvm/IR/ModuleSummaryIndex.h
+llvm%%LLVM_LIB_VER%%/include/llvm/IR/ModuleSummaryIndexYAML.h
+llvm%%LLVM_LIB_VER%%/include/llvm/IR/NoFolder.h
+llvm%%LLVM_LIB_VER%%/include/llvm/IR/OperandTraits.h
+llvm%%LLVM_LIB_VER%%/include/llvm/IR/Operator.h
+llvm%%LLVM_LIB_VER%%/include/llvm/IR/OptBisect.h
+llvm%%LLVM_LIB_VER%%/include/llvm/IR/PassManager.h
+llvm%%LLVM_LIB_VER%%/include/llvm/IR/PassManagerInternal.h
+llvm%%LLVM_LIB_VER%%/include/llvm/IR/PatternMatch.h
+llvm%%LLVM_LIB_VER%%/include/llvm/IR/PredIteratorCache.h
+llvm%%LLVM_LIB_VER%%/include/llvm/IR/ProfileSummary.h
+llvm%%LLVM_LIB_VER%%/include/llvm/IR/SafepointIRVerifier.h
+llvm%%LLVM_LIB_VER%%/include/llvm/IR/Statepoint.h
+llvm%%LLVM_LIB_VER%%/include/llvm/IR/SymbolTableListTraits.h
+llvm%%LLVM_LIB_VER%%/include/llvm/IR/TrackingMDRef.h
+llvm%%LLVM_LIB_VER%%/include/llvm/IR/Type.h
+llvm%%LLVM_LIB_VER%%/include/llvm/IR/TypeBuilder.h
+llvm%%LLVM_LIB_VER%%/include/llvm/IR/TypeFinder.h
+llvm%%LLVM_LIB_VER%%/include/llvm/IR/Use.h
+llvm%%LLVM_LIB_VER%%/include/llvm/IR/UseListOrder.h
+llvm%%LLVM_LIB_VER%%/include/llvm/IR/User.h
+llvm%%LLVM_LIB_VER%%/include/llvm/IR/Value.def
+llvm%%LLVM_LIB_VER%%/include/llvm/IR/Value.h
+llvm%%LLVM_LIB_VER%%/include/llvm/IR/ValueHandle.h
+llvm%%LLVM_LIB_VER%%/include/llvm/IR/ValueMap.h
+llvm%%LLVM_LIB_VER%%/include/llvm/IR/ValueSymbolTable.h
+llvm%%LLVM_LIB_VER%%/include/llvm/IR/Verifier.h
+llvm%%LLVM_LIB_VER%%/include/llvm/IRReader/IRReader.h
+llvm%%LLVM_LIB_VER%%/include/llvm/InitializePasses.h
+llvm%%LLVM_LIB_VER%%/include/llvm/LTO/Caching.h
+llvm%%LLVM_LIB_VER%%/include/llvm/LTO/Config.h
+llvm%%LLVM_LIB_VER%%/include/llvm/LTO/LTO.h
+llvm%%LLVM_LIB_VER%%/include/llvm/LTO/LTOBackend.h
+llvm%%LLVM_LIB_VER%%/include/llvm/LTO/legacy/LTOCodeGenerator.h
+llvm%%LLVM_LIB_VER%%/include/llvm/LTO/legacy/LTOModule.h
+llvm%%LLVM_LIB_VER%%/include/llvm/LTO/legacy/ThinLTOCodeGenerator.h
+llvm%%LLVM_LIB_VER%%/include/llvm/LTO/legacy/UpdateCompilerUsed.h
+llvm%%LLVM_LIB_VER%%/include/llvm/LineEditor/LineEditor.h
+llvm%%LLVM_LIB_VER%%/include/llvm/LinkAllIR.h
+llvm%%LLVM_LIB_VER%%/include/llvm/LinkAllPasses.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Linker/IRMover.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Linker/Linker.h
+llvm%%LLVM_LIB_VER%%/include/llvm/MC/ConstantPools.h
+llvm%%LLVM_LIB_VER%%/include/llvm/MC/LaneBitmask.h
+llvm%%LLVM_LIB_VER%%/include/llvm/MC/MCAsmBackend.h
+llvm%%LLVM_LIB_VER%%/include/llvm/MC/MCAsmInfo.h
+llvm%%LLVM_LIB_VER%%/include/llvm/MC/MCAsmInfoCOFF.h
+llvm%%LLVM_LIB_VER%%/include/llvm/MC/MCAsmInfoDarwin.h
+llvm%%LLVM_LIB_VER%%/include/llvm/MC/MCAsmInfoELF.h
+llvm%%LLVM_LIB_VER%%/include/llvm/MC/MCAsmInfoWasm.h
+llvm%%LLVM_LIB_VER%%/include/llvm/MC/MCAsmLayout.h
+llvm%%LLVM_LIB_VER%%/include/llvm/MC/MCAsmMacro.h
+llvm%%LLVM_LIB_VER%%/include/llvm/MC/MCAssembler.h
+llvm%%LLVM_LIB_VER%%/include/llvm/MC/MCCodeEmitter.h
+llvm%%LLVM_LIB_VER%%/include/llvm/MC/MCCodePadder.h
+llvm%%LLVM_LIB_VER%%/include/llvm/MC/MCCodeView.h
+llvm%%LLVM_LIB_VER%%/include/llvm/MC/MCContext.h
+llvm%%LLVM_LIB_VER%%/include/llvm/MC/MCDirectives.h
+llvm%%LLVM_LIB_VER%%/include/llvm/MC/MCDisassembler/MCDisassembler.h
+llvm%%LLVM_LIB_VER%%/include/llvm/MC/MCDisassembler/MCExternalSymbolizer.h
+llvm%%LLVM_LIB_VER%%/include/llvm/MC/MCDisassembler/MCRelocationInfo.h
+llvm%%LLVM_LIB_VER%%/include/llvm/MC/MCDisassembler/MCSymbolizer.h
+llvm%%LLVM_LIB_VER%%/include/llvm/MC/MCDwarf.h
+llvm%%LLVM_LIB_VER%%/include/llvm/MC/MCELFObjectWriter.h
+llvm%%LLVM_LIB_VER%%/include/llvm/MC/MCELFStreamer.h
+llvm%%LLVM_LIB_VER%%/include/llvm/MC/MCExpr.h
+llvm%%LLVM_LIB_VER%%/include/llvm/MC/MCFixedLenDisassembler.h
+llvm%%LLVM_LIB_VER%%/include/llvm/MC/MCFixup.h
+llvm%%LLVM_LIB_VER%%/include/llvm/MC/MCFixupKindInfo.h
+llvm%%LLVM_LIB_VER%%/include/llvm/MC/MCFragment.h
+llvm%%LLVM_LIB_VER%%/include/llvm/MC/MCInst.h
+llvm%%LLVM_LIB_VER%%/include/llvm/MC/MCInstBuilder.h
+llvm%%LLVM_LIB_VER%%/include/llvm/MC/MCInstPrinter.h
+llvm%%LLVM_LIB_VER%%/include/llvm/MC/MCInstrAnalysis.h
+llvm%%LLVM_LIB_VER%%/include/llvm/MC/MCInstrDesc.h
+llvm%%LLVM_LIB_VER%%/include/llvm/MC/MCInstrInfo.h
+llvm%%LLVM_LIB_VER%%/include/llvm/MC/MCInstrItineraries.h
+llvm%%LLVM_LIB_VER%%/include/llvm/MC/MCLabel.h
+llvm%%LLVM_LIB_VER%%/include/llvm/MC/MCLinkerOptimizationHint.h
+llvm%%LLVM_LIB_VER%%/include/llvm/MC/MCMachObjectWriter.h
+llvm%%LLVM_LIB_VER%%/include/llvm/MC/MCObjectFileInfo.h
+llvm%%LLVM_LIB_VER%%/include/llvm/MC/MCObjectStreamer.h
+llvm%%LLVM_LIB_VER%%/include/llvm/MC/MCObjectWriter.h
+llvm%%LLVM_LIB_VER%%/include/llvm/MC/MCParser/AsmCond.h
+llvm%%LLVM_LIB_VER%%/include/llvm/MC/MCParser/AsmLexer.h
+llvm%%LLVM_LIB_VER%%/include/llvm/MC/MCParser/MCAsmLexer.h
+llvm%%LLVM_LIB_VER%%/include/llvm/MC/MCParser/MCAsmParser.h
+llvm%%LLVM_LIB_VER%%/include/llvm/MC/MCParser/MCAsmParserExtension.h
+llvm%%LLVM_LIB_VER%%/include/llvm/MC/MCParser/MCAsmParserUtils.h
+llvm%%LLVM_LIB_VER%%/include/llvm/MC/MCParser/MCParsedAsmOperand.h
+llvm%%LLVM_LIB_VER%%/include/llvm/MC/MCParser/MCTargetAsmParser.h
+llvm%%LLVM_LIB_VER%%/include/llvm/MC/MCRegisterInfo.h
+llvm%%LLVM_LIB_VER%%/include/llvm/MC/MCSchedule.h
+llvm%%LLVM_LIB_VER%%/include/llvm/MC/MCSection.h
+llvm%%LLVM_LIB_VER%%/include/llvm/MC/MCSectionCOFF.h
+llvm%%LLVM_LIB_VER%%/include/llvm/MC/MCSectionELF.h
+llvm%%LLVM_LIB_VER%%/include/llvm/MC/MCSectionMachO.h
+llvm%%LLVM_LIB_VER%%/include/llvm/MC/MCSectionWasm.h
+llvm%%LLVM_LIB_VER%%/include/llvm/MC/MCStreamer.h
+llvm%%LLVM_LIB_VER%%/include/llvm/MC/MCSubtargetInfo.h
+llvm%%LLVM_LIB_VER%%/include/llvm/MC/MCSymbol.h
+llvm%%LLVM_LIB_VER%%/include/llvm/MC/MCSymbolCOFF.h
+llvm%%LLVM_LIB_VER%%/include/llvm/MC/MCSymbolELF.h
+llvm%%LLVM_LIB_VER%%/include/llvm/MC/MCSymbolMachO.h
+llvm%%LLVM_LIB_VER%%/include/llvm/MC/MCSymbolWasm.h
+llvm%%LLVM_LIB_VER%%/include/llvm/MC/MCTargetOptions.h
+llvm%%LLVM_LIB_VER%%/include/llvm/MC/MCTargetOptionsCommandFlags.def
+llvm%%LLVM_LIB_VER%%/include/llvm/MC/MCValue.h
+llvm%%LLVM_LIB_VER%%/include/llvm/MC/MCWasmObjectWriter.h
+llvm%%LLVM_LIB_VER%%/include/llvm/MC/MCWasmStreamer.h
+llvm%%LLVM_LIB_VER%%/include/llvm/MC/MCWin64EH.h
+llvm%%LLVM_LIB_VER%%/include/llvm/MC/MCWinCOFFObjectWriter.h
+llvm%%LLVM_LIB_VER%%/include/llvm/MC/MCWinCOFFStreamer.h
+llvm%%LLVM_LIB_VER%%/include/llvm/MC/MCWinEH.h
+llvm%%LLVM_LIB_VER%%/include/llvm/MC/MachineLocation.h
+llvm%%LLVM_LIB_VER%%/include/llvm/MC/SectionKind.h
+llvm%%LLVM_LIB_VER%%/include/llvm/MC/StringTableBuilder.h
+llvm%%LLVM_LIB_VER%%/include/llvm/MC/SubtargetFeature.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Object/Archive.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Object/ArchiveWriter.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Object/Binary.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Object/COFF.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Object/COFFImportFile.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Object/COFFModuleDefinition.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Object/Decompressor.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Object/ELF.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Object/ELFObjectFile.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Object/ELFTypes.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Object/Error.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Object/IRObjectFile.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Object/IRSymtab.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Object/MachO.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Object/MachOUniversal.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Object/ModuleSymbolTable.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Object/ObjectFile.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Object/RelocVisitor.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Object/StackMapParser.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Object/SymbolSize.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Object/SymbolicFile.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Object/Wasm.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Object/WindowsResource.h
+llvm%%LLVM_LIB_VER%%/include/llvm/ObjectYAML/COFFYAML.h
+llvm%%LLVM_LIB_VER%%/include/llvm/ObjectYAML/CodeViewYAMLDebugSections.h
+llvm%%LLVM_LIB_VER%%/include/llvm/ObjectYAML/CodeViewYAMLSymbols.h
+llvm%%LLVM_LIB_VER%%/include/llvm/ObjectYAML/CodeViewYAMLTypeHashing.h
+llvm%%LLVM_LIB_VER%%/include/llvm/ObjectYAML/CodeViewYAMLTypes.h
+llvm%%LLVM_LIB_VER%%/include/llvm/ObjectYAML/DWARFEmitter.h
+llvm%%LLVM_LIB_VER%%/include/llvm/ObjectYAML/DWARFYAML.h
+llvm%%LLVM_LIB_VER%%/include/llvm/ObjectYAML/ELFYAML.h
+llvm%%LLVM_LIB_VER%%/include/llvm/ObjectYAML/MachOYAML.h
+llvm%%LLVM_LIB_VER%%/include/llvm/ObjectYAML/ObjectYAML.h
+llvm%%LLVM_LIB_VER%%/include/llvm/ObjectYAML/WasmYAML.h
+llvm%%LLVM_LIB_VER%%/include/llvm/ObjectYAML/YAML.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Option/Arg.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Option/ArgList.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Option/OptParser.td
+llvm%%LLVM_LIB_VER%%/include/llvm/Option/OptSpecifier.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Option/OptTable.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Option/Option.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Pass.h
+llvm%%LLVM_LIB_VER%%/include/llvm/PassAnalysisSupport.h
+llvm%%LLVM_LIB_VER%%/include/llvm/PassInfo.h
+llvm%%LLVM_LIB_VER%%/include/llvm/PassRegistry.h
+llvm%%LLVM_LIB_VER%%/include/llvm/PassSupport.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Passes/PassBuilder.h
+llvm%%LLVM_LIB_VER%%/include/llvm/ProfileData/Coverage/CoverageMapping.h
+llvm%%LLVM_LIB_VER%%/include/llvm/ProfileData/Coverage/CoverageMappingReader.h
+llvm%%LLVM_LIB_VER%%/include/llvm/ProfileData/Coverage/CoverageMappingWriter.h
+llvm%%LLVM_LIB_VER%%/include/llvm/ProfileData/GCOV.h
+llvm%%LLVM_LIB_VER%%/include/llvm/ProfileData/InstrProf.h
+llvm%%LLVM_LIB_VER%%/include/llvm/ProfileData/InstrProfData.inc
+llvm%%LLVM_LIB_VER%%/include/llvm/ProfileData/InstrProfReader.h
+llvm%%LLVM_LIB_VER%%/include/llvm/ProfileData/InstrProfWriter.h
+llvm%%LLVM_LIB_VER%%/include/llvm/ProfileData/ProfileCommon.h
+llvm%%LLVM_LIB_VER%%/include/llvm/ProfileData/SampleProf.h
+llvm%%LLVM_LIB_VER%%/include/llvm/ProfileData/SampleProfReader.h
+llvm%%LLVM_LIB_VER%%/include/llvm/ProfileData/SampleProfWriter.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/AArch64TargetParser.def
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/AMDGPUKernelDescriptor.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/AMDGPUMetadata.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/ARMAttributeParser.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/ARMBuildAttributes.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/ARMEHABI.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/ARMTargetParser.def
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/ARMWinEH.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/AlignOf.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/Allocator.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/ArrayRecycler.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/Atomic.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/AtomicOrdering.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/BinaryByteStream.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/BinaryItemStream.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/BinaryStream.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/BinaryStreamArray.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/BinaryStreamError.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/BinaryStreamReader.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/BinaryStreamRef.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/BinaryStreamWriter.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/BlockFrequency.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/BranchProbability.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/CBindingWrapping.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/COM.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/CachePruning.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/Capacity.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/Casting.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/Chrono.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/CodeGen.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/CodeGenCWrappers.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/CodeGenCoverage.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/CommandLine.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/Compiler.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/Compression.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/ConvertUTF.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/CrashRecoveryContext.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/DOTGraphTraits.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/DataExtractor.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/DataTypes.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/Debug.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/DebugCounter.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/DynamicLibrary.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/Endian.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/EndianStream.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/Errc.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/Errno.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/Error.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/ErrorHandling.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/ErrorOr.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/FileOutputBuffer.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/FileSystem.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/FileUtilities.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/Format.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/FormatAdapters.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/FormatCommon.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/FormatProviders.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/FormatVariadic.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/FormatVariadicDetails.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/FormattedStream.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/GenericDomTree.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/GenericDomTreeConstruction.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/GlobPattern.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/GraphWriter.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/Host.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/JamCRC.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/KnownBits.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/LEB128.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/LICENSE.TXT
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/LineIterator.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/Locale.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/LockFileManager.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/LowLevelTypeImpl.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/MD5.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/ManagedStatic.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/MathExtras.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/Memory.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/MemoryBuffer.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/MipsABIFlags.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/Mutex.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/MutexGuard.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/NativeFormatting.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/OnDiskHashTable.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/Options.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/Parallel.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/Path.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/PluginLoader.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/PointerLikeTypeTraits.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/PrettyStackTrace.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/Printable.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/Process.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/Program.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/RWMutex.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/RandomNumberGenerator.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/Recycler.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/RecyclingAllocator.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/Regex.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/Registry.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/ReverseIteration.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/SHA1.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/SMLoc.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/SaveAndRestore.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/ScaledNumber.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/ScopedPrinter.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/Signals.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/Solaris/sys/regset.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/SourceMgr.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/SpecialCaseList.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/StringPool.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/StringSaver.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/SwapByteOrder.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/SystemUtils.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/TarWriter.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/TargetParser.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/TargetRegistry.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/TargetSelect.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/ThreadLocal.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/ThreadPool.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/Threading.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/Timer.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/ToolOutputFile.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/TrailingObjects.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/TrigramIndex.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/TypeName.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/Unicode.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/UnicodeCharRanges.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/UniqueLock.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/VCSRevision.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/Valgrind.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/Watchdog.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/Win64EH.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/WindowsError.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/X86TargetParser.def
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/YAMLParser.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/YAMLTraits.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/circular_raw_ostream.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/raw_os_ostream.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/raw_ostream.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/raw_sha1_ostream.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/thread.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/type_traits.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Support/xxhash.h
+llvm%%LLVM_LIB_VER%%/include/llvm/TableGen/Error.h
+llvm%%LLVM_LIB_VER%%/include/llvm/TableGen/Main.h
+llvm%%LLVM_LIB_VER%%/include/llvm/TableGen/Record.h
+llvm%%LLVM_LIB_VER%%/include/llvm/TableGen/SearchableTable.td
+llvm%%LLVM_LIB_VER%%/include/llvm/TableGen/SetTheory.h
+llvm%%LLVM_LIB_VER%%/include/llvm/TableGen/StringMatcher.h
+llvm%%LLVM_LIB_VER%%/include/llvm/TableGen/StringToOffsetTable.h
+llvm%%LLVM_LIB_VER%%/include/llvm/TableGen/TableGenBackend.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Target/GenericOpcodes.td
+llvm%%LLVM_LIB_VER%%/include/llvm/Target/GlobalISel/RegisterBank.td
+llvm%%LLVM_LIB_VER%%/include/llvm/Target/GlobalISel/SelectionDAGCompat.td
+llvm%%LLVM_LIB_VER%%/include/llvm/Target/GlobalISel/Target.td
+llvm%%LLVM_LIB_VER%%/include/llvm/Target/Target.td
+llvm%%LLVM_LIB_VER%%/include/llvm/Target/TargetCallingConv.td
+llvm%%LLVM_LIB_VER%%/include/llvm/Target/TargetIntrinsicInfo.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Target/TargetItinerary.td
+llvm%%LLVM_LIB_VER%%/include/llvm/Target/TargetMachine.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Target/TargetOptions.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Target/TargetSchedule.td
+llvm%%LLVM_LIB_VER%%/include/llvm/Target/TargetSelectionDAG.td
+llvm%%LLVM_LIB_VER%%/include/llvm/Testing/Support/Error.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Testing/Support/SupportHelpers.h
+llvm%%LLVM_LIB_VER%%/include/llvm/ToolDrivers/llvm-dlltool/DlltoolDriver.h
+llvm%%LLVM_LIB_VER%%/include/llvm/ToolDrivers/llvm-lib/LibDriver.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Transforms/Coroutines.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Transforms/GCOVProfiler.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Transforms/IPO.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Transforms/IPO/AlwaysInliner.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Transforms/IPO/ArgumentPromotion.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Transforms/IPO/CalledValuePropagation.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Transforms/IPO/ConstantMerge.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Transforms/IPO/CrossDSOCFI.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Transforms/IPO/DeadArgumentElimination.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Transforms/IPO/ElimAvailExtern.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Transforms/IPO/ForceFunctionAttrs.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Transforms/IPO/FunctionAttrs.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Transforms/IPO/FunctionImport.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Transforms/IPO/GlobalDCE.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Transforms/IPO/GlobalOpt.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Transforms/IPO/GlobalSplit.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Transforms/IPO/InferFunctionAttrs.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Transforms/IPO/Inliner.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Transforms/IPO/Internalize.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Transforms/IPO/LowerTypeTests.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Transforms/IPO/PartialInlining.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Transforms/IPO/PassManagerBuilder.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Transforms/IPO/SCCP.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Transforms/IPO/StripDeadPrototypes.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Transforms/IPO/ThinLTOBitcodeWriter.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Transforms/IPO/WholeProgramDevirt.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Transforms/InstCombine/InstCombine.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Transforms/InstCombine/InstCombineWorklist.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Transforms/InstrProfiling.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Transforms/Instrumentation.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Transforms/Instrumentation/BoundsChecking.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Transforms/ObjCARC.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Transforms/PGOInstrumentation.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Transforms/SampleProfile.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Transforms/Scalar.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Transforms/Scalar/ADCE.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Transforms/Scalar/AlignmentFromAssumptions.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Transforms/Scalar/BDCE.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Transforms/Scalar/CallSiteSplitting.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Transforms/Scalar/ConstantHoisting.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Transforms/Scalar/CorrelatedValuePropagation.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Transforms/Scalar/DCE.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Transforms/Scalar/DeadStoreElimination.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Transforms/Scalar/DivRemPairs.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Transforms/Scalar/EarlyCSE.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Transforms/Scalar/Float2Int.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Transforms/Scalar/GVN.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Transforms/Scalar/GVNExpression.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Transforms/Scalar/GuardWidening.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Transforms/Scalar/IVUsersPrinter.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Transforms/Scalar/IndVarSimplify.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Transforms/Scalar/JumpThreading.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Transforms/Scalar/LICM.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Transforms/Scalar/LoopAccessAnalysisPrinter.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Transforms/Scalar/LoopDataPrefetch.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Transforms/Scalar/LoopDeletion.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Transforms/Scalar/LoopDistribute.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Transforms/Scalar/LoopIdiomRecognize.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Transforms/Scalar/LoopInstSimplify.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Transforms/Scalar/LoopLoadElimination.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Transforms/Scalar/LoopPassManager.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Transforms/Scalar/LoopPredication.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Transforms/Scalar/LoopRotation.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Transforms/Scalar/LoopSimplifyCFG.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Transforms/Scalar/LoopSink.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Transforms/Scalar/LoopStrengthReduce.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Transforms/Scalar/LoopUnrollPass.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Transforms/Scalar/LowerAtomic.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Transforms/Scalar/LowerExpectIntrinsic.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Transforms/Scalar/LowerGuardIntrinsic.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Transforms/Scalar/MemCpyOptimizer.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Transforms/Scalar/MergedLoadStoreMotion.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Transforms/Scalar/NaryReassociate.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Transforms/Scalar/NewGVN.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Transforms/Scalar/PartiallyInlineLibCalls.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Transforms/Scalar/Reassociate.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Transforms/Scalar/RewriteStatepointsForGC.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Transforms/Scalar/SCCP.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Transforms/Scalar/SROA.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Transforms/Scalar/SimpleLoopUnswitch.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Transforms/Scalar/SimplifyCFG.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Transforms/Scalar/Sink.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Transforms/Scalar/SpeculateAroundPHIs.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Transforms/Scalar/SpeculativeExecution.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Transforms/Scalar/TailRecursionElimination.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Transforms/Utils/ASanStackFrameLayout.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Transforms/Utils/AddDiscriminators.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Transforms/Utils/BasicBlockUtils.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Transforms/Utils/BreakCriticalEdges.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Transforms/Utils/BuildLibCalls.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Transforms/Utils/BypassSlowDivision.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Transforms/Utils/CallPromotionUtils.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Transforms/Utils/Cloning.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Transforms/Utils/CodeExtractor.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Transforms/Utils/CtorUtils.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Transforms/Utils/EntryExitInstrumenter.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Transforms/Utils/EscapeEnumerator.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Transforms/Utils/Evaluator.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Transforms/Utils/FunctionComparator.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Transforms/Utils/FunctionImportUtils.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Transforms/Utils/GlobalStatus.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Transforms/Utils/ImportedFunctionsInliningStatistics.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Transforms/Utils/IntegerDivision.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Transforms/Utils/LCSSA.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Transforms/Utils/LibCallsShrinkWrap.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Transforms/Utils/Local.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Transforms/Utils/LoopSimplify.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Transforms/Utils/LoopUtils.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Transforms/Utils/LoopVersioning.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Transforms/Utils/LowerInvoke.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Transforms/Utils/LowerMemIntrinsics.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Transforms/Utils/Mem2Reg.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Transforms/Utils/ModuleUtils.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Transforms/Utils/NameAnonGlobals.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Transforms/Utils/OrderedInstructions.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Transforms/Utils/PredicateInfo.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Transforms/Utils/PromoteMemToReg.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Transforms/Utils/SSAUpdater.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Transforms/Utils/SSAUpdaterImpl.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Transforms/Utils/SanitizerStats.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Transforms/Utils/SimplifyIndVar.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Transforms/Utils/SimplifyInstructions.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Transforms/Utils/SimplifyLibCalls.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Transforms/Utils/SplitModule.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Transforms/Utils/SymbolRewriter.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Transforms/Utils/UnifyFunctionExitNodes.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Transforms/Utils/UnrollLoop.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Transforms/Utils/VNCoercion.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Transforms/Utils/ValueMapper.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Transforms/Vectorize.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Transforms/Vectorize/LoopVectorize.h
+llvm%%LLVM_LIB_VER%%/include/llvm/Transforms/Vectorize/SLPVectorizer.h
+llvm%%LLVM_LIB_VER%%/include/llvm/WindowsManifest/WindowsManifestMerger.h
+llvm%%LLVM_LIB_VER%%/include/llvm/WindowsResource/ResourceProcessor.h
+llvm%%LLVM_LIB_VER%%/include/llvm/WindowsResource/ResourceScriptToken.h
+llvm%%LLVM_LIB_VER%%/include/llvm/WindowsResource/ResourceScriptTokenList.h
+llvm%%LLVM_LIB_VER%%/include/llvm/XRay/Graph.h
+llvm%%LLVM_LIB_VER%%/include/llvm/XRay/InstrumentationMap.h
+llvm%%LLVM_LIB_VER%%/include/llvm/XRay/Trace.h
+llvm%%LLVM_LIB_VER%%/include/llvm/XRay/XRayRecord.h
+llvm%%LLVM_LIB_VER%%/include/llvm/XRay/YAMLXRayRecord.h
+%%COMPILER_RT%%llvm%%LLVM_LIB_VER%%/include/sanitizer/allocator_interface.h
+%%COMPILER_RT%%llvm%%LLVM_LIB_VER%%/include/sanitizer/asan_interface.h
+%%COMPILER_RT%%llvm%%LLVM_LIB_VER%%/include/sanitizer/common_interface_defs.h
+%%COMPILER_RT%%llvm%%LLVM_LIB_VER%%/include/sanitizer/coverage_interface.h
+%%COMPILER_RT%%llvm%%LLVM_LIB_VER%%/include/sanitizer/dfsan_interface.h
+%%COMPILER_RT%%llvm%%LLVM_LIB_VER%%/include/sanitizer/esan_interface.h
+%%COMPILER_RT%%llvm%%LLVM_LIB_VER%%/include/sanitizer/hwasan_interface.h
+%%COMPILER_RT%%llvm%%LLVM_LIB_VER%%/include/sanitizer/linux_syscall_hooks.h
+%%COMPILER_RT%%llvm%%LLVM_LIB_VER%%/include/sanitizer/lsan_interface.h
+%%COMPILER_RT%%llvm%%LLVM_LIB_VER%%/include/sanitizer/msan_interface.h
+%%COMPILER_RT%%llvm%%LLVM_LIB_VER%%/include/sanitizer/scudo_interface.h
+%%COMPILER_RT%%llvm%%LLVM_LIB_VER%%/include/sanitizer/tsan_interface.h
+%%COMPILER_RT%%llvm%%LLVM_LIB_VER%%/include/sanitizer/tsan_interface_atomic.h
+%%COMPILER_RT%%llvm%%LLVM_LIB_VER%%/include/xray/xray_interface.h
+%%COMPILER_RT%%llvm%%LLVM_LIB_VER%%/include/xray/xray_log_interface.h
+llvm%%LLVM_LIB_VER%%/lib/BugpointPasses.so
+llvm%%LLVM_LIB_VER%%/lib/LLVMHello.so
+%%GOLD%%llvm%%LLVM_LIB_VER%%/lib/LLVMgold.so
+%%CLANG%%llvm%%LLVM_LIB_VER%%/lib/clang/%%LLVM_RELEASE%%/include/__clang_cuda_builtin_vars.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/lib/clang/%%LLVM_RELEASE%%/include/__clang_cuda_cmath.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/lib/clang/%%LLVM_RELEASE%%/include/__clang_cuda_intrinsics.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/lib/clang/%%LLVM_RELEASE%%/include/__clang_cuda_math_forward_declares.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/lib/clang/%%LLVM_RELEASE%%/include/__clang_cuda_runtime_wrapper.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/lib/clang/%%LLVM_RELEASE%%/include/__stddef_max_align_t.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/lib/clang/%%LLVM_RELEASE%%/include/__wmmintrin_aes.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/lib/clang/%%LLVM_RELEASE%%/include/__wmmintrin_pclmul.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/lib/clang/%%LLVM_RELEASE%%/include/adxintrin.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/lib/clang/%%LLVM_RELEASE%%/include/altivec.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/lib/clang/%%LLVM_RELEASE%%/include/ammintrin.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/lib/clang/%%LLVM_RELEASE%%/include/arm64intr.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/lib/clang/%%LLVM_RELEASE%%/include/arm_acle.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/lib/clang/%%LLVM_RELEASE%%/include/arm_neon.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/lib/clang/%%LLVM_RELEASE%%/include/armintr.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/lib/clang/%%LLVM_RELEASE%%/include/avx2intrin.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/lib/clang/%%LLVM_RELEASE%%/include/avx512bitalgintrin.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/lib/clang/%%LLVM_RELEASE%%/include/avx512bwintrin.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/lib/clang/%%LLVM_RELEASE%%/include/avx512cdintrin.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/lib/clang/%%LLVM_RELEASE%%/include/avx512dqintrin.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/lib/clang/%%LLVM_RELEASE%%/include/avx512erintrin.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/lib/clang/%%LLVM_RELEASE%%/include/avx512fintrin.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/lib/clang/%%LLVM_RELEASE%%/include/avx512ifmaintrin.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/lib/clang/%%LLVM_RELEASE%%/include/avx512ifmavlintrin.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/lib/clang/%%LLVM_RELEASE%%/include/avx512pfintrin.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/lib/clang/%%LLVM_RELEASE%%/include/avx512vbmi2intrin.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/lib/clang/%%LLVM_RELEASE%%/include/avx512vbmiintrin.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/lib/clang/%%LLVM_RELEASE%%/include/avx512vbmivlintrin.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/lib/clang/%%LLVM_RELEASE%%/include/avx512vlbitalgintrin.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/lib/clang/%%LLVM_RELEASE%%/include/avx512vlbwintrin.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/lib/clang/%%LLVM_RELEASE%%/include/avx512vlcdintrin.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/lib/clang/%%LLVM_RELEASE%%/include/avx512vldqintrin.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/lib/clang/%%LLVM_RELEASE%%/include/avx512vlintrin.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/lib/clang/%%LLVM_RELEASE%%/include/avx512vlvbmi2intrin.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/lib/clang/%%LLVM_RELEASE%%/include/avx512vlvnniintrin.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/lib/clang/%%LLVM_RELEASE%%/include/avx512vnniintrin.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/lib/clang/%%LLVM_RELEASE%%/include/avx512vpopcntdqintrin.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/lib/clang/%%LLVM_RELEASE%%/include/avx512vpopcntdqvlintrin.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/lib/clang/%%LLVM_RELEASE%%/include/avxintrin.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/lib/clang/%%LLVM_RELEASE%%/include/bmi2intrin.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/lib/clang/%%LLVM_RELEASE%%/include/bmiintrin.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/lib/clang/%%LLVM_RELEASE%%/include/cetintrin.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/lib/clang/%%LLVM_RELEASE%%/include/clflushoptintrin.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/lib/clang/%%LLVM_RELEASE%%/include/clwbintrin.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/lib/clang/%%LLVM_RELEASE%%/include/clzerointrin.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/lib/clang/%%LLVM_RELEASE%%/include/cpuid.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/lib/clang/%%LLVM_RELEASE%%/include/cuda_wrappers/algorithm
+%%CLANG%%llvm%%LLVM_LIB_VER%%/lib/clang/%%LLVM_RELEASE%%/include/cuda_wrappers/new
+%%CLANG%%llvm%%LLVM_LIB_VER%%/lib/clang/%%LLVM_RELEASE%%/include/emmintrin.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/lib/clang/%%LLVM_RELEASE%%/include/f16cintrin.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/lib/clang/%%LLVM_RELEASE%%/include/float.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/lib/clang/%%LLVM_RELEASE%%/include/fma4intrin.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/lib/clang/%%LLVM_RELEASE%%/include/fmaintrin.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/lib/clang/%%LLVM_RELEASE%%/include/fxsrintrin.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/lib/clang/%%LLVM_RELEASE%%/include/gfniintrin.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/lib/clang/%%LLVM_RELEASE%%/include/htmintrin.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/lib/clang/%%LLVM_RELEASE%%/include/htmxlintrin.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/lib/clang/%%LLVM_RELEASE%%/include/ia32intrin.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/lib/clang/%%LLVM_RELEASE%%/include/immintrin.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/lib/clang/%%LLVM_RELEASE%%/include/intrin.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/lib/clang/%%LLVM_RELEASE%%/include/inttypes.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/lib/clang/%%LLVM_RELEASE%%/include/iso646.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/lib/clang/%%LLVM_RELEASE%%/include/lwpintrin.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/lib/clang/%%LLVM_RELEASE%%/include/lzcntintrin.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/lib/clang/%%LLVM_RELEASE%%/include/mm3dnow.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/lib/clang/%%LLVM_RELEASE%%/include/mm_malloc.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/lib/clang/%%LLVM_RELEASE%%/include/mmintrin.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/lib/clang/%%LLVM_RELEASE%%/include/module.modulemap
+%%CLANG%%llvm%%LLVM_LIB_VER%%/lib/clang/%%LLVM_RELEASE%%/include/msa.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/lib/clang/%%LLVM_RELEASE%%/include/mwaitxintrin.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/lib/clang/%%LLVM_RELEASE%%/include/nmmintrin.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/lib/clang/%%LLVM_RELEASE%%/include/opencl-c.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/lib/clang/%%LLVM_RELEASE%%/include/pkuintrin.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/lib/clang/%%LLVM_RELEASE%%/include/pmmintrin.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/lib/clang/%%LLVM_RELEASE%%/include/popcntintrin.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/lib/clang/%%LLVM_RELEASE%%/include/prfchwintrin.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/lib/clang/%%LLVM_RELEASE%%/include/rdseedintrin.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/lib/clang/%%LLVM_RELEASE%%/include/rtmintrin.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/lib/clang/%%LLVM_RELEASE%%/include/s390intrin.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/lib/clang/%%LLVM_RELEASE%%/include/shaintrin.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/lib/clang/%%LLVM_RELEASE%%/include/smmintrin.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/lib/clang/%%LLVM_RELEASE%%/include/tbmintrin.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/lib/clang/%%LLVM_RELEASE%%/include/tgmath.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/lib/clang/%%LLVM_RELEASE%%/include/tmmintrin.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/lib/clang/%%LLVM_RELEASE%%/include/unwind.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/lib/clang/%%LLVM_RELEASE%%/include/vadefs.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/lib/clang/%%LLVM_RELEASE%%/include/vaesintrin.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/lib/clang/%%LLVM_RELEASE%%/include/vecintrin.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/lib/clang/%%LLVM_RELEASE%%/include/vpclmulqdqintrin.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/lib/clang/%%LLVM_RELEASE%%/include/wmmintrin.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/lib/clang/%%LLVM_RELEASE%%/include/x86intrin.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/lib/clang/%%LLVM_RELEASE%%/include/xmmintrin.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/lib/clang/%%LLVM_RELEASE%%/include/xopintrin.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/lib/clang/%%LLVM_RELEASE%%/include/xsavecintrin.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/lib/clang/%%LLVM_RELEASE%%/include/xsaveintrin.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/lib/clang/%%LLVM_RELEASE%%/include/xsaveoptintrin.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/lib/clang/%%LLVM_RELEASE%%/include/xsavesintrin.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/lib/clang/%%LLVM_RELEASE%%/include/xtestintrin.h
+%%CLANG%%llvm%%LLVM_LIB_VER%%/lib/cmake/clang/ClangConfig.cmake
+%%CLANG%%llvm%%LLVM_LIB_VER%%/lib/cmake/clang/ClangTargets-%%CMAKE_BUILD_TYPE%%.cmake
+%%CLANG%%llvm%%LLVM_LIB_VER%%/lib/cmake/clang/ClangTargets.cmake
+llvm%%LLVM_LIB_VER%%/lib/cmake/llvm/AddLLVM.cmake
+llvm%%LLVM_LIB_VER%%/lib/cmake/llvm/AddLLVMDefinitions.cmake
+llvm%%LLVM_LIB_VER%%/lib/cmake/llvm/AddOCaml.cmake
+llvm%%LLVM_LIB_VER%%/lib/cmake/llvm/AddSphinxTarget.cmake
+llvm%%LLVM_LIB_VER%%/lib/cmake/llvm/CheckAtomic.cmake
+llvm%%LLVM_LIB_VER%%/lib/cmake/llvm/CheckLinkerFlag.cmake
+llvm%%LLVM_LIB_VER%%/lib/cmake/llvm/ChooseMSVCCRT.cmake
+llvm%%LLVM_LIB_VER%%/lib/cmake/llvm/FindOCaml.cmake
+llvm%%LLVM_LIB_VER%%/lib/cmake/llvm/FindSphinx.cmake
+llvm%%LLVM_LIB_VER%%/lib/cmake/llvm/GenerateVersionFromCVS.cmake
+llvm%%LLVM_LIB_VER%%/lib/cmake/llvm/GetSVN.cmake
+llvm%%LLVM_LIB_VER%%/lib/cmake/llvm/HandleLLVMOptions.cmake
+llvm%%LLVM_LIB_VER%%/lib/cmake/llvm/HandleLLVMStdlib.cmake
+llvm%%LLVM_LIB_VER%%/lib/cmake/llvm/LLVM-Config.cmake
+llvm%%LLVM_LIB_VER%%/lib/cmake/llvm/LLVMConfig.cmake
+llvm%%LLVM_LIB_VER%%/lib/cmake/llvm/LLVMConfigVersion.cmake
+llvm%%LLVM_LIB_VER%%/lib/cmake/llvm/LLVMExports-%%CMAKE_BUILD_TYPE%%.cmake
+llvm%%LLVM_LIB_VER%%/lib/cmake/llvm/LLVMExports.cmake
+llvm%%LLVM_LIB_VER%%/lib/cmake/llvm/LLVMExternalProjectUtils.cmake
+llvm%%LLVM_LIB_VER%%/lib/cmake/llvm/LLVMInstallSymlink.cmake
+llvm%%LLVM_LIB_VER%%/lib/cmake/llvm/LLVMProcessSources.cmake
+llvm%%LLVM_LIB_VER%%/lib/cmake/llvm/TableGen.cmake
+llvm%%LLVM_LIB_VER%%/lib/cmake/llvm/VersionFromVCS.cmake
+llvm%%LLVM_LIB_VER%%/lib/libLLVM-%%LLVM_MAJOR%%.so
+llvm%%LLVM_LIB_VER%%/lib/libLLVM-%%LLVM_RELEASE%%.so
+llvm%%LLVM_LIB_VER%%/lib/libLLVM.so
+llvm%%LLVM_LIB_VER%%/lib/libLLVMAArch64AsmParser.a
+llvm%%LLVM_LIB_VER%%/lib/libLLVMAArch64AsmPrinter.a
+llvm%%LLVM_LIB_VER%%/lib/libLLVMAArch64CodeGen.a
+llvm%%LLVM_LIB_VER%%/lib/libLLVMAArch64Desc.a
+llvm%%LLVM_LIB_VER%%/lib/libLLVMAArch64Disassembler.a
+llvm%%LLVM_LIB_VER%%/lib/libLLVMAArch64Info.a
+llvm%%LLVM_LIB_VER%%/lib/libLLVMAArch64Utils.a
+llvm%%LLVM_LIB_VER%%/lib/libLLVMAMDGPUAsmParser.a
+llvm%%LLVM_LIB_VER%%/lib/libLLVMAMDGPUAsmPrinter.a
+llvm%%LLVM_LIB_VER%%/lib/libLLVMAMDGPUCodeGen.a
+llvm%%LLVM_LIB_VER%%/lib/libLLVMAMDGPUDesc.a
+llvm%%LLVM_LIB_VER%%/lib/libLLVMAMDGPUDisassembler.a
+llvm%%LLVM_LIB_VER%%/lib/libLLVMAMDGPUInfo.a
+llvm%%LLVM_LIB_VER%%/lib/libLLVMAMDGPUUtils.a
+llvm%%LLVM_LIB_VER%%/lib/libLLVMARMAsmParser.a
+llvm%%LLVM_LIB_VER%%/lib/libLLVMARMAsmPrinter.a
+llvm%%LLVM_LIB_VER%%/lib/libLLVMARMCodeGen.a
+llvm%%LLVM_LIB_VER%%/lib/libLLVMARMDesc.a
+llvm%%LLVM_LIB_VER%%/lib/libLLVMARMDisassembler.a
+llvm%%LLVM_LIB_VER%%/lib/libLLVMARMInfo.a
+llvm%%LLVM_LIB_VER%%/lib/libLLVMARMUtils.a
+llvm%%LLVM_LIB_VER%%/lib/libLLVMAnalysis.a
+llvm%%LLVM_LIB_VER%%/lib/libLLVMAsmParser.a
+llvm%%LLVM_LIB_VER%%/lib/libLLVMAsmPrinter.a
+llvm%%LLVM_LIB_VER%%/lib/libLLVMBPFAsmParser.a
+llvm%%LLVM_LIB_VER%%/lib/libLLVMBPFAsmPrinter.a
+llvm%%LLVM_LIB_VER%%/lib/libLLVMBPFCodeGen.a
+llvm%%LLVM_LIB_VER%%/lib/libLLVMBPFDesc.a
+llvm%%LLVM_LIB_VER%%/lib/libLLVMBPFDisassembler.a
+llvm%%LLVM_LIB_VER%%/lib/libLLVMBPFInfo.a
+llvm%%LLVM_LIB_VER%%/lib/libLLVMBinaryFormat.a
+llvm%%LLVM_LIB_VER%%/lib/libLLVMBitReader.a
+llvm%%LLVM_LIB_VER%%/lib/libLLVMBitWriter.a
+llvm%%LLVM_LIB_VER%%/lib/libLLVMCodeGen.a
+llvm%%LLVM_LIB_VER%%/lib/libLLVMCore.a
+llvm%%LLVM_LIB_VER%%/lib/libLLVMCoroutines.a
+llvm%%LLVM_LIB_VER%%/lib/libLLVMCoverage.a
+llvm%%LLVM_LIB_VER%%/lib/libLLVMDebugInfoCodeView.a
+llvm%%LLVM_LIB_VER%%/lib/libLLVMDebugInfoDWARF.a
+llvm%%LLVM_LIB_VER%%/lib/libLLVMDebugInfoMSF.a
+llvm%%LLVM_LIB_VER%%/lib/libLLVMDebugInfoPDB.a
+llvm%%LLVM_LIB_VER%%/lib/libLLVMDemangle.a
+llvm%%LLVM_LIB_VER%%/lib/libLLVMDlltoolDriver.a
+llvm%%LLVM_LIB_VER%%/lib/libLLVMExecutionEngine.a
+llvm%%LLVM_LIB_VER%%/lib/libLLVMFuzzMutate.a
+llvm%%LLVM_LIB_VER%%/lib/libLLVMGlobalISel.a
+llvm%%LLVM_LIB_VER%%/lib/libLLVMHexagonAsmParser.a
+llvm%%LLVM_LIB_VER%%/lib/libLLVMHexagonCodeGen.a
+llvm%%LLVM_LIB_VER%%/lib/libLLVMHexagonDesc.a
+llvm%%LLVM_LIB_VER%%/lib/libLLVMHexagonDisassembler.a
+llvm%%LLVM_LIB_VER%%/lib/libLLVMHexagonInfo.a
+llvm%%LLVM_LIB_VER%%/lib/libLLVMIRReader.a
+llvm%%LLVM_LIB_VER%%/lib/libLLVMInstCombine.a
+llvm%%LLVM_LIB_VER%%/lib/libLLVMInstrumentation.a
+llvm%%LLVM_LIB_VER%%/lib/libLLVMInterpreter.a
+llvm%%LLVM_LIB_VER%%/lib/libLLVMLTO.a
+llvm%%LLVM_LIB_VER%%/lib/libLLVMLanaiAsmParser.a
+llvm%%LLVM_LIB_VER%%/lib/libLLVMLanaiAsmPrinter.a
+llvm%%LLVM_LIB_VER%%/lib/libLLVMLanaiCodeGen.a
+llvm%%LLVM_LIB_VER%%/lib/libLLVMLanaiDesc.a
+llvm%%LLVM_LIB_VER%%/lib/libLLVMLanaiDisassembler.a
+llvm%%LLVM_LIB_VER%%/lib/libLLVMLanaiInfo.a
+llvm%%LLVM_LIB_VER%%/lib/libLLVMLibDriver.a
+llvm%%LLVM_LIB_VER%%/lib/libLLVMLineEditor.a
+llvm%%LLVM_LIB_VER%%/lib/libLLVMLinker.a
+llvm%%LLVM_LIB_VER%%/lib/libLLVMMC.a
+llvm%%LLVM_LIB_VER%%/lib/libLLVMMCDisassembler.a
+llvm%%LLVM_LIB_VER%%/lib/libLLVMMCJIT.a
+llvm%%LLVM_LIB_VER%%/lib/libLLVMMCParser.a
+llvm%%LLVM_LIB_VER%%/lib/libLLVMMIRParser.a
+llvm%%LLVM_LIB_VER%%/lib/libLLVMMSP430AsmPrinter.a
+llvm%%LLVM_LIB_VER%%/lib/libLLVMMSP430CodeGen.a
+llvm%%LLVM_LIB_VER%%/lib/libLLVMMSP430Desc.a
+llvm%%LLVM_LIB_VER%%/lib/libLLVMMSP430Info.a
+llvm%%LLVM_LIB_VER%%/lib/libLLVMMipsAsmParser.a
+llvm%%LLVM_LIB_VER%%/lib/libLLVMMipsAsmPrinter.a
+llvm%%LLVM_LIB_VER%%/lib/libLLVMMipsCodeGen.a
+llvm%%LLVM_LIB_VER%%/lib/libLLVMMipsDesc.a
+llvm%%LLVM_LIB_VER%%/lib/libLLVMMipsDisassembler.a
+llvm%%LLVM_LIB_VER%%/lib/libLLVMMipsInfo.a
+llvm%%LLVM_LIB_VER%%/lib/libLLVMNVPTXAsmPrinter.a
+llvm%%LLVM_LIB_VER%%/lib/libLLVMNVPTXCodeGen.a
+llvm%%LLVM_LIB_VER%%/lib/libLLVMNVPTXDesc.a
+llvm%%LLVM_LIB_VER%%/lib/libLLVMNVPTXInfo.a
+llvm%%LLVM_LIB_VER%%/lib/libLLVMObjCARCOpts.a
+llvm%%LLVM_LIB_VER%%/lib/libLLVMObject.a
+llvm%%LLVM_LIB_VER%%/lib/libLLVMObjectYAML.a
+llvm%%LLVM_LIB_VER%%/lib/libLLVMOption.a
+llvm%%LLVM_LIB_VER%%/lib/libLLVMOrcJIT.a
+llvm%%LLVM_LIB_VER%%/lib/libLLVMPasses.a
+llvm%%LLVM_LIB_VER%%/lib/libLLVMPowerPCAsmParser.a
+llvm%%LLVM_LIB_VER%%/lib/libLLVMPowerPCAsmPrinter.a
+llvm%%LLVM_LIB_VER%%/lib/libLLVMPowerPCCodeGen.a
+llvm%%LLVM_LIB_VER%%/lib/libLLVMPowerPCDesc.a
+llvm%%LLVM_LIB_VER%%/lib/libLLVMPowerPCDisassembler.a
+llvm%%LLVM_LIB_VER%%/lib/libLLVMPowerPCInfo.a
+llvm%%LLVM_LIB_VER%%/lib/libLLVMProfileData.a
+llvm%%LLVM_LIB_VER%%/lib/libLLVMRuntimeDyld.a
+llvm%%LLVM_LIB_VER%%/lib/libLLVMScalarOpts.a
+llvm%%LLVM_LIB_VER%%/lib/libLLVMSelectionDAG.a
+llvm%%LLVM_LIB_VER%%/lib/libLLVMSparcAsmParser.a
+llvm%%LLVM_LIB_VER%%/lib/libLLVMSparcAsmPrinter.a
+llvm%%LLVM_LIB_VER%%/lib/libLLVMSparcCodeGen.a
+llvm%%LLVM_LIB_VER%%/lib/libLLVMSparcDesc.a
+llvm%%LLVM_LIB_VER%%/lib/libLLVMSparcDisassembler.a
+llvm%%LLVM_LIB_VER%%/lib/libLLVMSparcInfo.a
+llvm%%LLVM_LIB_VER%%/lib/libLLVMSupport.a
+llvm%%LLVM_LIB_VER%%/lib/libLLVMSymbolize.a
+llvm%%LLVM_LIB_VER%%/lib/libLLVMSystemZAsmParser.a
+llvm%%LLVM_LIB_VER%%/lib/libLLVMSystemZAsmPrinter.a
+llvm%%LLVM_LIB_VER%%/lib/libLLVMSystemZCodeGen.a
+llvm%%LLVM_LIB_VER%%/lib/libLLVMSystemZDesc.a
+llvm%%LLVM_LIB_VER%%/lib/libLLVMSystemZDisassembler.a
+llvm%%LLVM_LIB_VER%%/lib/libLLVMSystemZInfo.a
+llvm%%LLVM_LIB_VER%%/lib/libLLVMTableGen.a
+llvm%%LLVM_LIB_VER%%/lib/libLLVMTarget.a
+llvm%%LLVM_LIB_VER%%/lib/libLLVMTransformUtils.a
+llvm%%LLVM_LIB_VER%%/lib/libLLVMVectorize.a
+llvm%%LLVM_LIB_VER%%/lib/libLLVMWindowsManifest.a
+llvm%%LLVM_LIB_VER%%/lib/libLLVMX86AsmParser.a
+llvm%%LLVM_LIB_VER%%/lib/libLLVMX86AsmPrinter.a
+llvm%%LLVM_LIB_VER%%/lib/libLLVMX86CodeGen.a
+llvm%%LLVM_LIB_VER%%/lib/libLLVMX86Desc.a
+llvm%%LLVM_LIB_VER%%/lib/libLLVMX86Disassembler.a
+llvm%%LLVM_LIB_VER%%/lib/libLLVMX86Info.a
+llvm%%LLVM_LIB_VER%%/lib/libLLVMX86Utils.a
+llvm%%LLVM_LIB_VER%%/lib/libLLVMXCoreAsmPrinter.a
+llvm%%LLVM_LIB_VER%%/lib/libLLVMXCoreCodeGen.a
+llvm%%LLVM_LIB_VER%%/lib/libLLVMXCoreDesc.a
+llvm%%LLVM_LIB_VER%%/lib/libLLVMXCoreDisassembler.a
+llvm%%LLVM_LIB_VER%%/lib/libLLVMXCoreInfo.a
+llvm%%LLVM_LIB_VER%%/lib/libLLVMXRay.a
+llvm%%LLVM_LIB_VER%%/lib/libLLVMipo.a
+llvm%%LLVM_LIB_VER%%/lib/libLTO.so
+llvm%%LLVM_LIB_VER%%/lib/libLTO.so.%%LLVM_RELEASE%%
+llvm%%LLVM_LIB_VER%%/lib/libLTO.so.6
+%%CLANG%%llvm%%LLVM_LIB_VER%%/lib/libclang.so
+%%CLANG%%llvm%%LLVM_LIB_VER%%/lib/libclang.so.%%LLVM_MAJOR%%
+%%CLANG%%llvm%%LLVM_LIB_VER%%/lib/libclang.so.6
+%%CLANG%%llvm%%LLVM_LIB_VER%%/lib/libclangARCMigrate.a
+%%CLANG%%llvm%%LLVM_LIB_VER%%/lib/libclangAST.a
+%%CLANG%%llvm%%LLVM_LIB_VER%%/lib/libclangASTMatchers.a
+%%CLANG%%llvm%%LLVM_LIB_VER%%/lib/libclangAnalysis.a
+%%EXTRAS%%llvm%%LLVM_LIB_VER%%/lib/libclangApplyReplacements.a
+%%CLANG%%llvm%%LLVM_LIB_VER%%/lib/libclangBasic.a
+%%EXTRAS%%llvm%%LLVM_LIB_VER%%/lib/libclangChangeNamespace.a
+%%CLANG%%llvm%%LLVM_LIB_VER%%/lib/libclangCodeGen.a
+%%CLANG%%llvm%%LLVM_LIB_VER%%/lib/libclangCrossTU.a
+%%EXTRAS%%llvm%%LLVM_LIB_VER%%/lib/libclangDaemon.a
+%%CLANG%%llvm%%LLVM_LIB_VER%%/lib/libclangDriver.a
+%%CLANG%%llvm%%LLVM_LIB_VER%%/lib/libclangDynamicASTMatchers.a
+%%CLANG%%llvm%%LLVM_LIB_VER%%/lib/libclangEdit.a
+%%CLANG%%llvm%%LLVM_LIB_VER%%/lib/libclangFormat.a
+%%CLANG%%llvm%%LLVM_LIB_VER%%/lib/libclangFrontend.a
+%%CLANG%%llvm%%LLVM_LIB_VER%%/lib/libclangFrontendTool.a
+%%CLANG%%llvm%%LLVM_LIB_VER%%/lib/libclangHandleCXX.a
+%%EXTRAS%%llvm%%LLVM_LIB_VER%%/lib/libclangIncludeFixer.a
+%%EXTRAS%%llvm%%LLVM_LIB_VER%%/lib/libclangIncludeFixerPlugin.a
+%%CLANG%%llvm%%LLVM_LIB_VER%%/lib/libclangIndex.a
+%%CLANG%%llvm%%LLVM_LIB_VER%%/lib/libclangLex.a
+%%EXTRAS%%llvm%%LLVM_LIB_VER%%/lib/libclangMove.a
+%%CLANG%%llvm%%LLVM_LIB_VER%%/lib/libclangParse.a
+%%EXTRAS%%llvm%%LLVM_LIB_VER%%/lib/libclangQuery.a
+%%EXTRAS%%llvm%%LLVM_LIB_VER%%/lib/libclangReorderFields.a
+%%CLANG%%llvm%%LLVM_LIB_VER%%/lib/libclangRewrite.a
+%%CLANG%%llvm%%LLVM_LIB_VER%%/lib/libclangRewriteFrontend.a
+%%CLANG%%llvm%%LLVM_LIB_VER%%/lib/libclangSema.a
+%%CLANG%%llvm%%LLVM_LIB_VER%%/lib/libclangSerialization.a
+%%CLANG%%llvm%%LLVM_LIB_VER%%/lib/libclangStaticAnalyzerCheckers.a
+%%CLANG%%llvm%%LLVM_LIB_VER%%/lib/libclangStaticAnalyzerCore.a
+%%CLANG%%llvm%%LLVM_LIB_VER%%/lib/libclangStaticAnalyzerFrontend.a
+%%EXTRAS%%llvm%%LLVM_LIB_VER%%/lib/libclangTidy.a
+%%EXTRAS%%llvm%%LLVM_LIB_VER%%/lib/libclangTidyAndroidModule.a
+%%EXTRAS%%llvm%%LLVM_LIB_VER%%/lib/libclangTidyBoostModule.a
+%%EXTRAS%%llvm%%LLVM_LIB_VER%%/lib/libclangTidyBugproneModule.a
+%%EXTRAS%%llvm%%LLVM_LIB_VER%%/lib/libclangTidyCERTModule.a
+%%EXTRAS%%llvm%%LLVM_LIB_VER%%/lib/libclangTidyCppCoreGuidelinesModule.a
+%%EXTRAS%%llvm%%LLVM_LIB_VER%%/lib/libclangTidyFuchsiaModule.a
+%%EXTRAS%%llvm%%LLVM_LIB_VER%%/lib/libclangTidyGoogleModule.a
+%%EXTRAS%%llvm%%LLVM_LIB_VER%%/lib/libclangTidyHICPPModule.a
+%%EXTRAS%%llvm%%LLVM_LIB_VER%%/lib/libclangTidyLLVMModule.a
+%%EXTRAS%%llvm%%LLVM_LIB_VER%%/lib/libclangTidyMPIModule.a
+%%EXTRAS%%llvm%%LLVM_LIB_VER%%/lib/libclangTidyMiscModule.a
+%%EXTRAS%%llvm%%LLVM_LIB_VER%%/lib/libclangTidyModernizeModule.a
+%%EXTRAS%%llvm%%LLVM_LIB_VER%%/lib/libclangTidyObjCModule.a
+%%EXTRAS%%llvm%%LLVM_LIB_VER%%/lib/libclangTidyPerformanceModule.a
+%%EXTRAS%%llvm%%LLVM_LIB_VER%%/lib/libclangTidyPlugin.a
+%%EXTRAS%%llvm%%LLVM_LIB_VER%%/lib/libclangTidyReadabilityModule.a
+%%EXTRAS%%llvm%%LLVM_LIB_VER%%/lib/libclangTidyUtils.a
+%%CLANG%%llvm%%LLVM_LIB_VER%%/lib/libclangTooling.a
+%%CLANG%%llvm%%LLVM_LIB_VER%%/lib/libclangToolingASTDiff.a
+%%CLANG%%llvm%%LLVM_LIB_VER%%/lib/libclangToolingCore.a
+%%CLANG%%llvm%%LLVM_LIB_VER%%/lib/libclangToolingRefactor.a
+%%EXTRAS%%llvm%%LLVM_LIB_VER%%/lib/libfindAllSymbols.a
+%%LLD%%llvm%%LLVM_LIB_VER%%/lib/liblldCOFF.a
+%%LLD%%llvm%%LLVM_LIB_VER%%/lib/liblldCommon.a
+%%LLD%%llvm%%LLVM_LIB_VER%%/lib/liblldCore.a
+%%LLD%%llvm%%LLVM_LIB_VER%%/lib/liblldDriver.a
+%%LLD%%llvm%%LLVM_LIB_VER%%/lib/liblldELF.a
+%%LLD%%llvm%%LLVM_LIB_VER%%/lib/liblldMachO.a
+%%LLD%%llvm%%LLVM_LIB_VER%%/lib/liblldMinGW.a
+%%LLD%%llvm%%LLVM_LIB_VER%%/lib/liblldReaderWriter.a
+%%LLD%%llvm%%LLVM_LIB_VER%%/lib/liblldWasm.a
+%%LLD%%llvm%%LLVM_LIB_VER%%/lib/liblldYAML.a
+%%CLANG%%llvm%%LLVM_LIB_VER%%/libexec/c++-analyzer
+%%CLANG%%llvm%%LLVM_LIB_VER%%/libexec/ccc-analyzer
+%%CLANG%%llvm%%LLVM_LIB_VER%%/share/clang/bash-autocomplete.sh
+%%CLANG%%llvm%%LLVM_LIB_VER%%/share/clang/clang-format-bbedit.applescript
+%%CLANG%%llvm%%LLVM_LIB_VER%%/share/clang/clang-format-diff.py
+%%CLANG%%llvm%%LLVM_LIB_VER%%/share/clang/clang-format-sublime.py
+%%CLANG%%llvm%%LLVM_LIB_VER%%/share/clang/clang-format.el
+%%CLANG%%llvm%%LLVM_LIB_VER%%/share/clang/clang-format.py
+%%EXTRAS%%llvm%%LLVM_LIB_VER%%/share/clang/clang-include-fixer.el
+%%EXTRAS%%llvm%%LLVM_LIB_VER%%/share/clang/clang-include-fixer.py
+%%EXTRAS%%llvm%%LLVM_LIB_VER%%/share/clang/clang-rename.el
+%%EXTRAS%%llvm%%LLVM_LIB_VER%%/share/clang/clang-rename.py
+%%EXTRAS%%llvm%%LLVM_LIB_VER%%/share/clang/clang-tidy-diff.py
+%%EXTRAS%%llvm%%LLVM_LIB_VER%%/share/clang/run-clang-tidy.py
+%%EXTRAS%%llvm%%LLVM_LIB_VER%%/share/clang/run-find-all-symbols.py
+llvm%%LLVM_LIB_VER%%/share/opt-viewer/opt-diff.py
+llvm%%LLVM_LIB_VER%%/share/opt-viewer/opt-stats.py
+llvm%%LLVM_LIB_VER%%/share/opt-viewer/opt-viewer.py
+llvm%%LLVM_LIB_VER%%/share/opt-viewer/optpmap.py
+llvm%%LLVM_LIB_VER%%/share/opt-viewer/optrecord.py
+llvm%%LLVM_LIB_VER%%/share/opt-viewer/style.css
+%%CLANG%%llvm%%LLVM_LIB_VER%%/share/scan-build/scanview.css
+%%CLANG%%llvm%%LLVM_LIB_VER%%/share/scan-build/sorttable.js
+%%CLANG%%llvm%%LLVM_LIB_VER%%/share/scan-view/FileRadar.scpt
+%%CLANG%%llvm%%LLVM_LIB_VER%%/share/scan-view/GetRadarVersion.scpt
+%%CLANG%%llvm%%LLVM_LIB_VER%%/share/scan-view/Reporter.py
+%%CLANG%%llvm%%LLVM_LIB_VER%%/share/scan-view/ScanView.py
+%%CLANG%%llvm%%LLVM_LIB_VER%%/share/scan-view/bugcatcher.ico
+%%CLANG%%llvm%%LLVM_LIB_VER%%/share/scan-view/startfile.py
+%%LIT%%%%PYTHON_SITELIBDIR%%/lit%%LLVM_SUFFIX%%/BooleanExpression.py
+%%LIT%%%%PYTHON_SITELIBDIR%%/lit%%LLVM_SUFFIX%%/LitConfig.py
+%%LIT%%%%PYTHON_SITELIBDIR%%/lit%%LLVM_SUFFIX%%/LitTestCase.py
+%%LIT%%%%PYTHON_SITELIBDIR%%/lit%%LLVM_SUFFIX%%/ProgressBar.py
+%%LIT%%%%PYTHON_SITELIBDIR%%/lit%%LLVM_SUFFIX%%/ShCommands.py
+%%LIT%%%%PYTHON_SITELIBDIR%%/lit%%LLVM_SUFFIX%%/ShUtil.py
+%%LIT%%%%PYTHON_SITELIBDIR%%/lit%%LLVM_SUFFIX%%/Test.py
+%%LIT%%%%PYTHON_SITELIBDIR%%/lit%%LLVM_SUFFIX%%/TestRunner.py
+%%LIT%%%%PYTHON_SITELIBDIR%%/lit%%LLVM_SUFFIX%%/TestingConfig.py
+%%LIT%%%%PYTHON_SITELIBDIR%%/lit%%LLVM_SUFFIX%%/__init__.py
+%%LIT%%%%PYTHON_SITELIBDIR%%/lit%%LLVM_SUFFIX%%/discovery.py
+%%LIT%%%%PYTHON_SITELIBDIR%%/lit%%LLVM_SUFFIX%%/formats/__init__.py
+%%LIT%%%%PYTHON_SITELIBDIR%%/lit%%LLVM_SUFFIX%%/formats/base.py
+%%LIT%%%%PYTHON_SITELIBDIR%%/lit%%LLVM_SUFFIX%%/formats/googletest.py
+%%LIT%%%%PYTHON_SITELIBDIR%%/lit%%LLVM_SUFFIX%%/formats/shtest.py
+%%LIT%%%%PYTHON_SITELIBDIR%%/lit%%LLVM_SUFFIX%%/main.py
+%%LIT%%%%PYTHON_SITELIBDIR%%/lit%%LLVM_SUFFIX%%/run.py
+%%LIT%%%%PYTHON_SITELIBDIR%%/lit%%LLVM_SUFFIX%%/util.py
+ at postexec if type ccache-update-links >/dev/null 2>&1; then ccache-update-links -v; fi
+ at postunexec if type ccache-update-links >/dev/null 2>&1; then ccache-update-links -v; fi


Property changes on: trunk/devel/llvm60/pkg-plist
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property


More information about the Midnightbsd-cvs mailing list