git: a324c34037ef - main - Merge llvm-project release/16.x llvmorg-16.0.4-0-gae42196bc493
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Thu, 22 Jun 2023 21:11:23 UTC
The branch main has been updated by dim:
URL: https://cgit.FreeBSD.org/src/commit/?id=a324c34037ef2e1101962fca4ad0c021253288e1
commit a324c34037ef2e1101962fca4ad0c021253288e1
Merge: cbe9438cfe07 791701a7dc62
Author: Dimitry Andric <dim@FreeBSD.org>
AuthorDate: 2023-05-22 17:29:55 +0000
Commit: Dimitry Andric <dim@FreeBSD.org>
CommitDate: 2023-06-22 18:22:43 +0000
Merge llvm-project release/16.x llvmorg-16.0.4-0-gae42196bc493
This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-16.0.4-0-gae42196bc493 (aka 16.0.4 release).
PR: 271047
MFC after: 1 month
contrib/llvm-project/clang/lib/AST/TypePrinter.cpp | 2 +-
.../clang/lib/Driver/ToolChains/Clang.cpp | 2 +-
.../clang/lib/Driver/ToolChains/MSVC.cpp | 2 +-
contrib/llvm-project/clang/lib/Sema/SemaInit.cpp | 16 +-
contrib/llvm-project/libcxx/include/__config | 2 +-
.../lib/CodeGen/SelectionDAG/TargetLowering.cpp | 9 +-
.../lib/Target/SystemZ/SystemZISelLowering.cpp | 6 +-
.../llvm/lib/Target/X86/X86FrameLowering.cpp | 14 +-
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 +-
usr.bin/clang/bugpoint/bugpoint.1 | 39 +-
usr.bin/clang/clang/clang.1 | 116 ++-
usr.bin/clang/llc/llc.1 | 15 +-
usr.bin/clang/lli/lli.1 | 11 +-
usr.bin/clang/llvm-ar/llvm-ar.1 | 73 +-
usr.bin/clang/llvm-ar/llvm-ranlib.1 | 11 +-
usr.bin/clang/llvm-as/llvm-as.1 | 5 +-
usr.bin/clang/llvm-bcanalyzer/llvm-bcanalyzer.1 | 25 +-
usr.bin/clang/llvm-cov/llvm-cov.1 | 143 +++-
usr.bin/clang/llvm-cxxfilt/llvm-cxxfilt.1 | 10 +-
usr.bin/clang/llvm-diff/llvm-diff.1 | 5 +-
usr.bin/clang/llvm-dis/llvm-dis.1 | 5 +-
usr.bin/clang/llvm-dwarfdump/llvm-dwarfdump.1 | 19 +-
usr.bin/clang/llvm-dwarfutil/llvm-dwarfutil.1 | 10 +-
usr.bin/clang/llvm-extract/llvm-extract.1 | 7 +-
usr.bin/clang/llvm-link/llvm-link.1 | 7 +-
usr.bin/clang/llvm-mca/llvm-mca.1 | 326 +++++++-
usr.bin/clang/llvm-nm/llvm-nm.1 | 89 ++-
usr.bin/clang/llvm-objcopy/llvm-objcopy.1 | 73 +-
usr.bin/clang/llvm-objdump/llvm-objdump.1 | 125 ++-
usr.bin/clang/llvm-pdbutil/llvm-pdbutil.1 | 9 +-
usr.bin/clang/llvm-profdata/llvm-profdata.1 | 134 ++--
usr.bin/clang/llvm-readobj/llvm-readelf.1 | 59 +-
usr.bin/clang/llvm-readobj/llvm-readobj.1 | 88 +-
usr.bin/clang/llvm-size/llvm-size.1 | 14 +-
usr.bin/clang/llvm-strings/llvm-strings.1 | 14 +-
usr.bin/clang/llvm-symbolizer/llvm-addr2line.1 | 5 +-
usr.bin/clang/llvm-symbolizer/llvm-symbolizer.1 | 214 ++++-
usr.bin/clang/llvm-tblgen/Makefile | 1 +
usr.bin/clang/llvm-tblgen/llvm-tblgen.1 | 888 ---------------------
usr.bin/clang/opt/opt.1 | 45 +-
46 files changed, 1266 insertions(+), 1402 deletions(-)
diff --cc lib/clang/include/VCSVersion.inc
index 466b5ce7ecfd,000000000000..514717a358fc
mode 100644,000000..100644
--- a/lib/clang/include/VCSVersion.inc
+++ b/lib/clang/include/VCSVersion.inc
@@@ -1,10 -1,0 +1,10 @@@
+// $FreeBSD$
+
- #define LLVM_REVISION "llvmorg-16.0.3-0-gda3cd333bea5"
++#define LLVM_REVISION "llvmorg-16.0.4-0-gae42196bc493"
+#define LLVM_REPOSITORY "https://github.com/llvm/llvm-project.git"
+
- #define CLANG_REVISION "llvmorg-16.0.3-0-gda3cd333bea5"
++#define CLANG_REVISION "llvmorg-16.0.4-0-gae42196bc493"
+#define CLANG_REPOSITORY "https://github.com/llvm/llvm-project.git"
+
- #define LLDB_REVISION "llvmorg-16.0.3-0-gda3cd333bea5"
++#define LLDB_REVISION "llvmorg-16.0.4-0-gae42196bc493"
+#define LLDB_REPOSITORY "https://github.com/llvm/llvm-project.git"
diff --cc lib/clang/include/clang/Basic/Version.inc
index 13d7baf64730,000000000000..301f49bfd08c
mode 100644,000000..100644
--- a/lib/clang/include/clang/Basic/Version.inc
+++ b/lib/clang/include/clang/Basic/Version.inc
@@@ -1,10 -1,0 +1,10 @@@
+/* $FreeBSD$ */
+
- #define CLANG_VERSION 16.0.3
- #define CLANG_VERSION_STRING "16.0.3"
++#define CLANG_VERSION 16.0.4
++#define CLANG_VERSION_STRING "16.0.4"
+#define CLANG_VERSION_MAJOR 16
+#define CLANG_VERSION_MAJOR_STRING "16"
+#define CLANG_VERSION_MINOR 0
- #define CLANG_VERSION_PATCHLEVEL 3
++#define CLANG_VERSION_PATCHLEVEL 4
+
+#define CLANG_VENDOR "FreeBSD "
diff --cc lib/clang/include/lld/Common/Version.inc
index 8f4dd4a4b559,000000000000..61598755e168
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 1400006
+
- #define LLD_VERSION_STRING "16.0.3 (FreeBSD llvmorg-16.0.3-0-gda3cd333bea5-" __XSTRING(LLD_FREEBSD_VERSION) ")"
++#define LLD_VERSION_STRING "16.0.4 (FreeBSD llvmorg-16.0.4-0-gae42196bc493-" __XSTRING(LLD_FREEBSD_VERSION) ")"
diff --cc lib/clang/include/lldb/Version/Version.inc
index 4434036b81e2,000000000000..cdc1a2c63f72
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 16.0.3
- #define LLDB_VERSION_STRING "16.0.3"
++#define LLDB_VERSION 16.0.4
++#define LLDB_VERSION_STRING "16.0.4"
+#define LLDB_VERSION_MAJOR 16
+#define LLDB_VERSION_MINOR 0
- #define LLDB_VERSION_PATCH 3
++#define LLDB_VERSION_PATCH 4
+/* #undef LLDB_FULL_VERSION_STRING */
diff --cc lib/clang/include/llvm/Config/config.h
index 57914743328d,000000000000..105378ec0dcd
mode 100644,000000..100644
--- a/lib/clang/include/llvm/Config/config.h
+++ b/lib/clang/include/llvm/Config/config.h
@@@ -1,380 -1,0 +1,380 @@@
+/* $FreeBSD$ */
+#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' function. */
+#define HAVE_STRERROR 1
+
+/* Define to 1 if you have the `strerror_r' function. */
+#define HAVE_STRERROR_R 1
+
+/* Define to 1 if you have the `sysconf' function. */
+#define HAVE_SYSCONF 1
+
+/* Define to 1 if you have the <sys/ioctl.h> header file. */
+#define HAVE_SYS_IOCTL_H 1
+
+/* Define to 1 if you have the <sys/mman.h> header file. */
+#define HAVE_SYS_MMAN_H 1
+
+/* Define to 1 if you have the <sys/param.h> header file. */
+#define HAVE_SYS_PARAM_H 1
+
+/* Define to 1 if you have the <sys/resource.h> header file. */
+#define HAVE_SYS_RESOURCE_H 1
+
+/* Define to 1 if you have the <sys/stat.h> header file. */
+#define HAVE_SYS_STAT_H 1
+
+/* Define to 1 if you have the <sys/time.h> header file. */
+#define HAVE_SYS_TIME_H 1
+
+/* Define to 1 if 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 16.0.3"
++#define PACKAGE_STRING "LLVM 16.0.4"
+
+/* Define to the version of this package. */
- #define PACKAGE_VERSION "16.0.3"
++#define PACKAGE_VERSION "16.0.4"
+
+/* 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 */
+
+#endif
diff --cc lib/clang/include/llvm/Config/llvm-config.h
index 3932cfc4d1c3,000000000000..956e14142365
mode 100644,000000..100644
--- a/lib/clang/include/llvm/Config/llvm-config.h
+++ b/lib/clang/include/llvm/Config/llvm-config.h
@@@ -1,132 -1,0 +1,132 @@@
+/* $FreeBSD$ */
+/*===------- 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 16
+
+/* Minor version of the LLVM API */
+#define LLVM_VERSION_MINOR 0
+
+/* Patch version of the LLVM API */
- #define LLVM_VERSION_PATCH 3
++#define LLVM_VERSION_PATCH 4
+
+/* LLVM version string */
- #define LLVM_VERSION_STRING "16.0.3"
++#define LLVM_VERSION_STRING "16.0.4"
+
+/* 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 4fa56888d33c,000000000000..ca9915b70f68
mode 100644,000000..100644
--- a/lib/clang/include/llvm/Support/VCSRevision.h
+++ b/lib/clang/include/llvm/Support/VCSRevision.h
@@@ -1,3 -1,0 +1,3 @@@
+/* $FreeBSD$ */
- #define LLVM_REVISION "llvmorg-16.0.3-0-gda3cd333bea5"
++#define LLVM_REVISION "llvmorg-16.0.4-0-gae42196bc493"
+#define LLVM_REPOSITORY "https://github.com/llvm/llvm-project.git"
diff --cc usr.bin/clang/bugpoint/bugpoint.1
index 97b227ea82d1,000000000000..efbecd28e178
mode 100644,000000..100644
--- a/usr.bin/clang/bugpoint/bugpoint.1
+++ b/usr.bin/clang/bugpoint/bugpoint.1
@@@ -1,309 -1,0 +1,308 @@@
- .\" $FreeBSD$
+.\" Man page generated from reStructuredText.
+.
+.
+.nr rst2man-indent-level 0
+.
+.de1 rstReportMargin
+\\$1 \\n[an-margin]
+level \\n[rst2man-indent-level]
+level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
+-
+\\n[rst2man-indent0]
+\\n[rst2man-indent1]
+\\n[rst2man-indent2]
+..
+.de1 INDENT
+.\" .rstReportMargin pre:
+. RS \\$1
+. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
+. nr rst2man-indent-level +1
+.\" .rstReportMargin post:
+..
+.de UNINDENT
+. RE
+.\" indent \\n[an-margin]
+.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.nr rst2man-indent-level -1
+.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
+..
- .TH "BUGPOINT" "1" "2021-06-07" "12" "LLVM"
++.TH "BUGPOINT" "1" "2023-05-24" "16" "LLVM"
+.SH NAME
+bugpoint \- automatic test case reduction tool
+.SH SYNOPSIS
+.sp
+\fBbugpoint\fP [\fIoptions\fP] [\fIinput LLVM ll/bc files\fP] [\fILLVM passes\fP] \fB\-\-args\fP
+\fIprogram arguments\fP
+.SH DESCRIPTION
+.sp
+\fBbugpoint\fP narrows down the source of problems in LLVM tools and passes. It
+can be used to debug three types of failures: optimizer crashes, miscompilations
+by optimizers, or bad native code generation (including problems in the static
+and JIT compilers). It aims to reduce large test cases to small, useful ones.
+For more information on the design and inner workings of \fBbugpoint\fP, as well as
- advice for using bugpoint, see /Bugpoint in the LLVM
++advice for using bugpoint, see \fI\%LLVM bugpoint tool: design and usage\fP in the LLVM
+distribution.
+.SH OPTIONS
+.sp
+\fB\-\-additional\-so\fP \fIlibrary\fP
+.INDENT 0.0
+.INDENT 3.5
+Load the dynamic shared object \fIlibrary\fP into the test program whenever it is
+run. This is useful if you are debugging programs which depend on non\-LLVM
+libraries (such as the X or curses libraries) to run.
+.UNINDENT
+.UNINDENT
+.sp
+\fB\-\-append\-exit\-code\fP=\fI{true,false}\fP
+.INDENT 0.0
+.INDENT 3.5
+Append the test programs exit code to the output file so that a change in exit
+code is considered a test failure. Defaults to false.
+.UNINDENT
+.UNINDENT
+.sp
+\fB\-\-args\fP \fIprogram args\fP
+.INDENT 0.0
+.INDENT 3.5
+Pass all arguments specified after \fB\-\-args\fP to the test program whenever it runs.
- Note that if any of the \fIprogram args\fP start with a "\fB\-\fP", you should use:
++Note that if any of the \fIprogram args\fP start with a \(dq\fB\-\fP\(dq, you should use:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+bugpoint [bugpoint args] \-\-args \-\- [program args]
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
- The "\fB\-\-\fP" right after the \fB\-\-args\fP option tells \fBbugpoint\fP to consider
- any options starting with "\fB\-\fP" to be part of the \fB\-\-args\fP option, not as
++The \(dq\fB\-\-\fP\(dq right after the \fB\-\-args\fP option tells \fBbugpoint\fP to consider
++any options starting with \(dq\fB\-\fP\(dq to be part of the \fB\-\-args\fP option, not as
+options to \fBbugpoint\fP itself.
+.UNINDENT
+.UNINDENT
+.sp
+\fB\-\-tool\-args\fP \fItool args\fP
+.INDENT 0.0
+.INDENT 3.5
+Pass all arguments specified after \fB\-\-tool\-args\fP to the LLVM tool under test
+(\fBllc\fP, \fBlli\fP, etc.) whenever it runs. You should use this option in the
+following way:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+bugpoint [bugpoint args] \-\-tool\-args \-\- [tool args]
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
- The "\fB\-\-\fP" right after the \fB\-\-tool\-args\fP option tells \fBbugpoint\fP to
- consider any options starting with "\fB\-\fP" to be part of the \fB\-\-tool\-args\fP
++The \(dq\fB\-\-\fP\(dq right after the \fB\-\-tool\-args\fP option tells \fBbugpoint\fP to
++consider any options starting with \(dq\fB\-\fP\(dq to be part of the \fB\-\-tool\-args\fP
+option, not as options to \fBbugpoint\fP itself. (See \fB\-\-args\fP, above.)
+.UNINDENT
+.UNINDENT
+.sp
+\fB\-\-safe\-tool\-args\fP \fItool args\fP
+.INDENT 0.0
+.INDENT 3.5
- Pass all arguments specified after \fB\-\-safe\-tool\-args\fP to the "safe" execution
++Pass all arguments specified after \fB\-\-safe\-tool\-args\fP to the \(dqsafe\(dq execution
+tool.
+.UNINDENT
+.UNINDENT
+.sp
+\fB\-\-gcc\-tool\-args\fP \fIgcc tool args\fP
+.INDENT 0.0
+.INDENT 3.5
+Pass all arguments specified after \fB\-\-gcc\-tool\-args\fP to the invocation of
+\fBgcc\fP\&.
+.UNINDENT
+.UNINDENT
+.sp
+\fB\-\-opt\-args\fP \fIopt args\fP
+.INDENT 0.0
+.INDENT 3.5
+Pass all arguments specified after \fB\-\-opt\-args\fP to the invocation of \fBopt\fP\&.
+.UNINDENT
+.UNINDENT
+.sp
+\fB\-\-disable\-{dce,simplifycfg}\fP
+.INDENT 0.0
+.INDENT 3.5
+Do not run the specified passes to clean up and reduce the size of the test
+program. By default, \fBbugpoint\fP uses these passes internally when attempting to
+reduce test programs. If you\(aqre trying to find a bug in one of these passes,
+\fBbugpoint\fP may crash.
+.UNINDENT
+.UNINDENT
+.sp
+\fB\-\-enable\-valgrind\fP
+.INDENT 0.0
+.INDENT 3.5
+Use valgrind to find faults in the optimization phase. This will allow
+bugpoint to find otherwise asymptomatic problems caused by memory
+mis\-management.
+.UNINDENT
+.UNINDENT
+.sp
+\fB\-find\-bugs\fP
+.INDENT 0.0
+.INDENT 3.5
+Continually randomize the specified passes and run them on the test program
+until a bug is found or the user kills \fBbugpoint\fP\&.
+.UNINDENT
+.UNINDENT
+.sp
+\fB\-help\fP
+.INDENT 0.0
+.INDENT 3.5
+Print a summary of command line options.
+.UNINDENT
+.UNINDENT
+.sp
+\fB\-\-input\fP \fIfilename\fP
+.INDENT 0.0
+.INDENT 3.5
+Open \fIfilename\fP and redirect the standard input of the test program, whenever
+it runs, to come from that file.
+.UNINDENT
+.UNINDENT
+.sp
+\fB\-\-load\fP \fIplugin\fP
+.INDENT 0.0
+.INDENT 3.5
+Load the dynamic object \fIplugin\fP into \fBbugpoint\fP itself. This object should
+register new optimization passes. Once loaded, the object will add new command
+line options to enable various optimizations. To see the new complete list of
+optimizations, use the \fB\-help\fP and \fB\-\-load\fP options together; for example:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+bugpoint \-\-load myNewPass.so \-help
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.UNINDENT
+.UNINDENT
+.sp
+\fB\-\-mlimit\fP \fImegabytes\fP
+.INDENT 0.0
+.INDENT 3.5
+Specifies an upper limit on memory usage of the optimization and codegen. Set
+to zero to disable the limit.
+.UNINDENT
+.UNINDENT
+.sp
+\fB\-\-output\fP \fIfilename\fP
+.INDENT 0.0
+.INDENT 3.5
+Whenever the test program produces output on its standard output stream, it
- should match the contents of \fIfilename\fP (the "reference output"). If you
++should match the contents of \fIfilename\fP (the \(dqreference output\(dq). If you
+do not use this option, \fBbugpoint\fP will attempt to generate a reference output
- by compiling the program with the "safe" backend and running it.
++by compiling the program with the \(dqsafe\(dq backend and running it.
+.UNINDENT
+.UNINDENT
+.sp
+\fB\-\-run\-{int,jit,llc,custom}\fP
+.INDENT 0.0
+.INDENT 3.5
+Whenever the test program is compiled, \fBbugpoint\fP should generate code for it
+using the specified code generator. These options allow you to choose the
+interpreter, the JIT compiler, the static native code compiler, or a
+custom command (see \fB\-\-exec\-command\fP) respectively.
+.UNINDENT
+.UNINDENT
+.sp
+\fB\-\-safe\-{llc,custom}\fP
+.INDENT 0.0
+.INDENT 3.5
+When debugging a code generator, \fBbugpoint\fP should use the specified code
- generator as the "safe" code generator. This is a known\-good code generator
- used to generate the "reference output" if it has not been provided, and to
++generator as the \(dqsafe\(dq code generator. This is a known\-good code generator
++used to generate the \(dqreference output\(dq if it has not been provided, and to
+compile portions of the program that as they are excluded from the testcase.
+These options allow you to choose the
+static native code compiler, or a custom command, (see \fB\-\-exec\-command\fP)
+respectively. The interpreter and the JIT backends cannot currently
- be used as the "safe" backends.
++be used as the \(dqsafe\(dq backends.
+.UNINDENT
+.UNINDENT
+.sp
+\fB\-\-exec\-command\fP \fIcommand\fP
+.INDENT 0.0
+.INDENT 3.5
+This option defines the command to use with the \fB\-\-run\-custom\fP and
+\fB\-\-safe\-custom\fP options to execute the bitcode testcase. This can
+be useful for cross\-compilation.
+.UNINDENT
+.UNINDENT
+.sp
+\fB\-\-compile\-command\fP \fIcommand\fP
+.INDENT 0.0
+.INDENT 3.5
+This option defines the command to use with the \fB\-\-compile\-custom\fP
+option to compile the bitcode testcase. The command should exit with a
- failure exit code if the file is "interesting" and should exit with a
++failure exit code if the file is \(dqinteresting\(dq and should exit with a
+success exit code (i.e. 0) otherwise (this is the same as if it crashed on
- "interesting" inputs).
++\(dqinteresting\(dq inputs).
+.sp
+This can be useful for
+testing compiler output without running any link or execute stages. To
+generate a reduced unit test, you may add CHECK directives to the
+testcase and pass the name of an executable compile\-command script in this form:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+#!/bin/sh
- llc "$@"
++llc \(dq$@\(dq
+not FileCheck [bugpoint input file].ll < bugpoint\-test\-program.s
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
- This script will "fail" as long as FileCheck passes. So the result
++This script will \(dqfail\(dq as long as FileCheck passes. So the result
+will be the minimum bitcode that passes FileCheck.
+.UNINDENT
+.UNINDENT
+.sp
+\fB\-\-safe\-path\fP \fIpath\fP
+.INDENT 0.0
+.INDENT 3.5
+This option defines the path to the command to execute with the
+\fB\-\-safe\-{int,jit,llc,custom}\fP
+option.
+.UNINDENT
+.UNINDENT
+.sp
+\fB\-\-verbose\-errors\fP=\fI{true,false}\fP
+.INDENT 0.0
+.INDENT 3.5
- The default behavior of bugpoint is to print "<crash>" when it finds a reduced
++The default behavior of bugpoint is to print \(dq<crash>\(dq when it finds a reduced
+test that crashes compilation. This flag prints the output of the crashing
+program to stderr. This is useful to make sure it is the same error being
+tracked down and not a different error that happens to crash the compiler as
+well. Defaults to false.
*** 11307 LINES SKIPPED ***