git: 4542f901cb0c - main - Merge llvm-project release/17.x llvmorg-17.0.1-25-g098e653a5bed

From: Dimitry Andric <dim_at_FreeBSD.org>
Date: Fri, 08 Dec 2023 17:38:48 UTC
The branch main has been updated by dim:

URL: https://cgit.FreeBSD.org/src/commit/?id=4542f901cb0c5dd66ab5b541f2fbc659fd46f893

commit 4542f901cb0c5dd66ab5b541f2fbc659fd46f893
Merge: 8a4dda33d675 4bbf1f460eb3
Author:     Dimitry Andric <dim@FreeBSD.org>
AuthorDate: 2023-09-29 18:51:44 +0000
Commit:     Dimitry Andric <dim@FreeBSD.org>
CommitDate: 2023-12-08 17:35:22 +0000

    Merge llvm-project release/17.x llvmorg-17.0.1-25-g098e653a5bed
    
    This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvmorg-17.0.1-25-g098e653a5bed.
    
    PR:             273753
    MFC after:      1 month

 .../DependencyScanningFilesystem.h                 | 18 ++++-
 .../llvm-project/clang/lib/AST/ExprConstant.cpp    | 17 +++--
 contrib/llvm-project/clang/lib/CodeGen/CGCall.cpp  | 24 -------
 .../llvm-project/clang/lib/CodeGen/CGCoroutine.cpp | 33 ---------
 .../clang/lib/CodeGen/CodeGenFunction.h            |  5 --
 .../clang/lib/Frontend/TextDiagnostic.cpp          |  3 +-
 .../lib/Headers/cuda_wrappers/bits/basic_string.h  |  9 +++
 .../Headers/cuda_wrappers/bits/basic_string.tcc    |  9 +++
 .../llvm-project/clang/lib/Sema/SemaChecking.cpp   |  6 +-
 .../DependencyScanningFilesystem.cpp               | 79 ++++++++++++++++++----
 contrib/llvm-project/libcxx/include/__config       |  2 +-
 contrib/llvm-project/lld/COFF/Writer.cpp           |  2 +-
 .../llvm/include/llvm/Transforms/Utils/Local.h     | 10 +++
 .../llvm-project/llvm/lib/Analysis/InlineCost.cpp  | 20 ++----
 .../llvm/lib/CodeGen/StackColoring.cpp             | 62 ++++-------------
 .../lib/Target/AArch64/AArch64ISelLowering.cpp     |  4 +-
 .../llvm/lib/Target/ARM/ARMInstrInfo.td            |  2 +-
 .../llvm/lib/Target/ARM/ARMInstrThumb2.td          |  2 +-
 .../llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp      | 28 ++++++--
 .../llvm/lib/Transforms/Scalar/GVN.cpp             |  7 +-
 .../llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp | 23 ++++---
 .../lib/Transforms/Scalar/SimpleLoopUnswitch.cpp   | 61 +++++++++--------
 .../llvm/lib/Transforms/Utils/Local.cpp            | 31 +++++++--
 .../llvm/lib/Transforms/Utils/SimplifyCFG.cpp      | 12 ++--
 contrib/llvm-project/llvm/tools/lli/lli.cpp        | 14 ++++
 .../llvm/tools/llvm-readobj/COFFDumper.cpp         | 30 ++++----
 lib/clang/headers/Makefile                         | 22 ++++--
 lib/clang/include/VCSVersion.inc                   |  6 +-
 lib/clang/include/clang/Basic/Version.inc          |  6 +-
 lib/clang/include/lld/Common/Version.inc           |  2 +-
 lib/clang/include/lldb/Version/Version.inc         |  6 +-
 lib/clang/include/llvm/Config/config.h             |  4 +-
 lib/clang/include/llvm/Config/llvm-config.h        |  4 +-
 lib/clang/include/llvm/Support/VCSRevision.h       |  2 +-
 34 files changed, 319 insertions(+), 246 deletions(-)

diff --cc contrib/llvm-project/clang/lib/Headers/cuda_wrappers/bits/basic_string.h
index 000000000000,64f50d9f6a72..64f50d9f6a72
mode 000000,100644..100644
--- a/contrib/llvm-project/clang/lib/Headers/cuda_wrappers/bits/basic_string.h
+++ b/contrib/llvm-project/clang/lib/Headers/cuda_wrappers/bits/basic_string.h
diff --cc contrib/llvm-project/clang/lib/Headers/cuda_wrappers/bits/basic_string.tcc
index 000000000000,90c7fe34d932..90c7fe34d932
mode 000000,100644..100644
--- a/contrib/llvm-project/clang/lib/Headers/cuda_wrappers/bits/basic_string.tcc
+++ b/contrib/llvm-project/clang/lib/Headers/cuda_wrappers/bits/basic_string.tcc
diff --cc lib/clang/headers/Makefile
index 3090979f5431,000000000000..49f78b0a4d97
mode 100644,000000..100644
--- a/lib/clang/headers/Makefile
+++ b/lib/clang/headers/Makefile
@@@ -1,243 -1,0 +1,251 @@@
 +
 +.include "../clang.pre.mk"
 +
 +.PATH:		${CLANG_SRCS}/lib/Headers
 +
- INCSGROUPS=	INCS CUDA HLSL OMP ORC PPC
++INCSGROUPS+=	INCS
 +INCSDIR=	${LIBDIR}/clang/17/include
