git: 439352ac8257 - main - Merge llvm-project release/18.x llvmorg-18.1.3-0-gc13b7485b879

From: Dimitry Andric <dim_at_FreeBSD.org>
Date: Sat, 06 Apr 2024 20:19:27 UTC
The branch main has been updated by dim:

URL: https://cgit.FreeBSD.org/src/commit/?id=439352ac8257c8419cb4a662abb7f260f31f9932

commit 439352ac8257c8419cb4a662abb7f260f31f9932
Merge: 49a6e426df84 05834cae71b9
Author:     Dimitry Andric <dim@FreeBSD.org>
AuthorDate: 2024-04-05 22:02:56 +0000
Commit:     Dimitry Andric <dim@FreeBSD.org>
CommitDate: 2024-04-06 20:14:34 +0000

    Merge llvm-project release/18.x llvmorg-18.1.3-0-gc13b7485b879
    
    This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvm-project release/18.x llvmorg-18.1.3-0-gc13b7485b879.
    
    PR:             276104
    MFC after:      1 month

 .../clang/include/clang/AST/DeclBase.h             |  10 ++
 .../clang/include/clang/Sema/ScopeInfo.h           |   4 +-
 .../clang/include/clang/Serialization/ASTReader.h  |   7 --
 contrib/llvm-project/clang/lib/AST/Decl.cpp        |   2 +-
 contrib/llvm-project/clang/lib/AST/DeclBase.cpp    |   5 +
 contrib/llvm-project/clang/lib/Basic/Module.cpp    |   7 +-
 .../llvm-project/clang/lib/CodeGen/BackendUtil.cpp |  32 ++---
 contrib/llvm-project/clang/lib/CodeGen/CGDecl.cpp  |  43 ++++---
 .../clang/lib/Driver/ToolChains/WebAssembly.cpp    |  27 ++++-
 .../clang/lib/Driver/ToolChains/WebAssembly.h      |   2 +-
 .../llvm-project/clang/lib/Headers/__stddef_null.h |   2 +-
 .../clang/lib/Headers/__stddef_nullptr_t.h         |   7 +-
 .../clang/lib/Headers/__stddef_offsetof.h          |   7 +-
 .../clang/lib/Headers/__stddef_ptrdiff_t.h         |   7 +-
 .../clang/lib/Headers/__stddef_rsize_t.h           |   7 +-
 .../clang/lib/Headers/__stddef_size_t.h            |   7 +-
 .../clang/lib/Headers/__stddef_unreachable.h       |   7 +-
 .../clang/lib/Headers/__stddef_wchar_t.h           |   7 +-
 .../llvm-project/clang/lib/Headers/larchintrin.h   |   2 +-
 .../clang/lib/Headers/module.modulemap             |  20 ++--
 contrib/llvm-project/clang/lib/Lex/ModuleMap.cpp   |   9 +-
 contrib/llvm-project/clang/lib/Sema/SemaDecl.cpp   |  73 +++++++-----
 .../llvm-project/clang/lib/Sema/SemaOverload.cpp   |  22 +++-
 .../llvm-project/clang/lib/Sema/SemaTemplate.cpp   |  22 +++-
 .../clang/lib/Serialization/ASTReader.cpp          |   2 +-
 .../clang/lib/Serialization/ASTReaderDecl.cpp      |   8 +-
 .../clang/lib/Serialization/ASTWriter.cpp          |   2 +-
 .../clang/lib/Serialization/ASTWriterDecl.cpp      |   8 +-
 .../clang/lib/StaticAnalyzer/Core/CallEvent.cpp    |   2 +-
 .../llvm-project/compiler-rt/lib/builtins/divtc3.c |   2 +-
 .../llvm-project/compiler-rt/lib/builtins/fp_lib.h |  41 ++++---
 .../compiler-rt/lib/builtins/int_types.h           |   8 +-
 .../llvm-project/compiler-rt/lib/builtins/multc3.c |   2 +-
 contrib/llvm-project/compiler-rt/lib/msan/msan.cpp |   2 +-
 contrib/llvm-project/compiler-rt/lib/msan/msan.h   |  35 ++++--
 .../compiler-rt/lib/msan/msan_allocator.cpp        |   3 +
 .../compiler-rt/lib/msan/msan_linux.cpp            |  67 ++++++++---
 .../lib/tsan/rtl/tsan_interceptors_posix.cpp       |  43 +++----
 contrib/llvm-project/libcxx/include/__availability |   7 +-
 .../llvm-project/libcxx/modules/modules.json.in    |   2 +-
 contrib/llvm-project/lld/COFF/DLL.cpp              |   2 +-
 contrib/llvm-project/lld/ELF/Arch/LoongArch.cpp    |  22 ++++
 contrib/llvm-project/lld/ELF/Arch/PPC64.cpp        |   3 +-
 contrib/llvm-project/lld/ELF/Arch/RISCV.cpp        |   2 +
 contrib/llvm-project/lld/ELF/Arch/X86_64.cpp       |   7 +-
 contrib/llvm-project/lld/ELF/Writer.cpp            |   3 +
 contrib/llvm-project/lld/docs/ReleaseNotes.rst     |   5 +
 .../llvm/include/llvm/Analysis/VectorUtils.h       |   5 +
 .../llvm/include/llvm/BinaryFormat/COFF.h          |   5 +-
 .../llvm-project/llvm/include/llvm/Object/COFF.h   |  41 +++++++
 .../llvm/include/llvm/Object/COFFImportFile.h      |  35 +++++-
 .../llvm/include/llvm/Support/FormattedStream.h    |  51 ++++++--
 .../llvm/include/llvm/Target/TargetSchedule.td     |   2 +-
 .../llvm/lib/Analysis/ValueTracking.cpp            |   2 +
 .../llvm-project/llvm/lib/Analysis/VectorUtils.cpp |  25 ++++
 .../llvm/lib/MC/MCParser/AsmParser.cpp             |   4 +-
 .../llvm-project/llvm/lib/Object/ArchiveWriter.cpp |  11 ++
 .../llvm/lib/Object/COFFImportFile.cpp             | 114 +++++++++++++-----
 .../llvm/lib/Support/FormattedStream.cpp           |   3 +
 .../Target/AArch64/AArch64Arm64ECCallLowering.cpp  |  57 ++++++---
 .../lib/Target/AArch64/AArch64CallingConvention.td |   3 +
 .../lib/Target/AArch64/AArch64ISelLowering.cpp     |  10 +-
 .../llvm/lib/Target/AArch64/AArch64MCInstLower.cpp |   2 +
 .../lib/Target/AArch64/Utils/AArch64BaseInfo.h     |  28 -----
 .../llvm/lib/Target/ARM/ARMFrameLowering.cpp       |  11 +-
 .../llvm/lib/Target/ARM/ARMFrameLowering.h         |   4 +
 .../llvm/lib/Target/ARM/ARMLoadStoreOptimizer.cpp  |  23 ++--
 .../llvm/lib/Target/AVR/AVRInstrInfo.td            |   2 +-
 .../lib/Target/LoongArch/LoongArchISelLowering.cpp |   9 +-
 .../lib/Target/LoongArch/LoongArchISelLowering.h   |   2 +
 .../lib/Target/LoongArch/LoongArchTargetMachine.h  |   5 +
 .../Mips/MCTargetDesc/MipsTargetStreamer.cpp       |  12 +-
 .../llvm/lib/Target/Mips/MipsExpandPseudo.cpp      |  60 ++++++++--
 .../llvm/lib/Target/PowerPC/PPCFrameLowering.cpp   |   6 -
 .../llvm/lib/Target/PowerPC/PPCISelLowering.cpp    |   1 +
 .../llvm/lib/Target/RISCV/RISCVISelLowering.cpp    |  20 ++--
 .../lib/Target/RISCV/RISCVTargetTransformInfo.cpp  |   3 +
 .../lib/Target/SystemZ/SystemZISelLowering.cpp     |  34 ++++++
 .../llvm/lib/Target/X86/X86ISelLowering.cpp        |  11 +-
 .../llvm/lib/Target/X86/X86InstrVecCompiler.td     |   3 +
 .../llvm/lib/Target/X86/X86TargetTransformInfo.cpp |   4 +
 .../llvm/lib/Transforms/IPO/ArgumentPromotion.cpp  |   6 +-
 .../Transforms/InstCombine/InstCombineCalls.cpp    |  13 ++-
 .../Transforms/InstCombine/InstCombineCasts.cpp    |   4 +-
 .../Transforms/InstCombine/InstCombineCompares.cpp |   7 ++
 .../Transforms/InstCombine/InstCombineSelect.cpp   |   9 +-
 .../InstCombine/InstructionCombining.cpp           |   1 +
 .../Transforms/Instrumentation/ThreadSanitizer.cpp |   9 +-
 .../lib/Transforms/Scalar/DeadStoreElimination.cpp |  31 ++++-
 .../llvm/lib/Transforms/Scalar/SROA.cpp            |  80 ++++++++-----
 .../llvm-project/llvm/tools/llvm-mc/llvm-mc.cpp    |   5 -
 .../llvm/tools/llvm-objdump/llvm-objdump.cpp       |   7 --
 .../llvm/tools/llvm-readobj/COFFImportDumper.cpp   |   6 +
 .../TableGen/MacroFusionPredicatorEmitter.cpp      |  12 +-
 contrib/llvm-project/openmp/runtime/src/kmp.h      |   8 +-
 .../openmp/runtime/src/kmp_affinity.cpp            | 129 +++++++++++++++++++--
 .../llvm-project/openmp/runtime/src/kmp_affinity.h |  73 +++++++++++-
 contrib/llvm-project/openmp/runtime/src/kmp_lock.h |   3 +-
 contrib/llvm-project/openmp/runtime/src/kmp_os.h   |   3 +-
 .../openmp/runtime/src/z_Linux_util.cpp            |  37 +++++-
 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 +-
 107 files changed, 1266 insertions(+), 431 deletions(-)

