diff options
author | Rene Ladan <rene@FreeBSD.org> | 2021-03-07 05:50:25 +0800 |
---|---|---|
committer | Rene Ladan <rene@FreeBSD.org> | 2021-03-07 05:50:25 +0800 |
commit | 9acf798ad5923adf6b1425579b0aab3ff499baaa (patch) | |
tree | 4fa4e0f908edbad892aa1ab6aaceb37a95e0d05b /devel | |
parent | 794e2446d5181442de3044e71ee9b0c5eb12e930 (diff) | |
download | freebsd-ports-gnome-9acf798ad5923adf6b1425579b0aab3ff499baaa.tar.gz freebsd-ports-gnome-9acf798ad5923adf6b1425579b0aab3ff499baaa.tar.zst freebsd-ports-gnome-9acf798ad5923adf6b1425579b0aab3ff499baaa.zip |
Re-remove devel/llvm60, lang/ghc does not need it for bootstrapping anymore.
2020-12-31 devel/llvm60: Uses Python 2.7 which is EOLed upstream
Diffstat (limited to 'devel')
42 files changed, 0 insertions, 7947 deletions
diff --git a/devel/Makefile b/devel/Makefile index 348233b438e1..9b30232a3269 100644 --- a/devel/Makefile +++ b/devel/Makefile @@ -1422,7 +1422,6 @@ SUBDIR += llvm10 SUBDIR += llvm11 SUBDIR += llvm12 - SUBDIR += llvm60 SUBDIR += llvm70 SUBDIR += llvm80 SUBDIR += llvm90 diff --git a/devel/llvm60/Makefile b/devel/llvm60/Makefile deleted file mode 100644 index 257be275a350..000000000000 --- a/devel/llvm60/Makefile +++ /dev/null @@ -1,459 +0,0 @@ -# $FreeBSD$ - -PORTNAME= llvm -DISTVERSION= 6.0.1 -PORTREVISION= 7 -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= brooks@FreeBSD.org -COMMENT= LLVM and Clang - -.include "${.CURDIR}/../llvm-devel/Makefile.LICENSE" - -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 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" -CMAKE_ARGS+= -DLLVM_PARALLEL_LINK_JOBS=1 - -# Disable assertions. They should be disabled by cmake, but USES=cmake -# overrides -DCMAKE_*_FLAGS_RELEASE. -CFLAGS+= -DNDEBUG -CXXFLAGS+= -DNDEBUG - -OPTIONS_DEFINE= CLANG DOCS EXTRAS LIT LLD LLDB -OPTIONS_DEFINE_amd64= COMPILER_RT GOLD OPENMP -OPTIONS_DEFINE_i386= COMPILER_RT OPENMP -OPTIONS_DEFAULT= CLANG EXTRAS LIT LLD LLDB -OPTIONS_DEFAULT_amd64= COMPILER_RT GOLD OPENMP -OPTIONS_DEFAULT_i386= COMPILER_RT OPENMP -OPTIONS_SUB= yes - -CLANG_DESC= Build clang -CLANG_EXTRA_PATCHES= ${PATCHDIR}/clang -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} -LLD_EXTRA_PATCHES= ${PATCHDIR}/lld -LLDB_BUILD_DEPENDS= swig:devel/swig \ - ${PY_ENUM34} -LLDB_DESC= Install lldb, the LLVM debugger -LLDB_DISTFILES= lldb-${DISTVERSION}.src${EXTRACT_SUFX} -LLDB_EXTRA_PATCHES= ${PATCHDIR}/lldb -LLDB_IMPLIES= CLANG -LLDB_VARS= _USES_PYTHON=python:2.7 -OPENMP_DESC= Install libomp, the LLVM OpenMP runtime library -OPENMP_DISTFILES= openmp-${DISTVERSION}.src${EXTRACT_SUFX} -OPENMP_EXTRA_PATCHES= ${PATCHDIR}/openmp - -.if defined(WITH_DEBUG) -CMAKE_BUILD_TYPE= RelWithDebInfo -STRIP= -.endif - -_CRTLIBDIR= ${LLVM_PREFIX:S|${PREFIX}/||}/lib/clang/${LLVM_RELEASE}/lib/freebsd - -# Emulate USE_GITHUB's ${WRKSRC_tag} to reduce diffs to ../llvm-devel -.for option in CLANG COMPILER_RT EXTRAS LLD LLDB OPENMP -WRKSRC_${option:tl}= ${WRKDIR}/${${option}_DISTFILES:S/${EXTRACT_SUFX}//} -.endfor - -PLIST_SUB+= LLVM_LIB_VER=${LLVM_LIB_VER} \ - LLVM_MAJOR=${LLVM_MAJOR} \ - LLVM_RELEASE=${LLVM_RELEASE} \ - LLVM_SUFFIX=${LLVM_SUFFIX} - -COMMANDS= ${LLVM_COMMANDS} -FIRST_COMMAND= ${COMMANDS:C/^/XXXX/1:MXXXX*:C/^XXXX//} - -STRIP_LIBS= BugpointPasses.so \ - LLVMHello.so \ - ${LIBNAME}.0 \ - libLTO.so - -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.port.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-${OPSYS:tl}${OSREL}${TARGET_ABI} -# ----------- end of sync block -------------------- - -.if ${PORT_OPTIONS:MCLANG} -COMMANDS+= ${CLANG_COMMANDS} -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 -USES+= gnome -.endif - -.if ${PORT_OPTIONS:MCOMPILER_RT} -COMPILER_RT_PATTERN= (_blacklist.txt|sanitizer|include.xray) -.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:MLIT} -MAN1SRCS+= lit.1 FileCheck.1 -.endif - -.if ${PORT_OPTIONS:MLLD} -COMMANDS+= ${LLD_COMMANDS} -PORTDOCS+= lld -.endif - -.if ${PORT_OPTIONS:MLLDB} -COMMANDS+= ${LLDB_COMMANDS} -.endif - -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> -.include "${.CURDIR}/Makefile.COMMANDS" - -.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 - -# Use lld for armv6 on clang 7 and up to avoid binutils ld issues -# PR: 235282 -.if ${COMPILER_TYPE} == clang && ${COMPILER_VERSION} >= 70 -LDFLAGS_armv6=-fuse-ld=lld -.endif - -.if ${ARCH} == "armv6" -BUILD_DEPENDS+= ${LOCALBASE}/bin/ld:devel/binutils -CONFIGURE_ENV+= COMPILER_PATH=${LOCALBASE}/bin -MAKE_ENV+= COMPILER_PATH=${LOCALBASE}/bin -.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 - -.if ! ${OPTIONS_DEFINE:MOPENMP} -# Hack to disable OPENMP in plist of unsupported architectures -PLIST_SUB+= OPENMP="@comment " -.else -.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-extract-LLDB-on: - ${MV} ${WRKSRC_lldb} ${PATCH_WRKSRC}/tools/lldb - -post-extract-OPENMP-on: - ${MV} ${WRKSRC_openmp} ${PATCH_WRKSRC}/projects/openmp - -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-patch-LLD-on: - ${REINPLACE_CMD} -e "s|'indexsidebar.html'|['indexsidebar.html']|" \ - ${PATCH_WRKSRC}/tools/lld/docs/conf.py - -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} ${MAKE_CMD} - -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} ${STAGEDIR}${LLVM_PREFIX}/share/doc ${STAGEDIR}${DOCSDIR} -.for _man in ${MAN1SRCS} - ${MV} ${STAGEDIR}${LLVM_PREFIX}/share/man/man1/${_man} \ - ${STAGEDIR}${MANPREFIX}/man/man1/${_man:R}${LLVM_SUFFIX}.1 -.endfor -.if ! ${PORT_OPTIONS:MLIT} - ${RM} ${STAGEDIR}${LLVM_PREFIX}/share/man/man1/lit.1 - ${RM} ${STAGEDIR}${LLVM_PREFIX}/share/man/man1/FileCheck.1 -.endif - ${RMDIR} ${STAGEDIR}${LLVM_PREFIX}/share/man/man1/ - ${RMDIR} ${STAGEDIR}${LLVM_PREFIX}/share/man/ - -.if ${PORT_OPTIONS:MCLANG} -post-install-DOCS-off: - ${RM} ${STAGEDIR}${LLVM_PREFIX}/share/man/man1/scan-build.1 - ${RMDIR} ${STAGEDIR}${LLVM_PREFIX}/share/man/man1/ - ${RMDIR} ${STAGEDIR}${LLVM_PREFIX}/share/man/ -.endif - -post-install-LLD-on: - ${RMDIR} ${STAGEDIR}${LLVM_PREFIX}/include/llvm/BinaryFormat/WasmRelocs - -post-install-LLDB-on: - ${RMDIR} ${STAGEDIR}${LLVM_PREFIX}/include/lldb/Host/windows/getopt - ${RMDIR} ${STAGEDIR}${LLVM_PREFIX}/include/lldb/Host/mingw - ${RMDIR} ${STAGEDIR}${LLVM_PREFIX}/include/lldb/Host/msvc - -post-install-CLANG-on: - ${LN} -f ${STAGEDIR}${LLVM_PREFIX}/bin/clang \ - ${STAGEDIR}${LLVM_PREFIX}/bin/clang-cpp - ${INSTALL_PROGRAM} ${WRKDIR}/.build/bin/clang-tblgen \ - ${STAGEDIR}${LLVM_PREFIX}/bin/ - -post-install-COMPILER_RT-on: - cd ${WRKDIR}/compiler-rt-build && \ - ${MAKE_ENV} ${MAKE_CMD} ${INSTALL_TARGET} -.if ${ARCH} == "amd64" - ${RM} ${STAGEDIR}${LLVM_PREFIX}/lib/freebsd/libclang_rt*i386* -.endif - ${MKDIR} ${STAGEDIR}${PREFIX}/${_CRTLIBDIR} - ${MV} ${STAGEDIR}${LLVM_PREFIX}/lib/freebsd/* \ - ${STAGEDIR}${PREFIX}/${_CRTLIBDIR} - ${RMDIR} ${STAGEDIR}${LLVM_PREFIX}/lib/freebsd - -post-install-LIT-on: - ${INSTALL_SCRIPT} ${PATCH_WRKSRC}/utils/lit/lit.py \ - ${STAGEDIR}${LLVM_PREFIX}/bin/lit - ${LN} -f ${STAGEDIR}${LLVM_PREFIX}/bin/lit \ - ${STAGEDIR}${LLVM_PREFIX}/bin/llvm-lit - ${LN} -f ${STAGEDIR}${LLVM_PREFIX}/bin/lit \ - ${STAGEDIR}${PREFIX}/bin/lit${LLVM_SUFFIX} - ${LN} -f ${STAGEDIR}${LLVM_PREFIX}/bin/lit \ - ${STAGEDIR}${PREFIX}/bin/llvm-lit${LLVM_SUFFIX} - ${MKDIR} ${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}/lit${LLVM_SUFFIX} - ${MKDIR} ${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}/lit${LLVM_SUFFIX}/formats - ${INSTALL_DATA} ${WRKSRC}/utils/lit/lit/*.py \ - ${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}/lit${LLVM_SUFFIX} - ${INSTALL_DATA} ${WRKSRC}/utils/lit/lit/formats/*.py \ - ${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}/lit${LLVM_SUFFIX}/formats - ${INSTALL_PROGRAM} ${WRKDIR}/.build/bin/FileCheck \ - ${STAGEDIR}${LLVM_PREFIX}/bin/ - ${LN} -f ${STAGEDIR}${LLVM_PREFIX}/bin/FileCheck \ - ${STAGEDIR}${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} ${STAGEDIR}${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} ${STAGEDIR}${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 ${STAGEDIR}${LLVM_PREFIX}/bin/${command} -.endfor - -.include <bsd.port.post.mk> diff --git a/devel/llvm60/Makefile.COMMANDS b/devel/llvm60/Makefile.COMMANDS deleted file mode 100644 index 8ffdaacb1c29..000000000000 --- a/devel/llvm60/Makefile.COMMANDS +++ /dev/null @@ -1,90 +0,0 @@ -# $FreeBSD$ - -LLVM_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 - -CLANG_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 - -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 - -LIT_COMMANDS= \ - FileCheck \ - lit \ - llvm-lit - -LLD_COMMANDS= \ - ld.lld \ - ld64.lld \ - lld \ - lld-link \ - wasm-ld - -LLDB_COMMANDS= \ - lldb \ - lldb-argdumper \ - lldb-mi \ - lldb-server \ - lldb-test diff --git a/devel/llvm60/distinfo b/devel/llvm60/distinfo deleted file mode 100644 index cf083ca19108..000000000000 --- a/devel/llvm60/distinfo +++ /dev/null @@ -1,15 +0,0 @@ -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 diff --git a/devel/llvm60/files/clang/patch-fformat_extensions.diff b/devel/llvm60/files/clang/patch-fformat_extensions.diff deleted file mode 100644 index 69093d923b6f..000000000000 --- a/devel/llvm60/files/clang/patch-fformat_extensions.diff +++ /dev/null @@ -1,44 +0,0 @@ -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); diff --git a/devel/llvm60/files/clang/patch-fopenmp.diff b/devel/llvm60/files/clang/patch-fopenmp.diff deleted file mode 100644 index 18932bd0d19c..000000000000 --- a/devel/llvm60/files/clang/patch-fopenmp.diff +++ /dev/null @@ -1,14 +0,0 @@ ---- 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"); diff --git a/devel/llvm60/files/clang/patch-head-r331066.diff b/devel/llvm60/files/clang/patch-head-r331066.diff deleted file mode 100644 index 7296a087bfb0..000000000000 --- a/devel/llvm60/files/clang/patch-head-r331066.diff +++ /dev/null @@ -1,40 +0,0 @@ -r331066 | dim | 2018-03-16 19:04:13 +0100 (Fri, 16 Mar 2018) | 19 lines - -Pull in r321999 from upstream clang trunk (by Ivan A. Kosarev): - - [CodeGen] Fix TBAA info for accesses to members of base classes - - Resolves: - Bug 35724 - regression (r315984): fatal error: error in backend: - Broken function found (Did not see access type in access path!) - https://bugs.llvm.org/show_bug.cgi?id=35724 - - Differential Revision: https://reviews.llvm.org/D41547 - -This fixes "Did not see access type in access path" fatal errors when -building the devel/gdb port (version 8.1). - -Reported by: jbeich -PR: 226658 -MFC after: 3 months -X-MFC-With: r327952 - -Index: tools/clang/lib/CodeGen/CGExpr.cpp -=================================================================== ---- tools/clang/lib/CodeGen/CGExpr.cpp (revision 331065) -+++ tools/clang/lib/CodeGen/CGExpr.cpp (revision 331066) -@@ -1034,8 +1034,12 @@ Address CodeGenFunction::EmitPointerWithAlignment( - // Derived-to-base conversions. - case CK_UncheckedDerivedToBase: - case CK_DerivedToBase: { -- Address Addr = EmitPointerWithAlignment(CE->getSubExpr(), BaseInfo, -- TBAAInfo); -+ // TODO: Support accesses to members of base classes in TBAA. For now, we -+ // conservatively pretend that the complete object is of the base class -+ // type. -+ if (TBAAInfo) -+ *TBAAInfo = CGM.getTBAAAccessInfo(E->getType()); -+ Address Addr = EmitPointerWithAlignment(CE->getSubExpr(), BaseInfo); - auto Derived = CE->getSubExpr()->getType()->getPointeeCXXRecordDecl(); - return GetAddressOfBaseClass(Addr, Derived, - CE->path_begin(), CE->path_end(), diff --git a/devel/llvm60/files/clang/patch-head-r336227.diff b/devel/llvm60/files/clang/patch-head-r336227.diff deleted file mode 100644 index fd543dc38489..000000000000 --- a/devel/llvm60/files/clang/patch-head-r336227.diff +++ /dev/null @@ -1,42 +0,0 @@ -r336227 | dim | 2018-07-12 21:02:59 +0200 (Thu, 12 Jul 2018) | 27 lines - -Pull in r336008 from upstream clang trunk: - - Request init/fini array on FreeBSD 12 and later - - Summary: - - It seems a bad idea to change the default in the middle of a release - branch due to possible changes in global ctor / dtor ordering between - .ctors and .init_array. With FreeBSD 11.0's release imminent lets - change the default now for FreeBSD 12 (the current development - stream) and later. - - FreeBSD rtld has supported .init_array / .fini_array for many years. - As of Jan 1 2017 all supported FreeBSD releases and branches will - have support. - - Reviewers: dim, brooks, arichardson - - Reviewed By: dim, brooks, arichardson - - Subscribers: bsdjhb, krytarowski, emaste, cfe-commits - - Differential Revision: https://reviews.llvm.org/D24867 - -Requested by: jhb -MFC after: 3 days - -Index: tools/clang/lib/Driver/ToolChains/Gnu.cpp -=================================================================== ---- tools/clang/lib/Driver/ToolChains/Gnu.cpp (revision 336226) -+++ tools/clang/lib/Driver/ToolChains/Gnu.cpp (revision 336227) -@@ -2375,6 +2375,8 @@ void Generic_ELF::addClangTargetOptions(const ArgL - bool UseInitArrayDefault = - getTriple().getArch() == llvm::Triple::aarch64 || - getTriple().getArch() == llvm::Triple::aarch64_be || -+ (getTriple().getOS() == llvm::Triple::FreeBSD && -+ getTriple().getOSMajorVersion() >= 12) || - (getTriple().getOS() == llvm::Triple::Linux && - ((!GCCInstallation.isValid() || !V.isOlderThan(4, 7, 0)) || - getTriple().isAndroid())) || diff --git a/devel/llvm60/files/clang/patch-head-r338697.diff b/devel/llvm60/files/clang/patch-head-r338697.diff deleted file mode 100644 index eb7f11e83fcf..000000000000 --- a/devel/llvm60/files/clang/patch-head-r338697.diff +++ /dev/null @@ -1,104 +0,0 @@ -r338697 | dim | 2018-09-15 23:22:50 +0200 (Sat, 15 Sep 2018) | 21 lines - -Pull in r325478 from upstream clang trunk (by Ivan A. Kosarev): - - [CodeGen] Initialize large arrays by copying from a global - - Currently, clang compiles explicit initializers for array elements - into series of store instructions. For large arrays of built-in types - this results in bloated output code and significant amount of time - spent on the instruction selection phase. This patch fixes the issue - by initializing such arrays with global constants that store the - binary image of the initializer. - - Differential Revision: https://reviews.llvm.org/D43181 - -This should fix a compiler hang (and excessive memory usage) while -building the science/rmg port. - -Approved by: re (kib) -Reported by: yuri@tsoft.com -See also: https://bugs.llvm.org/show_bug.cgi?id=38798 -MFC after: 3 days - -Index: tools/clang/lib/CodeGen/CGExprAgg.cpp -=================================================================== ---- tools/clang/lib/CodeGen/CGExprAgg.cpp (revision 338696) -+++ tools/clang/lib/CodeGen/CGExprAgg.cpp (revision 338697) -@@ -14,6 +14,7 @@ - #include "CodeGenFunction.h" - #include "CGObjCRuntime.h" - #include "CodeGenModule.h" -+#include "ConstantEmitter.h" - #include "clang/AST/ASTContext.h" - #include "clang/AST/DeclCXX.h" - #include "clang/AST/DeclTemplate.h" -@@ -85,7 +86,7 @@ class AggExprEmitter : public StmtVisitor<AggExprE - void EmitMoveFromReturnSlot(const Expr *E, RValue Src); - - void EmitArrayInit(Address DestPtr, llvm::ArrayType *AType, -- QualType elementType, InitListExpr *E); -+ QualType ArrayQTy, InitListExpr *E); - - AggValueSlot::NeedsGCBarriers_t needsGC(QualType T) { - if (CGF.getLangOpts().getGC() && TypeRequiresGCollection(T)) -@@ -392,12 +393,15 @@ static bool isTrivialFiller(Expr *E) { - - /// \brief Emit initialization of an array from an initializer list. - void AggExprEmitter::EmitArrayInit(Address DestPtr, llvm::ArrayType *AType, -- QualType elementType, InitListExpr *E) { -+ QualType ArrayQTy, InitListExpr *E) { - uint64_t NumInitElements = E->getNumInits(); - - uint64_t NumArrayElements = AType->getNumElements(); - assert(NumInitElements <= NumArrayElements); - -+ QualType elementType = -+ CGF.getContext().getAsArrayType(ArrayQTy)->getElementType(); -+ - // DestPtr is an array*. Construct an elementType* by drilling - // down a level. - llvm::Value *zero = llvm::ConstantInt::get(CGF.SizeTy, 0); -@@ -409,6 +413,29 @@ void AggExprEmitter::EmitArrayInit(Address DestPtr - CharUnits elementAlign = - DestPtr.getAlignment().alignmentOfArrayElement(elementSize); - -+ // Consider initializing the array by copying from a global. For this to be -+ // more efficient than per-element initialization, the size of the elements -+ // with explicit initializers should be large enough. -+ if (NumInitElements * elementSize.getQuantity() > 16 && -+ elementType.isTriviallyCopyableType(CGF.getContext())) { -+ CodeGen::CodeGenModule &CGM = CGF.CGM; -+ ConstantEmitter Emitter(CGM); -+ LangAS AS = ArrayQTy.getAddressSpace(); -+ if (llvm::Constant *C = Emitter.tryEmitForInitializer(E, AS, ArrayQTy)) { -+ auto GV = new llvm::GlobalVariable( -+ CGM.getModule(), C->getType(), -+ CGM.isTypeConstant(ArrayQTy, /* ExcludeCtorDtor= */ true), -+ llvm::GlobalValue::PrivateLinkage, C, "constinit", -+ /* InsertBefore= */ nullptr, llvm::GlobalVariable::NotThreadLocal, -+ CGM.getContext().getTargetAddressSpace(AS)); -+ Emitter.finalize(GV); -+ CharUnits Align = CGM.getContext().getTypeAlignInChars(ArrayQTy); -+ GV->setAlignment(Align.getQuantity()); -+ EmitFinalDestCopy(ArrayQTy, CGF.MakeAddrLValue(GV, ArrayQTy, Align)); -+ return; -+ } -+ } -+ - // Exception safety requires us to destroy all the - // already-constructed members if an initializer throws. - // For that, we'll need an EH cleanup. -@@ -1156,11 +1183,8 @@ void AggExprEmitter::VisitInitListExpr(InitListExp - - // Handle initialization of an array. - if (E->getType()->isArrayType()) { -- QualType elementType = -- CGF.getContext().getAsArrayType(E->getType())->getElementType(); -- - auto AType = cast<llvm::ArrayType>(Dest.getAddress().getElementType()); -- EmitArrayInit(Dest.getAddress(), AType, elementType, E); -+ EmitArrayInit(Dest.getAddress(), AType, E->getType(), E); - return; - } - diff --git a/devel/llvm60/files/clang/patch-head-r339019.diff b/devel/llvm60/files/clang/patch-head-r339019.diff deleted file mode 100644 index 240772d184c2..000000000000 --- a/devel/llvm60/files/clang/patch-head-r339019.diff +++ /dev/null @@ -1,30 +0,0 @@ -r339019 | emaste | 2018-09-29 22:01:23 +0200 (Sat, 29 Sep 2018) | 15 lines - -clang: allow ifunc resolvers to accept arguments - -Previously Clang required ifunc resolution functions to take no -arguments, presumably because GCC documented ifunc resolvers as taking -no arguments. However, GCC accepts resolvers accepting arguments, and -our rtld passes CPU ID information (cpuid, hwcap, etc.) to ifunc -resolvers. Just remove the check from the in-tree compiler for our in- -tree compiler; a different (per-OS) approach may be required upstream. - -Reported by: mjg -Approved by: re (rgrimes) -MFC after: 1 week -Relnotes: Yes -Sponsored by: The FreeBSD Foundation - -Index: tools/clang/lib/CodeGen/CodeGenModule.cpp -=================================================================== ---- tools/clang/lib/CodeGen/CodeGenModule.cpp (revision 339018) -+++ tools/clang/lib/CodeGen/CodeGenModule.cpp (revision 339019) -@@ -321,8 +321,6 @@ void CodeGenModule::checkAliases() { - assert(FTy); - if (!FTy->getReturnType()->isPointerTy()) - Diags.Report(Location, diag::err_ifunc_resolver_return); -- if (FTy->getNumParams()) -- Diags.Report(Location, diag::err_ifunc_resolver_params); - } - - llvm::Constant *Aliasee = Alias->getIndirectSymbol(); diff --git a/devel/llvm60/files/clang/patch-stable12-r342281.diff b/devel/llvm60/files/clang/patch-stable12-r342281.diff deleted file mode 100644 index 4a6e9f615889..000000000000 --- a/devel/llvm60/files/clang/patch-stable12-r342281.diff +++ /dev/null @@ -1,834 +0,0 @@ -r342281 | dim | 2018-12-20 19:28:53 +0100 (Thu, 20 Dec 2018) | 24 lines - -Pull in r329671 from upstream clang trunk (by Akira Hatanaka): - - [ExprConstant] Use an AST node and a version number as a key to - create an APValue and retrieve it from map Temporaries. - - The version number is needed when a single AST node is visited - multiple times and is used to create APValues that are required to be - distinct from each other (for example, MaterializeTemporaryExprs in - default arguments and VarDecls in loops). - - rdar://problem/36505742 - - Differential Revision: https://reviews.llvm.org/D42776 - -This should fix 'Assertion failed: (Result.isUninit() && "temporary -created multiple times"), function createTemporary' errors (if -assertions are enabled, otherwise the compiler internal state might go -bad), when building the graphics/rawtherapee port. - -Direct commit to stable/11 and stable/12, since head already has clang -7.0.1, which includes this change. - -PR: 234144 - -Index: tools/clang/include/clang/AST/APValue.h -=================================================================== ---- tools/clang/include/clang/AST/APValue.h (revision 342280) -+++ tools/clang/include/clang/AST/APValue.h (revision 342281) -@@ -53,7 +53,58 @@ class APValue { - MemberPointer, - AddrLabelDiff - }; -- typedef llvm::PointerUnion<const ValueDecl *, const Expr *> LValueBase; -+ -+ class LValueBase { -+ public: -+ typedef llvm::PointerUnion<const ValueDecl *, const Expr *> PtrTy; -+ -+ LValueBase() : CallIndex(0), Version(0) {} -+ -+ template <class T> -+ LValueBase(T P, unsigned I = 0, unsigned V = 0) -+ : Ptr(P), CallIndex(I), Version(V) {} -+ -+ template <class T> -+ bool is() const { return Ptr.is<T>(); } -+ -+ template <class T> -+ T get() const { return Ptr.get<T>(); } -+ -+ template <class T> -+ T dyn_cast() const { return Ptr.dyn_cast<T>(); } -+ -+ void *getOpaqueValue() const; -+ -+ bool isNull() const; -+ -+ explicit operator bool () const; -+ -+ PtrTy getPointer() const { -+ return Ptr; -+ } -+ -+ unsigned getCallIndex() const { -+ return CallIndex; -+ } -+ -+ void setCallIndex(unsigned Index) { -+ CallIndex = Index; -+ } -+ -+ unsigned getVersion() const { -+ return Version; -+ } -+ -+ bool operator==(const LValueBase &Other) const { -+ return Ptr == Other.Ptr && CallIndex == Other.CallIndex && -+ Version == Other.Version; -+ } -+ -+ private: -+ PtrTy Ptr; -+ unsigned CallIndex, Version; -+ }; -+ - typedef llvm::PointerIntPair<const Decl *, 1, bool> BaseOrMemberType; - union LValuePathEntry { - /// BaseOrMember - The FieldDecl or CXXRecordDecl indicating the next item -@@ -135,15 +186,15 @@ class APValue { - } - APValue(const APValue &RHS); - APValue(APValue &&RHS) : Kind(Uninitialized) { swap(RHS); } -- APValue(LValueBase B, const CharUnits &O, NoLValuePath N, unsigned CallIndex, -+ APValue(LValueBase B, const CharUnits &O, NoLValuePath N, - bool IsNullPtr = false) - : Kind(Uninitialized) { -- MakeLValue(); setLValue(B, O, N, CallIndex, IsNullPtr); -+ MakeLValue(); setLValue(B, O, N, IsNullPtr); - } - APValue(LValueBase B, const CharUnits &O, ArrayRef<LValuePathEntry> Path, -- bool OnePastTheEnd, unsigned CallIndex, bool IsNullPtr = false) -+ bool OnePastTheEnd, bool IsNullPtr = false) - : Kind(Uninitialized) { -- MakeLValue(); setLValue(B, O, Path, OnePastTheEnd, CallIndex, IsNullPtr); -+ MakeLValue(); setLValue(B, O, Path, OnePastTheEnd, IsNullPtr); - } - APValue(UninitArray, unsigned InitElts, unsigned Size) : Kind(Uninitialized) { - MakeArray(InitElts, Size); -@@ -255,6 +306,7 @@ class APValue { - bool hasLValuePath() const; - ArrayRef<LValuePathEntry> getLValuePath() const; - unsigned getLValueCallIndex() const; -+ unsigned getLValueVersion() const; - bool isNullPointer() const; - - APValue &getVectorElt(unsigned I) { -@@ -376,10 +428,10 @@ class APValue { - ((ComplexAPFloat *)(char *)Data.buffer)->Imag = std::move(I); - } - void setLValue(LValueBase B, const CharUnits &O, NoLValuePath, -- unsigned CallIndex, bool IsNullPtr); -+ bool IsNullPtr); - void setLValue(LValueBase B, const CharUnits &O, - ArrayRef<LValuePathEntry> Path, bool OnePastTheEnd, -- unsigned CallIndex, bool IsNullPtr); -+ bool IsNullPtr); - void setUnion(const FieldDecl *Field, const APValue &Value) { - assert(isUnion() && "Invalid accessor"); - ((UnionData*)(char*)Data.buffer)->Field = Field; -@@ -451,4 +503,14 @@ class APValue { - - } // end namespace clang. - -+namespace llvm { -+template<> struct DenseMapInfo<clang::APValue::LValueBase> { -+ static clang::APValue::LValueBase getEmptyKey(); -+ static clang::APValue::LValueBase getTombstoneKey(); -+ static unsigned getHashValue(const clang::APValue::LValueBase &Base); -+ static bool isEqual(const clang::APValue::LValueBase &LHS, -+ const clang::APValue::LValueBase &RHS); -+}; -+} -+ - #endif -Index: tools/clang/lib/AST/APValue.cpp -=================================================================== ---- tools/clang/lib/AST/APValue.cpp (revision 342280) -+++ tools/clang/lib/AST/APValue.cpp (revision 342281) -@@ -23,14 +23,57 @@ using namespace clang; - - namespace { - struct LVBase { -- llvm::PointerIntPair<APValue::LValueBase, 1, bool> BaseAndIsOnePastTheEnd; -+ APValue::LValueBase Base; - CharUnits Offset; - unsigned PathLength; -- unsigned CallIndex; -- bool IsNullPtr; -+ bool IsNullPtr : 1; -+ bool IsOnePastTheEnd : 1; - }; - } - -+void *APValue::LValueBase::getOpaqueValue() const { -+ return Ptr.getOpaqueValue(); -+} -+ -+bool APValue::LValueBase::isNull() const { -+ return Ptr.isNull(); -+} -+ -+APValue::LValueBase::operator bool () const { -+ return static_cast<bool>(Ptr); -+} -+ -+clang::APValue::LValueBase -+llvm::DenseMapInfo<clang::APValue::LValueBase>::getEmptyKey() { -+ return clang::APValue::LValueBase( -+ DenseMapInfo<clang::APValue::LValueBase::PtrTy>::getEmptyKey(), -+ DenseMapInfo<unsigned>::getEmptyKey(), -+ DenseMapInfo<unsigned>::getEmptyKey()); -+} -+ -+clang::APValue::LValueBase -+llvm::DenseMapInfo<clang::APValue::LValueBase>::getTombstoneKey() { -+ return clang::APValue::LValueBase( -+ DenseMapInfo<clang::APValue::LValueBase::PtrTy>::getTombstoneKey(), -+ DenseMapInfo<unsigned>::getTombstoneKey(), -+ DenseMapInfo<unsigned>::getTombstoneKey()); -+} -+ -+unsigned llvm::DenseMapInfo<clang::APValue::LValueBase>::getHashValue( -+ const clang::APValue::LValueBase &Base) { -+ llvm::FoldingSetNodeID ID; -+ ID.AddPointer(Base.getOpaqueValue()); -+ ID.AddInteger(Base.getCallIndex()); -+ ID.AddInteger(Base.getVersion()); -+ return ID.ComputeHash(); -+} -+ -+bool llvm::DenseMapInfo<clang::APValue::LValueBase>::isEqual( -+ const clang::APValue::LValueBase &LHS, -+ const clang::APValue::LValueBase &RHS) { -+ return LHS == RHS; -+} -+ - struct APValue::LV : LVBase { - static const unsigned InlinePathSpace = - (DataSize - sizeof(LVBase)) / sizeof(LValuePathEntry); -@@ -150,11 +193,10 @@ APValue::APValue(const APValue &RHS) : Kind(Uninit - MakeLValue(); - if (RHS.hasLValuePath()) - setLValue(RHS.getLValueBase(), RHS.getLValueOffset(), RHS.getLValuePath(), -- RHS.isLValueOnePastTheEnd(), RHS.getLValueCallIndex(), -- RHS.isNullPointer()); -+ RHS.isLValueOnePastTheEnd(), RHS.isNullPointer()); - else - setLValue(RHS.getLValueBase(), RHS.getLValueOffset(), NoLValuePath(), -- RHS.getLValueCallIndex(), RHS.isNullPointer()); -+ RHS.isNullPointer()); - break; - case Array: - MakeArray(RHS.getArrayInitializedElts(), RHS.getArraySize()); -@@ -552,12 +594,12 @@ std::string APValue::getAsString(ASTContext &Ctx, - - const APValue::LValueBase APValue::getLValueBase() const { - assert(isLValue() && "Invalid accessor"); -- return ((const LV*)(const void*)Data.buffer)->BaseAndIsOnePastTheEnd.getPointer(); -+ return ((const LV*)(const void*)Data.buffer)->Base; - } - - bool APValue::isLValueOnePastTheEnd() const { - assert(isLValue() && "Invalid accessor"); -- return ((const LV*)(const void*)Data.buffer)->BaseAndIsOnePastTheEnd.getInt(); -+ return ((const LV*)(const void*)Data.buffer)->IsOnePastTheEnd; - } - - CharUnits &APValue::getLValueOffset() { -@@ -578,9 +620,14 @@ ArrayRef<APValue::LValuePathEntry> APValue::getLVa - - unsigned APValue::getLValueCallIndex() const { - assert(isLValue() && "Invalid accessor"); -- return ((const LV*)(const char*)Data.buffer)->CallIndex; -+ return ((const LV*)(const char*)Data.buffer)->Base.getCallIndex(); - } - -+unsigned APValue::getLValueVersion() const { -+ assert(isLValue() && "Invalid accessor"); -+ return ((const LV*)(const char*)Data.buffer)->Base.getVersion(); -+} -+ - bool APValue::isNullPointer() const { - assert(isLValue() && "Invalid usage"); - return ((const LV*)(const char*)Data.buffer)->IsNullPtr; -@@ -587,13 +634,12 @@ bool APValue::isNullPointer() const { - } - - void APValue::setLValue(LValueBase B, const CharUnits &O, NoLValuePath, -- unsigned CallIndex, bool IsNullPtr) { -+ bool IsNullPtr) { - assert(isLValue() && "Invalid accessor"); - LV &LVal = *((LV*)(char*)Data.buffer); -- LVal.BaseAndIsOnePastTheEnd.setPointer(B); -- LVal.BaseAndIsOnePastTheEnd.setInt(false); -+ LVal.Base = B; -+ LVal.IsOnePastTheEnd = false; - LVal.Offset = O; -- LVal.CallIndex = CallIndex; - LVal.resizePath((unsigned)-1); - LVal.IsNullPtr = IsNullPtr; - } -@@ -600,13 +646,12 @@ void APValue::setLValue(LValueBase B, const CharUn - - void APValue::setLValue(LValueBase B, const CharUnits &O, - ArrayRef<LValuePathEntry> Path, bool IsOnePastTheEnd, -- unsigned CallIndex, bool IsNullPtr) { -+ bool IsNullPtr) { - assert(isLValue() && "Invalid accessor"); - LV &LVal = *((LV*)(char*)Data.buffer); -- LVal.BaseAndIsOnePastTheEnd.setPointer(B); -- LVal.BaseAndIsOnePastTheEnd.setInt(IsOnePastTheEnd); -+ LVal.Base = B; -+ LVal.IsOnePastTheEnd = IsOnePastTheEnd; - LVal.Offset = O; -- LVal.CallIndex = CallIndex; - LVal.resizePath(Path.size()); - memcpy(LVal.getPath(), Path.data(), Path.size() * sizeof(LValuePathEntry)); - LVal.IsNullPtr = IsNullPtr; -Index: tools/clang/lib/AST/ExprConstant.cpp -=================================================================== ---- tools/clang/lib/AST/ExprConstant.cpp (revision 342280) -+++ tools/clang/lib/AST/ExprConstant.cpp (revision 342281) -@@ -446,8 +446,8 @@ namespace { - - // Note that we intentionally use std::map here so that references to - // values are stable. -- typedef std::map<const void*, APValue> MapTy; -- typedef MapTy::const_iterator temp_iterator; -+ typedef std::pair<const void *, unsigned> MapKeyTy; -+ typedef std::map<MapKeyTy, APValue> MapTy; - /// Temporaries - Temporary lvalues materialized within this stack frame. - MapTy Temporaries; - -@@ -457,6 +457,20 @@ namespace { - /// Index - The call index of this call. - unsigned Index; - -+ /// The stack of integers for tracking version numbers for temporaries. -+ SmallVector<unsigned, 2> TempVersionStack = {1}; -+ unsigned CurTempVersion = TempVersionStack.back(); -+ -+ unsigned getTempVersion() const { return TempVersionStack.back(); } -+ -+ void pushTempVersion() { -+ TempVersionStack.push_back(++CurTempVersion); -+ } -+ -+ void popTempVersion() { -+ TempVersionStack.pop_back(); -+ } -+ - // FIXME: Adding this to every 'CallStackFrame' may have a nontrivial impact - // on the overall stack usage of deeply-recursing constexpr evaluataions. - // (We should cache this map rather than recomputing it repeatedly.) -@@ -473,10 +487,36 @@ namespace { - APValue *Arguments); - ~CallStackFrame(); - -- APValue *getTemporary(const void *Key) { -- MapTy::iterator I = Temporaries.find(Key); -- return I == Temporaries.end() ? nullptr : &I->second; -+ // Return the temporary for Key whose version number is Version. -+ APValue *getTemporary(const void *Key, unsigned Version) { -+ MapKeyTy KV(Key, Version); -+ auto LB = Temporaries.lower_bound(KV); -+ if (LB != Temporaries.end() && LB->first == KV) -+ return &LB->second; -+ // Pair (Key,Version) wasn't found in the map. Check that no elements -+ // in the map have 'Key' as their key. -+ assert((LB == Temporaries.end() || LB->first.first != Key) && -+ (LB == Temporaries.begin() || std::prev(LB)->first.first != Key) && -+ "Element with key 'Key' found in map"); -+ return nullptr; - } -+ -+ // Return the current temporary for Key in the map. -+ APValue *getCurrentTemporary(const void *Key) { -+ auto UB = Temporaries.upper_bound(MapKeyTy(Key, UINT_MAX)); -+ if (UB != Temporaries.begin() && std::prev(UB)->first.first == Key) -+ return &std::prev(UB)->second; -+ return nullptr; -+ } -+ -+ // Return the version number of the current temporary for Key. -+ unsigned getCurrentTemporaryVersion(const void *Key) const { -+ auto UB = Temporaries.upper_bound(MapKeyTy(Key, UINT_MAX)); -+ if (UB != Temporaries.begin() && std::prev(UB)->first.first == Key) -+ return std::prev(UB)->first.second; -+ return 0; -+ } -+ - APValue &createTemporary(const void *Key, bool IsLifetimeExtended); - }; - -@@ -606,7 +646,8 @@ namespace { - - /// EvaluatingObject - Pair of the AST node that an lvalue represents and - /// the call index that that lvalue was allocated in. -- typedef std::pair<APValue::LValueBase, unsigned> EvaluatingObject; -+ typedef std::pair<APValue::LValueBase, std::pair<unsigned, unsigned>> -+ EvaluatingObject; - - /// EvaluatingConstructors - Set of objects that are currently being - /// constructed. -@@ -625,8 +666,10 @@ namespace { - } - }; - -- bool isEvaluatingConstructor(APValue::LValueBase Decl, unsigned CallIndex) { -- return EvaluatingConstructors.count(EvaluatingObject(Decl, CallIndex)); -+ bool isEvaluatingConstructor(APValue::LValueBase Decl, unsigned CallIndex, -+ unsigned Version) { -+ return EvaluatingConstructors.count( -+ EvaluatingObject(Decl, {CallIndex, Version})); - } - - /// The current array initialization index, if we're performing array -@@ -722,7 +765,7 @@ namespace { - void setEvaluatingDecl(APValue::LValueBase Base, APValue &Value) { - EvaluatingDecl = Base; - EvaluatingDeclValue = &Value; -- EvaluatingConstructors.insert({Base, 0}); -+ EvaluatingConstructors.insert({Base, {0, 0}}); - } - - const LangOptions &getLangOpts() const { return Ctx.getLangOpts(); } -@@ -1086,11 +1129,16 @@ namespace { - unsigned OldStackSize; - public: - ScopeRAII(EvalInfo &Info) -- : Info(Info), OldStackSize(Info.CleanupStack.size()) {} -+ : Info(Info), OldStackSize(Info.CleanupStack.size()) { -+ // Push a new temporary version. This is needed to distinguish between -+ // temporaries created in different iterations of a loop. -+ Info.CurrentCall->pushTempVersion(); -+ } - ~ScopeRAII() { - // Body moved to a static method to encourage the compiler to inline away - // instances of this class. - cleanup(Info, OldStackSize); -+ Info.CurrentCall->popTempVersion(); - } - private: - static void cleanup(EvalInfo &Info, unsigned OldStackSize) { -@@ -1170,7 +1218,8 @@ CallStackFrame::~CallStackFrame() { - - APValue &CallStackFrame::createTemporary(const void *Key, - bool IsLifetimeExtended) { -- APValue &Result = Temporaries[Key]; -+ unsigned Version = Info.CurrentCall->getTempVersion(); -+ APValue &Result = Temporaries[MapKeyTy(Key, Version)]; - assert(Result.isUninit() && "temporary created multiple times"); - Info.CleanupStack.push_back(Cleanup(&Result, IsLifetimeExtended)); - return Result; -@@ -1262,27 +1311,27 @@ namespace { - struct LValue { - APValue::LValueBase Base; - CharUnits Offset; -- unsigned InvalidBase : 1; -- unsigned CallIndex : 31; - SubobjectDesignator Designator; -- bool IsNullPtr; -+ bool IsNullPtr : 1; -+ bool InvalidBase : 1; - - const APValue::LValueBase getLValueBase() const { return Base; } - CharUnits &getLValueOffset() { return Offset; } - const CharUnits &getLValueOffset() const { return Offset; } -- unsigned getLValueCallIndex() const { return CallIndex; } - SubobjectDesignator &getLValueDesignator() { return Designator; } - const SubobjectDesignator &getLValueDesignator() const { return Designator;} - bool isNullPointer() const { return IsNullPtr;} - -+ unsigned getLValueCallIndex() const { return Base.getCallIndex(); } -+ unsigned getLValueVersion() const { return Base.getVersion(); } -+ - void moveInto(APValue &V) const { - if (Designator.Invalid) -- V = APValue(Base, Offset, APValue::NoLValuePath(), CallIndex, -- IsNullPtr); -+ V = APValue(Base, Offset, APValue::NoLValuePath(), IsNullPtr); - else { - assert(!InvalidBase && "APValues can't handle invalid LValue bases"); - V = APValue(Base, Offset, Designator.Entries, -- Designator.IsOnePastTheEnd, CallIndex, IsNullPtr); -+ Designator.IsOnePastTheEnd, IsNullPtr); - } - } - void setFrom(ASTContext &Ctx, const APValue &V) { -@@ -1290,12 +1339,11 @@ namespace { - Base = V.getLValueBase(); - Offset = V.getLValueOffset(); - InvalidBase = false; -- CallIndex = V.getLValueCallIndex(); - Designator = SubobjectDesignator(Ctx, V); - IsNullPtr = V.isNullPointer(); - } - -- void set(APValue::LValueBase B, unsigned I = 0, bool BInvalid = false) { -+ void set(APValue::LValueBase B, bool BInvalid = false) { - #ifndef NDEBUG - // We only allow a few types of invalid bases. Enforce that here. - if (BInvalid) { -@@ -1308,7 +1356,6 @@ namespace { - Base = B; - Offset = CharUnits::fromQuantity(0); - InvalidBase = BInvalid; -- CallIndex = I; - Designator = SubobjectDesignator(getType(B)); - IsNullPtr = false; - } -@@ -1317,13 +1364,12 @@ namespace { - Base = (Expr *)nullptr; - Offset = CharUnits::fromQuantity(TargetVal); - InvalidBase = false; -- CallIndex = 0; - Designator = SubobjectDesignator(PointerTy->getPointeeType()); - IsNullPtr = true; - } - - void setInvalid(APValue::LValueBase B, unsigned I = 0) { -- set(B, I, true); -+ set(B, true); - } - - // Check that this LValue is not based on a null pointer. If it is, produce -@@ -1525,6 +1571,15 @@ static bool EvaluateAsRValue(EvalInfo &Info, const - // Misc utilities - //===----------------------------------------------------------------------===// - -+/// A helper function to create a temporary and set an LValue. -+template <class KeyTy> -+static APValue &createTemporary(const KeyTy *Key, bool IsLifetimeExtended, -+ LValue &LV, CallStackFrame &Frame) { -+ LV.set({Key, Frame.Info.CurrentCall->Index, -+ Frame.Info.CurrentCall->getTempVersion()}); -+ return Frame.createTemporary(Key, IsLifetimeExtended); -+} -+ - /// Negate an APSInt in place, converting it to a signed form if necessary, and - /// preserving its value (by extending by up to one bit as needed). - static void negateAsSigned(APSInt &Int) { -@@ -1854,7 +1909,7 @@ static const ValueDecl *GetLValueBaseDecl(const LV - } - - static bool IsLiteralLValue(const LValue &Value) { -- if (Value.CallIndex) -+ if (Value.getLValueCallIndex()) - return false; - const Expr *E = Value.Base.dyn_cast<const Expr*>(); - return E && !isa<MaterializeTemporaryExpr>(E); -@@ -2404,7 +2459,7 @@ static bool handleLValueToRValueConversion(EvalInf - /// \param Result Filled in with a pointer to the value of the variable. - static bool evaluateVarDeclInit(EvalInfo &Info, const Expr *E, - const VarDecl *VD, CallStackFrame *Frame, -- APValue *&Result) { -+ APValue *&Result, const LValue *LVal) { - - // If this is a parameter to an active constexpr function call, perform - // argument substitution. -@@ -2423,7 +2478,8 @@ static bool evaluateVarDeclInit(EvalInfo &Info, co - - // If this is a local variable, dig out its value. - if (Frame) { -- Result = Frame->getTemporary(VD); -+ Result = LVal ? Frame->getTemporary(VD, LVal->getLValueVersion()) -+ : Frame->getCurrentTemporary(VD); - if (!Result) { - // Assume variables referenced within a lambda's call operator that were - // not declared within the call operator are captures and during checking -@@ -3000,8 +3056,8 @@ static CompleteObject findCompleteObject(EvalInfo - } - - CallStackFrame *Frame = nullptr; -- if (LVal.CallIndex) { -- Frame = Info.getCallFrame(LVal.CallIndex); -+ if (LVal.getLValueCallIndex()) { -+ Frame = Info.getCallFrame(LVal.getLValueCallIndex()); - if (!Frame) { - Info.FFDiag(E, diag::note_constexpr_lifetime_ended, 1) - << AK << LVal.Base.is<const ValueDecl*>(); -@@ -3113,7 +3169,7 @@ static CompleteObject findCompleteObject(EvalInfo - } - } - -- if (!evaluateVarDeclInit(Info, E, VD, Frame, BaseVal)) -+ if (!evaluateVarDeclInit(Info, E, VD, Frame, BaseVal, &LVal)) - return CompleteObject(); - } else { - const Expr *Base = LVal.Base.dyn_cast<const Expr*>(); -@@ -3155,7 +3211,7 @@ static CompleteObject findCompleteObject(EvalInfo - return CompleteObject(); - } - } else { -- BaseVal = Frame->getTemporary(Base); -+ BaseVal = Frame->getTemporary(Base, LVal.Base.getVersion()); - assert(BaseVal && "missing value for temporary"); - } - -@@ -3175,7 +3231,9 @@ static CompleteObject findCompleteObject(EvalInfo - // During the construction of an object, it is not yet 'const'. - // FIXME: This doesn't do quite the right thing for const subobjects of the - // object under construction. -- if (Info.isEvaluatingConstructor(LVal.getLValueBase(), LVal.CallIndex)) { -+ if (Info.isEvaluatingConstructor(LVal.getLValueBase(), -+ LVal.getLValueCallIndex(), -+ LVal.getLValueVersion())) { - BaseType = Info.Ctx.getCanonicalType(BaseType); - BaseType.removeLocalConst(); - } -@@ -3212,7 +3270,7 @@ static bool handleLValueToRValueConversion(EvalInf - - // Check for special cases where there is no existing APValue to look at. - const Expr *Base = LVal.Base.dyn_cast<const Expr*>(); -- if (Base && !LVal.CallIndex && !Type.isVolatileQualified()) { -+ if (Base && !LVal.getLValueCallIndex() && !Type.isVolatileQualified()) { - if (const CompoundLiteralExpr *CLE = dyn_cast<CompoundLiteralExpr>(Base)) { - // In C99, a CompoundLiteralExpr is an lvalue, and we defer evaluating the - // initializer until now for such expressions. Such an expression can't be -@@ -3715,8 +3773,7 @@ static bool EvaluateVarDecl(EvalInfo &Info, const - return true; - - LValue Result; -- Result.set(VD, Info.CurrentCall->Index); -- APValue &Val = Info.CurrentCall->createTemporary(VD, true); -+ APValue &Val = createTemporary(VD, true, Result, *Info.CurrentCall); - - const Expr *InitE = VD->getInit(); - if (!InitE) { -@@ -3772,6 +3829,19 @@ struct StmtResult { - /// The location containing the result, if any (used to support RVO). - const LValue *Slot; - }; -+ -+struct TempVersionRAII { -+ CallStackFrame &Frame; -+ -+ TempVersionRAII(CallStackFrame &Frame) : Frame(Frame) { -+ Frame.pushTempVersion(); -+ } -+ -+ ~TempVersionRAII() { -+ Frame.popTempVersion(); -+ } -+}; -+ - } - - static EvalStmtResult EvaluateStmt(StmtResult &Result, EvalInfo &Info, -@@ -4329,7 +4399,8 @@ static bool HandleConstructorCall(const Expr *E, c - } - - EvalInfo::EvaluatingConstructorRAII EvalObj( -- Info, {This.getLValueBase(), This.CallIndex}); -+ Info, {This.getLValueBase(), -+ {This.getLValueCallIndex(), This.getLValueVersion()}}); - CallStackFrame Frame(Info, CallLoc, Definition, &This, ArgValues); - - // FIXME: Creating an APValue just to hold a nonexistent return value is -@@ -4578,9 +4649,12 @@ class ExprEvaluatorBase - { return StmtVisitorTy::Visit(E->getResultExpr()); } - bool VisitSubstNonTypeTemplateParmExpr(const SubstNonTypeTemplateParmExpr *E) - { return StmtVisitorTy::Visit(E->getReplacement()); } -- bool VisitCXXDefaultArgExpr(const CXXDefaultArgExpr *E) -- { return StmtVisitorTy::Visit(E->getExpr()); } -+ bool VisitCXXDefaultArgExpr(const CXXDefaultArgExpr *E) { -+ TempVersionRAII RAII(*Info.CurrentCall); -+ return StmtVisitorTy::Visit(E->getExpr()); -+ } - bool VisitCXXDefaultInitExpr(const CXXDefaultInitExpr *E) { -+ TempVersionRAII RAII(*Info.CurrentCall); - // The initializer may not have been parsed yet, or might be erroneous. - if (!E->getExpr()) - return Error(E); -@@ -4658,7 +4732,7 @@ class ExprEvaluatorBase - } - - bool VisitOpaqueValueExpr(const OpaqueValueExpr *E) { -- if (APValue *Value = Info.CurrentCall->getTemporary(E)) -+ if (APValue *Value = Info.CurrentCall->getCurrentTemporary(E)) - return DerivedSuccess(*Value, E); - - const Expr *Source = E->getSourceExpr(); -@@ -5216,7 +5290,8 @@ bool LValueExprEvaluator::VisitVarDecl(const Expr - - if (!VD->getType()->isReferenceType()) { - if (Frame) { -- Result.set(VD, Frame->Index); -+ Result.set({VD, Frame->Index, -+ Info.CurrentCall->getCurrentTemporaryVersion(VD)}); - return true; - } - return Success(VD); -@@ -5223,7 +5298,7 @@ bool LValueExprEvaluator::VisitVarDecl(const Expr - } - - APValue *V; -- if (!evaluateVarDeclInit(Info, E, VD, Frame, V)) -+ if (!evaluateVarDeclInit(Info, E, VD, Frame, V, nullptr)) - return false; - if (V->isUninit()) { - if (!Info.checkingPotentialConstantExpression()) -@@ -5255,9 +5330,8 @@ bool LValueExprEvaluator::VisitMaterializeTemporar - *Value = APValue(); - Result.set(E); - } else { -- Value = &Info.CurrentCall-> -- createTemporary(E, E->getStorageDuration() == SD_Automatic); -- Result.set(E, Info.CurrentCall->Index); -+ Value = &createTemporary(E, E->getStorageDuration() == SD_Automatic, Result, -+ *Info.CurrentCall); - } - - QualType Type = Inner->getType(); -@@ -5736,7 +5810,6 @@ bool PointerExprEvaluator::VisitCastExpr(const Cas - Result.Base = (Expr*)nullptr; - Result.InvalidBase = false; - Result.Offset = CharUnits::fromQuantity(N); -- Result.CallIndex = 0; - Result.Designator.setInvalid(); - Result.IsNullPtr = false; - return true; -@@ -5752,9 +5825,9 @@ bool PointerExprEvaluator::VisitCastExpr(const Cas - if (!evaluateLValue(SubExpr, Result)) - return false; - } else { -- Result.set(SubExpr, Info.CurrentCall->Index); -- if (!EvaluateInPlace(Info.CurrentCall->createTemporary(SubExpr, false), -- Info, Result, SubExpr)) -+ APValue &Value = createTemporary(SubExpr, false, Result, -+ *Info.CurrentCall); -+ if (!EvaluateInPlace(Value, Info, Result, SubExpr)) - return false; - } - // The result is a pointer to the first element of the array. -@@ -6520,9 +6593,8 @@ class TemporaryExprEvaluator - - /// Visit an expression which constructs the value of this temporary. - bool VisitConstructExpr(const Expr *E) { -- Result.set(E, Info.CurrentCall->Index); -- return EvaluateInPlace(Info.CurrentCall->createTemporary(E, false), -- Info, Result, E); -+ APValue &Value = createTemporary(E, false, Result, *Info.CurrentCall); -+ return EvaluateInPlace(Value, Info, Result, E); - } - - bool VisitCastExpr(const CastExpr *E) { -@@ -8007,7 +8079,8 @@ static bool HasSameBase(const LValue &A, const LVa - } - - return IsGlobalLValue(A.getLValueBase()) || -- A.getLValueCallIndex() == B.getLValueCallIndex(); -+ (A.getLValueCallIndex() == B.getLValueCallIndex() && -+ A.getLValueVersion() == B.getLValueVersion()); - } - - /// \brief Determine whether this is a pointer past the end of the complete -@@ -9941,15 +10014,13 @@ static bool Evaluate(APValue &Result, EvalInfo &In - return true; - } else if (T->isArrayType()) { - LValue LV; -- LV.set(E, Info.CurrentCall->Index); -- APValue &Value = Info.CurrentCall->createTemporary(E, false); -+ APValue &Value = createTemporary(E, false, LV, *Info.CurrentCall); - if (!EvaluateArray(E, LV, Value, Info)) - return false; - Result = Value; - } else if (T->isRecordType()) { - LValue LV; -- LV.set(E, Info.CurrentCall->Index); -- APValue &Value = Info.CurrentCall->createTemporary(E, false); -+ APValue &Value = createTemporary(E, false, LV, *Info.CurrentCall); - if (!EvaluateRecord(E, LV, Value, Info)) - return false; - Result = Value; -@@ -9963,8 +10034,7 @@ static bool Evaluate(APValue &Result, EvalInfo &In - QualType Unqual = T.getAtomicUnqualifiedType(); - if (Unqual->isArrayType() || Unqual->isRecordType()) { - LValue LV; -- LV.set(E, Info.CurrentCall->Index); -- APValue &Value = Info.CurrentCall->createTemporary(E, false); -+ APValue &Value = createTemporary(E, false, LV, *Info.CurrentCall); - if (!EvaluateAtomic(E, &LV, Value, Info)) - return false; - } else { -@@ -10786,7 +10856,7 @@ bool Expr::isPotentialConstantExpr(const FunctionD - // is a temporary being used as the 'this' pointer. - LValue This; - ImplicitValueInitExpr VIE(RD ? Info.Ctx.getRecordType(RD) : Info.Ctx.IntTy); -- This.set(&VIE, Info.CurrentCall->Index); -+ This.set({&VIE, Info.CurrentCall->Index}); - - ArrayRef<const Expr*> Args; - -Index: tools/clang/test/SemaCXX/constant-expression-cxx1y.cpp -=================================================================== ---- tools/clang/test/SemaCXX/constant-expression-cxx1y.cpp (revision 342280) -+++ tools/clang/test/SemaCXX/constant-expression-cxx1y.cpp (revision 342281) -@@ -852,7 +852,6 @@ namespace Lifetime { - static_assert(h(2) == 0, ""); // expected-error {{constant expression}} expected-note {{in call}} - static_assert(h(3) == 0, ""); // expected-error {{constant expression}} expected-note {{in call}} - -- // FIXME: This function should be treated as non-constant. - constexpr void lifetime_versus_loops() { - int *p = 0; - for (int i = 0; i != 2; ++i) { -@@ -862,10 +861,10 @@ namespace Lifetime { - if (i) - // This modifies the 'n' from the previous iteration of the loop outside - // its lifetime. -- ++*q; -+ ++*q; // expected-note {{increment of object outside its lifetime}} - } - } -- static_assert((lifetime_versus_loops(), true), ""); -+ static_assert((lifetime_versus_loops(), true), ""); // expected-error {{constant expression}} expected-note {{in call}} - } - - namespace Bitfields { -Index: tools/clang/test/SemaCXX/constexpr-default-arg.cpp -=================================================================== ---- tools/clang/test/SemaCXX/constexpr-default-arg.cpp (nonexistent) -+++ tools/clang/test/SemaCXX/constexpr-default-arg.cpp (revision 342281) -@@ -0,0 +1,38 @@ -+// RUN: %clang_cc1 -std=c++1y -S -o - -emit-llvm -verify %s -+ -+namespace default_arg_temporary { -+ -+constexpr bool equals(const float& arg = 1.0f) { -+ return arg == 1.0f; -+} -+ -+constexpr const int &x(const int &p = 0) { -+ return p; -+} -+ -+struct S { -+ constexpr S(const int &a = 0) {} -+}; -+ -+void test_default_arg2() { -+ // This piece of code used to cause an assertion failure in -+ // CallStackFrame::createTemporary because the same MTE is used to initilize -+ // both elements of the array (see PR33140). -+ constexpr S s[2] = {}; -+ -+ // This piece of code used to cause an assertion failure in -+ // CallStackFrame::createTemporary because multiple CXXDefaultArgExpr share -+ // the same MTE (see PR33140). -+ static_assert(equals() && equals(), ""); -+ -+ // Test that constant expression evaluation produces distinct lvalues for -+ // each call. -+ static_assert(&x() != &x(), ""); -+} -+ -+// Check that multiple CXXDefaultInitExprs don't cause an assertion failure. -+struct A { int &&r = 0; }; // expected-warning {{binding reference member}} // expected-note {{reference member declared here}} -+struct B { A x, y; }; -+B b = {}; -+ -+} diff --git a/devel/llvm60/files/clang/patch-tools_clang_lib_Headers_CMakeLists.txt b/devel/llvm60/files/clang/patch-tools_clang_lib_Headers_CMakeLists.txt deleted file mode 100644 index 17043c6072cf..000000000000 --- a/devel/llvm60/files/clang/patch-tools_clang_lib_Headers_CMakeLists.txt +++ /dev/null @@ -1,32 +0,0 @@ ---- 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 diff --git a/devel/llvm60/files/clang/patch-tools_clang_tools_clang-format_clang-format-sublime.py b/devel/llvm60/files/clang/patch-tools_clang_tools_clang-format_clang-format-sublime.py deleted file mode 100644 index 2c8909f1e1d1..000000000000 --- a/devel/llvm60/files/clang/patch-tools_clang_tools_clang-format_clang-format-sublime.py +++ /dev/null @@ -1,14 +0,0 @@ - -$FreeBSD$ - ---- 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 diff --git a/devel/llvm60/files/clang/patch-tools_clang_tools_clang-format_clang-format.py b/devel/llvm60/files/clang/patch-tools_clang_tools_clang-format_clang-format.py deleted file mode 100644 index 2962d3f4cbcb..000000000000 --- a/devel/llvm60/files/clang/patch-tools_clang_tools_clang-format_clang-format.py +++ /dev/null @@ -1,11 +0,0 @@ ---- 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') - diff --git a/devel/llvm60/files/clang/patch-tools_clang_tools_clang-format_git-clang-format b/devel/llvm60/files/clang/patch-tools_clang_tools_clang-format_git-clang-format deleted file mode 100644 index 5c5ae3581228..000000000000 --- a/devel/llvm60/files/clang/patch-tools_clang_tools_clang-format_git-clang-format +++ /dev/null @@ -1,32 +0,0 @@ - -$FreeBSD$ - ---- 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 diff --git a/devel/llvm60/files/clang/patch-tools_clang_tools_scan-build_libexec_ccc-analyzer b/devel/llvm60/files/clang/patch-tools_clang_tools_scan-build_libexec_ccc-analyzer deleted file mode 100644 index e1c65480ce2f..000000000000 --- a/devel/llvm60/files/clang/patch-tools_clang_tools_scan-build_libexec_ccc-analyzer +++ /dev/null @@ -1,12 +0,0 @@ ---- 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 "FreeBSD\n") { -+ $DefaultCCompiler = 'cc'; -+ $DefaultCXXCompiler = 'c++'; - } else { - $DefaultCCompiler = 'gcc'; - $DefaultCXXCompiler = 'g++'; diff --git a/devel/llvm60/files/lld/patch-head-r331731.diff b/devel/llvm60/files/lld/patch-head-r331731.diff deleted file mode 100644 index 6b162d89f6be..000000000000 --- a/devel/llvm60/files/lld/patch-head-r331731.diff +++ /dev/null @@ -1,67 +0,0 @@ -r331731 | dim | 2018-03-29 15:55:23 +0200 (Thu, 29 Mar 2018) | 22 lines - -Pull in r328738 from upstream lld trunk (by Rafael Espindola): - - Strip @VER suffices from the LTO output. - - This fixes pr36623. - - The problem is that we have to parse versions out of names before LTO - so that LTO can use that information. - - When we get the LTO produced .o files, we replace the previous symbols - with the LTO produced ones, but they still have @ in their names. - - We could just trim the name directly, but calling parseSymbolVersion - to do it is simpler. - -This is a follow-up to r331366, since we discovered that lld could -append version strings to symbols twice, when using Link Time -Optimization. - -MFC after: 3 months -X-MFC-With: r327952 - -Index: tools/lld/ELF/InputFiles.cpp -=================================================================== ---- tools/lld/ELF/InputFiles.cpp (revision 331730) -+++ tools/lld/ELF/InputFiles.cpp (revision 331731) -@@ -281,6 +281,10 @@ template <class ELFT> ArrayRef<Symbol *> ObjFile<E - return makeArrayRef(this->Symbols).slice(1, this->FirstNonLocal - 1); - } - -+template <class ELFT> ArrayRef<Symbol *> ObjFile<ELFT>::getGlobalSymbols() { -+ return makeArrayRef(this->Symbols).slice(this->FirstNonLocal); -+} -+ - template <class ELFT> - void ObjFile<ELFT>::parse(DenseSet<CachedHashStringRef> &ComdatGroups) { - // Read section and symbol tables. -Index: tools/lld/ELF/InputFiles.h -=================================================================== ---- tools/lld/ELF/InputFiles.h (revision 331730) -+++ tools/lld/ELF/InputFiles.h (revision 331731) -@@ -167,6 +167,7 @@ template <class ELFT> class ObjFile : public ELFFi - static bool classof(const InputFile *F) { return F->kind() == Base::ObjKind; } - - ArrayRef<Symbol *> getLocalSymbols(); -+ ArrayRef<Symbol *> getGlobalSymbols(); - - ObjFile(MemoryBufferRef M, StringRef ArchiveName); - void parse(llvm::DenseSet<llvm::CachedHashStringRef> &ComdatGroups); -Index: tools/lld/ELF/SymbolTable.cpp -=================================================================== ---- tools/lld/ELF/SymbolTable.cpp (revision 331730) -+++ tools/lld/ELF/SymbolTable.cpp (revision 331731) -@@ -130,7 +130,10 @@ template <class ELFT> void SymbolTable::addCombine - - for (InputFile *File : LTO->compile()) { - DenseSet<CachedHashStringRef> DummyGroups; -- cast<ObjFile<ELFT>>(File)->parse(DummyGroups); -+ auto *Obj = cast<ObjFile<ELFT>>(File); -+ Obj->parse(DummyGroups); -+ for (Symbol *Sym : Obj->getGlobalSymbols()) -+ Sym->parseSymbolVersion(); - ObjectFiles.push_back(File); - } - } diff --git a/devel/llvm60/files/lld/patch-head-r333401.diff b/devel/llvm60/files/lld/patch-head-r333401.diff deleted file mode 100644 index 131f6a0ea274..000000000000 --- a/devel/llvm60/files/lld/patch-head-r333401.diff +++ /dev/null @@ -1,34 +0,0 @@ -r333401 | emaste | 2018-05-09 13:17:01 +0200 (Wed, 09 May 2018) | 19 lines - -lld: Omit PT_NOTE for SHT_NOTE without SHF_ALLOC - -A non-alloc note section should not have a PT_NOTE program header. - -Found while linking ghc (Haskell compiler) with lld on FreeBSD. Haskell -emits a .debug-ghc-link-info note section (as the name suggests, it -contains link info) as a SHT_NOTE section without SHF_ALLOC set. - -For this case ld.bfd does not emit a PT_NOTE segment for -.debug-ghc-link-info. lld previously emitted a PT_NOTE with p_vaddr = 0 -and FreeBSD's rtld segfaulted when trying to parse a note at address 0. - -LLVM PR: https://llvm.org/pr37361 -LLVM review: https://reviews.llvm.org/D46623 - -PR: 226872 -Reviewed by: dim -Sponsored by: The FreeBSD Foundation - -Index: tools/lld/ELF/Writer.cpp -=================================================================== ---- tools/lld/ELF/Writer.cpp (revision 333400) -+++ tools/lld/ELF/Writer.cpp (revision 333401) -@@ -1708,7 +1708,7 @@ template <class ELFT> std::vector<PhdrEntry *> Wri - // Create one PT_NOTE per a group of contiguous .note sections. - PhdrEntry *Note = nullptr; - for (OutputSection *Sec : OutputSections) { -- if (Sec->Type == SHT_NOTE) { -+ if (Sec->Type == SHT_NOTE && (Sec->Flags & SHF_ALLOC)) { - if (!Note || Sec->LMAExpr) - Note = AddHdr(PT_NOTE, PF_R); - Note->add(Sec); diff --git a/devel/llvm60/files/lld/patch-head-r336664.diff b/devel/llvm60/files/lld/patch-head-r336664.diff deleted file mode 100644 index e26fd06d4c5e..000000000000 --- a/devel/llvm60/files/lld/patch-head-r336664.diff +++ /dev/null @@ -1,52 +0,0 @@ -r336664 | emaste | 2018-07-24 13:35:22 +0200 (Tue, 24 Jul 2018) | 11 lines - -lld: fix addends with partial linking - -[ELF] Update addends in non-allocatable sections for REL targets when -creating a relocatable output. - -LLVM PR: 37735 -LLVM Differential Revision: https://reviews.llvm.org/D48929 - -PR: 225128 -Obtained from: LLVM r336799 by Igor Kudrin - -Index: tools/lld/ELF/InputSection.cpp -=================================================================== ---- tools/lld/ELF/InputSection.cpp (revision 336663) -+++ tools/lld/ELF/InputSection.cpp (revision 336664) -@@ -686,6 +686,23 @@ void InputSection::relocateNonAlloc(uint8_t *Buf, - } - } - -+// This is used when '-r' is given. -+// For REL targets, InputSection::copyRelocations() may store artificial -+// relocations aimed to update addends. They are handled in relocateAlloc() -+// for allocatable sections, and this function does the same for -+// non-allocatable sections, such as sections with debug information. -+static void relocateNonAllocForRelocatable(InputSection *Sec, uint8_t *Buf) { -+ const unsigned Bits = Config->Is64 ? 64 : 32; -+ -+ for (const Relocation &Rel : Sec->Relocations) { -+ // InputSection::copyRelocations() adds only R_ABS relocations. -+ assert(Rel.Expr == R_ABS); -+ uint8_t *BufLoc = Buf + Rel.Offset + Sec->OutSecOff; -+ uint64_t TargetVA = SignExtend64(Rel.Sym->getVA(Rel.Addend), Bits); -+ Target->relocateOne(BufLoc, Rel.Type, TargetVA); -+ } -+} -+ - template <class ELFT> - void InputSectionBase::relocate(uint8_t *Buf, uint8_t *BufEnd) { - if (Flags & SHF_ALLOC) { -@@ -694,7 +711,9 @@ void InputSectionBase::relocate(uint8_t *Buf, uint - } - - auto *Sec = cast<InputSection>(this); -- if (Sec->AreRelocsRela) -+ if (Config->Relocatable) -+ relocateNonAllocForRelocatable(Sec, Buf); -+ else if (Sec->AreRelocsRela) - Sec->relocateNonAlloc<ELFT>(Buf, Sec->template relas<ELFT>()); - else - Sec->relocateNonAlloc<ELFT>(Buf, Sec->template rels<ELFT>()); diff --git a/devel/llvm60/files/lld/patch-head-r336972.diff b/devel/llvm60/files/lld/patch-head-r336972.diff deleted file mode 100644 index d7497ce5390a..000000000000 --- a/devel/llvm60/files/lld/patch-head-r336972.diff +++ /dev/null @@ -1,146 +0,0 @@ -r336972 | emaste | 2018-07-31 17:25:03 +0200 (Tue, 31 Jul 2018) | 37 lines - -lld: [ELF][ARM] Implement support for Tag_ABI_VFP_args - -The Tag_ABI_VFP_args build attribute controls the procedure call -standard used for floating point parameters on ARM. The values are: - -0 - Base AAPCS (FP Parameters passed in Core (Integer) registers -1 - VFP AAPCS (FP Parameters passed in FP registers) -2 - Toolchain specific (Neither Base or VFP) -3 - Compatible with all (No use of floating point parameters) - -If the Tag_ABI_VFP_args build attribute is missing it has an implicit -value of 0. - -We use the attribute in two ways: - -* Detect a clash in calling convention between Base, VFP and Toolchain. - -we follow ld.bfd's lead and do not error if there is a clash between an -implicit Base AAPCS caused by a missing attribute. Many projects -including the hard-float (VFP AAPCS) version of glibc contain assembler -files that do not use floating point but do not have Tag_ABI_VFP_args. - -* Set the EF_ARM_ABI_FLOAT_SOFT or EF_ARM_ABI_FLOAT_HARD ELF header flag - -for Base or VFP AAPCS respectively. This flag is used by some ELF -loaders. - -References: -* Addenda to, and Errata in, the ABI for the ARM Architecture for - Tag_ABI_VFP_args -* Elf for the ARM Architecture for ELF header flags - -Fixes LLVM PR36009 - -PR: 229050 -Obtained from: llvm r338377 by Peter Smith - -Index: tools/lld/ELF/Arch/ARM.cpp -=================================================================== ---- tools/lld/ELF/Arch/ARM.cpp (revision 336971) -+++ tools/lld/ELF/Arch/ARM.cpp (revision 336972) -@@ -97,10 +97,19 @@ ARM::ARM() { - } - - uint32_t ARM::calcEFlags() const { -+ // The ABIFloatType is used by loaders to detect the floating point calling -+ // convention. -+ uint32_t ABIFloatType = 0; -+ if (Config->ARMVFPArgs == ARMVFPArgKind::Base || -+ Config->ARMVFPArgs == ARMVFPArgKind::Default) -+ ABIFloatType = EF_ARM_ABI_FLOAT_SOFT; -+ else if (Config->ARMVFPArgs == ARMVFPArgKind::VFP) -+ ABIFloatType = EF_ARM_ABI_FLOAT_HARD; -+ - // We don't currently use any features incompatible with EF_ARM_EABI_VER5, - // but we don't have any firm guarantees of conformance. Linux AArch64 - // kernels (as of 2016) require an EABI version to be set. -- return EF_ARM_EABI_VER5; -+ return EF_ARM_EABI_VER5 | ABIFloatType; - } - - RelExpr ARM::getRelExpr(RelType Type, const Symbol &S, -Index: tools/lld/ELF/Config.h -=================================================================== ---- tools/lld/ELF/Config.h (revision 336971) -+++ tools/lld/ELF/Config.h (revision 336972) -@@ -54,6 +54,9 @@ enum class SortSectionPolicy { Default, None, Alig - // For --target2 - enum class Target2Policy { Abs, Rel, GotRel }; - -+// For tracking ARM Float Argument PCS -+enum class ARMVFPArgKind { Default, Base, VFP, ToolChain }; -+ - struct SymbolVersion { - llvm::StringRef Name; - bool IsExternCpp; -@@ -169,6 +172,7 @@ struct Configuration { - StripPolicy Strip; - UnresolvedPolicy UnresolvedSymbols; - Target2Policy Target2; -+ ARMVFPArgKind ARMVFPArgs = ARMVFPArgKind::Default; - BuildIdKind BuildId = BuildIdKind::None; - ELFKind EKind = ELFNoneKind; - uint16_t DefaultSymbolVersion = llvm::ELF::VER_NDX_GLOBAL; -Index: tools/lld/ELF/InputFiles.cpp -=================================================================== ---- tools/lld/ELF/InputFiles.cpp (revision 336971) -+++ tools/lld/ELF/InputFiles.cpp (revision 336972) -@@ -441,6 +441,46 @@ void ObjFile<ELFT>::initializeSections( - } - } - -+// For ARM only, to set the EF_ARM_ABI_FLOAT_SOFT or EF_ARM_ABI_FLOAT_HARD -+// flag in the ELF Header we need to look at Tag_ABI_VFP_args to find out how -+// the input objects have been compiled. -+static void updateARMVFPArgs(const ARMAttributeParser &Attributes, -+ const InputFile *F) { -+ if (!Attributes.hasAttribute(ARMBuildAttrs::ABI_VFP_args)) -+ // If an ABI tag isn't present then it is implicitly given the value of 0 -+ // which maps to ARMBuildAttrs::BaseAAPCS. However many assembler files, -+ // including some in glibc that don't use FP args (and should have value 3) -+ // don't have the attribute so we do not consider an implicit value of 0 -+ // as a clash. -+ return; -+ -+ unsigned VFPArgs = Attributes.getAttributeValue(ARMBuildAttrs::ABI_VFP_args); -+ ARMVFPArgKind Arg; -+ switch (VFPArgs) { -+ case ARMBuildAttrs::BaseAAPCS: -+ Arg = ARMVFPArgKind::Base; -+ break; -+ case ARMBuildAttrs::HardFPAAPCS: -+ Arg = ARMVFPArgKind::VFP; -+ break; -+ case ARMBuildAttrs::ToolChainFPPCS: -+ // Tool chain specific convention that conforms to neither AAPCS variant. -+ Arg = ARMVFPArgKind::ToolChain; -+ break; -+ case ARMBuildAttrs::CompatibleFPAAPCS: -+ // Object compatible with all conventions. -+ return; -+ default: -+ error(toString(F) + ": unknown Tag_ABI_VFP_args value: " + Twine(VFPArgs)); -+ return; -+ } -+ // Follow ld.bfd and error if there is a mix of calling conventions. -+ if (Config->ARMVFPArgs != Arg && Config->ARMVFPArgs != ARMVFPArgKind::Default) -+ error(toString(F) + ": incompatible Tag_ABI_VFP_args"); -+ else -+ Config->ARMVFPArgs = Arg; -+} -+ - // The ARM support in lld makes some use of instructions that are not available - // on all ARM architectures. Namely: - // - Use of BLX instruction for interworking between ARM and Thumb state. -@@ -520,6 +560,8 @@ InputSectionBase *ObjFile<ELFT>::createInputSectio - ArrayRef<uint8_t> Contents = check(this->getObj().getSectionContents(&Sec)); - Attributes.Parse(Contents, /*isLittle*/ Config->EKind == ELF32LEKind); - updateSupportedARMFeatures(Attributes); -+ updateARMVFPArgs(Attributes, this); -+ - // FIXME: Retain the first attribute section we see. The eglibc ARM - // dynamic loaders require the presence of an attribute section for dlopen - // to work. In a full implementation we would merge all attribute sections. diff --git a/devel/llvm60/files/lld/patch-head-r337282.diff b/devel/llvm60/files/lld/patch-head-r337282.diff deleted file mode 100644 index 1e046d6e2b17..000000000000 --- a/devel/llvm60/files/lld/patch-head-r337282.diff +++ /dev/null @@ -1,39 +0,0 @@ -r337282 | alc | 2018-08-04 04:30:51 +0200 (Sat, 04 Aug 2018) | 7 lines - -Set the default image base on arm64 and i386 to a superpage-aligned -address. - -Reviewed by: emaste, markj -Discussed with: dim -Differential Revision: https://reviews.freebsd.org/D16385 - -Index: tools/lld/ELF/Arch/AArch64.cpp -=================================================================== ---- tools/lld/ELF/Arch/AArch64.cpp (revision 337281) -+++ tools/lld/ELF/Arch/AArch64.cpp (revision 337282) -@@ -66,6 +66,10 @@ AArch64::AArch64() { - PltHeaderSize = 32; - DefaultMaxPageSize = 65536; - -+ // Align to the 2 MiB page size (known as a superpage or huge page). -+ // FreeBSD automatically promotes 2 MiB-aligned allocations. -+ DefaultImageBase = 0x200000; -+ - // It doesn't seem to be documented anywhere, but tls on aarch64 uses variant - // 1 of the tls structures and the tcb size is 16. - TcbSize = 16; -Index: tools/lld/ELF/Arch/X86.cpp -=================================================================== ---- tools/lld/ELF/Arch/X86.cpp (revision 337281) -+++ tools/lld/ELF/Arch/X86.cpp (revision 337282) -@@ -61,6 +61,10 @@ X86::X86() { - PltHeaderSize = 16; - TlsGdRelaxSkip = 2; - TrapInstr = 0xcccccccc; // 0xcc = INT3 -+ -+ // Align to the non-PAE large page size (known as a superpage or huge page). -+ // FreeBSD automatically promotes large, superpage-aligned allocations. -+ DefaultImageBase = 0x400000; - } - - static bool hasBaseReg(uint8_t ModRM) { return (ModRM & 0xc7) != 0x5; } diff --git a/devel/llvm60/files/lld/patch-head-r338251.diff b/devel/llvm60/files/lld/patch-head-r338251.diff deleted file mode 100644 index 1c3df02100cd..000000000000 --- a/devel/llvm60/files/lld/patch-head-r338251.diff +++ /dev/null @@ -1,123 +0,0 @@ -r338251 | markj | 2018-08-23 16:58:19 +0200 (Thu, 23 Aug 2018) | 29 lines - -Add an lld option to emit PC-relative relocations for ifunc calls. - -The current kernel ifunc implementation creates a PLT entry for each -ifunc definition. ifunc calls therefore consist of a call to the -PLT entry followed by an indirect jump. The jump target is written -during boot when the kernel linker resolves R_[*]_IRELATIVE relocations. -This implementation is defined by requirements for userland code, where -text relocations are avoided. This requirement is not present for the -kernel, so the implementation has avoidable overhead (namely, an extra -indirect jump per call). - -Address this for now by adding a special option to the static linker -to inhibit PLT creation for ifuncs. Instead, relocations to ifunc call -sites are passed through to the output file, so the kernel linker can -enumerate such call sites and apply PC-relative relocations directly -to the text section. Thus the overhead of an ifunc call becomes exactly -the same as that of an ordinary function call. This option is only for -use by the kernel and will not work for regular programs. - -The final form of this optimization is up for debate; for now, this -change is simple and static enough to be acceptable as an interim -solution. - -Reviewed by: emaste -Discussed with: arichardson, dim -MFC after: 1 month -Sponsored by: The FreeBSD Foundation -Differential Revision: https://reviews.freebsd.org/D16748 - -Index: tools/lld/ELF/Config.h -=================================================================== ---- tools/lld/ELF/Config.h (revision 338250) -+++ tools/lld/ELF/Config.h (revision 338251) -@@ -155,6 +155,7 @@ struct Configuration { - bool ZCombreloc; - bool ZExecstack; - bool ZHazardplt; -+ bool ZIfuncnoplt; - bool ZNocopyreloc; - bool ZNodelete; - bool ZNodlopen; -Index: tools/lld/ELF/Driver.cpp -=================================================================== ---- tools/lld/ELF/Driver.cpp (revision 338250) -+++ tools/lld/ELF/Driver.cpp (revision 338251) -@@ -669,6 +669,7 @@ void LinkerDriver::readConfigs(opt::InputArgList & - Config->ZCombreloc = !hasZOption(Args, "nocombreloc"); - Config->ZExecstack = hasZOption(Args, "execstack"); - Config->ZHazardplt = hasZOption(Args, "hazardplt"); -+ Config->ZIfuncnoplt = hasZOption(Args, "ifunc-noplt"); - Config->ZNocopyreloc = hasZOption(Args, "nocopyreloc"); - Config->ZNodelete = hasZOption(Args, "nodelete"); - Config->ZNodlopen = hasZOption(Args, "nodlopen"); -Index: tools/lld/ELF/Relocations.cpp -=================================================================== ---- tools/lld/ELF/Relocations.cpp (revision 338250) -+++ tools/lld/ELF/Relocations.cpp (revision 338251) -@@ -374,6 +374,9 @@ static bool isStaticLinkTimeConstant(RelExpr E, Re - R_PPC_PLT_OPD, R_TLSDESC_CALL, R_TLSDESC_PAGE, R_HINT>(E)) - return true; - -+ if (Sym.isGnuIFunc() && Config->ZIfuncnoplt) -+ return false; -+ - // These never do, except if the entire file is position dependent or if - // only the low bits are used. - if (E == R_GOT || E == R_PLT || E == R_TLSDESC) -@@ -921,7 +924,9 @@ static void scanRelocs(InputSectionBase &Sec, Arra - // Strenghten or relax a PLT access. - // - // GNU ifunc symbols must be accessed via PLT because their addresses -- // are determined by runtime. -+ // are determined by runtime. If the -z ifunc-noplt option is specified, -+ // we permit the optimization of ifunc calls by omitting the PLT entry -+ // and preserving relocations at ifunc call sites. - // - // On the other hand, if we know that a PLT entry will be resolved within - // the same ELF module, we can skip PLT access and directly jump to the -@@ -929,7 +934,7 @@ static void scanRelocs(InputSectionBase &Sec, Arra - // all dynamic symbols that can be resolved within the executable will - // actually be resolved that way at runtime, because the main exectuable - // is always at the beginning of a search list. We can leverage that fact. -- if (Sym.isGnuIFunc()) -+ if (Sym.isGnuIFunc() && !Config->ZIfuncnoplt) - Expr = toPlt(Expr); - else if (!Preemptible && Expr == R_GOT_PC && !isAbsoluteValue(Sym)) - Expr = -@@ -1034,6 +1039,16 @@ static void scanRelocs(InputSectionBase &Sec, Arra - continue; - } - -+ // Preserve relocations against ifuncs if we were asked to do so. -+ if (Sym.isGnuIFunc() && Config->ZIfuncnoplt) { -+ if (Config->IsRela) -+ InX::RelaDyn->addReloc({Type, &Sec, Offset, false, &Sym, Addend}); -+ else -+ // Preserve the existing addend. -+ InX::RelaDyn->addReloc({Type, &Sec, Offset, false, &Sym, 0}); -+ continue; -+ } -+ - // If the output being produced is position independent, the final value - // is still not known. In that case we still need some help from the - // dynamic linker. We can however do better than just copying the incoming -Index: tools/lld/ELF/Writer.cpp -=================================================================== ---- tools/lld/ELF/Writer.cpp (revision 338250) -+++ tools/lld/ELF/Writer.cpp (revision 338251) -@@ -1400,8 +1400,11 @@ template <class ELFT> void Writer<ELFT>::finalizeS - applySynthetic({InX::EhFrame}, - [](SyntheticSection *SS) { SS->finalizeContents(); }); - -- for (Symbol *S : Symtab->getSymbols()) -+ for (Symbol *S : Symtab->getSymbols()) { - S->IsPreemptible |= computeIsPreemptible(*S); -+ if (S->isGnuIFunc() && Config->ZIfuncnoplt) -+ S->ExportDynamic = true; -+ } - - // Scan relocations. This must be done after every symbol is declared so that - // we can correctly decide if a dynamic relocation is needed. diff --git a/devel/llvm60/files/lld/patch-head-r338682.diff b/devel/llvm60/files/lld/patch-head-r338682.diff deleted file mode 100644 index 1783fe227489..000000000000 --- a/devel/llvm60/files/lld/patch-head-r338682.diff +++ /dev/null @@ -1,55 +0,0 @@ -r338682 | emaste | 2018-09-14 17:15:16 +0200 (Fri, 14 Sep 2018) | 16 lines - -lld: add -z interpose support - --z interpose sets the DF_1_INTERPOSE flag, marking the object as an -interposer. - -Committed upstream as LLVM r342239. - -PR: 230604 -Reported by: jbeich -Reviewed by: markj -Approved by: re (kib) -MFC after: 1 week -Relnotes: Yes -Sponsored by: The FreeBSD Foundation -Differential Revision: https://reviews.freebsd.org/D17172 - -Index: tools/lld/ELF/Config.h -=================================================================== ---- tools/lld/ELF/Config.h (revision 338681) -+++ tools/lld/ELF/Config.h (revision 338682) -@@ -156,6 +156,7 @@ struct Configuration { - bool ZExecstack; - bool ZHazardplt; - bool ZIfuncnoplt; -+ bool ZInterpose; - bool ZNocopyreloc; - bool ZNodelete; - bool ZNodlopen; -Index: tools/lld/ELF/Driver.cpp -=================================================================== ---- tools/lld/ELF/Driver.cpp (revision 338681) -+++ tools/lld/ELF/Driver.cpp (revision 338682) -@@ -670,6 +670,7 @@ void LinkerDriver::readConfigs(opt::InputArgList & - Config->ZExecstack = hasZOption(Args, "execstack"); - Config->ZHazardplt = hasZOption(Args, "hazardplt"); - Config->ZIfuncnoplt = hasZOption(Args, "ifunc-noplt"); -+ Config->ZInterpose = hasZOption(Args, "interpose"); - Config->ZNocopyreloc = hasZOption(Args, "nocopyreloc"); - Config->ZNodelete = hasZOption(Args, "nodelete"); - Config->ZNodlopen = hasZOption(Args, "nodlopen"); -Index: tools/lld/ELF/SyntheticSections.cpp -=================================================================== ---- tools/lld/ELF/SyntheticSections.cpp (revision 338681) -+++ tools/lld/ELF/SyntheticSections.cpp (revision 338682) -@@ -1034,6 +1034,8 @@ template <class ELFT> void DynamicSection<ELFT>::f - uint32_t DtFlags1 = 0; - if (Config->Bsymbolic) - DtFlags |= DF_SYMBOLIC; -+ if (Config->ZInterpose) -+ DtFlags1 |= DF_1_INTERPOSE; - if (Config->ZNodelete) - DtFlags1 |= DF_1_NODELETE; - if (Config->ZNodlopen) diff --git a/devel/llvm60/files/lld/patch-head-r339013.diff b/devel/llvm60/files/lld/patch-head-r339013.diff deleted file mode 100644 index ba614706a88d..000000000000 --- a/devel/llvm60/files/lld/patch-head-r339013.diff +++ /dev/null @@ -1,39 +0,0 @@ -r339013 | dim | 2018-09-29 16:12:03 +0200 (Sat, 29 Sep 2018) | 24 lines - -Pull in r329557 from upstream lld trunk (by George Rimar): - - [ELF] - Allow LLD to produce file symbols. - - This is for PR36716 and - this enables emitting STT_FILE symbols. - - Output size affect is minor: - lld binary size changes from 52,883,408 to 52,949,400 - clang binary size changes from 83,136,456 to 83,219,600 - - Differential revision: https://reviews.llvm.org/D45261 - -This fixes a regression in lld that made it stop emitting STT_FILE -symbols, which ctfmerge relies upon to uniquify function table entries -that reference STB_LOCAL symbols. Consequently, ctfmerge stopped -emitting entries for static functions into the function table, and -dtrace no longer gets type info for them. - -Approved by: re (kib) -Reported by: markj -PR: 230444 -MFC after: 3 days - -Index: tools/lld/ELF/Writer.cpp -=================================================================== ---- tools/lld/ELF/Writer.cpp (revision 339012) -+++ tools/lld/ELF/Writer.cpp (revision 339013) -@@ -487,7 +487,7 @@ template <class ELFT> void Writer<ELFT>::run() { - - static bool shouldKeepInSymtab(SectionBase *Sec, StringRef SymName, - const Symbol &B) { -- if (B.isFile() || B.isSection()) -+ if (B.isSection()) - return false; - - // If sym references a section in a discarded group, don't keep it. diff --git a/devel/llvm60/files/lld/patch-head-r339304.diff b/devel/llvm60/files/lld/patch-head-r339304.diff deleted file mode 100644 index 59ff933dfff6..000000000000 --- a/devel/llvm60/files/lld/patch-head-r339304.diff +++ /dev/null @@ -1,37 +0,0 @@ -r339304 | emaste | 2018-10-11 15:19:17 +0200 (Thu, 11 Oct 2018) | 13 lines - -lld: set sh_link and sh_info for .rela.plt sections - -ELF spec says that for SHT_REL and SHT_RELA sh_link should reference the -associated string table and sh_info should reference the "section to -which the relocation applies." ELF Tool Chain's elfcopy / strip use -this (in part) to control whether or not the relocation entry is copied -to the output. - -LLVM PR 37538 https://bugs.llvm.org/show_bug.cgi?id=37538 - -Approved by: re (kib) -Obtained from: llvm r344226 (backported for 6.0) - -Index: tools/lld/ELF/SyntheticSections.cpp -=================================================================== ---- tools/lld/ELF/SyntheticSections.cpp (revision 339303) -+++ tools/lld/ELF/SyntheticSections.cpp (revision 339304) -@@ -1213,11 +1213,13 @@ void RelocationBaseSection::addReloc(const Dynamic - void RelocationBaseSection::finalizeContents() { - // If all relocations are R_*_RELATIVE they don't refer to any - // dynamic symbol and we don't need a dynamic symbol table. If that -- // is the case, just use 0 as the link. -- Link = InX::DynSymTab ? InX::DynSymTab->getParent()->SectionIndex : 0; -+ // is the case, just use the index of the regular symbol table section. -+ getParent()->Link = InX::DynSymTab ? -+ InX::DynSymTab->getParent()->SectionIndex : -+ InX::SymTab->getParent()->SectionIndex; - -- // Set required output section properties. -- getParent()->Link = Link; -+ if (InX::RelaIplt == this || InX::RelaPlt == this) -+ getParent()->Info = InX::GotPlt->getParent()->SectionIndex; - } - - template <class ELFT> diff --git a/devel/llvm60/files/lldb/patch-head-r332849.diff b/devel/llvm60/files/lldb/patch-head-r332849.diff deleted file mode 100644 index ced3a7a80319..000000000000 --- a/devel/llvm60/files/lldb/patch-head-r332849.diff +++ /dev/null @@ -1,38 +0,0 @@ -r332849 | emaste | 2018-04-21 02:34:46 +0200 (Sat, 21 Apr 2018) | 20 lines - -lldb: propagate error to user if memory read fails - -Previously, an attempt to read an unreadable access reported zeros: - -(lldb) memory read -format hex -size 8 0 -0x00000000: 0x0000000000000000 0x0000000000000000 -0x00000010: 0x0000000000000000 0x0000000000000000 -... - -Now, if DoReadMemory encounters error then return 0 (bytes read) so we -report the error to the user: - -(lldb) memory read -format hex -size 8 0 -error: Bad address - -LLVM PR: 37190 - -MFC after: 1 week -Sponsored by: The FreeBSD Foundation - -Index: tools/lldb/source/Plugins/Process/FreeBSD/ProcessMonitor.cpp -=================================================================== ---- tools/lldb/source/Plugins/Process/FreeBSD/ProcessMonitor.cpp (revision 332848) -+++ tools/lldb/source/Plugins/Process/FreeBSD/ProcessMonitor.cpp (revision 332849) -@@ -163,8 +163,10 @@ static size_t DoReadMemory(lldb::pid_t pid, lldb:: - pi_desc.piod_addr = buf; - pi_desc.piod_len = size; - -- if (PTRACE(PT_IO, pid, (caddr_t)&pi_desc, 0) < 0) -+ if (PTRACE(PT_IO, pid, (caddr_t)&pi_desc, 0) < 0) { - error.SetErrorToErrno(); -+ return 0; -+ } - return pi_desc.piod_len; - } - diff --git a/devel/llvm60/files/lldb/patch-head-r332965.diff b/devel/llvm60/files/lldb/patch-head-r332965.diff deleted file mode 100644 index 67e33f30e33a..000000000000 --- a/devel/llvm60/files/lldb/patch-head-r332965.diff +++ /dev/null @@ -1,22 +0,0 @@ -r332965 | emaste | 2018-04-24 21:26:58 +0200 (Tue, 24 Apr 2018) | 8 lines - -lldb: remove assertion that target_arch is FreeBSD - -The target is not necessarily a FreeBSD binary - for example, it may be -a Linux binary running under the linuxulator. Basic ptrace (live) -debugging already worked in this case, except for the assertion. - -Sponsored by: Turing Robotic Industries Inc. - -Index: tools/lldb/source/Plugins/Process/FreeBSD/FreeBSDThread.cpp -=================================================================== ---- tools/lldb/source/Plugins/Process/FreeBSD/FreeBSDThread.cpp (revision 332964) -+++ tools/lldb/source/Plugins/Process/FreeBSD/FreeBSDThread.cpp (revision 332965) -@@ -169,7 +169,6 @@ lldb::RegisterContextSP FreeBSDThread::GetRegister - RegisterInfoInterface *reg_interface = NULL; - const ArchSpec &target_arch = GetProcess()->GetTarget().GetArchitecture(); - -- assert(target_arch.GetTriple().getOS() == llvm::Triple::FreeBSD); - switch (target_arch.GetMachine()) { - case llvm::Triple::aarch64: - reg_interface = new RegisterInfoPOSIX_arm64(target_arch); diff --git a/devel/llvm60/files/llvm-wrapper.sh.in b/devel/llvm60/files/llvm-wrapper.sh.in deleted file mode 100644 index dfece2c0ced9..000000000000 --- a/devel/llvm60/files/llvm-wrapper.sh.in +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/sh -# $FreeBSD$ - -LLVM_PREFIX="%%LLVM_PREFIX%%" -LLVM_SUFFIX="%%LLVM_SUFFIX%%" - -tool=$0 -[ -L "$tool" ] && tool=$(/bin/realpath $tool) -tool=${tool##*/} -tool="${LLVM_PREFIX}/bin/${tool%${LLVM_SUFFIX}}" -LD_LIBRARY_PATH="${LD_LIBRARY_PATH:+${LD_LIBRARY_PATH}:}${LLVM_PREFIX}/lib" \ - exec "${tool}" "${@}" diff --git a/devel/llvm60/files/openmp/patch-bug32279 b/devel/llvm60/files/openmp/patch-bug32279 deleted file mode 100644 index 420402ab15a6..000000000000 --- a/devel/llvm60/files/openmp/patch-bug32279 +++ /dev/null @@ -1,29 +0,0 @@ ---- 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 "FreeBSD") -+ 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 "FreeBSD") - 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) diff --git a/devel/llvm60/files/openmp/patch-i386 b/devel/llvm60/files/openmp/patch-i386 deleted file mode 100644 index 9300640f6845..000000000000 --- a/devel/llvm60/files/openmp/patch-i386 +++ /dev/null @@ -1,11 +0,0 @@ ---- 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 - diff --git a/devel/llvm60/files/patch-cmake_modules_AddSphinxTarget.cmake b/devel/llvm60/files/patch-cmake_modules_AddSphinxTarget.cmake deleted file mode 100644 index f4fc8f25e306..000000000000 --- a/devel/llvm60/files/patch-cmake_modules_AddSphinxTarget.cmake +++ /dev/null @@ -1,11 +0,0 @@ ---- 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}" diff --git a/devel/llvm60/files/patch-head-r308867.diff b/devel/llvm60/files/patch-head-r308867.diff deleted file mode 100644 index 07efefa7c899..000000000000 --- a/devel/llvm60/files/patch-head-r308867.diff +++ /dev/null @@ -1,33 +0,0 @@ -r308867 | dim | 2016-11-19 22:05:17 +0100 (Sat, 19 Nov 2016) | 15 lines - -Work around LLVM PR30879, which is about a bad interaction between X86 -Call Frame Optimization on i386 and libunwind, by disallowing the -optimization for i386-freebsd12. - -This should fix some instances of broken exception handling when frame -pointers are omitted, in particular some unittests run during the build -of editors/libreoffice. - -This hack will be removed as soon as upstream has implemented a more -permanent fix for this problem. - -Upstream PR: https://llvm.org/bugs/show_bug.cgi?id=30879 -Reviewed by: emaste -PR: 212343 - -Index: lib/Target/X86/X86CallFrameOptimization.cpp -=================================================================== ---- lib/Target/X86/X86CallFrameOptimization.cpp (revision 308866) -+++ lib/Target/X86/X86CallFrameOptimization.cpp (revision 308867) -@@ -125,6 +125,11 @@ bool X86CallFrameOptimization::isLegal(MachineFunc - if (NoX86CFOpt.getValue()) - return false; - -+ // Work around LLVM PR30879 (bad interaction between CFO and libunwind) -+ if (STI->isTargetFreeBSD() && STI->is32Bit() && -+ STI->getTargetTriple().getOSMajorVersion() >= 12) -+ return false; -+ - // We can't encode multiple DW_CFA_GNU_args_size or DW_CFA_def_cfa_offset - // in the compact unwind encoding that Darwin uses. So, bail if there - // is a danger of that being generated. diff --git a/devel/llvm60/files/patch-head-r330686.diff b/devel/llvm60/files/patch-head-r330686.diff deleted file mode 100644 index 5a5f04e3b0ef..000000000000 --- a/devel/llvm60/files/patch-head-r330686.diff +++ /dev/null @@ -1,80 +0,0 @@ -r330686 | dim | 2018-03-09 10:21:22 +0100 (Fri, 09 Mar 2018) | 20 lines - -Pull in r326882 from upstream llvm trunk (by Sjoerd Meijer): - - [ARM] Fix for PR36577 - - Don't PerformSHLSimplify if the given node is used by a node that - also uses a constant because we may get stuck in an infinite combine - loop. - - bugzilla: https://bugs.llvm.org/show_bug.cgi?id=36577 - - Patch by Sam Parker. - - Differential Revision: https://reviews.llvm.org/D44097 - -This fixes a hang when compiling one particular file in java/openjdk8 -for armv6 and armv7. - -Reported by: swills -PR: 226388 - -Index: lib/Target/ARM/ARMISelLowering.cpp -=================================================================== ---- lib/Target/ARM/ARMISelLowering.cpp (revision 330685) -+++ lib/Target/ARM/ARMISelLowering.cpp (revision 330686) -@@ -10201,7 +10201,14 @@ static SDValue PerformSHLSimplify(SDNode *N, - case ISD::XOR: - case ISD::SETCC: - case ARMISD::CMP: -- // Check that its not already using a shl. -+ // Check that the user isn't already using a constant because there -+ // aren't any instructions that support an immediate operand and a -+ // shifted operand. -+ if (isa<ConstantSDNode>(U->getOperand(0)) || -+ isa<ConstantSDNode>(U->getOperand(1))) -+ return SDValue(); -+ -+ // Check that it's not already using a shift. - if (U->getOperand(0).getOpcode() == ISD::SHL || - U->getOperand(1).getOpcode() == ISD::SHL) - return SDValue(); -@@ -10223,8 +10230,6 @@ static SDValue PerformSHLSimplify(SDNode *N, - if (!C1ShlC2 || !C2) - return SDValue(); - -- DEBUG(dbgs() << "Trying to simplify shl: "; N->dump()); -- - APInt C2Int = C2->getAPIntValue(); - APInt C1Int = C1ShlC2->getAPIntValue(); - -@@ -10238,12 +10243,12 @@ static SDValue PerformSHLSimplify(SDNode *N, - C1Int.lshrInPlace(C2Int); - - // The immediates are encoded as an 8-bit value that can be rotated. -- unsigned Zeros = C1Int.countLeadingZeros() + C1Int.countTrailingZeros(); -- if (C1Int.getBitWidth() - Zeros > 8) -- return SDValue(); -+ auto LargeImm = [](const APInt &Imm) { -+ unsigned Zeros = Imm.countLeadingZeros() + Imm.countTrailingZeros(); -+ return Imm.getBitWidth() - Zeros > 8; -+ }; - -- Zeros = C2Int.countLeadingZeros() + C2Int.countTrailingZeros(); -- if (C2Int.getBitWidth() - Zeros > 8) -+ if (LargeImm(C1Int) || LargeImm(C2Int)) - return SDValue(); - - SelectionDAG &DAG = DCI.DAG; -@@ -10254,6 +10259,10 @@ static SDValue PerformSHLSimplify(SDNode *N, - // Shift left to compensate for the lshr of C1Int. - SDValue Res = DAG.getNode(ISD::SHL, dl, MVT::i32, BinOp, SHL.getOperand(1)); - -+ DEBUG(dbgs() << "Simplify shl use:\n"; SHL.getOperand(0).dump(); SHL.dump(); -+ N->dump()); -+ DEBUG(dbgs() << "Into:\n"; X.dump(); BinOp.dump(); Res.dump()); -+ - DAG.ReplaceAllUsesWith(SDValue(N, 0), Res); - return SDValue(N, 0); - } diff --git a/devel/llvm60/files/patch-head-r331065.diff b/devel/llvm60/files/patch-head-r331065.diff deleted file mode 100644 index 6976ee83460f..000000000000 --- a/devel/llvm60/files/patch-head-r331065.diff +++ /dev/null @@ -1,88 +0,0 @@ -r331065 | dim | 2018-03-16 18:50:44 +0100 (Fri, 16 Mar 2018) | 17 lines - -Pull in r327638 from upstream llvm trunk (by Matthew Simpson): - - [ConstantFolding, InstSimplify] Handle more vector GEPs - - This patch addresses some additional cases where the compiler crashes - upon encountering vector GEPs. This should fix PR36116. - - Differential Revision: https://reviews.llvm.org/D44219 - Reference: https://bugs.llvm.org/show_bug.cgi?id=36116 - -This fixes an assertion when building the emulators/snes9x port. - -Reported by: jbeich -PR: 225471 -MFC after: 3 months -X-MFC-With: r327952 - -Index: lib/Analysis/InstructionSimplify.cpp -=================================================================== ---- lib/Analysis/InstructionSimplify.cpp (revision 331064) -+++ lib/Analysis/InstructionSimplify.cpp (revision 331065) -@@ -3697,7 +3697,7 @@ static Value *SimplifyGEPInst(Type *SrcTy, ArrayRe - - if (Ops.size() == 2) { - // getelementptr P, 0 -> P. -- if (match(Ops[1], m_Zero())) -+ if (match(Ops[1], m_Zero()) && Ops[0]->getType() == GEPTy) - return Ops[0]; - - Type *Ty = SrcTy; -@@ -3706,7 +3706,7 @@ static Value *SimplifyGEPInst(Type *SrcTy, ArrayRe - uint64_t C; - uint64_t TyAllocSize = Q.DL.getTypeAllocSize(Ty); - // getelementptr P, N -> P if P points to a type of zero size. -- if (TyAllocSize == 0) -+ if (TyAllocSize == 0 && Ops[0]->getType() == GEPTy) - return Ops[0]; - - // The following transforms are only safe if the ptrtoint cast -Index: lib/IR/ConstantFold.cpp -=================================================================== ---- lib/IR/ConstantFold.cpp (revision 331064) -+++ lib/IR/ConstantFold.cpp (revision 331065) -@@ -2018,8 +2018,16 @@ static bool isInBoundsIndices(ArrayRef<IndexTy> Id - - // If the first index is one and all the rest are zero, it's in bounds, - // by the one-past-the-end rule. -- if (!cast<ConstantInt>(Idxs[0])->isOne()) -- return false; -+ if (auto *CI = dyn_cast<ConstantInt>(Idxs[0])) { -+ if (!CI->isOne()) -+ return false; -+ } else { -+ auto *CV = cast<ConstantDataVector>(Idxs[0]); -+ CI = dyn_cast_or_null<ConstantInt>(CV->getSplatValue()); -+ if (!CI || !CI->isOne()) -+ return false; -+ } -+ - for (unsigned i = 1, e = Idxs.size(); i != e; ++i) - if (!cast<Constant>(Idxs[i])->isNullValue()) - return false; -@@ -2049,15 +2057,18 @@ Constant *llvm::ConstantFoldGetElementPtr(Type *Po - ArrayRef<Value *> Idxs) { - if (Idxs.empty()) return C; - -- if (isa<UndefValue>(C)) { -- Type *GEPTy = GetElementPtrInst::getGEPReturnType( -- C, makeArrayRef((Value * const *)Idxs.data(), Idxs.size())); -+ Type *GEPTy = GetElementPtrInst::getGEPReturnType( -+ C, makeArrayRef((Value *const *)Idxs.data(), Idxs.size())); -+ -+ if (isa<UndefValue>(C)) - return UndefValue::get(GEPTy); -- } - - Constant *Idx0 = cast<Constant>(Idxs[0]); - if (Idxs.size() == 1 && (Idx0->isNullValue() || isa<UndefValue>(Idx0))) -- return C; -+ return GEPTy->isVectorTy() && !C->getType()->isVectorTy() -+ ? ConstantVector::getSplat( -+ cast<VectorType>(GEPTy)->getNumElements(), C) -+ : C; - - if (C->isNullValue()) { - bool isNull = true; diff --git a/devel/llvm60/files/patch-head-r331366.diff b/devel/llvm60/files/patch-head-r331366.diff deleted file mode 100644 index dccde7fb6bd6..000000000000 --- a/devel/llvm60/files/patch-head-r331366.diff +++ /dev/null @@ -1,609 +0,0 @@ -r331366 | dim | 2018-03-22 19:58:34 +0100 (Thu, 22 Mar 2018) | 61 lines - -Pull in r327101 from upstream llvm trunk (by Rafael Espindola): - - Don't treat .symver as a regular alias definition. - - This patch starts simplifying the handling of .symver. - - For now it just moves the responsibility for creating an alias down to - the streamer. With that the asm streamer can pass a .symver unchanged, - which is nice since gas cannot parse "foo@bar = zed". - - In a followup I hope to move the handling down to the writer so that - we don't need special hacks for avoiding breaking names with @@@ on - windows. - -Pull in r327160 from upstream llvm trunk (by Rafael Espindola): - - Delay creating an alias for @@@. - - With this we only create an alias for @@@ once we know if it should - use @ or @@. This avoids last minutes renames and hacks to handle MS - names. - - This only handles the ELF writer. LTO still has issues with @@@ - aliases. - -Pull in r327928 from upstream llvm trunk (by Vitaly Buka): - - Object: Move attribute calculation into RecordStreamer. NFC - - Summary: Preparation for D44274 - - Reviewers: pcc, espindola - - Subscribers: hiraditya - - Differential Revision: https://reviews.llvm.org/D44276 - -Pull in r327930 from upstream llvm trunk (by Vitaly Buka): - - Object: Fix handling of @@@ in .symver directive - - Summary: - name@@@nodename is going to be replaced with name@@nodename if symbols is - defined in the assembled file, or name@nodename if undefined. - https://sourceware.org/binutils/docs/as/Symver.html - - Fixes PR36623 - - Reviewers: pcc, espindola - - Subscribers: mehdi_amini, hiraditya - - Differential Revision: https://reviews.llvm.org/D44274 - -Together, these changes fix handling of @@@ in .symver directives when -doing Link Time Optimization. - -Reported by: Shawn Webb <shawn.webb@hardenedbsd.org> -MFC after: 3 months -X-MFC-With: r327952 - -Index: include/llvm/MC/MCAssembler.h -=================================================================== ---- include/llvm/MC/MCAssembler.h (revision 331365) -+++ include/llvm/MC/MCAssembler.h (revision 331366) -@@ -206,6 +206,8 @@ class MCAssembler { - handleFixup(const MCAsmLayout &Layout, MCFragment &F, const MCFixup &Fixup); - - public: -+ std::vector<std::pair<StringRef, const MCSymbol *>> Symvers; -+ - /// Construct a new assembler instance. - // - // FIXME: How are we going to parameterize this? Two obvious options are stay -Index: include/llvm/MC/MCELFStreamer.h -=================================================================== ---- include/llvm/MC/MCELFStreamer.h (revision 331365) -+++ include/llvm/MC/MCELFStreamer.h (revision 331366) -@@ -51,6 +51,8 @@ class MCELFStreamer : public MCObjectStreamer { - unsigned ByteAlignment) override; - - void emitELFSize(MCSymbol *Symbol, const MCExpr *Value) override; -+ void emitELFSymverDirective(StringRef AliasName, -+ const MCSymbol *Aliasee) override; - - void EmitLocalCommonSymbol(MCSymbol *Symbol, uint64_t Size, - unsigned ByteAlignment) override; -Index: include/llvm/MC/MCStreamer.h -=================================================================== ---- include/llvm/MC/MCStreamer.h (revision 331365) -+++ include/llvm/MC/MCStreamer.h (revision 331366) -@@ -519,9 +519,10 @@ class MCStreamer { - /// - /// This corresponds to an assembler statement such as: - /// .symver _start, foo@@SOME_VERSION -- /// \param Alias - The versioned alias (i.e. "foo@@SOME_VERSION") -+ /// \param AliasName - The versioned alias (i.e. "foo@@SOME_VERSION") - /// \param Aliasee - The aliased symbol (i.e. "_start") -- virtual void emitELFSymverDirective(MCSymbol *Alias, const MCSymbol *Aliasee); -+ virtual void emitELFSymverDirective(StringRef AliasName, -+ const MCSymbol *Aliasee); - - /// \brief Emit a Linker Optimization Hint (LOH) directive. - /// \param Args - Arguments of the LOH. -Index: lib/MC/ELFObjectWriter.cpp -=================================================================== ---- lib/MC/ELFObjectWriter.cpp (revision 331365) -+++ lib/MC/ELFObjectWriter.cpp (revision 331366) -@@ -128,8 +128,6 @@ class ELFObjectWriter : public MCObjectWriter { - /// @name Symbol Table Data - /// @{ - -- BumpPtrAllocator Alloc; -- StringSaver VersionSymSaver{Alloc}; - StringTableBuilder StrTabBuilder{StringTableBuilder::ELF}; - - /// @} -@@ -391,27 +389,29 @@ void ELFObjectWriter::executePostLayoutBinding(MCA - const MCAsmLayout &Layout) { - // The presence of symbol versions causes undefined symbols and - // versions declared with @@@ to be renamed. -- for (const MCSymbol &A : Asm.symbols()) { -- const auto &Alias = cast<MCSymbolELF>(A); -- // Not an alias. -- if (!Alias.isVariable()) -- continue; -- auto *Ref = dyn_cast<MCSymbolRefExpr>(Alias.getVariableValue()); -- if (!Ref) -- continue; -- const auto &Symbol = cast<MCSymbolELF>(Ref->getSymbol()); -- -- StringRef AliasName = Alias.getName(); -+ for (const std::pair<StringRef, const MCSymbol *> &P : Asm.Symvers) { -+ StringRef AliasName = P.first; -+ const auto &Symbol = cast<MCSymbolELF>(*P.second); - size_t Pos = AliasName.find('@'); -- if (Pos == StringRef::npos) -- continue; -+ assert(Pos != StringRef::npos); - -+ StringRef Prefix = AliasName.substr(0, Pos); -+ StringRef Rest = AliasName.substr(Pos); -+ StringRef Tail = Rest; -+ if (Rest.startswith("@@@")) -+ Tail = Rest.substr(Symbol.isUndefined() ? 2 : 1); -+ -+ auto *Alias = -+ cast<MCSymbolELF>(Asm.getContext().getOrCreateSymbol(Prefix + Tail)); -+ Asm.registerSymbol(*Alias); -+ const MCExpr *Value = MCSymbolRefExpr::create(&Symbol, Asm.getContext()); -+ Alias->setVariableValue(Value); -+ - // Aliases defined with .symvar copy the binding from the symbol they alias. - // This is the first place we are able to copy this information. -- Alias.setExternal(Symbol.isExternal()); -- Alias.setBinding(Symbol.getBinding()); -+ Alias->setExternal(Symbol.isExternal()); -+ Alias->setBinding(Symbol.getBinding()); - -- StringRef Rest = AliasName.substr(Pos); - if (!Symbol.isUndefined() && !Rest.startswith("@@@")) - continue; - -@@ -420,7 +420,7 @@ void ELFObjectWriter::executePostLayoutBinding(MCA - !Rest.startswith("@@@")) - report_fatal_error("A @@ version cannot be undefined"); - -- Renames.insert(std::make_pair(&Symbol, &Alias)); -+ Renames.insert(std::make_pair(&Symbol, Alias)); - } - } - -@@ -836,44 +836,7 @@ void ELFObjectWriter::computeSymbolTable( - HasLargeSectionIndex = true; - } - -- // The @@@ in symbol version is replaced with @ in undefined symbols and @@ -- // in defined ones. -- // -- // FIXME: All name handling should be done before we get to the writer, -- // including dealing with GNU-style version suffixes. Fixing this isn't -- // trivial. -- // -- // We thus have to be careful to not perform the symbol version replacement -- // blindly: -- // -- // The ELF format is used on Windows by the MCJIT engine. Thus, on -- // Windows, the ELFObjectWriter can encounter symbols mangled using the MS -- // Visual Studio C++ name mangling scheme. Symbols mangled using the MSVC -- // C++ name mangling can legally have "@@@" as a sub-string. In that case, -- // the EFLObjectWriter should not interpret the "@@@" sub-string as -- // specifying GNU-style symbol versioning. The ELFObjectWriter therefore -- // checks for the MSVC C++ name mangling prefix which is either "?", "@?", -- // "__imp_?" or "__imp_@?". -- // -- // It would have been interesting to perform the MS mangling prefix check -- // only when the target triple is of the form *-pc-windows-elf. But, it -- // seems that this information is not easily accessible from the -- // ELFObjectWriter. - StringRef Name = Symbol.getName(); -- SmallString<32> Buf; -- if (!Name.startswith("?") && !Name.startswith("@?") && -- !Name.startswith("__imp_?") && !Name.startswith("__imp_@?")) { -- // This symbol isn't following the MSVC C++ name mangling convention. We -- // can thus safely interpret the @@@ in symbol names as specifying symbol -- // versioning. -- size_t Pos = Name.find("@@@"); -- if (Pos != StringRef::npos) { -- Buf += Name.substr(0, Pos); -- unsigned Skip = MSD.SectionIndex == ELF::SHN_UNDEF ? 2 : 1; -- Buf += Name.substr(Pos + Skip); -- Name = VersionSymSaver.save(Buf.c_str()); -- } -- } - - // Sections have their own string table - if (Symbol.getType() != ELF::STT_SECTION) { -Index: lib/MC/MCAsmStreamer.cpp -=================================================================== ---- lib/MC/MCAsmStreamer.cpp (revision 331365) -+++ lib/MC/MCAsmStreamer.cpp (revision 331366) -@@ -129,6 +129,9 @@ class MCAsmStreamer final : public MCStreamer { - - void ChangeSection(MCSection *Section, const MCExpr *Subsection) override; - -+ void emitELFSymverDirective(StringRef AliasName, -+ const MCSymbol *Aliasee) override; -+ - void EmitLOHDirective(MCLOHType Kind, const MCLOHArgs &Args) override; - void EmitLabel(MCSymbol *Symbol, SMLoc Loc = SMLoc()) override; - -@@ -411,6 +414,14 @@ void MCAsmStreamer::ChangeSection(MCSection *Secti - } - } - -+void MCAsmStreamer::emitELFSymverDirective(StringRef AliasName, -+ const MCSymbol *Aliasee) { -+ OS << ".symver "; -+ Aliasee->print(OS, MAI); -+ OS << ", " << AliasName; -+ EmitEOL(); -+} -+ - void MCAsmStreamer::EmitLabel(MCSymbol *Symbol, SMLoc Loc) { - MCStreamer::EmitLabel(Symbol, Loc); - -Index: lib/MC/MCELFStreamer.cpp -=================================================================== ---- lib/MC/MCELFStreamer.cpp (revision 331365) -+++ lib/MC/MCELFStreamer.cpp (revision 331366) -@@ -337,6 +337,11 @@ void MCELFStreamer::emitELFSize(MCSymbol *Symbol, - cast<MCSymbolELF>(Symbol)->setSize(Value); - } - -+void MCELFStreamer::emitELFSymverDirective(StringRef AliasName, -+ const MCSymbol *Aliasee) { -+ getAssembler().Symvers.push_back({AliasName, Aliasee}); -+} -+ - void MCELFStreamer::EmitLocalCommonSymbol(MCSymbol *S, uint64_t Size, - unsigned ByteAlignment) { - auto *Symbol = cast<MCSymbolELF>(S); -Index: lib/MC/MCParser/ELFAsmParser.cpp -=================================================================== ---- lib/MC/MCParser/ELFAsmParser.cpp (revision 331365) -+++ lib/MC/MCParser/ELFAsmParser.cpp (revision 331366) -@@ -767,12 +767,8 @@ bool ELFAsmParser::ParseDirectiveSymver(StringRef, - if (AliasName.find('@') == StringRef::npos) - return TokError("expected a '@' in the name"); - -- MCSymbol *Alias = getContext().getOrCreateSymbol(AliasName); - MCSymbol *Sym = getContext().getOrCreateSymbol(Name); -- const MCExpr *Value = MCSymbolRefExpr::create(Sym, getContext()); -- -- getStreamer().EmitAssignment(Alias, Value); -- getStreamer().emitELFSymverDirective(Alias, Sym); -+ getStreamer().emitELFSymverDirective(AliasName, Sym); - return false; - } - -Index: lib/MC/MCStreamer.cpp -=================================================================== ---- lib/MC/MCStreamer.cpp (revision 331365) -+++ lib/MC/MCStreamer.cpp (revision 331366) -@@ -925,7 +925,7 @@ void MCStreamer::EmitCOFFSymbolType(int Type) { - llvm_unreachable("this directive only supported on COFF targets"); - } - void MCStreamer::emitELFSize(MCSymbol *Symbol, const MCExpr *Value) {} --void MCStreamer::emitELFSymverDirective(MCSymbol *Alias, -+void MCStreamer::emitELFSymverDirective(StringRef AliasName, - const MCSymbol *Aliasee) {} - void MCStreamer::EmitLocalCommonSymbol(MCSymbol *Symbol, uint64_t Size, - unsigned ByteAlignment) {} -Index: lib/Object/ModuleSymbolTable.cpp -=================================================================== ---- lib/Object/ModuleSymbolTable.cpp (revision 331365) -+++ lib/Object/ModuleSymbolTable.cpp (revision 331366) -@@ -24,7 +24,6 @@ - #include "llvm/IR/GlobalAlias.h" - #include "llvm/IR/GlobalValue.h" - #include "llvm/IR/GlobalVariable.h" --#include "llvm/IR/Mangler.h" - #include "llvm/IR/Module.h" - #include "llvm/MC/MCAsmInfo.h" - #include "llvm/MC/MCContext.h" -@@ -69,81 +68,6 @@ void ModuleSymbolTable::addModule(Module *M) { - }); - } - --// Ensure ELF .symver aliases get the same binding as the defined symbol --// they alias with. --static void handleSymverAliases(const Module &M, RecordStreamer &Streamer) { -- if (Streamer.symverAliases().empty()) -- return; -- -- // The name in the assembler will be mangled, but the name in the IR -- // might not, so we first compute a mapping from mangled name to GV. -- Mangler Mang; -- SmallString<64> MangledName; -- StringMap<const GlobalValue *> MangledNameMap; -- auto GetMangledName = [&](const GlobalValue &GV) { -- if (!GV.hasName()) -- return; -- -- MangledName.clear(); -- MangledName.reserve(GV.getName().size() + 1); -- Mang.getNameWithPrefix(MangledName, &GV, /*CannotUsePrivateLabel=*/false); -- MangledNameMap[MangledName] = &GV; -- }; -- for (const Function &F : M) -- GetMangledName(F); -- for (const GlobalVariable &GV : M.globals()) -- GetMangledName(GV); -- for (const GlobalAlias &GA : M.aliases()) -- GetMangledName(GA); -- -- // Walk all the recorded .symver aliases, and set up the binding -- // for each alias. -- for (auto &Symver : Streamer.symverAliases()) { -- const MCSymbol *Aliasee = Symver.first; -- MCSymbolAttr Attr = MCSA_Invalid; -- -- // First check if the aliasee binding was recorded in the asm. -- RecordStreamer::State state = Streamer.getSymbolState(Aliasee); -- switch (state) { -- case RecordStreamer::Global: -- case RecordStreamer::DefinedGlobal: -- Attr = MCSA_Global; -- break; -- case RecordStreamer::UndefinedWeak: -- case RecordStreamer::DefinedWeak: -- Attr = MCSA_Weak; -- break; -- default: -- break; -- } -- -- // If we don't have a symbol attribute from assembly, then check if -- // the aliasee was defined in the IR. -- if (Attr == MCSA_Invalid) { -- const auto *GV = M.getNamedValue(Aliasee->getName()); -- if (!GV) { -- auto MI = MangledNameMap.find(Aliasee->getName()); -- if (MI != MangledNameMap.end()) -- GV = MI->second; -- else -- continue; -- } -- if (GV->hasExternalLinkage()) -- Attr = MCSA_Global; -- else if (GV->hasLocalLinkage()) -- Attr = MCSA_Local; -- else if (GV->isWeakForLinker()) -- Attr = MCSA_Weak; -- } -- if (Attr == MCSA_Invalid) -- continue; -- -- // Set the detected binding on each alias with this aliasee. -- for (auto &Alias : Symver.second) -- Streamer.EmitSymbolAttribute(Alias, Attr); -- } --} -- - void ModuleSymbolTable::CollectAsmSymbols( - const Module &M, - function_ref<void(StringRef, BasicSymbolRef::Flags)> AsmSymbol) { -@@ -176,7 +100,7 @@ void ModuleSymbolTable::CollectAsmSymbols( - MCObjectFileInfo MOFI; - MCContext MCCtx(MAI.get(), MRI.get(), &MOFI); - MOFI.InitMCObjectFileInfo(TT, /*PIC*/ false, MCCtx); -- RecordStreamer Streamer(MCCtx); -+ RecordStreamer Streamer(MCCtx, M); - T->createNullTargetStreamer(Streamer); - - std::unique_ptr<MemoryBuffer> Buffer(MemoryBuffer::getMemBuffer(InlineAsm)); -@@ -195,7 +119,7 @@ void ModuleSymbolTable::CollectAsmSymbols( - if (Parser->Run(false)) - return; - -- handleSymverAliases(M, Streamer); -+ Streamer.flushSymverDirectives(); - - for (auto &KV : Streamer) { - StringRef Key = KV.first(); -Index: lib/Object/RecordStreamer.cpp -=================================================================== ---- lib/Object/RecordStreamer.cpp (revision 331365) -+++ lib/Object/RecordStreamer.cpp (revision 331366) -@@ -8,6 +8,9 @@ - //===----------------------------------------------------------------------===// - - #include "RecordStreamer.h" -+#include "llvm/IR/Mangler.h" -+#include "llvm/IR/Module.h" -+#include "llvm/MC/MCContext.h" - #include "llvm/MC/MCSymbol.h" - - using namespace llvm; -@@ -70,7 +73,8 @@ void RecordStreamer::markUsed(const MCSymbol &Symb - - void RecordStreamer::visitUsedSymbol(const MCSymbol &Sym) { markUsed(Sym); } - --RecordStreamer::RecordStreamer(MCContext &Context) : MCStreamer(Context) {} -+RecordStreamer::RecordStreamer(MCContext &Context, const Module &M) -+ : MCStreamer(Context), M(M) {} - - RecordStreamer::const_iterator RecordStreamer::begin() { - return Symbols.begin(); -@@ -112,7 +116,109 @@ void RecordStreamer::EmitCommonSymbol(MCSymbol *Sy - markDefined(*Symbol); - } - --void RecordStreamer::emitELFSymverDirective(MCSymbol *Alias, -+RecordStreamer::State RecordStreamer::getSymbolState(const MCSymbol *Sym) { -+ auto SI = Symbols.find(Sym->getName()); -+ if (SI == Symbols.end()) -+ return NeverSeen; -+ return SI->second; -+} -+ -+void RecordStreamer::emitELFSymverDirective(StringRef AliasName, - const MCSymbol *Aliasee) { -- SymverAliasMap[Aliasee].push_back(Alias); -+ SymverAliasMap[Aliasee].push_back(AliasName); - } -+ -+void RecordStreamer::flushSymverDirectives() { -+ // Mapping from mangled name to GV. -+ StringMap<const GlobalValue *> MangledNameMap; -+ // The name in the assembler will be mangled, but the name in the IR -+ // might not, so we first compute a mapping from mangled name to GV. -+ Mangler Mang; -+ SmallString<64> MangledName; -+ for (const GlobalValue &GV : M.global_values()) { -+ if (!GV.hasName()) -+ continue; -+ MangledName.clear(); -+ MangledName.reserve(GV.getName().size() + 1); -+ Mang.getNameWithPrefix(MangledName, &GV, /*CannotUsePrivateLabel=*/false); -+ MangledNameMap[MangledName] = &GV; -+ } -+ -+ // Walk all the recorded .symver aliases, and set up the binding -+ // for each alias. -+ for (auto &Symver : SymverAliasMap) { -+ const MCSymbol *Aliasee = Symver.first; -+ MCSymbolAttr Attr = MCSA_Invalid; -+ bool IsDefined = false; -+ -+ // First check if the aliasee binding was recorded in the asm. -+ RecordStreamer::State state = getSymbolState(Aliasee); -+ switch (state) { -+ case RecordStreamer::Global: -+ case RecordStreamer::DefinedGlobal: -+ Attr = MCSA_Global; -+ break; -+ case RecordStreamer::UndefinedWeak: -+ case RecordStreamer::DefinedWeak: -+ Attr = MCSA_Weak; -+ break; -+ default: -+ break; -+ } -+ -+ switch (state) { -+ case RecordStreamer::Defined: -+ case RecordStreamer::DefinedGlobal: -+ case RecordStreamer::DefinedWeak: -+ IsDefined = true; -+ break; -+ case RecordStreamer::NeverSeen: -+ case RecordStreamer::Global: -+ case RecordStreamer::Used: -+ case RecordStreamer::UndefinedWeak: -+ break; -+ } -+ -+ if (Attr == MCSA_Invalid || !IsDefined) { -+ const GlobalValue *GV = M.getNamedValue(Aliasee->getName()); -+ if (!GV) { -+ auto MI = MangledNameMap.find(Aliasee->getName()); -+ if (MI != MangledNameMap.end()) -+ GV = MI->second; -+ } -+ if (GV) { -+ // If we don't have a symbol attribute from assembly, then check if -+ // the aliasee was defined in the IR. -+ if (Attr == MCSA_Invalid) { -+ if (GV->hasExternalLinkage()) -+ Attr = MCSA_Global; -+ else if (GV->hasLocalLinkage()) -+ Attr = MCSA_Local; -+ else if (GV->isWeakForLinker()) -+ Attr = MCSA_Weak; -+ } -+ IsDefined = IsDefined || !GV->isDeclarationForLinker(); -+ } -+ } -+ -+ // Set the detected binding on each alias with this aliasee. -+ for (auto AliasName : Symver.second) { -+ std::pair<StringRef, StringRef> Split = AliasName.split("@@@"); -+ SmallString<128> NewName; -+ if (!Split.second.empty() && !Split.second.startswith("@")) { -+ // Special processing for "@@@" according -+ // https://sourceware.org/binutils/docs/as/Symver.html -+ const char *Separator = IsDefined ? "@@" : "@"; -+ AliasName = -+ (Split.first + Separator + Split.second).toStringRef(NewName); -+ } -+ MCSymbol *Alias = getContext().getOrCreateSymbol(AliasName); -+ // TODO: Handle "@@@". Depending on SymbolAttribute value it needs to be -+ // converted into @ or @@. -+ const MCExpr *Value = MCSymbolRefExpr::create(Aliasee, getContext()); -+ EmitAssignment(Alias, Value); -+ if (Attr != MCSA_Invalid) -+ EmitSymbolAttribute(Alias, Attr); -+ } -+ } -+} -Index: lib/Object/RecordStreamer.h -=================================================================== ---- lib/Object/RecordStreamer.h (revision 331365) -+++ lib/Object/RecordStreamer.h (revision 331366) -@@ -20,6 +20,9 @@ - - namespace llvm { - -+class GlobalValue; -+class Module; -+ - class RecordStreamer : public MCStreamer { - public: - enum State { NeverSeen, Global, Defined, DefinedGlobal, DefinedWeak, Used, -@@ -26,12 +29,16 @@ class RecordStreamer : public MCStreamer { - UndefinedWeak}; - - private: -+ const Module &M; - StringMap<State> Symbols; - // Map of aliases created by .symver directives, saved so we can update - // their symbol binding after parsing complete. This maps from each - // aliasee to its list of aliases. -- DenseMap<const MCSymbol *, std::vector<MCSymbol *>> SymverAliasMap; -+ DenseMap<const MCSymbol *, std::vector<StringRef>> SymverAliasMap; - -+ /// Get the state recorded for the given symbol. -+ State getSymbolState(const MCSymbol *Sym); -+ - void markDefined(const MCSymbol &Symbol); - void markGlobal(const MCSymbol &Symbol, MCSymbolAttr Attribute); - void markUsed(const MCSymbol &Symbol); -@@ -38,7 +45,7 @@ class RecordStreamer : public MCStreamer { - void visitUsedSymbol(const MCSymbol &Sym) override; - - public: -- RecordStreamer(MCContext &Context); -+ RecordStreamer(MCContext &Context, const Module &M); - - using const_iterator = StringMap<State>::const_iterator; - -@@ -54,20 +61,11 @@ class RecordStreamer : public MCStreamer { - void EmitCommonSymbol(MCSymbol *Symbol, uint64_t Size, - unsigned ByteAlignment) override; - /// Record .symver aliases for later processing. -- void emitELFSymverDirective(MCSymbol *Alias, -+ void emitELFSymverDirective(StringRef AliasName, - const MCSymbol *Aliasee) override; -- /// Return the map of .symver aliasee to associated aliases. -- DenseMap<const MCSymbol *, std::vector<MCSymbol *>> &symverAliases() { -- return SymverAliasMap; -- } -- -- /// Get the state recorded for the given symbol. -- State getSymbolState(const MCSymbol *Sym) { -- auto SI = Symbols.find(Sym->getName()); -- if (SI == Symbols.end()) -- return NeverSeen; -- return SI->second; -- } -+ // Emit ELF .symver aliases and ensure they have the same binding as the -+ // defined symbol they alias with. -+ void flushSymverDirectives(); - }; - - } // end namespace llvm diff --git a/devel/llvm60/files/patch-head-r336969.diff b/devel/llvm60/files/patch-head-r336969.diff deleted file mode 100644 index 640b0d146c6c..000000000000 --- a/devel/llvm60/files/patch-head-r336969.diff +++ /dev/null @@ -1,32 +0,0 @@ -r336969 | emaste | 2018-07-31 16:12:09 +0200 (Tue, 31 Jul 2018) | 13 lines - -llvm: [ELF][ARM] Add Arm ABI names for float ABI ELF Header flags - -The ELF for the Arm architecture document defines, for EF_ARM_EABI_VER5 -and above, the flags EF_ARM_ABI_FLOAT_HARD and EF_ARM_ABI_FLOAT_SOFT. -These have been defined to be compatible with the existing -EF_ARM_VFP_FLOAT and EF_ARM_SOFT_FLOAT used by gcc for -EF_ARM_EABI_UNKNOWN. - -This patch adds the flags in addition to the existing ones so that any -code depending on the old names will still work. - -Obtained from: llvm r338370 by Peter Smith - -Index: include/llvm/BinaryFormat/ELF.h -=================================================================== ---- include/llvm/BinaryFormat/ELF.h (revision 336968) -+++ include/llvm/BinaryFormat/ELF.h (revision 336969) -@@ -418,8 +418,10 @@ enum { - - // ARM Specific e_flags - enum : unsigned { -- EF_ARM_SOFT_FLOAT = 0x00000200U, -- EF_ARM_VFP_FLOAT = 0x00000400U, -+ EF_ARM_SOFT_FLOAT = 0x00000200U, // Legacy pre EABI_VER5 -+ EF_ARM_ABI_FLOAT_SOFT = 0x00000200U, // EABI_VER5 -+ EF_ARM_VFP_FLOAT = 0x00000400U, // Legacy pre EABI_VER5 -+ EF_ARM_ABI_FLOAT_HARD = 0x00000400U, // EABI_VER5 - EF_ARM_EABI_UNKNOWN = 0x00000000U, - EF_ARM_EABI_VER1 = 0x01000000U, - EF_ARM_EABI_VER2 = 0x02000000U, diff --git a/devel/llvm60/files/patch-head-r336970.diff b/devel/llvm60/files/patch-head-r336970.diff deleted file mode 100644 index d788914eb445..000000000000 --- a/devel/llvm60/files/patch-head-r336970.diff +++ /dev/null @@ -1,24 +0,0 @@ -r336970 | emaste | 2018-07-31 16:14:41 +0200 (Tue, 31 Jul 2018) | 9 lines - -llvm: [ARM] Complete enumeration values for Tag_ABI_VFP_args - -The LLD implementation of Tag_ABI_VFP_args needs to check the rarely -seen values of 3 (toolchain specific) and 4 compatible with both Base -and VFP. Add the missing enumeration values so that LLD can refer to -them without having to use the raw numbers. - -Obtained from: llvm r338373 by Peter Smith - -Index: include/llvm/Support/ARMBuildAttributes.h -=================================================================== ---- include/llvm/Support/ARMBuildAttributes.h (revision 336969) -+++ include/llvm/Support/ARMBuildAttributes.h (revision 336970) -@@ -213,6 +213,8 @@ enum { - // Tag_ABI_VFP_args, (=28), uleb128 - BaseAAPCS = 0, - HardFPAAPCS = 1, -+ ToolChainFPPCS = 2, -+ CompatibleFPAAPCS = 3, - - // Tag_FP_HP_extension, (=36), uleb128 - AllowHPFP = 1, // Allow use of Half Precision FP diff --git a/devel/llvm60/files/patch-head-r337615.diff b/devel/llvm60/files/patch-head-r337615.diff deleted file mode 100644 index 645240b71cf3..000000000000 --- a/devel/llvm60/files/patch-head-r337615.diff +++ /dev/null @@ -1,64 +0,0 @@ -r337615 | dim | 2018-08-11 12:42:12 +0200 (Sat, 11 Aug 2018) | 43 lines - -Pull in r338481 from upstream llvm trunk (by Chandler Carruth): - - [x86] Fix a really subtle miscompile due to a somewhat glaring bug in - EFLAGS copy lowering. - - If you have a branch of LLVM, you may want to cherrypick this. It is - extremely unlikely to hit this case empirically, but it will likely - manifest as an "impossible" branch being taken somewhere, and will be - ... very hard to debug. - - Hitting this requires complex conditions living across complex - control flow combined with some interesting memory (non-stack) - initialized with the results of a comparison. Also, because you have - to arrange for an EFLAGS copy to be in *just* the right place, almost - anything you do to the code will hide the bug. I was unable to reduce - anything remotely resembling a "good" test case from the place where - I hit it, and so instead I have constructed synthetic MIR testing - that directly exercises the bug in question (as well as the good - behavior for completeness). - - The issue is that we would mistakenly assume any SETcc with a valid - condition and an initial operand that was a register and a virtual - register at that to be a register *defining* SETcc... - - It isn't though.... - - This would in turn cause us to test some other bizarre register, - typically the base pointer of some memory. Now, testing this register - and using that to branch on doesn't make any sense. It even fails the - machine verifier (if you are running it) due to the wrong register - class. But it will make it through LLVM, assemble, and it *looks* - fine... But wow do you get a very unsual and surprising branch taken - in your actual code. - - The fix is to actually check what kind of SETcc instruction we're - dealing with. Because there are a bunch of them, I just test the - may-store bit in the instruction. I've also added an assert for - sanity that ensure we are, in fact, *defining* the register operand. - =D - -Noticed by: kib -MFC after: 1 week - -Index: lib/Target/X86/X86FlagsCopyLowering.cpp -=================================================================== ---- lib/Target/X86/X86FlagsCopyLowering.cpp (revision 337614) -+++ lib/Target/X86/X86FlagsCopyLowering.cpp (revision 337615) -@@ -608,9 +608,12 @@ X86FlagsCopyLoweringPass::collectCondsInRegs(Machi - for (MachineInstr &MI : llvm::reverse( - llvm::make_range(MBB.instr_begin(), CopyDefI.getIterator()))) { - X86::CondCode Cond = X86::getCondFromSETOpc(MI.getOpcode()); -- if (Cond != X86::COND_INVALID && MI.getOperand(0).isReg() && -- TRI->isVirtualRegister(MI.getOperand(0).getReg())) -+ if (Cond != X86::COND_INVALID && !MI.mayStore() && MI.getOperand(0).isReg() && -+ TRI->isVirtualRegister(MI.getOperand(0).getReg())) { -+ assert(MI.getOperand(0).isDef() && -+ "A non-storing SETcc should always define a register!"); - CondRegs[Cond] = MI.getOperand(0).getReg(); -+ } - - // Stop scanning when we see the first definition of the EFLAGS as prior to - // this we would potentially capture the wrong flag state. diff --git a/devel/llvm60/files/patch-head-r338689.diff b/devel/llvm60/files/patch-head-r338689.diff deleted file mode 100644 index c0a785e779ee..000000000000 --- a/devel/llvm60/files/patch-head-r338689.diff +++ /dev/null @@ -1,32 +0,0 @@ -r338689 | dim | 2018-09-14 21:25:23 +0200 (Fri, 14 Sep 2018) | 12 lines - -Pull in r335365 from upstream llvm trunk (by Krzysztof Parzyszek): - - Initialize LiveRegs once in BranchFolder::mergeCommonTails - -This should fix '(TRI && "LivePhysRegs is not initialized."' assertions -when building the lang/qt5-qml port in certain configurations. - -Approved by: re (kib) -Reported by: Piotr Kubaj <pkubaj@anongoth.pl> -PR: 231355 -MFC after: 3 days - -Index: lib/CodeGen/BranchFolding.cpp -=================================================================== ---- lib/CodeGen/BranchFolding.cpp (revision 338688) -+++ lib/CodeGen/BranchFolding.cpp (revision 338689) -@@ -884,11 +884,12 @@ void BranchFolder::mergeCommonTails(unsigned commo - if (UpdateLiveIns) { - LivePhysRegs NewLiveIns(*TRI); - computeLiveIns(NewLiveIns, *MBB); -+ LiveRegs.init(*TRI); - - // The flag merging may lead to some register uses no longer using the - // <undef> flag, add IMPLICIT_DEFs in the predecessors as necessary. - for (MachineBasicBlock *Pred : MBB->predecessors()) { -- LiveRegs.init(*TRI); -+ LiveRegs.clear(); - LiveRegs.addLiveOuts(*Pred); - MachineBasicBlock::iterator InsertBefore = Pred->getFirstTerminator(); - for (unsigned Reg : NewLiveIns) { diff --git a/devel/llvm60/files/patch-svn-r322325 b/devel/llvm60/files/patch-svn-r322325 deleted file mode 100644 index 3b0501e37022..000000000000 --- a/devel/llvm60/files/patch-svn-r322325 +++ /dev/null @@ -1,1589 +0,0 @@ -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(); diff --git a/devel/llvm60/pkg-descr b/devel/llvm60/pkg-descr deleted file mode 100644 index d252f07c6790..000000000000 --- a/devel/llvm60/pkg-descr +++ /dev/null @@ -1,8 +0,0 @@ -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/ diff --git a/devel/llvm60/pkg-plist b/devel/llvm60/pkg-plist deleted file mode 100644 index 02cb1d865866..000000000000 --- a/devel/llvm60/pkg-plist +++ /dev/null @@ -1,2899 +0,0 @@ -@comment >>>>> GENERATED FILE, DO NOT EDIT <<<<< -@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%% -%%LLDB%%bin/lldb%%LLVM_SUFFIX%% -%%LLDB%%bin/lldb-argdumper%%LLVM_SUFFIX%% -%%LLDB%%bin/lldb-mi%%LLVM_SUFFIX%% -%%LLDB%%bin/lldb-server%%LLVM_SUFFIX%% -%%LLDB%%bin/lldb-test%%LLVM_SUFFIX%% -%%LIT%%bin/FileCheck%%LLVM_SUFFIX%% -%%LIT%%llvm%%LLVM_SUFFIX%%/bin/FileCheck -%%LIT%%bin/lit%%LLVM_SUFFIX%% -%%LIT%%llvm%%LLVM_SUFFIX%%/bin/lit -%%LIT%%bin/llvm-lit%%LLVM_SUFFIX%% -%%LIT%%llvm%%LLVM_SUFFIX%%/bin/llvm-lit -%%LLDB%%llvm%%LLVM_LIB_VER%%/%%PYTHON_SITELIBDIR%%/lldb/__init__.py -%%LLDB%%llvm%%LLVM_LIB_VER%%/%%PYTHON_SITELIBDIR%%/lldb/_lldb.so -%%LLDB%%llvm%%LLVM_LIB_VER%%/%%PYTHON_SITELIBDIR%%/lldb/embedded_interpreter.py -%%LLDB%%llvm%%LLVM_LIB_VER%%/%%PYTHON_SITELIBDIR%%/lldb/formatters/Logger.py -%%LLDB%%llvm%%LLVM_LIB_VER%%/%%PYTHON_SITELIBDIR%%/lldb/formatters/__init__.py -%%LLDB%%llvm%%LLVM_LIB_VER%%/%%PYTHON_SITELIBDIR%%/lldb/formatters/attrib_fromdict.py -%%LLDB%%llvm%%LLVM_LIB_VER%%/%%PYTHON_SITELIBDIR%%/lldb/formatters/cache.py -%%LLDB%%llvm%%LLVM_LIB_VER%%/%%PYTHON_SITELIBDIR%%/lldb/formatters/cpp/__init__.py -%%LLDB%%llvm%%LLVM_LIB_VER%%/%%PYTHON_SITELIBDIR%%/lldb/formatters/cpp/gnu_libstdcpp.py -%%LLDB%%llvm%%LLVM_LIB_VER%%/%%PYTHON_SITELIBDIR%%/lldb/formatters/cpp/libcxx.py -%%LLDB%%llvm%%LLVM_LIB_VER%%/%%PYTHON_SITELIBDIR%%/lldb/formatters/metrics.py -%%LLDB%%llvm%%LLVM_LIB_VER%%/%%PYTHON_SITELIBDIR%%/lldb/formatters/synth.py -%%LLDB%%llvm%%LLVM_LIB_VER%%/%%PYTHON_SITELIBDIR%%/lldb/lldb-argdumper -%%LLDB%%llvm%%LLVM_LIB_VER%%/%%PYTHON_SITELIBDIR%%/lldb/runtime/__init__.py -%%LLDB%%llvm%%LLVM_LIB_VER%%/%%PYTHON_SITELIBDIR%%/lldb/utils/__init__.py -%%LLDB%%llvm%%LLVM_LIB_VER%%/%%PYTHON_SITELIBDIR%%/lldb/utils/symbolication.py -%%LLDB%%llvm%%LLVM_LIB_VER%%/%%PYTHON_SITELIBDIR%%/six.py -%%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 -%%LLDB%%llvm%%LLVM_LIB_VER%%/bin/lldb -%%LLDB%%llvm%%LLVM_LIB_VER%%/bin/lldb-argdumper -%%LLDB%%llvm%%LLVM_LIB_VER%%/bin/lldb-mi -%%LLDB%%llvm%%LLVM_LIB_VER%%/bin/lldb-server -%%LLDB%%llvm%%LLVM_LIB_VER%%/bin/lldb-test -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 -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/API/LLDB.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/API/SBAddress.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/API/SBAttachInfo.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/API/SBBlock.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/API/SBBreakpoint.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/API/SBBreakpointLocation.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/API/SBBreakpointName.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/API/SBBroadcaster.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/API/SBCommandInterpreter.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/API/SBCommandReturnObject.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/API/SBCommunication.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/API/SBCompileUnit.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/API/SBData.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/API/SBDebugger.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/API/SBDeclaration.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/API/SBDefines.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/API/SBError.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/API/SBEvent.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/API/SBExecutionContext.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/API/SBExpressionOptions.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/API/SBFileSpec.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/API/SBFileSpecList.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/API/SBFrame.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/API/SBFunction.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/API/SBHostOS.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/API/SBInstruction.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/API/SBInstructionList.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/API/SBLanguageRuntime.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/API/SBLaunchInfo.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/API/SBLineEntry.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/API/SBListener.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/API/SBMemoryRegionInfo.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/API/SBMemoryRegionInfoList.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/API/SBModule.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/API/SBModuleSpec.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/API/SBPlatform.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/API/SBProcess.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/API/SBProcessInfo.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/API/SBQueue.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/API/SBQueueItem.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/API/SBSection.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/API/SBSourceManager.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/API/SBStream.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/API/SBStringList.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/API/SBStructuredData.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/API/SBSymbol.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/API/SBSymbolContext.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/API/SBSymbolContextList.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/API/SBTarget.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/API/SBThread.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/API/SBThreadCollection.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/API/SBThreadPlan.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/API/SBTrace.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/API/SBTraceOptions.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/API/SBType.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/API/SBTypeCategory.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/API/SBTypeEnumMember.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/API/SBTypeFilter.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/API/SBTypeFormat.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/API/SBTypeNameSpecifier.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/API/SBTypeSummary.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/API/SBTypeSynthetic.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/API/SBUnixSignals.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/API/SBValue.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/API/SBValueList.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/API/SBVariablesOptions.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/API/SBWatchpoint.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/API/SystemInitializerFull.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Breakpoint/Breakpoint.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Breakpoint/BreakpointID.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Breakpoint/BreakpointIDList.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Breakpoint/BreakpointList.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Breakpoint/BreakpointLocation.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Breakpoint/BreakpointLocationCollection.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Breakpoint/BreakpointLocationList.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Breakpoint/BreakpointName.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Breakpoint/BreakpointOptions.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Breakpoint/BreakpointResolver.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Breakpoint/BreakpointResolverAddress.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Breakpoint/BreakpointResolverFileLine.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Breakpoint/BreakpointResolverFileRegex.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Breakpoint/BreakpointResolverName.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Breakpoint/BreakpointSite.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Breakpoint/BreakpointSiteList.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Breakpoint/Stoppoint.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Breakpoint/StoppointCallbackContext.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Breakpoint/StoppointLocation.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Breakpoint/Watchpoint.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Breakpoint/WatchpointList.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Breakpoint/WatchpointOptions.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Core/Address.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Core/AddressRange.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Core/AddressResolver.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Core/AddressResolverFileLine.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Core/AddressResolverName.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Core/Architecture.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Core/Broadcaster.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Core/ClangForward.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Core/Communication.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Core/Debugger.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Core/Disassembler.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Core/DumpDataExtractor.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Core/EmulateInstruction.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Core/Event.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Core/FileLineResolver.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Core/FileSpecList.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Core/FormatEntity.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Core/IOHandler.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Core/IOStreamMacros.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Core/Listener.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Core/LoadedModuleInfoList.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Core/Mangled.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Core/MappedHash.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Core/Module.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Core/ModuleChild.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Core/ModuleList.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Core/ModuleSpec.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Core/Opcode.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Core/PluginInterface.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Core/PluginManager.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Core/RangeMap.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Core/RegisterValue.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Core/STLUtils.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Core/Scalar.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Core/SearchFilter.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Core/Section.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Core/SourceManager.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Core/State.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Core/StreamAsynchronousIO.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Core/StreamBuffer.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Core/StreamFile.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Core/StructuredDataImpl.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Core/ThreadSafeDenseMap.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Core/ThreadSafeDenseSet.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Core/ThreadSafeSTLMap.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Core/ThreadSafeSTLVector.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Core/ThreadSafeValue.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Core/UniqueCStringMap.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Core/UserSettingsController.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Core/Value.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Core/ValueObject.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Core/ValueObjectCast.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Core/ValueObjectChild.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Core/ValueObjectConstResult.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Core/ValueObjectConstResultCast.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Core/ValueObjectConstResultChild.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Core/ValueObjectConstResultImpl.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Core/ValueObjectDynamicValue.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Core/ValueObjectList.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Core/ValueObjectMemory.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Core/ValueObjectRegister.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Core/ValueObjectSyntheticFilter.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Core/ValueObjectVariable.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Core/dwarf.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/DataFormatters/CXXFunctionPointer.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/DataFormatters/DataVisualization.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/DataFormatters/DumpValueObjectOptions.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/DataFormatters/FormatCache.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/DataFormatters/FormatClasses.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/DataFormatters/FormatManager.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/DataFormatters/FormattersContainer.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/DataFormatters/FormattersHelpers.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/DataFormatters/LanguageCategory.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/DataFormatters/StringPrinter.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/DataFormatters/TypeCategory.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/DataFormatters/TypeCategoryMap.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/DataFormatters/TypeFormat.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/DataFormatters/TypeSummary.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/DataFormatters/TypeSynthetic.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/DataFormatters/TypeValidator.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/DataFormatters/ValueObjectPrinter.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/DataFormatters/VectorIterator.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/DataFormatters/VectorType.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Expression/DWARFExpression.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Expression/DiagnosticManager.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Expression/Expression.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Expression/ExpressionParser.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Expression/ExpressionSourceCode.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Expression/ExpressionTypeSystemHelper.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Expression/ExpressionVariable.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Expression/FunctionCaller.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Expression/IRDynamicChecks.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Expression/IRExecutionUnit.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Expression/IRInterpreter.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Expression/IRMemoryMap.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Expression/LLVMUserExpression.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Expression/Materializer.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Expression/REPL.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Expression/UserExpression.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Expression/UtilityFunction.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Host/Config.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Host/ConnectionFileDescriptor.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Host/Debug.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Host/Editline.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Host/File.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Host/FileCache.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Host/FileSystem.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Host/Host.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Host/HostGetOpt.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Host/HostInfo.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Host/HostInfoBase.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Host/HostNativeProcess.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Host/HostNativeProcessBase.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Host/HostNativeThread.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Host/HostNativeThreadBase.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Host/HostNativeThreadForward.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Host/HostProcess.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Host/HostThread.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Host/LockFile.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Host/LockFileBase.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Host/MainLoop.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Host/MainLoopBase.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Host/MonitoringProcessLauncher.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Host/OptionParser.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Host/Pipe.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Host/PipeBase.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Host/PosixApi.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Host/Predicate.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Host/ProcessLauncher.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Host/ProcessRunLock.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Host/PseudoTerminal.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Host/Socket.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Host/SocketAddress.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Host/StringConvert.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Host/Symbols.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Host/TaskPool.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Host/Terminal.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Host/ThreadLauncher.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Host/Time.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Host/XML.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Host/android/HostInfoAndroid.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Host/common/GetOptInc.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Host/common/NativeBreakpoint.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Host/common/NativeBreakpointList.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Host/common/NativeProcessProtocol.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Host/common/NativeRegisterContext.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Host/common/NativeThreadProtocol.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Host/common/NativeWatchpointList.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Host/common/SoftwareBreakpoint.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Host/common/TCPSocket.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Host/common/UDPSocket.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Host/freebsd/HostInfoFreeBSD.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Host/linux/AbstractSocket.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Host/linux/HostInfoLinux.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Host/linux/Ptrace.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Host/linux/Support.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Host/linux/Uio.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Host/macosx/HostInfoMacOSX.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Host/macosx/HostThreadMacOSX.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Host/netbsd/HostInfoNetBSD.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Host/openbsd/HostInfoOpenBSD.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Host/posix/ConnectionFileDescriptorPosix.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Host/posix/DomainSocket.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Host/posix/Fcntl.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Host/posix/HostInfoPosix.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Host/posix/HostProcessPosix.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Host/posix/HostThreadPosix.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Host/posix/LockFilePosix.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Host/posix/PipePosix.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Host/posix/ProcessLauncherPosixFork.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Host/windows/AutoHandle.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Host/windows/ConnectionGenericFileWindows.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Host/windows/HostInfoWindows.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Host/windows/HostProcessWindows.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Host/windows/HostThreadWindows.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Host/windows/LockFileWindows.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Host/windows/PipeWindows.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Host/windows/PosixApi.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Host/windows/ProcessLauncherWindows.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Host/windows/editlinewin.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Host/windows/windows.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Initialization/SystemInitializer.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Initialization/SystemInitializerCommon.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Initialization/SystemLifetimeManager.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Interpreter/Args.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Interpreter/CommandAlias.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Interpreter/CommandCompletions.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Interpreter/CommandHistory.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Interpreter/CommandInterpreter.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Interpreter/CommandObject.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Interpreter/CommandObjectMultiword.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Interpreter/CommandObjectRegexCommand.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Interpreter/CommandOptionValidators.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Interpreter/CommandReturnObject.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Interpreter/OptionGroupArchitecture.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Interpreter/OptionGroupBoolean.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Interpreter/OptionGroupFile.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Interpreter/OptionGroupFormat.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Interpreter/OptionGroupOutputFile.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Interpreter/OptionGroupPlatform.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Interpreter/OptionGroupString.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Interpreter/OptionGroupUInt64.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Interpreter/OptionGroupUUID.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Interpreter/OptionGroupValueObjectDisplay.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Interpreter/OptionGroupVariable.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Interpreter/OptionGroupWatchpoint.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Interpreter/OptionValue.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Interpreter/OptionValueArch.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Interpreter/OptionValueArgs.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Interpreter/OptionValueArray.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Interpreter/OptionValueBoolean.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Interpreter/OptionValueChar.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Interpreter/OptionValueDictionary.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Interpreter/OptionValueEnumeration.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Interpreter/OptionValueFileSpec.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Interpreter/OptionValueFileSpecList.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Interpreter/OptionValueFormat.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Interpreter/OptionValueFormatEntity.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Interpreter/OptionValueLanguage.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Interpreter/OptionValuePathMappings.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Interpreter/OptionValueProperties.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Interpreter/OptionValueRegex.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Interpreter/OptionValueSInt64.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Interpreter/OptionValueString.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Interpreter/OptionValueUInt64.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Interpreter/OptionValueUUID.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Interpreter/OptionValues.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Interpreter/Options.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Interpreter/Property.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Interpreter/ScriptInterpreter.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Symbol/ArmUnwindInfo.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Symbol/Block.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Symbol/ClangASTContext.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Symbol/ClangASTImporter.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Symbol/ClangExternalASTSourceCallbacks.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Symbol/ClangExternalASTSourceCommon.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Symbol/ClangUtil.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Symbol/CompactUnwindInfo.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Symbol/CompileUnit.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Symbol/CompilerDecl.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Symbol/CompilerDeclContext.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Symbol/CompilerType.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Symbol/DWARFCallFrameInfo.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Symbol/DebugMacros.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Symbol/DeclVendor.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Symbol/Declaration.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Symbol/FuncUnwinders.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Symbol/Function.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Symbol/GoASTContext.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Symbol/JavaASTContext.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Symbol/LineEntry.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Symbol/LineTable.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Symbol/OCamlASTContext.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Symbol/ObjectContainer.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Symbol/ObjectFile.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Symbol/Symbol.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Symbol/SymbolContext.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Symbol/SymbolContextScope.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Symbol/SymbolFile.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Symbol/SymbolVendor.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Symbol/Symtab.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Symbol/TaggedASTType.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Symbol/Type.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Symbol/TypeList.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Symbol/TypeMap.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Symbol/TypeSystem.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Symbol/UnwindPlan.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Symbol/UnwindTable.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Symbol/Variable.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Symbol/VariableList.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Symbol/VerifyDecl.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Target/ABI.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Target/CPPLanguageRuntime.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Target/DynamicLoader.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Target/ExecutionContext.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Target/ExecutionContextScope.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Target/FileAction.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Target/InstrumentationRuntime.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Target/InstrumentationRuntimeStopInfo.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Target/JITLoader.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Target/JITLoaderList.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Target/Language.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Target/LanguageRuntime.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Target/Memory.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Target/MemoryHistory.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Target/MemoryRegionInfo.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Target/ModuleCache.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Target/ObjCLanguageRuntime.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Target/OperatingSystem.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Target/PathMappingList.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Target/Platform.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Target/Process.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Target/ProcessInfo.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Target/ProcessLaunchInfo.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Target/ProcessStructReader.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Target/Queue.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Target/QueueItem.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Target/QueueList.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Target/RegisterCheckpoint.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Target/RegisterContext.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Target/RegisterNumber.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Target/SectionLoadHistory.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Target/SectionLoadList.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Target/StackFrame.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Target/StackFrameList.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Target/StackID.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Target/StopInfo.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Target/StructuredDataPlugin.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Target/SystemRuntime.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Target/Target.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Target/TargetList.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Target/Thread.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Target/ThreadCollection.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Target/ThreadList.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Target/ThreadPlan.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Target/ThreadPlanBase.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Target/ThreadPlanCallFunction.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Target/ThreadPlanCallFunctionUsingABI.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Target/ThreadPlanCallOnFunctionExit.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Target/ThreadPlanCallUserExpression.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Target/ThreadPlanPython.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Target/ThreadPlanRunToAddress.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Target/ThreadPlanShouldStopHere.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Target/ThreadPlanStepInRange.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Target/ThreadPlanStepInstruction.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Target/ThreadPlanStepOut.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Target/ThreadPlanStepOverBreakpoint.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Target/ThreadPlanStepOverRange.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Target/ThreadPlanStepRange.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Target/ThreadPlanStepThrough.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Target/ThreadPlanStepUntil.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Target/ThreadPlanTracer.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Target/ThreadSpec.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Target/UnixSignals.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Target/Unwind.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Target/UnwindAssembly.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Utility/AnsiTerminal.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Utility/ArchSpec.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Utility/Baton.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Utility/CleanUp.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Utility/Connection.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Utility/ConstString.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Utility/DataBuffer.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Utility/DataBufferHeap.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Utility/DataBufferLLVM.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Utility/DataEncoder.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Utility/DataExtractor.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Utility/Either.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Utility/Endian.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Utility/FastDemangle.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Utility/FileSpec.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Utility/Flags.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Utility/History.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Utility/IOObject.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Utility/Iterable.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Utility/JSON.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Utility/LLDBAssert.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Utility/Log.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Utility/Logging.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Utility/NameMatches.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Utility/Range.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Utility/RegularExpression.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Utility/SafeMachO.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Utility/SelectHelper.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Utility/SharedCluster.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Utility/SharingPtr.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Utility/Status.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Utility/Stream.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Utility/StreamCallback.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Utility/StreamGDBRemote.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Utility/StreamString.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Utility/StreamTee.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Utility/StringExtractor.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Utility/StringLexer.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Utility/StringList.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Utility/StructuredData.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Utility/TildeExpressionResolver.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Utility/Timeout.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Utility/Timer.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Utility/TraceOptions.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Utility/UUID.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Utility/UriParser.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Utility/UserID.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Utility/VASPrintf.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/Utility/VMRange.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/lldb-defines.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/lldb-enumerations.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/lldb-forward.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/lldb-private-defines.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/lldb-private-enumerations.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/lldb-private-forward.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/lldb-private-interfaces.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/lldb-private-types.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/lldb-private.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/lldb-public.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/lldb-types.h -%%LLDB%%llvm%%LLVM_LIB_VER%%/include/lldb/lldb-versioning.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%%%%OPENMP%%llvm%%LLVM_LIB_VER%%/lib/clang/%%LLVM_RELEASE%%/include/__clang_cuda_complex_builtins.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%%%%OPENMP%%llvm%%LLVM_LIB_VER%%/lib/clang/%%LLVM_RELEASE%%/include/cuda_wrappers/complex -%%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 -%%OPENMP%%llvm%%LLVM_LIB_VER%%/lib/clang/%%LLVM_RELEASE%%/include/omp.h -%%OPENMP%%llvm%%LLVM_LIB_VER%%/lib/clang/%%LLVM_RELEASE%%/include/ompt.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 -%%OPENMP%%llvm%%LLVM_LIB_VER%%/lib/cmake/llvm/CheckCompilerVersion.cmake -llvm%%LLVM_LIB_VER%%/lib/cmake/llvm/CheckLinkerFlag.cmake -llvm%%LLVM_LIB_VER%%/lib/cmake/llvm/ChooseMSVCCRT.cmake -%%OPENMP%%llvm%%LLVM_LIB_VER%%/lib/cmake/llvm/CrossCompile.cmake -%%OPENMP%%llvm%%LLVM_LIB_VER%%/lib/cmake/llvm/DetermineGCCCompatible.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 -%%OPENMP%%llvm%%LLVM_LIB_VER%%/lib/libgomp.so -%%OPENMP%%llvm%%LLVM_LIB_VER%%/lib/libiomp5.so -%%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 -%%LLDB%%llvm%%LLVM_LIB_VER%%/lib/liblldb.so -%%LLDB%%llvm%%LLVM_LIB_VER%%/lib/liblldb.so.%%LLVM_RELEASE%% -%%LLDB%%llvm%%LLVM_LIB_VER%%/lib/liblldb.so.6 -%%LLDB%%llvm%%LLVM_LIB_VER%%/lib/liblldbBase.a -%%LLDB%%llvm%%LLVM_LIB_VER%%/lib/liblldbBreakpoint.a -%%LLDB%%llvm%%LLVM_LIB_VER%%/lib/liblldbCommands.a -%%LLDB%%llvm%%LLVM_LIB_VER%%/lib/liblldbCore.a -%%LLDB%%llvm%%LLVM_LIB_VER%%/lib/liblldbDataFormatters.a -%%LLDB%%llvm%%LLVM_LIB_VER%%/lib/liblldbExpression.a -%%LLDB%%llvm%%LLVM_LIB_VER%%/lib/liblldbHost.a -%%LLDB%%llvm%%LLVM_LIB_VER%%/lib/liblldbInitialization.a -%%LLDB%%llvm%%LLVM_LIB_VER%%/lib/liblldbInterpreter.a -%%LLDB%%llvm%%LLVM_LIB_VER%%/lib/liblldbPluginABIMacOSX_arm.a -%%LLDB%%llvm%%LLVM_LIB_VER%%/lib/liblldbPluginABIMacOSX_arm64.a -%%LLDB%%llvm%%LLVM_LIB_VER%%/lib/liblldbPluginABIMacOSX_i386.a -%%LLDB%%llvm%%LLVM_LIB_VER%%/lib/liblldbPluginABISysV_arm.a -%%LLDB%%llvm%%LLVM_LIB_VER%%/lib/liblldbPluginABISysV_arm64.a -%%LLDB%%llvm%%LLVM_LIB_VER%%/lib/liblldbPluginABISysV_hexagon.a -%%LLDB%%llvm%%LLVM_LIB_VER%%/lib/liblldbPluginABISysV_i386.a -%%LLDB%%llvm%%LLVM_LIB_VER%%/lib/liblldbPluginABISysV_mips.a -%%LLDB%%llvm%%LLVM_LIB_VER%%/lib/liblldbPluginABISysV_mips64.a -%%LLDB%%llvm%%LLVM_LIB_VER%%/lib/liblldbPluginABISysV_ppc.a -%%LLDB%%llvm%%LLVM_LIB_VER%%/lib/liblldbPluginABISysV_ppc64.a -%%LLDB%%llvm%%LLVM_LIB_VER%%/lib/liblldbPluginABISysV_s390x.a -%%LLDB%%llvm%%LLVM_LIB_VER%%/lib/liblldbPluginABISysV_x86_64.a -%%LLDB%%llvm%%LLVM_LIB_VER%%/lib/liblldbPluginAppleObjCRuntime.a -%%LLDB%%llvm%%LLVM_LIB_VER%%/lib/liblldbPluginArchitectureArm.a -%%LLDB%%llvm%%LLVM_LIB_VER%%/lib/liblldbPluginCPlusPlusLanguage.a -%%LLDB%%llvm%%LLVM_LIB_VER%%/lib/liblldbPluginCXXItaniumABI.a -%%LLDB%%llvm%%LLVM_LIB_VER%%/lib/liblldbPluginDisassemblerLLVM.a -%%LLDB%%llvm%%LLVM_LIB_VER%%/lib/liblldbPluginDynamicLoaderHexagonDYLD.a -%%LLDB%%llvm%%LLVM_LIB_VER%%/lib/liblldbPluginDynamicLoaderMacOSXDYLD.a -%%LLDB%%llvm%%LLVM_LIB_VER%%/lib/liblldbPluginDynamicLoaderPosixDYLD.a -%%LLDB%%llvm%%LLVM_LIB_VER%%/lib/liblldbPluginDynamicLoaderStatic.a -%%LLDB%%llvm%%LLVM_LIB_VER%%/lib/liblldbPluginDynamicLoaderWindowsDYLD.a -%%LLDB%%llvm%%LLVM_LIB_VER%%/lib/liblldbPluginExpressionParserClang.a -%%LLDB%%llvm%%LLVM_LIB_VER%%/lib/liblldbPluginExpressionParserGo.a -%%LLDB%%llvm%%LLVM_LIB_VER%%/lib/liblldbPluginGoLanguage.a -%%LLDB%%llvm%%LLVM_LIB_VER%%/lib/liblldbPluginInstructionARM.a -%%LLDB%%llvm%%LLVM_LIB_VER%%/lib/liblldbPluginInstructionARM64.a -%%LLDB%%llvm%%LLVM_LIB_VER%%/lib/liblldbPluginInstructionMIPS.a -%%LLDB%%llvm%%LLVM_LIB_VER%%/lib/liblldbPluginInstructionMIPS64.a -%%LLDB%%llvm%%LLVM_LIB_VER%%/lib/liblldbPluginInstrumentationRuntimeASan.a -%%LLDB%%llvm%%LLVM_LIB_VER%%/lib/liblldbPluginInstrumentationRuntimeMainThreadChecker.a -%%LLDB%%llvm%%LLVM_LIB_VER%%/lib/liblldbPluginInstrumentationRuntimeTSan.a -%%LLDB%%llvm%%LLVM_LIB_VER%%/lib/liblldbPluginInstrumentationRuntimeUBSan.a -%%LLDB%%llvm%%LLVM_LIB_VER%%/lib/liblldbPluginJITLoaderGDB.a -%%LLDB%%llvm%%LLVM_LIB_VER%%/lib/liblldbPluginJavaLanguage.a -%%LLDB%%llvm%%LLVM_LIB_VER%%/lib/liblldbPluginLanguageRuntimeGo.a -%%LLDB%%llvm%%LLVM_LIB_VER%%/lib/liblldbPluginLanguageRuntimeJava.a -%%LLDB%%llvm%%LLVM_LIB_VER%%/lib/liblldbPluginMemoryHistoryASan.a -%%LLDB%%llvm%%LLVM_LIB_VER%%/lib/liblldbPluginOCamlLanguage.a -%%LLDB%%llvm%%LLVM_LIB_VER%%/lib/liblldbPluginOSGo.a -%%LLDB%%llvm%%LLVM_LIB_VER%%/lib/liblldbPluginOSPython.a -%%LLDB%%llvm%%LLVM_LIB_VER%%/lib/liblldbPluginObjCLanguage.a -%%LLDB%%llvm%%LLVM_LIB_VER%%/lib/liblldbPluginObjCPlusPlusLanguage.a -%%LLDB%%llvm%%LLVM_LIB_VER%%/lib/liblldbPluginObjectContainerBSDArchive.a -%%LLDB%%llvm%%LLVM_LIB_VER%%/lib/liblldbPluginObjectContainerMachOArchive.a -%%LLDB%%llvm%%LLVM_LIB_VER%%/lib/liblldbPluginObjectFileELF.a -%%LLDB%%llvm%%LLVM_LIB_VER%%/lib/liblldbPluginObjectFileJIT.a -%%LLDB%%llvm%%LLVM_LIB_VER%%/lib/liblldbPluginObjectFileMachO.a -%%LLDB%%llvm%%LLVM_LIB_VER%%/lib/liblldbPluginObjectFilePECOFF.a -%%LLDB%%llvm%%LLVM_LIB_VER%%/lib/liblldbPluginPlatformAndroid.a -%%LLDB%%llvm%%LLVM_LIB_VER%%/lib/liblldbPluginPlatformFreeBSD.a -%%LLDB%%llvm%%LLVM_LIB_VER%%/lib/liblldbPluginPlatformGDB.a -%%LLDB%%llvm%%LLVM_LIB_VER%%/lib/liblldbPluginPlatformKalimba.a -%%LLDB%%llvm%%LLVM_LIB_VER%%/lib/liblldbPluginPlatformLinux.a -%%LLDB%%llvm%%LLVM_LIB_VER%%/lib/liblldbPluginPlatformMacOSX.a -%%LLDB%%llvm%%LLVM_LIB_VER%%/lib/liblldbPluginPlatformNetBSD.a -%%LLDB%%llvm%%LLVM_LIB_VER%%/lib/liblldbPluginPlatformOpenBSD.a -%%LLDB%%llvm%%LLVM_LIB_VER%%/lib/liblldbPluginPlatformPOSIX.a -%%LLDB%%llvm%%LLVM_LIB_VER%%/lib/liblldbPluginPlatformWindows.a -%%LLDB%%llvm%%LLVM_LIB_VER%%/lib/liblldbPluginProcessElfCore.a -%%LLDB%%llvm%%LLVM_LIB_VER%%/lib/liblldbPluginProcessFreeBSD.a -%%LLDB%%llvm%%LLVM_LIB_VER%%/lib/liblldbPluginProcessGDBRemote.a -%%LLDB%%llvm%%LLVM_LIB_VER%%/lib/liblldbPluginProcessMinidump.a -%%LLDB%%llvm%%LLVM_LIB_VER%%/lib/liblldbPluginProcessPOSIX.a -%%LLDB%%llvm%%LLVM_LIB_VER%%/lib/liblldbPluginProcessUtility.a -%%LLDB%%llvm%%LLVM_LIB_VER%%/lib/liblldbPluginRenderScriptRuntime.a -%%LLDB%%llvm%%LLVM_LIB_VER%%/lib/liblldbPluginScriptInterpreterNone.a -%%LLDB%%llvm%%LLVM_LIB_VER%%/lib/liblldbPluginScriptInterpreterPython.a -%%LLDB%%llvm%%LLVM_LIB_VER%%/lib/liblldbPluginStructuredDataDarwinLog.a -%%LLDB%%llvm%%LLVM_LIB_VER%%/lib/liblldbPluginSymbolFileDWARF.a -%%LLDB%%llvm%%LLVM_LIB_VER%%/lib/liblldbPluginSymbolFilePDB.a -%%LLDB%%llvm%%LLVM_LIB_VER%%/lib/liblldbPluginSymbolFileSymtab.a -%%LLDB%%llvm%%LLVM_LIB_VER%%/lib/liblldbPluginSymbolVendorELF.a -%%LLDB%%llvm%%LLVM_LIB_VER%%/lib/liblldbPluginSystemRuntimeMacOSX.a -%%LLDB%%llvm%%LLVM_LIB_VER%%/lib/liblldbPluginUnwindAssemblyInstEmulation.a -%%LLDB%%llvm%%LLVM_LIB_VER%%/lib/liblldbPluginUnwindAssemblyX86.a -%%LLDB%%llvm%%LLVM_LIB_VER%%/lib/liblldbSymbol.a -%%LLDB%%llvm%%LLVM_LIB_VER%%/lib/liblldbTarget.a -%%LLDB%%llvm%%LLVM_LIB_VER%%/lib/liblldbUtility.a -%%LLDB%%llvm%%LLVM_LIB_VER%%/lib/liblldbUtilityHelpers.a -%%OPENMP%%llvm%%LLVM_LIB_VER%%/lib/libomp.so -%%OPENMP%%llvm%%LLVM_LIB_VER%%/lib/libomptarget.so -%%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 -@postexec if type ccache-update-links >/dev/null 2>&1; then ccache-update-links -v; fi -@postunexec if type ccache-update-links >/dev/null 2>&1; then ccache-update-links -v; fi |