- CUDADIR=	${INCSDIR}/cuda_wrappers
- HLSLDIR=	${INCSDIR}/hlsl
- OMPDIR=		${INCSDIR}/openmp_wrappers
- PPCDIR=		${INCSDIR}/ppc_wrappers
- 
 +INCS+=		__clang_cuda_builtin_vars.h
 +INCS+=		__clang_cuda_cmath.h
 +INCS+=		__clang_cuda_complex_builtins.h
 +INCS+=		__clang_cuda_device_functions.h
 +INCS+=		__clang_cuda_intrinsics.h
 +INCS+=		__clang_cuda_libdevice_declares.h
 +INCS+=		__clang_cuda_math.h
 +INCS+=		__clang_cuda_math_forward_declares.h
 +INCS+=		__clang_cuda_runtime_wrapper.h
 +INCS+=		__clang_cuda_texture_intrinsics.h
 +INCS+=		__clang_hip_cmath.h
 +INCS+=		__clang_hip_libdevice_declares.h
 +INCS+=		__clang_hip_math.h
 +INCS+=		__clang_hip_runtime_wrapper.h
 +INCS+=		__clang_hip_stdlib.h
 +INCS+=		__stddef_max_align_t.h
 +INCS+=		__wmmintrin_aes.h
 +INCS+=		__wmmintrin_pclmul.h
 +INCS+=		adxintrin.h
 +INCS+=		altivec.h
 +INCS+=		ammintrin.h
 +INCS+=		amxcomplexintrin.h
 +INCS+=		amxfp16intrin.h
 +INCS+=		amxintrin.h
 +INCS+=		arm64intr.h
 +INCS+=		arm_acle.h
 +INCS+=		arm_cmse.h
 +INCS+=		arm_neon_sve_bridge.h
 +INCS+=		armintr.h
 +INCS+=		avx2intrin.h
 +INCS+=		avx512bf16intrin.h
 +INCS+=		avx512bitalgintrin.h
 +INCS+=		avx512bwintrin.h
 +INCS+=		avx512cdintrin.h
 +INCS+=		avx512dqintrin.h
 +INCS+=		avx512erintrin.h
 +INCS+=		avx512fintrin.h
 +INCS+=		avx512fp16intrin.h
 +INCS+=		avx512ifmaintrin.h
 +INCS+=		avx512ifmavlintrin.h
 +INCS+=		avx512pfintrin.h
 +INCS+=		avx512vbmi2intrin.h
 +INCS+=		avx512vbmiintrin.h
 +INCS+=		avx512vbmivlintrin.h
 +INCS+=		avx512vlbf16intrin.h
 +INCS+=		avx512vlbitalgintrin.h
 +INCS+=		avx512vlbwintrin.h
 +INCS+=		avx512vlcdintrin.h
 +INCS+=		avx512vldqintrin.h
 +INCS+=		avx512vlfp16intrin.h
 +INCS+=		avx512vlintrin.h
 +INCS+=		avx512vlvbmi2intrin.h
 +INCS+=		avx512vlvnniintrin.h
 +INCS+=		avx512vlvp2intersectintrin.h
 +INCS+=		avx512vnniintrin.h
 +INCS+=		avx512vp2intersectintrin.h
 +INCS+=		avx512vpopcntdqintrin.h
 +INCS+=		avx512vpopcntdqvlintrin.h
 +INCS+=		avxifmaintrin.h
 +INCS+=		avxintrin.h
 +INCS+=		avxneconvertintrin.h
 +INCS+=		avxvnniint16intrin.h
 +INCS+=		avxvnniint8intrin.h
 +INCS+=		avxvnniintrin.h
 +INCS+=		bmi2intrin.h
 +INCS+=		bmiintrin.h
 +INCS+=		builtins.h
 +INCS+=		cet.h
 +INCS+=		cetintrin.h
 +INCS+=		cldemoteintrin.h
 +INCS+=		clflushoptintrin.h
 +INCS+=		clwbintrin.h
 +INCS+=		clzerointrin.h
 +INCS+=		cmpccxaddintrin.h
 +INCS+=		cpuid.h
 +INCS+=		crc32intrin.h
 +INCS+=		emmintrin.h
 +INCS+=		enqcmdintrin.h
 +INCS+=		f16cintrin.h
 +INCS+=		fma4intrin.h
 +INCS+=		fmaintrin.h
 +INCS+=		fxsrintrin.h
 +INCS+=		gfniintrin.h
 +INCS+=		hexagon_circ_brev_intrinsics.h
 +INCS+=		hexagon_protos.h
 +INCS+=		hexagon_types.h
 +INCS+=		hlsl.h
 +INCS+=		hresetintrin.h
 +INCS+=		htmintrin.h
 +INCS+=		htmxlintrin.h
 +INCS+=		hvx_hexagon_protos.h
 +INCS+=		ia32intrin.h
 +INCS+=		immintrin.h
 +INCS+=		invpcidintrin.h
 +INCS+=		keylockerintrin.h
 +INCS+=		larchintrin.h
 +INCS+=		lwpintrin.h
 +INCS+=		lzcntintrin.h
 +INCS+=		mm3dnow.h
 +INCS+=		mm_malloc.h
 +INCS+=		mmintrin.h
 +INCS+=		module.modulemap
 +INCS+=		movdirintrin.h
 +INCS+=		msa.h
 +INCS+=		mwaitxintrin.h
 +INCS+=		nmmintrin.h
 +INCS+=		opencl-c-base.h
 +INCS+=		opencl-c.h
 +INCS+=		pconfigintrin.h
 +INCS+=		pkuintrin.h
 +INCS+=		pmmintrin.h
 +INCS+=		popcntintrin.h
 +INCS+=		prfchiintrin.h
 +INCS+=		prfchwintrin.h
 +INCS+=		ptwriteintrin.h
 +INCS+=		raointintrin.h
 +INCS+=		rdpruintrin.h
 +INCS+=		rdseedintrin.h
 +INCS+=		riscv_ntlh.h
 +INCS+=		riscv_vector.h
 +INCS+=		rtmintrin.h
 +INCS+=		s390intrin.h
 +INCS+=		serializeintrin.h
 +INCS+=		sgxintrin.h
 +INCS+=		sha512intrin.h
 +INCS+=		shaintrin.h
 +INCS+=		sifive_vector.h
 +INCS+=		sm3intrin.h
 +INCS+=		sm4intrin.h
 +INCS+=		smmintrin.h
 +INCS+=		tbmintrin.h
 +INCS+=		tmmintrin.h
 +INCS+=		tsxldtrkintrin.h
 +INCS+=		uintrintrin.h
 +INCS+=		vadefs.h
 +INCS+=		vaesintrin.h
 +INCS+=		vecintrin.h
 +INCS+=		velintrin.h
 +INCS+=		velintrin_approx.h
 +INCS+=		velintrin_gen.h
 +INCS+=		vpclmulqdqintrin.h
 +INCS+=		waitpkgintrin.h
 +INCS+=		wasm_simd128.h
 +INCS+=		wbnoinvdintrin.h
 +INCS+=		wmmintrin.h
 +INCS+=		x86gprintrin.h
 +INCS+=		x86intrin.h
 +INCS+=		xmmintrin.h
 +INCS+=		xopintrin.h
 +INCS+=		xsavecintrin.h
 +INCS+=		xsaveintrin.h
 +INCS+=		xsaveoptintrin.h
 +INCS+=		xsavesintrin.h
 +INCS+=		xtestintrin.h
 +INCS+=		${GENINCS}
 +
 +# Headers which possibly conflict with our own versions:
 +.ifdef INSTALL_CONFLICTING_CLANG_HEADERS
 +INCS+=		float.h
 +INCS+=		intrin.h
 +INCS+=		inttypes.h
 +INCS+=		iso646.h
 +INCS+=		limits.h
 +INCS+=		stdalign.h
 +INCS+=		stdarg.h
 +INCS+=		stdatomic.h
 +INCS+=		stdbool.h
 +INCS+=		stddef.h
 +INCS+=		stdint.h
 +INCS+=		stdnoreturn.h
 +INCS+=		tgmath.h
 +INCS+=		unwind.h
 +INCS+=		varargs.h
 +.endif # INSTALL_CONFLICTING_CLANG_HEADERS
 +