diff --cc lib/clang/include/VCSVersion.inc
index da180cecd0ca,000000000000..82f25ad621b6
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-18.1.1-0-gdba2a75e9c7e"
++#define LLVM_REVISION "llvmorg-18.1.3-0-gc13b7485b879"
 +#define LLVM_REPOSITORY "https://github.com/llvm/llvm-project.git"
 +
- #define CLANG_REVISION "llvmorg-18.1.1-0-gdba2a75e9c7e"
++#define CLANG_REVISION "llvmorg-18.1.3-0-gc13b7485b879"
 +#define CLANG_REPOSITORY "https://github.com/llvm/llvm-project.git"
 +
- #define LLDB_REVISION "llvmorg-18.1.1-0-gdba2a75e9c7e"
++#define LLDB_REVISION "llvmorg-18.1.3-0-gc13b7485b879"
 +#define LLDB_REPOSITORY "https://github.com/llvm/llvm-project.git"
diff --cc lib/clang/include/clang/Basic/Version.inc
index 6e28151f8a06,000000000000..782f047618b5
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			18.1.1
- #define	CLANG_VERSION_STRING		"18.1.1"
++#define	CLANG_VERSION			18.1.3
++#define	CLANG_VERSION_STRING		"18.1.3"
 +#define	CLANG_VERSION_MAJOR		18
 +#define	CLANG_VERSION_MAJOR_STRING	"18"
 +#define	CLANG_VERSION_MINOR		1