++INCSGROUPS+=	CUDA
++CUDADIR=	${INCSDIR}/cuda_wrappers
 +CUDA+=		cuda_wrappers/algorithm
- CUDA+=		cuda_wrappers/bits/shared_ptr_base.h
 +CUDA+=		cuda_wrappers/cmath
 +CUDA+=		cuda_wrappers/complex
 +CUDA+=		cuda_wrappers/new
 +
++INCSGROUPS+=	CUDB
++CUDBDIR=	${INCSDIR}/cuda_wrappers/bits
++CUDB+=		cuda_wrappers/bits/basic_string.h
++CUDB+=		cuda_wrappers/bits/basic_string.tcc
++CUDB+=		cuda_wrappers/bits/shared_ptr_base.h
++
++INCSGROUPS+=	HLSL
++HLSLDIR=	${INCSDIR}/hlsl
 +HLSL+=		hlsl/hlsl_basic_types.h
 +HLSL+=		hlsl/hlsl_intrinsics.h
 +
++INCSGROUPS+=	OMP
++OMPDIR=		${INCSDIR}/openmp_wrappers
 +OMP+=		openmp_wrappers/__clang_openmp_device_functions.h
 +OMP+=		openmp_wrappers/cmath
 +OMP+=		openmp_wrappers/complex
 +OMP+=		openmp_wrappers/complex.h
 +OMP+=		openmp_wrappers/complex_cmath.h
 +OMP+=		openmp_wrappers/math.h
 +OMP+=		openmp_wrappers/new
 +
++INCSGROUPS+=	PPC
++PPCDIR=		${INCSDIR}/ppc_wrappers
 +PPC+=		ppc_wrappers/bmi2intrin.h
 +PPC+=		ppc_wrappers/bmiintrin.h
 +PPC+=		ppc_wrappers/emmintrin.h
 +PPC+=		ppc_wrappers/immintrin.h
 +PPC+=		ppc_wrappers/mm_malloc.h
 +PPC+=		ppc_wrappers/mmintrin.h
 +PPC+=		ppc_wrappers/pmmintrin.h
 +PPC+=		ppc_wrappers/smmintrin.h
 +PPC+=		ppc_wrappers/tmmintrin.h
 +PPC+=		ppc_wrappers/x86gprintrin.h
 +PPC+=		ppc_wrappers/x86intrin.h
 +PPC+=		ppc_wrappers/xmmintrin.h
 +
 +.for hdr in bf16/bf16 cde/cde-header fp16/fp16 mve/mve-header neon/neon \
 +	sve/sve-header
 +arm_${hdr:H}.h: ${CLANG_SRCS}/include/clang/Basic/arm_${hdr:H}.td
 +	${CLANG_TBLGEN} -gen-arm-${hdr:T} \
 +	    -I ${CLANG_SRCS}/include/clang/Basic -d ${.TARGET:C/$/.d/} \
 +	    -o ${.TARGET} ${CLANG_SRCS}/include/clang/Basic/arm_${hdr:H}.td
 +GENINCS+=	arm_${hdr:H}.h
 +.endfor
 +
 +arm_sme_draft_spec_subject_to_change.h: ${CLANG_SRCS}/include/clang/Basic/arm_sme.td
 +	${CLANG_TBLGEN} -gen-arm-sme-header \
 +	    -I ${CLANG_SRCS}/include/clang/Basic -d ${.TARGET:C/$/.d/} \
 +	    -o ${.TARGET} ${CLANG_SRCS}/include/clang/Basic/arm_sme.td
 +GENINCS+=	arm_sme_draft_spec_subject_to_change.h
 +
 +.for hdr in vector/vector-header
 +riscv_${hdr:H}.h: ${CLANG_SRCS}/include/clang/Basic/riscv_${hdr:H}.td
 +	${CLANG_TBLGEN} -gen-riscv-${hdr:T} \
 +	    -I ${CLANG_SRCS}/include/clang/Basic -d ${.TARGET:C/$/.d/} \
 +	    -o ${.TARGET} ${CLANG_SRCS}/include/clang/Basic/riscv_${hdr:H}.td
 +GENINCS+=	riscv_${hdr:H}.h
 +.endfor
 +
 +CLEANFILES=	${GENINCS} ${GENINCS:C/$/.d/}
 +
 +.include <bsd.prog.mk>
diff --cc lib/clang/include/VCSVersion.inc
index c43f3a94a8ee,000000000000..c4338e330ee5
mode 100644,000000..100644
--- a/lib/clang/include/VCSVersion.inc
+++ b/lib/clang/include/VCSVersion.inc
@@@ -1,8 -1,0 +1,8 @@@
- #define LLVM_REVISION "llvmorg-17.0.0-rc4-10-g0176e8729ea4"
++#define LLVM_REVISION "llvmorg-17.0.1-25-g098e653a5bed"
 +#define LLVM_REPOSITORY "https://github.com/llvm/llvm-project.git"
 +
- #define CLANG_REVISION "llvmorg-17.0.0-rc4-10-g0176e8729ea4"
++#define CLANG_REVISION "llvmorg-17.0.1-25-g098e653a5bed"
 +#define CLANG_REPOSITORY "https://github.com/llvm/llvm-project.git"
 +
- #define LLDB_REVISION "llvmorg-17.0.0-rc4-10-g0176e8729ea4"
++#define LLDB_REVISION "llvmorg-17.0.1-25-g098e653a5bed"
 +#define LLDB_REPOSITORY "https://github.com/llvm/llvm-project.git"
diff --cc lib/clang/include/clang/Basic/Version.inc
index 7d26ce264705,000000000000..750d9ecbc020
mode 100644,000000..100644
--- a/lib/clang/include/clang/Basic/Version.inc
+++ b/lib/clang/include/clang/Basic/Version.inc
@@@ -1,8 -1,0 +1,8 @@@
- #define	CLANG_VERSION			17.0.0
- #define	CLANG_VERSION_STRING		"17.0.0"
++#define	CLANG_VERSION			17.0.2
++#define	CLANG_VERSION_STRING		"17.0.2"
 +#define	CLANG_VERSION_MAJOR		17
 +#define	CLANG_VERSION_MAJOR_STRING	"17"
 +#define	CLANG_VERSION_MINOR		0
- #define	CLANG_VERSION_PATCHLEVEL	0
++#define	CLANG_VERSION_PATCHLEVEL	2
 +
 +#define	CLANG_VENDOR			"FreeBSD "
diff --cc lib/clang/include/lld/Common/Version.inc
index eb48f368dbfc,000000000000..9341b11bbc19
mode 100644,000000..100644
--- a/lib/clang/include/lld/Common/Version.inc
+++ b/lib/clang/include/lld/Common/Version.inc
@@@ -1,4 -1,0 +1,4 @@@
 +// Local identifier in __FreeBSD_version style
 +#define LLD_FREEBSD_VERSION 1500000
 +
- #define LLD_VERSION_STRING "17.0.0 (FreeBSD llvmorg-17.0.0-rc4-10-g0176e8729ea4-" __XSTRING(LLD_FREEBSD_VERSION) ")"
++#define LLD_VERSION_STRING "17.0.2 (FreeBSD llvmorg-17.0.1-25-g098e653a5bed-" __XSTRING(LLD_FREEBSD_VERSION) ")"
diff --cc lib/clang/include/lldb/Version/Version.inc
index aa3f6fad22ee,000000000000..b87053e1884d
mode 100644,000000..100644
--- a/lib/clang/include/lldb/Version/Version.inc
+++ b/lib/clang/include/lldb/Version/Version.inc
@@@ -1,6 -1,0 +1,6 @@@
- #define LLDB_VERSION 17.0.0rc
- #define LLDB_VERSION_STRING "17.0.0rc"
++#define LLDB_VERSION 17.0.2
++#define LLDB_VERSION_STRING "17.0.2"
 +#define LLDB_VERSION_MAJOR 17
 +#define LLDB_VERSION_MINOR 0
- #define LLDB_VERSION_PATCH 0
++#define LLDB_VERSION_PATCH 2
 +/* #undef LLDB_FULL_VERSION_STRING */