- #define	CLANG_VERSION_PATCHLEVEL	1
++#define	CLANG_VERSION_PATCHLEVEL	3
 +
 +#define	CLANG_VENDOR			"FreeBSD "
diff --cc lib/clang/include/lld/Common/Version.inc
index e314863472f6,000000000000..4115121ebc92
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 "18.1.1 (FreeBSD llvmorg-18.1.1-0-gdba2a75e9c7e-" __XSTRING(LLD_FREEBSD_VERSION) ")"
++#define LLD_VERSION_STRING "18.1.3 (FreeBSD llvmorg-18.1.3-0-gc13b7485b879-" __XSTRING(LLD_FREEBSD_VERSION) ")"
diff --cc lib/clang/include/lldb/Version/Version.inc
index 134bce0f32c8,000000000000..7cef82df9e4f
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 18.1.1
- #define LLDB_VERSION_STRING "18.1.1"
++#define LLDB_VERSION 18.1.3
++#define LLDB_VERSION_STRING "18.1.3"
 +#define LLDB_VERSION_MAJOR 18
 +#define LLDB_VERSION_MINOR 1
- #define LLDB_VERSION_PATCH 1
++#define LLDB_VERSION_PATCH 3
 +/* #undef LLDB_FULL_VERSION_STRING */
diff --cc lib/clang/include/llvm/Config/config.h
index 3adaae16913f,000000000000..5cf49eceeced
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 18.1.1"
++#define PACKAGE_STRING "LLVM 18.1.3"
 +
 +/* Define to the version of this package. */