diff --cc lib/clang/include/llvm/Config/config.h
index 4c434a179f28,000000000000..56b377d33f9b
mode 100644,000000..100644
--- a/lib/clang/include/llvm/Config/config.h
+++ b/lib/clang/include/llvm/Config/config.h
@@@ -1,378 -1,0 +1,378 @@@
 +#ifndef CONFIG_H
 +#define CONFIG_H
 +
 +// Include this header only under the llvm source tree.
 +// This is a private header.
 +
 +/* Exported configuration */
 +#include "llvm/Config/llvm-config.h"
 +
 +/* Bug report URL. */
 +#define BUG_REPORT_URL "https://bugs.freebsd.org/submit/"
 +
 +/* Define to 1 to enable backtraces, and to 0 otherwise. */
 +#define ENABLE_BACKTRACES 1
 +
 +/* Define to 1 to enable crash overrides, and to 0 otherwise. */
 +#define ENABLE_CRASH_OVERRIDES 1
 +
 +/* Define to 1 to enable crash memory dumps, and to 0 otherwise. */
 +#define LLVM_ENABLE_CRASH_DUMPS 0
 +
 +/* Define to 1 to prefer forward slashes on Windows, and to 0 prefer
 +   backslashes. */
 +#define LLVM_WINDOWS_PREFER_FORWARD_SLASH 0
 +
 +/* Define to 1 if you have the `backtrace' function. */
 +#define HAVE_BACKTRACE TRUE
 +
 +#define BACKTRACE_HEADER <execinfo.h>
 +
 +/* Define to 1 if you have the <CrashReporterClient.h> header file. */
 +/* #undef HAVE_CRASHREPORTERCLIENT_H */
 +
 +/* can use __crashreporter_info__ */
 +#if defined(__APPLE__)
 +#define HAVE_CRASHREPORTER_INFO 1
 +#else
 +#define HAVE_CRASHREPORTER_INFO 0
 +#endif
 +
 +/* Define to 1 if you have the declaration of `arc4random', and to 0 if you
 +   don't. */
 +#define HAVE_DECL_ARC4RANDOM 1
 +
 +/* Define to 1 if you have the declaration of `FE_ALL_EXCEPT', and to 0 if you
 +   don't. */
 +#define HAVE_DECL_FE_ALL_EXCEPT 1
 +
 +/* Define to 1 if you have the declaration of `FE_INEXACT', and to 0 if you
 +   don't. */
 +#define HAVE_DECL_FE_INEXACT 1
 +
 +/* Define to 1 if you have the declaration of `strerror_s', and to 0 if you
 +   don't. */
 +#define HAVE_DECL_STRERROR_S 0
 +
 +/* Define to 1 if you have the <dlfcn.h> header file. */
 +#define HAVE_DLFCN_H 1
 +
 +/* Define if dlopen() is available on this platform. */
 +#define HAVE_DLOPEN 1
 +
 +/* Define if dladdr() is available on this platform. */
 +#define HAVE_DLADDR 1
 +
 +#if !defined(__arm__) || defined(__USING_SJLJ_EXCEPTIONS__) || defined(__ARM_DWARF_EH__)
 +/* Define to 1 if we can register EH frames on this platform. */
 +#define HAVE_REGISTER_FRAME 1
 +
 +/* Define to 1 if we can deregister EH frames on this platform. */
 +#define HAVE_DEREGISTER_FRAME 1
 +#endif // !arm || USING_SJLJ_EXCEPTIONS || ARM_DWARF_EH_
 +
 +/* Define if __unw_add_dynamic_fde() is available on this platform. */
 +/* #undef HAVE_UNW_ADD_DYNAMIC_FDE */
 +
 +/* Define to 1 if you have the <errno.h> header file. */
 +#define HAVE_ERRNO_H 1
 +
 +/* Define to 1 if you have the <fcntl.h> header file. */
 +#define HAVE_FCNTL_H 1
 +
 +/* Define to 1 if you have the <fenv.h> header file. */
 +#define HAVE_FENV_H 1
 +
 +/* Define if libffi is available on this platform. */
 +/* #undef HAVE_FFI_CALL */
 +
 +/* Define to 1 if you have the <ffi/ffi.h> header file. */
 +/* #undef HAVE_FFI_FFI_H */
 +
 +/* Define to 1 if you have the <ffi.h> header file. */
 +/* #undef HAVE_FFI_H */
 +
 +/* Define to 1 if you have the `futimens' function. */
 +#define HAVE_FUTIMENS 1
 +
 +/* Define to 1 if you have the `futimes' function. */
 +#define HAVE_FUTIMES 1
 +
 +/* Define to 1 if you have the `getpagesize' function. */
 +#define HAVE_GETPAGESIZE 1
 +
 +/* Define to 1 if you have the `getrlimit' function. */
 +#define HAVE_GETRLIMIT 1
 +
 +/* Define to 1 if you have the `getrusage' function. */
 +#define HAVE_GETRUSAGE 1
 +
 +/* Define to 1 if you have the `isatty' function. */
 +#define HAVE_ISATTY 1
 +
 +/* Define to 1 if you have the `edit' library (-ledit). */
 +#define HAVE_LIBEDIT TRUE
 +
 +/* Define to 1 if you have the `pfm' library (-lpfm). */
 +/* #undef HAVE_LIBPFM */
 +
 +/* Define to 1 if the `perf_branch_entry' struct has field cycles. */
 +/* #undef LIBPFM_HAS_FIELD_CYCLES */
 +
 +/* Define to 1 if you have the `psapi' library (-lpsapi). */
 +/* #undef HAVE_LIBPSAPI */
 +
 +/* Define to 1 if you have the `pthread' library (-lpthread). */
 +#define HAVE_LIBPTHREAD 1
 +
 +/* Define to 1 if you have the `pthread_getname_np' function. */
 +#define HAVE_PTHREAD_GETNAME_NP 1
 +
 +/* Define to 1 if you have the `pthread_setname_np' function. */
 +#define HAVE_PTHREAD_SETNAME_NP 1
 +
 +/* Define to 1 if you have the <link.h> header file. */
 +#if __has_include(<link.h>)
 +#define HAVE_LINK_H 1
 +#else
 +#define HAVE_LINK_H 0
 +#endif
 +
 +/* Define to 1 if you have the <mach/mach.h> header file. */
 +#if __has_include(<mach/mach.h>)
 +#define HAVE_MACH_MACH_H 1
 +#endif
 +
 +/* Define to 1 if you have the `mallctl' function. */
 +#if defined(__FreeBSD__)
 +#define HAVE_MALLCTL 1
 +#endif
 +
 +/* Define to 1 if you have the `mallinfo' function. */
 +#if defined(__linux__)
 +#define HAVE_MALLINFO 1
 +#endif
 +
 +/* Define to 1 if you have the `mallinfo2' function. */
 +/* #undef HAVE_MALLINFO2 */
 +
 +/* Define to 1 if you have the <malloc/malloc.h> header file. */
 +#if __has_include(<malloc/malloc.h>)
 +#define HAVE_MALLOC_MALLOC_H 1
 +#endif
 +
 +/* Define to 1 if you have the `malloc_zone_statistics' function. */
 +#if defined(__APPLE__)
 +#define HAVE_MALLOC_ZONE_STATISTICS 1
 +#endif
 +
 +/* Define to 1 if you have the `posix_spawn' function. */
 +#define HAVE_POSIX_SPAWN 1
 +
 +/* Define to 1 if you have the `pread' function. */
 +#define HAVE_PREAD 1
 +
 +/* Define to 1 if you have the <pthread.h> header file. */
 +#define HAVE_PTHREAD_H 1
 +
 +/* Have pthread_mutex_lock */
 +#define HAVE_PTHREAD_MUTEX_LOCK 1
 +
 +/* Have pthread_rwlock_init */
 +#define HAVE_PTHREAD_RWLOCK_INIT 1
 +
 +/* Define to 1 if you have the `sbrk' function. */
 +#define HAVE_SBRK 1
 +
 +/* Define to 1 if you have the `setenv' function. */
 +#define HAVE_SETENV 1
 +
 +/* Define to 1 if you have the `setrlimit' function. */
 +#define HAVE_SETRLIMIT 1
 +
 +/* Define to 1 if you have the `sigaltstack' function. */
 +#define HAVE_SIGALTSTACK 1
 +
 +/* Define to 1 if you have the <signal.h> header file. */
 +#define HAVE_SIGNAL_H 1
 +
 +/* Define to 1 if you have the `strerror_r' function. */
 +#define HAVE_STRERROR_R 1
 +
 +/* Define to 1 if you have the `sysconf' function. */
 +#define HAVE_SYSCONF 1
 +
 +/* Define to 1 if you have the <sys/ioctl.h> header file. */
 +#define HAVE_SYS_IOCTL_H 1
 +
 +/* Define to 1 if you have the <sys/mman.h> header file. */
 +#define HAVE_SYS_MMAN_H 1
 +
 +/* Define to 1 if you have the <sys/param.h> header file. */
 +#define HAVE_SYS_PARAM_H 1
 +
 +/* Define to 1 if you have the <sys/resource.h> header file. */
 +#define HAVE_SYS_RESOURCE_H 1
 +
 +/* Define to 1 if you have the <sys/stat.h> header file. */
 +#define HAVE_SYS_STAT_H 1
 +
 +/* Define to 1 if you have the <sys/time.h> header file. */
 +#define HAVE_SYS_TIME_H 1
 +
 +/* Define to 1 if stat struct has st_mtimespec member .*/
 +#if !defined(__linux__)
 +#define HAVE_STRUCT_STAT_ST_MTIMESPEC_TV_NSEC 1
 +#endif
 +
 +/* Define to 1 if stat struct has st_mtim member. */
 +#if !defined(__APPLE__)
 +#define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1
 +#endif
 +
 +/* Define to 1 if you have the <sys/types.h> header file. */
 +#define HAVE_SYS_TYPES_H 1
 +
 +/* Define if the setupterm() function is supported this platform. */
 +#if defined(__FreeBSD__)
 +/*
 + * This is only needed for terminalHasColors(). When disabled LLVM falls back
 + * to checking a list of TERM prefixes which is sufficient for a bootstrap tool.
 + */
 +#define LLVM_ENABLE_TERMINFO TRUE
 +#endif
 +
 +/* Define to 1 if you have the <termios.h> header file. */
 +#define HAVE_TERMIOS_H 1
 +
 +/* Define to 1 if you have the <unistd.h> header file. */
 +#define HAVE_UNISTD_H 1
 +
 +/* Define to 1 if you have the <valgrind/valgrind.h> header file. */
 +/* #undef HAVE_VALGRIND_VALGRIND_H */
 +
 +/* Have host's _alloca */
 +/* #undef HAVE__ALLOCA */
 +
 +/* Define to 1 if you have the `_chsize_s' function. */
 +/* #undef HAVE__CHSIZE_S */
 +
 +/* Define to 1 if you have the `_Unwind_Backtrace' function. */
 +#define HAVE__UNWIND_BACKTRACE 1
 +
 +/* Have host's __alloca */
 +/* #undef HAVE___ALLOCA */
 +
 +/* Have host's __ashldi3 */
 +/* #undef HAVE___ASHLDI3 */
 +
 +/* Have host's __ashrdi3 */
 +/* #undef HAVE___ASHRDI3 */
 +
 +/* Have host's __chkstk */
 +/* #undef HAVE___CHKSTK */
 +
 +/* Have host's __chkstk_ms */
 +/* #undef HAVE___CHKSTK_MS */
 +
 +/* Have host's __cmpdi2 */
 +/* #undef HAVE___CMPDI2 */
 +
 +/* Have host's __divdi3 */
 +/* #undef HAVE___DIVDI3 */
 +
 +/* Have host's __fixdfdi */
 +/* #undef HAVE___FIXDFDI */
 +
 +/* Have host's __fixsfdi */
 +/* #undef HAVE___FIXSFDI */
 +
 +/* Have host's __floatdidf */
 +/* #undef HAVE___FLOATDIDF */
 +
 +/* Have host's __lshrdi3 */
 +/* #undef HAVE___LSHRDI3 */
 +
 +/* Have host's __main */
 +/* #undef HAVE___MAIN */
 +
 +/* Have host's __moddi3 */
 +/* #undef HAVE___MODDI3 */
 +
 +/* Have host's __udivdi3 */
 +/* #undef HAVE___UDIVDI3 */
 +
 +/* Have host's __umoddi3 */
 +/* #undef HAVE___UMODDI3 */
 +
 +/* Have host's ___chkstk */
 +/* #undef HAVE____CHKSTK */
 +
 +/* Have host's ___chkstk_ms */
 +/* #undef HAVE____CHKSTK_MS */
 +
 +/* Linker version detected at compile time. */
 +/* #undef HOST_LINK_VERSION */
 +
 +/* Define if overriding target triple is enabled */
 +/* #undef LLVM_TARGET_TRIPLE_ENV */
 +
 +/* Whether tools show host and target info when invoked with --version */
 +#define LLVM_VERSION_PRINTER_SHOW_HOST_TARGET_INFO 1
 +
 +/* Define if libxml2 is supported on this platform. */
 +/* #undef LLVM_ENABLE_LIBXML2 */
 +
 +/* Define to the extension used for shared libraries, say, ".so". */
 +#if defined(__APPLE__)
 +#define LTDL_SHLIB_EXT ".dylib"
 +#else
 +#define LTDL_SHLIB_EXT ".so"
 +#endif
 +
 +/* Define to the extension used for plugin libraries, say, ".so". */
 +#if defined(__APPLE__)
 +#define LLVM_PLUGIN_EXT ".dylib"
 +#else
 +#define LLVM_PLUGIN_EXT ".so"
 +#endif
 +
 +/* Define to the address where bug reports for this package should be sent. */
 +#define PACKAGE_BUGREPORT "https://bugs.freebsd.org/submit/"
 +
 +/* Define to the full name of this package. */
 +#define PACKAGE_NAME "LLVM"
 +
 +/* Define to the full name and version of this package. */
- #define PACKAGE_STRING "LLVM 17.0.0rc"
++#define PACKAGE_STRING "LLVM 17.0.2"
 +
 +/* Define to the version of this package. */
- #define PACKAGE_VERSION "17.0.0rc"
++#define PACKAGE_VERSION "17.0.2"
 +
 +/* Define to the vendor of this package. */
 +/* #undef PACKAGE_VENDOR */
 +
 +/* Define to a function implementing stricmp */
 +/* #undef stricmp */
 +
 +/* Define to a function implementing strdup */
 +/* #undef strdup */
 +
 +/* Whether GlobalISel rule coverage is being collected */
 +#define LLVM_GISEL_COV_ENABLED 0
 +
 +/* Define to the default GlobalISel coverage file prefix */
 +/* #undef LLVM_GISEL_COV_PREFIX */
 +
 +/* Whether Timers signpost passes in Xcode Instruments */
 +#if defined(__APPLE__)
 +#define LLVM_SUPPORT_XCODE_SIGNPOSTS 1
 +#else
 +#define LLVM_SUPPORT_XCODE_SIGNPOSTS 0
 +#endif
 +
 +/* #undef HAVE_PROC_PID_RUSAGE */
 +
 +#define HAVE_BUILTIN_THREAD_POINTER 1
 +
 +#endif