- #define PACKAGE_VERSION "18.1.1"
++#define PACKAGE_VERSION "18.1.3"
 +
 +/* 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 856bbf41d3a2,000000000000..2b7d5b3e9504
mode 100644,000000..100644
--- a/lib/clang/include/llvm/Config/llvm-config.h
+++ b/lib/clang/include/llvm/Config/llvm-config.h
@@@ -1,233 -1,0 +1,233 @@@
 +/*===------- 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 the AArch64 target is built in */
 +#ifdef LLVM_TARGET_ENABLE_AARCH64
 +#define LLVM_HAS_AARCH64_TARGET 1
 +#else
 +#define LLVM_HAS_AARCH64_TARGET 0
 +#endif
 +
 +/* Define if the AMDGPU target is built in */
 +#define LLVM_HAS_AMDGPU_TARGET 0
 +
 +/* Define if the ARC target is built in */
 +#define LLVM_HAS_ARC_TARGET 0
 +
 +/* Define if the ARM target is built in */
 +#ifdef LLVM_TARGET_ENABLE_ARM
 +#define LLVM_HAS_ARM_TARGET 1
 +#else
 +#define LLVM_HAS_ARM_TARGET 0
 +#endif
 +
 +/* Define if the AVR target is built in */
 +#define LLVM_HAS_AVR_TARGET 0
 +
 +/* Define if the BPF target is built in */
 +#ifdef LLVM_TARGET_ENABLE_BPF
 +#define LLVM_HAS_BPF_TARGET 1
 +#else
 +#define LLVM_HAS_BPF_TARGET 0
 +#endif
 +
 +/* Define if the CSKY target is built in */
 +#define LLVM_HAS_CSKY_TARGET 0
 +
 +/* Define if the DirectX target is built in */
 +#define LLVM_HAS_DIRECTX_TARGET 0
 +
 +/* Define if the Hexagon target is built in */
 +#define LLVM_HAS_HEXAGON_TARGET 0
 +
 +/* Define if the Lanai target is built in */
 +#define LLVM_HAS_LANAI_TARGET 0
 +
 +/* Define if the LoongArch target is built in */
 +#define LLVM_HAS_LOONGARCH_TARGET 0
 +
 +/* Define if the M68k target is built in */
 +#define LLVM_HAS_M68K_TARGET 0
 +
 +/* Define if the Mips target is built in */
 +#ifdef LLVM_TARGET_ENABLE_MIPS
 +#define LLVM_HAS_MIPS_TARGET 1
 +#else
 +#define LLVM_HAS_MIPS_TARGET 0
 +#endif
 +
 +/* Define if the MSP430 target is built in */
 +#define LLVM_HAS_MSP430_TARGET 0
 +
 +/* Define if the NVPTX target is built in */
 +#define LLVM_HAS_NVPTX_TARGET 0
 +
 +/* Define if the PowerPC target is built in */
 +#ifdef LLVM_TARGET_ENABLE_POWERPC
 +#define LLVM_HAS_POWERPC_TARGET 1
 +#else
 +#define LLVM_HAS_POWERPC_TARGET 0
 +#endif
 +
 +/* Define if the RISCV target is built in */
 +#ifdef LLVM_TARGET_ENABLE_RISCV
 +#define LLVM_HAS_RISCV_TARGET 1
 +#else
 +#define LLVM_HAS_RISCV_TARGET 0
 +#endif
 +
 +/* Define if the Sparc target is built in */
 +#ifdef LLVM_TARGET_ENABLE_SPARC
 +#define LLVM_HAS_SPARC_TARGET 1
 +#else
 +#define LLVM_HAS_SPARC_TARGET 0
 +#endif
 +
 +/* Define if the SPIRV target is built in */
 +#define LLVM_HAS_SPIRV_TARGET 0
 +
 +/* Define if the SystemZ target is built in */
 +#define LLVM_HAS_SYSTEMZ_TARGET 0
 +
 +/* Define if the VE target is built in */
 +#define LLVM_HAS_VE_TARGET 0
 +
 +/* Define if the WebAssembly target is built in */
 +#define LLVM_HAS_WEBASSEMBLY_TARGET 0
 +
 +/* Define if the X86 target is built in */
 +#ifdef LLVM_TARGET_ENABLE_X86
 +#define LLVM_HAS_X86_TARGET 1
 +#else
 +#define LLVM_HAS_X86_TARGET 0
 +#endif
 +
 +/* Define if the XCore target is built in */
 +#define LLVM_HAS_XCORE_TARGET 0
 +
 +/* Define if the Xtensa target is built in */
 +#define LLVM_HAS_XTENSA_TARGET 0
 +
 +/* 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 18
 +
 +/* Minor version of the LLVM API */
 +#define LLVM_VERSION_MINOR 1
 +
 +/* Patch version of the LLVM API */
- #define LLVM_VERSION_PATCH 1
++#define LLVM_VERSION_PATCH 3
 +
 +/* LLVM version string */
- #define LLVM_VERSION_STRING "18.1.1"
++#define LLVM_VERSION_STRING "18.1.3"
 +
 +/* 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 */
 +/* #undef LLVM_HAVE_TFLITE */
 +
 +/* Define to 1 if you have the <sysexits.h> header file. */
 +#define HAVE_SYSEXITS_H 1
 +
 +/* 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 b8e8d52e709d,000000000000..b1a8aef7de29
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-18.1.1-0-gdba2a75e9c7e"
++#define LLVM_REVISION "llvmorg-18.1.3-0-gc13b7485b879"
 +#define LLVM_REPOSITORY "https://github.com/llvm/llvm-project.git"