diff --cc lib/clang/include/llvm/Config/llvm-config.h
index 07229dfed518,000000000000..36bf884d2fdb
mode 100644,000000..100644
--- a/lib/clang/include/llvm/Config/llvm-config.h
+++ b/lib/clang/include/llvm/Config/llvm-config.h
@@@ -1,131 -1,0 +1,131 @@@
 +/*===------- llvm/Config/llvm-config.h - llvm configuration -------*- C -*-===*/
 +/*                                                                            */
 +/* Part of the LLVM Project, under the Apache License v2.0 with LLVM          */
 +/* Exceptions.                                                                */
 +/* See https://llvm.org/LICENSE.txt for license information.                  */
 +/* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception                    */
 +/*                                                                            */
 +/*===----------------------------------------------------------------------===*/
 +
 +/* This file enumerates variables from the LLVM configuration so that they
 +   can be in exported headers and won't override package specific directives.
 +   This is a C header that can be included in the llvm-c headers. */
 +
 +#ifndef LLVM_CONFIG_H
 +#define LLVM_CONFIG_H
 +
 +/* Define if LLVM_ENABLE_DUMP is enabled */
 +/* #undef LLVM_ENABLE_DUMP */
 +
 +/* Target triple LLVM will generate code for by default */
 +/* Doesn't use `cmakedefine` because it is allowed to be empty. */
 +/* #undef LLVM_DEFAULT_TARGET_TRIPLE */
 +
 +/* Define if threads enabled */
 +#define LLVM_ENABLE_THREADS 1
 +
 +/* Has gcc/MSVC atomic intrinsics */
 +#define LLVM_HAS_ATOMICS 1
 +
 +/* Host triple LLVM will be executed on */
 +/* #undef LLVM_HOST_TRIPLE */
 +
 +/* LLVM architecture name for the native architecture, if available */
 +/* #undef LLVM_NATIVE_ARCH */
 +
 +/* LLVM name for the native AsmParser init function, if available */
 +/* #undef LLVM_NATIVE_ASMPARSER */
 +
 +/* LLVM name for the native AsmPrinter init function, if available */
 +/* #undef LLVM_NATIVE_ASMPRINTER */
 +
 +/* LLVM name for the native Disassembler init function, if available */
 +/* #undef LLVM_NATIVE_DISASSEMBLER */
 +
 +/* LLVM name for the native Target init function, if available */
 +/* #undef LLVM_NATIVE_TARGET */
 +
 +/* LLVM name for the native TargetInfo init function, if available */
 +/* #undef LLVM_NATIVE_TARGETINFO */
 +
 +/* LLVM name for the native target MC init function, if available */
 +/* #undef LLVM_NATIVE_TARGETMC */
 +
 +/* LLVM name for the native target MCA init function, if available */
 +/* #undef LLVM_NATIVE_TARGETMCA */
 +
 +/* Define if this is Unixish platform */
 +#define LLVM_ON_UNIX 1
 +
 +/* Define if we have the Intel JIT API runtime support library */
 +#define LLVM_USE_INTEL_JITEVENTS 0
 +
 +/* Define if we have the oprofile JIT-support library */
 +#define LLVM_USE_OPROFILE 0
 +
 +/* Define if we have the perf JIT-support library */
 +#define LLVM_USE_PERF 0
 +
 +/* Major version of the LLVM API */
 +#define LLVM_VERSION_MAJOR 17
 +
 +/* Minor version of the LLVM API */
 +#define LLVM_VERSION_MINOR 0
 +
 +/* Patch version of the LLVM API */
- #define LLVM_VERSION_PATCH 0
++#define LLVM_VERSION_PATCH 2
 +
 +/* LLVM version string */
- #define LLVM_VERSION_STRING "17.0.0rc"
++#define LLVM_VERSION_STRING "17.0.2"
 +
 +/* Whether LLVM records statistics for use with GetStatistics(),
 + * PrintStatistics() or PrintStatisticsJSON()
 + */
 +#define LLVM_FORCE_ENABLE_STATS 0
 +
 +/* Define if we have z3 and want to build it */
 +/* #undef LLVM_WITH_Z3 */
 +
 +/* Define if we have curl and want to use it */
 +/* #undef LLVM_ENABLE_CURL */
 +
 +/* Define if we have cpp-httplib and want to use it */
 +/* #undef LLVM_ENABLE_HTTPLIB */
 +
 +/* Define if zlib compression is available */
 +#define LLVM_ENABLE_ZLIB 1
 +
 +/* Define if zstd compression is available */
 +#define LLVM_ENABLE_ZSTD 1
 +
 +/* Define if LLVM is using tflite instead of libtensorflow */
 +/* #undef LLVM_HAVE_TFLITE */
 +
 +/* Define to 1 if you have the <sysexits.h> header file. */
 +#define HAVE_SYSEXITS_H 1
 +
 +/* Define if the xar_open() function is supported on this platform. */
 +#if defined(__APPLE__)
 +#define LLVM_HAVE_LIBXAR 1
 +#endif
 +
 +/* Define if building libLLVM shared library */
 +/* #undef LLVM_BUILD_LLVM_DYLIB */
 +
 +/* Define if building LLVM with BUILD_SHARED_LIBS */
 +/* #undef LLVM_BUILD_SHARED_LIBS */
 +
 +/* Define if building LLVM with LLVM_FORCE_USE_OLD_TOOLCHAIN_LIBS */
 +/* #undef LLVM_FORCE_USE_OLD_TOOLCHAIN */
 +
 +/* Define if llvm_unreachable should be optimized with undefined behavior
 + * in non assert builds */
 +#define LLVM_UNREACHABLE_OPTIMIZE 1
 +
 +/* Define to 1 if you have the DIA SDK installed, and to 0 if you don't. */
 +#define LLVM_ENABLE_DIA_SDK 0
 +
 +/* Define if plugins enabled */
 +/* #undef LLVM_ENABLE_PLUGINS */
 +
 +#endif
diff --cc lib/clang/include/llvm/Support/VCSRevision.h
index 3fe424f06278,000000000000..796a12cb1ea0
mode 100644,000000..100644
--- a/lib/clang/include/llvm/Support/VCSRevision.h
+++ b/lib/clang/include/llvm/Support/VCSRevision.h
@@@ -1,2 -1,0 +1,2 @@@
- #define LLVM_REVISION "llvmorg-17.0.0-rc4-10-g0176e8729ea4"
++#define LLVM_REVISION "llvmorg-17.0.1-25-g098e653a5bed"
 +#define LLVM_REPOSITORY "https://github.com/llvm/llvm-project.git"