git: 1f6fd64fe9c9 - stable/13 - Merge llvm-project main llvmorg-14-init-10223-g401b76fdf2b3

From: Dimitry Andric <dim_at_FreeBSD.org>
Date: Sat, 04 Jun 2022 12:00:57 UTC
The branch stable/13 has been updated by dim:

URL: https://cgit.FreeBSD.org/src/commit/?id=1f6fd64fe9c996b4795ee4a6c66b8f9216747560

commit 1f6fd64fe9c996b4795ee4a6c66b8f9216747560
Author:     Dimitry Andric <dim@FreeBSD.org>
AuthorDate: 2021-11-20 17:39:12 +0000
Commit:     Dimitry Andric <dim@FreeBSD.org>
CommitDate: 2022-06-04 11:58:59 +0000

    Merge llvm-project main llvmorg-14-init-10223-g401b76fdf2b3
    
    This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvmorg-14-init-10223-g401b76fdf2b3.
    
    PR:             261742
    MFC after:      2 weeks
    
    (cherry picked from commit 5e801ac66d24704442eba426ed13c3effb8a34e7)
---
 ObsoleteFiles.inc                                  |  301 ++
 contrib/llvm-project/FREEBSD-Xlist                 |   23 +-
 .../clang/include/clang/AST/Redeclarable.h         |    3 +-
 .../llvm-project/clang/include/clang/AST/Type.h    |    6 +-
 .../clang/include/clang/Analysis/CFG.h             |    2 +-
 .../llvm-project/clang/include/clang/Basic/Attr.td |    1 +
 .../clang/include/clang/CodeGen/CGFunctionInfo.h   |    2 +-
 .../llvm-project/clang/include/clang/Sema/Lookup.h |    7 +-
 contrib/llvm-project/clang/lib/AST/ASTContext.cpp  |    3 +
 .../llvm-project/clang/lib/Analysis/BodyFarm.cpp   |    5 +-
 .../clang/lib/Analysis/RetainSummaryManager.cpp    |    2 +-
 .../llvm-project/clang/lib/Basic/DiagnosticIDs.cpp |    2 +-
 .../llvm-project/clang/lib/Basic/SourceManager.cpp |   11 +-
 .../clang/lib/Driver/ToolChains/Clang.cpp          |    1 -
 contrib/llvm-project/clang/lib/Format/Format.cpp   |    2 +-
 .../clang/lib/Frontend/FrontendActions.cpp         |    2 +-
 .../llvm-project/clang/lib/Sema/SemaChecking.cpp   |    7 +-
 contrib/llvm-project/clang/lib/Sema/SemaDecl.cpp   |    8 +-
 .../llvm-project/clang/lib/Sema/SemaDeclCXX.cpp    |    5 +-
 contrib/llvm-project/clang/lib/Sema/SemaExpr.cpp   |    1 -
 .../llvm-project/clang/lib/Sema/SemaExprCXX.cpp    |    5 +-
 contrib/llvm-project/clang/lib/Sema/SemaLookup.cpp |    4 +-
 .../lib/StaticAnalyzer/Checkers/CStringChecker.cpp |    6 +-
 .../lib/StaticAnalyzer/Checkers/MIGChecker.cpp     |    2 +-
 .../Checkers/StdLibraryFunctionsChecker.cpp        |    6 +-
 .../lib/StaticAnalyzer/Checkers/UnixAPIChecker.cpp |    5 +-
 .../StaticAnalyzer/Core/BugReporterVisitors.cpp    |    7 +-
 .../clang/lib/StaticAnalyzer/Core/ExprEngine.cpp   |    4 +-
 .../clang/lib/StaticAnalyzer/Core/Store.cpp        |    2 +-
 .../llvm-project/clang/lib/Tooling/Syntax/Tree.cpp |    2 +-
 .../clang-nvlink-wrapper/ClangNvlinkWrapper.cpp    |  196 --
 .../libcxx/include/__algorithm/binary_search.h     |    2 +-
 .../libcxx/include/__algorithm/is_heap.h           |    4 +-
 .../libcxx/include/__algorithm/is_heap_until.h     |   21 +-
 .../libcxx/include/__algorithm/is_sorted.h         |    4 +-
 .../libcxx/include/__algorithm/is_sorted_until.h   |   19 +-
 .../llvm-project/libcxx/include/__algorithm/max.h  |    4 +-
 .../libcxx/include/__algorithm/max_element.h       |   21 +-
 .../llvm-project/libcxx/include/__algorithm/min.h  |    4 +-
 .../libcxx/include/__algorithm/min_element.h       |   21 +-
 contrib/llvm-project/libcxx/include/version        |    2 +-
 .../llvm/ExecutionEngine/JITLink/JITLinkDylib.h    |   13 +-
 .../llvm/include/llvm/ExecutionEngine/Orc/Core.h   |   10 +-
 .../llvm/lib/DebugInfo/DWARF/DWARFVerifier.cpp     |    8 +-
 .../llvm/lib/ExecutionEngine/Orc/Core.cpp          |    4 +-
 .../Target/AMDGPU/MCTargetDesc/AMDGPUMCAsmInfo.cpp |    1 -
 .../llvm/lib/Target/ARM/Thumb2SizeReduction.cpp    |    2 +-
 .../lib/Target/Hexagon/HexagonMachineScheduler.cpp |    2 +-
 .../llvm/lib/Target/X86/X86ISelLowering.cpp        |    6 +-
 .../Transforms/Instrumentation/InstrProfiling.cpp  |    2 +-
 .../llvm/lib/Transforms/Utils/CloneModule.cpp      |   72 +-
 .../llvm/lib/Transforms/Utils/Evaluator.cpp        |    5 +-
 .../llvm/lib/Transforms/Utils/LoopSimplify.cpp     |   13 +-
 .../llvm/lib/Transforms/Utils/LoopUtils.cpp        |   12 +-
 .../llvm/lib/Transforms/Utils/MetaRenamer.cpp      |    6 +-
 .../llvm/lib/Transforms/Utils/VNCoercion.cpp       |   14 +-
 etc/mtree/BSD.debug.dist                           |    2 +-
 etc/mtree/BSD.include.dist                         |   12 +
 etc/mtree/BSD.usr.dist                             |    2 +-
 lib/clang/freebsd_cc_version.h                     |    2 +-
 lib/clang/headers/Makefile                         |    6 +-
 lib/clang/include/VCSVersion.inc                   |   14 +-
 lib/clang/include/clang/Basic/Version.inc          |    6 +-
 lib/clang/include/clang/Config/config.h            |    2 +-
 lib/clang/include/lld/Common/Version.inc           |    2 +-
 lib/clang/include/lldb/Host/Config.h               |    5 -
 lib/clang/include/llvm/Config/TargetMCAs.def       |    7 +
 lib/clang/include/llvm/Config/config.h             |   18 +-
 lib/clang/include/llvm/Config/llvm-config.h        |   15 +-
 lib/clang/include/llvm/Support/VCSRevision.h       |    4 +-
 lib/clang/libclang/Makefile                        |    4 +-
 lib/clang/liblldb/LLDBWrapLua.cpp                  | 3243 ++++++++++++--------
 lib/clang/liblldb/Makefile                         |    9 +-
 lib/clang/libllvm/Makefile                         |   46 +-
 lib/libc++/Makefile                                |  104 +-
 lib/libc++/__config_site                           |    5 +-
 lib/libclang_rt/asan/Makefile                      |    2 +-
 lib/libclang_rt/asan_dynamic/Makefile              |    2 +-
 lib/libclang_rt/cfi/Makefile                       |    1 -
 lib/libclang_rt/cfi_diag/Makefile                  |    2 +-
 lib/libclang_rt/compiler-rt-vars.mk                |    2 +-
 lib/libclang_rt/dd/Makefile                        |    1 -
 lib/libclang_rt/msan/Makefile                      |    2 +-
 lib/libclang_rt/stats/Makefile                     |    2 +-
 lib/libclang_rt/tsan/Makefile                      |    4 +-
 lib/libclang_rt/ubsan_standalone/Makefile          |    2 +-
 lib/libclang_rt/xray/Makefile                      |    1 -
 lib/libomp/kmp_config.h                            |   15 +
 lib/libomp/kmp_i18n_default.inc                    |    8 +-
 lib/libomp/kmp_i18n_id.inc                         |    6 +-
 lib/libomp/omp.h                                   |   11 +-
 tools/build/mk/OptionalObsoleteFiles.inc           |  666 ++--
 usr.bin/clang/llvm-diff/Makefile                   |    6 +-
 usr.bin/clang/llvm-mca/Makefile                    |    1 -
 usr.bin/clang/llvm-tblgen/Makefile                 |    2 +-
 95 files changed, 3048 insertions(+), 2101 deletions(-)

diff --git a/ObsoleteFiles.inc b/ObsoleteFiles.inc
index 0b70ebf521fb..200934b0cb08 100644
--- a/ObsoleteFiles.inc
+++ b/ObsoleteFiles.inc
@@ -36,6 +36,307 @@
 #   xargs -n1 | sort | uniq -d;
 # done
 
+# 20220604: new clang import which bumps version from 13.0.0 to 14.0.0
+OLD_FILES+=usr/lib/clang/13.0.0/include/cuda_wrappers/algorithm
+OLD_FILES+=usr/lib/clang/13.0.0/include/cuda_wrappers/complex
+OLD_FILES+=usr/lib/clang/13.0.0/include/cuda_wrappers/new
+OLD_DIRS+=usr/lib/clang/13.0.0/include/cuda_wrappers
+OLD_FILES+=usr/lib/clang/13.0.0/include/fuzzer/FuzzedDataProvider.h
+OLD_DIRS+=usr/lib/clang/13.0.0/include/fuzzer
+OLD_FILES+=usr/lib/clang/13.0.0/include/openmp_wrappers/__clang_openmp_device_functions.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/openmp_wrappers/cmath
+OLD_FILES+=usr/lib/clang/13.0.0/include/openmp_wrappers/complex
+OLD_FILES+=usr/lib/clang/13.0.0/include/openmp_wrappers/complex.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/openmp_wrappers/complex_cmath.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/openmp_wrappers/math.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/openmp_wrappers/new
+OLD_DIRS+=usr/lib/clang/13.0.0/include/openmp_wrappers
+OLD_FILES+=usr/lib/clang/13.0.0/include/ppc_wrappers/emmintrin.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/ppc_wrappers/mm_malloc.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/ppc_wrappers/mmintrin.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/ppc_wrappers/pmmintrin.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/ppc_wrappers/smmintrin.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/ppc_wrappers/tmmintrin.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/ppc_wrappers/xmmintrin.h
+OLD_DIRS+=usr/lib/clang/13.0.0/include/ppc_wrappers
+OLD_FILES+=usr/lib/clang/13.0.0/include/profile/InstrProfData.inc
+OLD_DIRS+=usr/lib/clang/13.0.0/include/profile
+OLD_FILES+=usr/lib/clang/13.0.0/include/sanitizer/allocator_interface.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/sanitizer/asan_interface.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/sanitizer/common_interface_defs.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/sanitizer/coverage_interface.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/sanitizer/dfsan_interface.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/sanitizer/hwasan_interface.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/sanitizer/linux_syscall_hooks.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/sanitizer/lsan_interface.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/sanitizer/msan_interface.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/sanitizer/netbsd_syscall_hooks.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/sanitizer/scudo_interface.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/sanitizer/tsan_interface.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/sanitizer/tsan_interface_atomic.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/sanitizer/ubsan_interface.h
+OLD_DIRS+=usr/lib/clang/13.0.0/include/sanitizer
+OLD_FILES+=usr/lib/clang/13.0.0/include/xray/xray_interface.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/xray/xray_log_interface.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/xray/xray_records.h
+OLD_DIRS+=usr/lib/clang/13.0.0/include/xray
+OLD_FILES+=usr/lib/clang/13.0.0/include/__clang_cuda_builtin_vars.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/__clang_cuda_cmath.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/__clang_cuda_complex_builtins.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/__clang_cuda_device_functions.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/__clang_cuda_intrinsics.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/__clang_cuda_libdevice_declares.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/__clang_cuda_math.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/__clang_cuda_math_forward_declares.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/__clang_cuda_runtime_wrapper.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/__clang_hip_cmath.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/__clang_hip_libdevice_declares.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/__clang_hip_math.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/__clang_hip_runtime_wrapper.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/__stddef_max_align_t.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/__wmmintrin_aes.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/__wmmintrin_pclmul.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/adxintrin.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/altivec.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/ammintrin.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/amxintrin.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/arm64intr.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/arm_acle.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/arm_bf16.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/arm_cde.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/arm_cmse.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/arm_fp16.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/arm_mve.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/arm_neon.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/arm_sve.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/armintr.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/avx2intrin.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/avx512bf16intrin.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/avx512bitalgintrin.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/avx512bwintrin.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/avx512cdintrin.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/avx512dqintrin.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/avx512erintrin.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/avx512fintrin.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/avx512ifmaintrin.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/avx512ifmavlintrin.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/avx512pfintrin.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/avx512vbmi2intrin.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/avx512vbmiintrin.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/avx512vbmivlintrin.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/avx512vlbf16intrin.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/avx512vlbitalgintrin.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/avx512vlbwintrin.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/avx512vlcdintrin.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/avx512vldqintrin.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/avx512vlintrin.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/avx512vlvbmi2intrin.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/avx512vlvnniintrin.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/avx512vlvp2intersectintrin.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/avx512vnniintrin.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/avx512vp2intersectintrin.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/avx512vpopcntdqintrin.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/avx512vpopcntdqvlintrin.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/avxintrin.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/avxvnniintrin.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/bmi2intrin.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/bmiintrin.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/builtins.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/cet.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/cetintrin.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/cldemoteintrin.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/clflushoptintrin.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/clwbintrin.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/clzerointrin.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/cpuid.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/emmintrin.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/enqcmdintrin.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/f16cintrin.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/float.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/fma4intrin.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/fmaintrin.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/fxsrintrin.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/gfniintrin.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/hexagon_circ_brev_intrinsics.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/hexagon_protos.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/hexagon_types.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/hresetintrin.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/htmintrin.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/htmxlintrin.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/hvx_hexagon_protos.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/ia32intrin.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/immintrin.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/intrin.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/inttypes.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/invpcidintrin.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/iso646.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/keylockerintrin.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/limits.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/lwpintrin.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/lzcntintrin.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/mm3dnow.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/mm_malloc.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/mmintrin.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/module.modulemap
+OLD_FILES+=usr/lib/clang/13.0.0/include/movdirintrin.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/msa.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/mwaitxintrin.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/nmmintrin.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/omp-tools.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/omp.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/ompt.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/opencl-c-base.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/opencl-c.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/pconfigintrin.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/pkuintrin.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/pmmintrin.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/popcntintrin.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/prfchwintrin.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/ptwriteintrin.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/rdseedintrin.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/riscv_vector.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/rtmintrin.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/s390intrin.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/serializeintrin.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/sgxintrin.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/shaintrin.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/smmintrin.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/stdalign.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/stdarg.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/stdatomic.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/stdbool.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/stddef.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/stdint.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/stdnoreturn.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/tbmintrin.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/tgmath.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/tmmintrin.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/tsxldtrkintrin.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/uintrintrin.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/unwind.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/vadefs.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/vaesintrin.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/varargs.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/vecintrin.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/vpclmulqdqintrin.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/waitpkgintrin.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/wasm_simd128.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/wbnoinvdintrin.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/wmmintrin.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/x86gprintrin.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/x86intrin.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/xmmintrin.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/xopintrin.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/xsavecintrin.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/xsaveintrin.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/xsaveoptintrin.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/xsavesintrin.h
+OLD_FILES+=usr/lib/clang/13.0.0/include/xtestintrin.h
+OLD_DIRS+=usr/lib/clang/13.0.0/include
+OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.asan-aarch64.a
+OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.asan-aarch64.so
+OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.asan-arm.a
+OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.asan-arm.so
+OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.asan-armhf.a
+OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.asan-armhf.so
+OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.asan-i386.a
+OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.asan-i386.so
+OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.asan-preinit-aarch64.a
+OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.asan-preinit-arm.a
+OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.asan-preinit-armhf.a
+OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.asan-preinit-i386.a
+OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.asan-preinit-x86_64.a
+OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.asan-x86_64.a
+OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.asan-x86_64.so
+OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.asan_cxx-aarch64.a
+OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.asan_cxx-arm.a
+OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.asan_cxx-armhf.a
+OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.asan_cxx-i386.a
+OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.asan_cxx-x86_64.a
+OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.cfi-aarch64.a
+OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.cfi-arm.a
+OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.cfi-armhf.a
+OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.cfi-i386.a
+OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.cfi-x86_64.a
+OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.cfi_diag-aarch64.a
+OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.cfi_diag-arm.a
+OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.cfi_diag-armhf.a
+OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.cfi_diag-i386.a
+OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.cfi_diag-x86_64.a
+OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.dd-aarch64.a
+OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.dd-x86_64.a
+OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.fuzzer-aarch64.a
+OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.fuzzer-x86_64.a
+OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.fuzzer_no_main-aarch64.a
+OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.fuzzer_no_main-x86_64.a
+OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.msan-aarch64.a
+OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.msan-x86_64.a
+OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.msan_cxx-aarch64.a
+OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.msan_cxx-x86_64.a
+OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.profile-aarch64.a
+OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.profile-arm.a
+OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.profile-armhf.a
+OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.profile-i386.a
+OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.profile-powerpc.a
+OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.profile-powerpc64.a
+OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.profile-powerpc64le.a
+OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.profile-x86_64.a
+OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.safestack-aarch64.a
+OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.safestack-i386.a
+OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.safestack-x86_64.a
+OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.stats-aarch64.a
+OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.stats-arm.a
+OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.stats-armhf.a
+OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.stats-i386.a
+OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.stats-x86_64.a
+OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.stats_client-aarch64.a
+OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.stats_client-arm.a
+OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.stats_client-armhf.a
+OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.stats_client-i386.a
+OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.stats_client-x86_64.a
+OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.tsan-aarch64.a
+OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.tsan-x86_64.a
+OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.tsan_cxx-aarch64.a
+OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.tsan_cxx-x86_64.a
+OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.ubsan_minimal-aarch64.a
+OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.ubsan_minimal-arm.a
+OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.ubsan_minimal-armhf.a
+OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.ubsan_minimal-i386.a
+OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.ubsan_minimal-x86_64.a
+OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.ubsan_standalone-aarch64.a
+OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.ubsan_standalone-arm.a
+OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.ubsan_standalone-armhf.a
+OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.ubsan_standalone-i386.a
+OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.ubsan_standalone-x86_64.a
+OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.ubsan_standalone_cxx-aarch64.a
+OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.ubsan_standalone_cxx-arm.a
+OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.ubsan_standalone_cxx-armhf.a
+OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.ubsan_standalone_cxx-i386.a
+OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.ubsan_standalone_cxx-x86_64.a
+OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.xray-aarch64.a
+OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.xray-arm.a
+OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.xray-armhf.a
+OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.xray-basic-aarch64.a
+OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.xray-basic-arm.a
+OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.xray-basic-armhf.a
+OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.xray-basic-x86_64.a
+OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.xray-fdr-aarch64.a
+OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.xray-fdr-arm.a
+OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.xray-fdr-armhf.a
+OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.xray-fdr-x86_64.a
+OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.xray-profiling-aarch64.a
+OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.xray-profiling-arm.a
+OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.xray-profiling-armhf.a
+OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.xray-profiling-x86_64.a
+OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.xray-x86_64.a
+OLD_DIRS+=usr/lib/clang/13.0.0/lib/freebsd
+OLD_DIRS+=usr/lib/clang/13.0.0/lib
+OLD_DIRS+=usr/lib/clang/13.0.0
+
+# 20220604: new libc++ import which bumps version from 13.0.0 to 14.0.0
+OLD_FILES+=usr/include/c++/v1/__memory/pointer_safety.h
+OLD_FILES+=usr/include/c++/v1/__utility/__decay_copy.h
+
 # 20220220: unwind.h moved to /usr/include
 OLD_FILES+=usr/include/c++/v1/unwind-arm.h
 OLD_FILES+=usr/include/c++/v1/unwind-itanium.h
diff --git a/contrib/llvm-project/FREEBSD-Xlist b/contrib/llvm-project/FREEBSD-Xlist
index 83ef7e63ffec..a1b16e75a5b8 100644
--- a/contrib/llvm-project/FREEBSD-Xlist
+++ b/contrib/llvm-project/FREEBSD-Xlist
@@ -105,6 +105,7 @@ clang/tools/clang-format/git-clang-format
 clang/tools/clang-format-vs/
 clang/tools/clang-fuzzer/
 clang/tools/clang-import-test/
+clang/tools/clang-nvlink-wrapper/
 clang/tools/clang-offload-bundler/
 clang/tools/clang-offload-wrapper/
 clang/tools/clang-refactor/
@@ -149,6 +150,7 @@ clang/utils/token-delta.py
 clang/utils/valgrind/
 clang/www/
 clang-tools-extra/
+cmake/
 compiler-rt/.gitignore
 compiler-rt/CMakeLists.txt
 compiler-rt/CODE_OWNERS.TXT
@@ -187,6 +189,7 @@ compiler-rt/lib/interception/tests/
 compiler-rt/lib/lsan/.clang-format
 compiler-rt/lib/lsan/CMakeLists.txt
 compiler-rt/lib/memprof/CMakeLists.txt
+compiler-rt/lib/memprof/tests/CMakeLists.txt
 compiler-rt/lib/msan/.clang-format
 compiler-rt/lib/msan/CMakeLists.txt
 compiler-rt/lib/msan/tests/
@@ -229,6 +232,7 @@ flang/
 libc/
 libclc/
 libcxx/.clang-format
+libcxx/.clang-tidy
 libcxx/.gitignore
 libcxx/CMakeLists.txt
 libcxx/TODO.TXT
@@ -280,6 +284,7 @@ lldb/CODE_OWNERS.txt
 lldb/bindings/CMakeLists.txt
 lldb/bindings/lua/CMakeLists.txt
 lldb/bindings/python/CMakeLists.txt
+lldb/bindings/python/get-python-config.py
 lldb/cmake/
 lldb/docs/.htaccess
 lldb/docs/CMakeLists.txt
@@ -379,6 +384,7 @@ lldb/source/Plugins/ObjectFile/CMakeLists.txt
 lldb/source/Plugins/ObjectFile/ELF/CMakeLists.txt
 lldb/source/Plugins/ObjectFile/JIT/CMakeLists.txt
 lldb/source/Plugins/ObjectFile/Mach-O/
+lldb/source/Plugins/ObjectFile/Minidump/CMakeLists.txt
 lldb/source/Plugins/ObjectFile/PDB/CMakeLists.txt
 lldb/source/Plugins/ObjectFile/PECOFF/
 lldb/source/Plugins/ObjectFile/wasm/CMakeLists.txt
@@ -407,6 +413,8 @@ lldb/source/Plugins/Process/gdb-remote/CMakeLists.txt
 lldb/source/Plugins/Process/mach-core/
 lldb/source/Plugins/Process/minidump/CMakeLists.txt
 lldb/source/Plugins/Process/scripted/CMakeLists.txt
+lldb/source/Plugins/REPL/CMakeLists.txt
+lldb/source/Plugins/REPL/Clang/CMakeLists.txt
 lldb/source/Plugins/ScriptInterpreter/CMakeLists.txt
 lldb/source/Plugins/ScriptInterpreter/Lua/CMakeLists.txt
 lldb/source/Plugins/ScriptInterpreter/None/CMakeLists.txt
@@ -428,6 +436,7 @@ lldb/source/Plugins/Trace/CMakeLists.txt
 lldb/source/Plugins/Trace/common/CMakeLists.txt
 lldb/source/Plugins/Trace/intel-pt/CMakeLists.txt
 lldb/source/Plugins/TraceExporter/CMakeLists.txt
+lldb/source/Plugins/TraceExporter/common/CMakeLists.txt
 lldb/source/Plugins/TraceExporter/ctf/CMakeLists.txt
 lldb/source/Plugins/TypeSystem/CMakeLists.txt
 lldb/source/Plugins/TypeSystem/Clang/CMakeLists.txt
@@ -555,6 +564,7 @@ llvm/lib/Target/AArch64/Utils/CMakeLists.txt
 llvm/lib/Target/AMDGPU/AsmParser/CMakeLists.txt
 llvm/lib/Target/AMDGPU/CMakeLists.txt
 llvm/lib/Target/AMDGPU/Disassembler/CMakeLists.txt
+llvm/lib/Target/AMDGPU/MCA/CMakeLists.txt
 llvm/lib/Target/AMDGPU/MCTargetDesc/CMakeLists.txt
 llvm/lib/Target/AMDGPU/TargetInfo/CMakeLists.txt
 llvm/lib/Target/AMDGPU/Utils/CMakeLists.txt
@@ -711,7 +721,9 @@ llvm/tools/llvm-cxxdump/CMakeLists.txt
 llvm/tools/llvm-cxxfilt/CMakeLists.txt
 llvm/tools/llvm-cxxmap/CMakeLists.txt
 llvm/tools/llvm-diff/CMakeLists.txt
+llvm/tools/llvm-diff/lib/CMakeLists.txt
 llvm/tools/llvm-dis/CMakeLists.txt
+llvm/tools/llvm-dlang-demangle-fuzzer/
 llvm/tools/llvm-dwarfdump/CMakeLists.txt
 llvm/tools/llvm-dwarfdump/fuzzer/
 llvm/tools/llvm-dwp/CMakeLists.txt
@@ -733,8 +745,6 @@ llvm/tools/llvm-mc/CMakeLists.txt
 llvm/tools/llvm-mc-assemble-fuzzer/
 llvm/tools/llvm-mc-disassemble-fuzzer/
 llvm/tools/llvm-mca/CMakeLists.txt
-llvm/tools/llvm-mca/lib/AMDGPU/CMakeLists.txt
-llvm/tools/llvm-mca/lib/CMakeLists.txt
 llvm/tools/llvm-microsoft-demangle-fuzzer/
 llvm/tools/llvm-ml/
 llvm/tools/llvm-modextract/CMakeLists.txt
@@ -761,6 +771,7 @@ llvm/tools/llvm-stress/CMakeLists.txt
 llvm/tools/llvm-strings/CMakeLists.txt
 llvm/tools/llvm-symbolizer/CMakeLists.txt
 llvm/tools/llvm-tapi-diff/CMakeLists.txt
+llvm/tools/llvm-tli-checker/CMakeLists.txt
 llvm/tools/llvm-undname/
 llvm/tools/llvm-xray/CMakeLists.txt
 llvm/tools/llvm-yaml-numeric-parser-fuzzer/
@@ -844,11 +855,16 @@ llvm/utils/llvmdo
 llvm/utils/llvmgrep
 llvm/utils/merge-stats.py
 llvm/utils/not/
+llvm/utils/pipeline.py
 llvm/utils/prepare-code-coverage-artifact.py
+llvm/utils/reduce_pipeline.py
+llvm/utils/reduce_pipeline_test/
 llvm/utils/release/
 llvm/utils/remote-exec.py
 llvm/utils/revert_checker.py
 llvm/utils/revert_checker_test.py
+llvm/utils/rsp_bisect.py
+llvm/utils/rsp_bisect_test/
 llvm/utils/sanitizers/
 llvm/utils/schedcover.py
 llvm/utils/shuffle_fuzz.py
@@ -877,6 +893,7 @@ openmp/CMakeLists.txt
 openmp/README.rst
 openmp/cmake/
 openmp/docs/
+openmp/libompd/
 openmp/libomptarget/
 openmp/runtime/.clang-format
 openmp/runtime/.clang-tidy
@@ -888,8 +905,6 @@ openmp/runtime/src/CMakeLists.txt
 openmp/runtime/test/
 openmp/runtime/tools/
 openmp/tools/
-openmp/www/
-parallel-libs/
 polly/
 pstl/
 runtimes/
diff --git a/contrib/llvm-project/clang/include/clang/AST/Redeclarable.h b/contrib/llvm-project/clang/include/clang/AST/Redeclarable.h
index 77b827c52bfb..58ec07973920 100644
--- a/contrib/llvm-project/clang/include/clang/AST/Redeclarable.h
+++ b/contrib/llvm-project/clang/include/clang/AST/Redeclarable.h
@@ -258,7 +258,8 @@ public:
 
     redecl_iterator& operator++() {
       assert(Current && "Advancing while iterator has reached end");
-      // Sanity check to avoid infinite loop on invalid redecl chain.
+      // Make sure we don't infinitely loop on an invalid redecl chain. This
+      // should never happen.
       if (Current->isFirstDecl()) {
         if (PassedFirst) {
           assert(0 && "Passed first decl twice, invalid redecl chain!");
diff --git a/contrib/llvm-project/clang/include/clang/AST/Type.h b/contrib/llvm-project/clang/include/clang/AST/Type.h
index fd25ec25d4f2..4c89c297bf34 100644
--- a/contrib/llvm-project/clang/include/clang/AST/Type.h
+++ b/contrib/llvm-project/clang/include/clang/AST/Type.h
@@ -5073,8 +5073,10 @@ public:
   static void Profile(llvm::FoldingSetNodeID &ID, TemplateName Template,
                       QualType Deduced, bool IsDependent) {
     Template.Profile(ID);
-    ID.AddPointer(Deduced.getAsOpaquePtr());
-    ID.AddBoolean(IsDependent);
+    QualType CanonicalType =
+        Deduced.isNull() ? Deduced : Deduced.getCanonicalType();
+    ID.AddPointer(CanonicalType.getAsOpaquePtr());
+    ID.AddBoolean(IsDependent || Template.isDependent());
   }
 
   static bool classof(const Type *T) {
diff --git a/contrib/llvm-project/clang/include/clang/Analysis/CFG.h b/contrib/llvm-project/clang/include/clang/Analysis/CFG.h
index f9223fe58a27..3b9b22e87f35 100644
--- a/contrib/llvm-project/clang/include/clang/Analysis/CFG.h
+++ b/contrib/llvm-project/clang/include/clang/Analysis/CFG.h
@@ -515,7 +515,7 @@ public:
     /// of the most derived class while we're in the base class.
     VirtualBaseBranch,
 
-    /// Number of different kinds, for sanity checks. We subtract 1 so that
+    /// Number of different kinds, for validity checks. We subtract 1 so that
     /// to keep receiving compiler warnings when we don't cover all enum values
     /// in a switch.
     NumKindsMinusOne = VirtualBaseBranch
diff --git a/contrib/llvm-project/clang/include/clang/Basic/Attr.td b/contrib/llvm-project/clang/include/clang/Basic/Attr.td
index d8f0fcd56550..39588d94cf09 100644
--- a/contrib/llvm-project/clang/include/clang/Basic/Attr.td
+++ b/contrib/llvm-project/clang/include/clang/Basic/Attr.td
@@ -2310,6 +2310,7 @@ def SwiftAttr : InheritableAttr {
   let Spellings = [GNU<"swift_attr">];
   let Args = [StringArgument<"Attribute">];
   let Documentation = [SwiftAttrDocs];
+  let PragmaAttributeSupport = 1;
 }
 
 def SwiftBridge : InheritableAttr {
diff --git a/contrib/llvm-project/clang/include/clang/CodeGen/CGFunctionInfo.h b/contrib/llvm-project/clang/include/clang/CodeGen/CGFunctionInfo.h
index 4899c9deda6a..cd6c7e2e3128 100644
--- a/contrib/llvm-project/clang/include/clang/CodeGen/CGFunctionInfo.h
+++ b/contrib/llvm-project/clang/include/clang/CodeGen/CGFunctionInfo.h
@@ -250,7 +250,7 @@ public:
   static ABIArgInfo getCoerceAndExpand(llvm::StructType *coerceToType,
                                        llvm::Type *unpaddedCoerceToType) {
 #ifndef NDEBUG
-    // Sanity checks on unpaddedCoerceToType.
+    // Check that unpaddedCoerceToType has roughly the right shape.
 
     // Assert that we only have a struct type if there are multiple elements.
     auto unpaddedStruct = dyn_cast<llvm::StructType>(unpaddedCoerceToType);
diff --git a/contrib/llvm-project/clang/include/clang/Sema/Lookup.h b/contrib/llvm-project/clang/include/clang/Sema/Lookup.h
index c6edc2df5b9f..54fe7081b710 100644
--- a/contrib/llvm-project/clang/include/clang/Sema/Lookup.h
+++ b/contrib/llvm-project/clang/include/clang/Sema/Lookup.h
@@ -319,7 +319,7 @@ public:
   }
 
   LookupResultKind getResultKind() const {
-    assert(sanity());
+    assert(checkDebugAssumptions());
     return ResultKind;
   }
 
@@ -706,10 +706,9 @@ private:
   void addDeclsFromBasePaths(const CXXBasePaths &P);
   void configure();
 
-  // Sanity checks.
-  bool sanity() const;
+  bool checkDebugAssumptions() const;
 
-  bool sanityCheckUnresolved() const {
+  bool checkUnresolved() const {
     for (iterator I = begin(), E = end(); I != E; ++I)
       if (isa<UnresolvedUsingValueDecl>((*I)->getUnderlyingDecl()))
         return true;
diff --git a/contrib/llvm-project/clang/lib/AST/ASTContext.cpp b/contrib/llvm-project/clang/lib/AST/ASTContext.cpp
index 415fa728b623..221986d8dbab 100644
--- a/contrib/llvm-project/clang/lib/AST/ASTContext.cpp
+++ b/contrib/llvm-project/clang/lib/AST/ASTContext.cpp
@@ -5676,6 +5676,9 @@ QualType ASTContext::getDeducedTemplateSpecializationType(
 
   auto *DTST = new (*this, TypeAlignment)
       DeducedTemplateSpecializationType(Template, DeducedType, IsDependent);
+  llvm::FoldingSetNodeID TempID;
+  DTST->Profile(TempID);
+  assert(ID == TempID && "ID does not match");
   Types.push_back(DTST);
   DeducedTemplateSpecializationTypes.InsertNode(DTST, InsertPos);
   return QualType(DTST, 0);
diff --git a/contrib/llvm-project/clang/lib/Analysis/BodyFarm.cpp b/contrib/llvm-project/clang/lib/Analysis/BodyFarm.cpp
index 49ac74c233bd..92c236ed9080 100644
--- a/contrib/llvm-project/clang/lib/Analysis/BodyFarm.cpp
+++ b/contrib/llvm-project/clang/lib/Analysis/BodyFarm.cpp
@@ -790,9 +790,8 @@ static Stmt *createObjCPropertyGetter(ASTContext &Ctx,
     }
   }
 
-  // Sanity check that the property is the same type as the ivar, or a
-  // reference to it, and that it is either an object pointer or trivially
-  // copyable.
+  // We expect that the property is the same type as the ivar, or a reference to
+  // it, and that it is either an object pointer or trivially copyable.
   if (!Ctx.hasSameUnqualifiedType(IVar->getType(),
                                   Prop->getType().getNonReferenceType()))
     return nullptr;
diff --git a/contrib/llvm-project/clang/lib/Analysis/RetainSummaryManager.cpp b/contrib/llvm-project/clang/lib/Analysis/RetainSummaryManager.cpp
index 1d7b968e994f..836e369758d3 100644
--- a/contrib/llvm-project/clang/lib/Analysis/RetainSummaryManager.cpp
+++ b/contrib/llvm-project/clang/lib/Analysis/RetainSummaryManager.cpp
@@ -791,7 +791,7 @@ RetainSummaryManager::getUnarySummary(const FunctionType* FT,
   // Unary functions have no arg effects by definition.
   ArgEffects ScratchArgs(AF.getEmptyMap());
 
-  // Sanity check that this is *really* a unary function.  This can
+  // Verify that this is *really* a unary function.  This can
   // happen if people do weird things.
   const FunctionProtoType* FTP = dyn_cast<FunctionProtoType>(FT);
   if (!FTP || FTP->getNumParams() != 1)
diff --git a/contrib/llvm-project/clang/lib/Basic/DiagnosticIDs.cpp b/contrib/llvm-project/clang/lib/Basic/DiagnosticIDs.cpp
index 88801c683e8d..a9f2d09924cd 100644
--- a/contrib/llvm-project/clang/lib/Basic/DiagnosticIDs.cpp
+++ b/contrib/llvm-project/clang/lib/Basic/DiagnosticIDs.cpp
@@ -692,7 +692,7 @@ void DiagnosticIDs::getAllDiagnostics(diag::Flavor Flavor,
 StringRef DiagnosticIDs::getNearestOption(diag::Flavor Flavor,
                                           StringRef Group) {
   StringRef Best;
-  unsigned BestDistance = Group.size() + 1; // Sanity threshold.
+  unsigned BestDistance = Group.size() + 1; // Maximum threshold.
   for (const WarningOption &O : OptionTable) {
     // Don't suggest ignored warning flags.
     if (!O.Members && !O.SubGroups)
diff --git a/contrib/llvm-project/clang/lib/Basic/SourceManager.cpp b/contrib/llvm-project/clang/lib/Basic/SourceManager.cpp
index c2e7b684cfd8..ec3e35595bb7 100644
--- a/contrib/llvm-project/clang/lib/Basic/SourceManager.cpp
+++ b/contrib/llvm-project/clang/lib/Basic/SourceManager.cpp
@@ -59,12 +59,10 @@ unsigned ContentCache::getSizeBytesMapped() const {
 /// Returns the kind of memory used to back the memory buffer for
 /// this content cache.  This is used for performance analysis.
 llvm::MemoryBuffer::BufferKind ContentCache::getMemoryBufferKind() const {
-  assert(Buffer);
-
-  // Should be unreachable, but keep for sanity.
-  if (!Buffer)
+  if (Buffer == nullptr) {
+    assert(0 && "Buffer should never be null");
     return llvm::MemoryBuffer::MemoryBuffer_Malloc;
-
+  }
   return Buffer->getBufferKind();
 }
 
@@ -864,7 +862,6 @@ FileID SourceManager::getFileIDLocal(SourceLocation::UIntTy SLocOffset) const {
 /// This function knows that the SourceLocation is in a loaded buffer, not a
 /// local one.
 FileID SourceManager::getFileIDLoaded(SourceLocation::UIntTy SLocOffset) const {
-  // Sanity checking, otherwise a bug may lead to hanging in release build.
   if (SLocOffset < CurrentLoadedOffset) {
     assert(0 && "Invalid SLocOffset or bad function choice");
     return FileID();
@@ -909,7 +906,6 @@ FileID SourceManager::getFileIDLoaded(SourceLocation::UIntTy SLocOffset) const {
     ++NumProbes;
 
     if (E.getOffset() > SLocOffset) {
-      // Sanity checking, otherwise a bug may lead to hanging in release build.
       if (GreaterIndex == MiddleIndex) {
         assert(0 && "binary search missed the entry");
         return FileID();
@@ -925,7 +921,6 @@ FileID SourceManager::getFileIDLoaded(SourceLocation::UIntTy SLocOffset) const {
       return Res;
     }
 
-    // Sanity checking, otherwise a bug may lead to hanging in release build.
     if (LessIndex == MiddleIndex) {
       assert(0 && "binary search missed the entry");
       return FileID();
diff --git a/contrib/llvm-project/clang/lib/Driver/ToolChains/Clang.cpp b/contrib/llvm-project/clang/lib/Driver/ToolChains/Clang.cpp
index e5476e07a5cc..55518cd7926f 100644
--- a/contrib/llvm-project/clang/lib/Driver/ToolChains/Clang.cpp
+++ b/contrib/llvm-project/clang/lib/Driver/ToolChains/Clang.cpp
@@ -4303,7 +4303,6 @@ void Clang::ConstructJob(Compilation &C, const JobAction &JA,
   const Driver &D = TC.getDriver();
   ArgStringList CmdArgs;
 
-  // Check number of inputs for sanity. We need at least one input.
   assert(Inputs.size() >= 1 && "Must have at least one input.");
   // CUDA/HIP compilation may have multiple inputs (source file + results of
   // device-side compilations). OpenMP device jobs also take the host IR as a
diff --git a/contrib/llvm-project/clang/lib/Format/Format.cpp b/contrib/llvm-project/clang/lib/Format/Format.cpp
index 085cca8853e6..8ae29c54a762 100644
--- a/contrib/llvm-project/clang/lib/Format/Format.cpp
+++ b/contrib/llvm-project/clang/lib/Format/Format.cpp
@@ -2579,7 +2579,7 @@ tooling::Replacements sortCppIncludes(const FormatStyle &Style, StringRef Code,
   // doesn't have hidden dependencies
   // (http://llvm.org/docs/CodingStandards.html#include-style).
   //
-  // FIXME: Do some sanity checking, e.g. edit distance of the base name, to fix
+  // FIXME: Do some validation, e.g. edit distance of the base name, to fix
   // cases where the first #include is unlikely to be the main header.
   tooling::IncludeCategoryManager Categories(Style.IncludeStyle, FileName);
   bool FirstIncludeBlock = true;
diff --git a/contrib/llvm-project/clang/lib/Frontend/FrontendActions.cpp b/contrib/llvm-project/clang/lib/Frontend/FrontendActions.cpp
index b5544afa9f24..fb8132a5e40a 100644
--- a/contrib/llvm-project/clang/lib/Frontend/FrontendActions.cpp
+++ b/contrib/llvm-project/clang/lib/Frontend/FrontendActions.cpp
@@ -842,7 +842,7 @@ void PrintPreprocessedAction::ExecuteAction() {
       const char *next = (cur != end) ? cur + 1 : end;
 
       // Limit ourselves to only scanning 256 characters into the source
-      // file.  This is mostly a sanity check in case the file has no
+      // file.  This is mostly a check in case the file has no
       // newlines whatsoever.
       if (end - cur > 256)
         end = cur + 256;
diff --git a/contrib/llvm-project/clang/lib/Sema/SemaChecking.cpp b/contrib/llvm-project/clang/lib/Sema/SemaChecking.cpp
index 6ffd2096cbc5..a0f6702a5f82 100644
--- a/contrib/llvm-project/clang/lib/Sema/SemaChecking.cpp
+++ b/contrib/llvm-project/clang/lib/Sema/SemaChecking.cpp
@@ -5532,8 +5532,8 @@ ExprResult Sema::BuildAtomicExpr(SourceRange CallRange, SourceRange ExprRange,
 
   // For an arithmetic operation, the implied arithmetic must be well-formed.
   if (Form == Arithmetic) {
-    // gcc does not enforce these rules for GNU atomics, but we do so for
-    // sanity.
+    // GCC does not enforce these rules for GNU atomics, but we do, because if
+    // we didn't it would be very confusing. FIXME:  For whom? How so?
     auto IsAllowedValueType = [&](QualType ValType) {
       if (ValType->isIntegerType())
         return true;
@@ -5574,7 +5574,8 @@ ExprResult Sema::BuildAtomicExpr(SourceRange CallRange, SourceRange ExprRange,
   if (!IsC11 && !AtomTy.isTriviallyCopyableType(Context) &&
       !AtomTy->isScalarType()) {
     // For GNU atomics, require a trivially-copyable type. This is not part of
-    // the GNU atomics specification, but we enforce it for sanity.
+    // the GNU atomics specification, but we enforce it, because if we didn't it
+    // would be very confusing. FIXME:  For whom? How so?
     Diag(ExprRange.getBegin(), diag::err_atomic_op_needs_trivial_copy)
         << Ptr->getType() << Ptr->getSourceRange();
     return ExprError();
diff --git a/contrib/llvm-project/clang/lib/Sema/SemaDecl.cpp b/contrib/llvm-project/clang/lib/Sema/SemaDecl.cpp
index 4fcc01012d44..af174ac1ca1a 100644
--- a/contrib/llvm-project/clang/lib/Sema/SemaDecl.cpp
+++ b/contrib/llvm-project/clang/lib/Sema/SemaDecl.cpp
@@ -12621,8 +12621,9 @@ void Sema::AddInitializerToDecl(Decl *RealDecl, Expr *Init, bool DirectInit) {
 }
 
 /// ActOnInitializerError - Given that there was an error parsing an
-/// initializer for the given declaration, try to return to some form
-/// of sanity.
+/// initializer for the given declaration, try to at least re-establish
+/// invariants such as whether a variable's type is either dependent or
+/// complete.
 void Sema::ActOnInitializerError(Decl *D) {
   // Our main concern here is re-establishing invariants like "a
   // variable's type is either dependent or complete".
@@ -15997,8 +15998,7 @@ Decl *Sema::ActOnTag(Scope *S, unsigned TagSpec, TagUseKind TUK,
 
     // It's okay to have a tag decl in the same scope as a typedef
     // which hides a tag decl in the same scope.  Finding this
-    // insanity with a redeclaration lookup can only actually happen
-    // in C++.
+    // with a redeclaration lookup can only actually happen in C++.
     //
     // This is also okay for elaborated-type-specifiers, which is
     // technically forbidden by the current standard but which is
diff --git a/contrib/llvm-project/clang/lib/Sema/SemaDeclCXX.cpp b/contrib/llvm-project/clang/lib/Sema/SemaDeclCXX.cpp
index 20410a959cd0..2658e9698688 100644
--- a/contrib/llvm-project/clang/lib/Sema/SemaDeclCXX.cpp
+++ b/contrib/llvm-project/clang/lib/Sema/SemaDeclCXX.cpp
@@ -9172,7 +9172,8 @@ bool SpecialMemberDeletionInfo::shouldDeleteForField(FieldDecl *FD) {
       }
 
       // Don't check the implicit member of the anonymous union type.
-      // This is technically non-conformant, but sanity demands it.
+      // This is technically non-conformant but supported, and we have a
+      // diagnostic for this elsewhere.
       return false;
     }
 
@@ -12256,7 +12257,7 @@ NamedDecl *Sema::BuildUsingDeclaration(
   // Unlike most lookups, we don't always want to hide tag
   // declarations: tag names are visible through the using declaration
   // even if hidden by ordinary names, *except* in a dependent context
-  // where it's important for the sanity of two-phase lookup.
+  // where they may be used by two-phase lookup.
   if (!IsInstantiation)
     R.setHideTags(false);
 
diff --git a/contrib/llvm-project/clang/lib/Sema/SemaExpr.cpp b/contrib/llvm-project/clang/lib/Sema/SemaExpr.cpp
index 97f2062d4485..8592335e20d3 100644
--- a/contrib/llvm-project/clang/lib/Sema/SemaExpr.cpp
+++ b/contrib/llvm-project/clang/lib/Sema/SemaExpr.cpp
@@ -11185,7 +11185,6 @@ QualType Sema::CheckShiftOperands(ExprResult &LHS, ExprResult &RHS,
       isScopedEnumerationType(RHSType)) {
     return InvalidOperands(Loc, LHS, RHS);
   }
-  // Sanity-check shift operands
   DiagnoseBadShiftValues(*this, LHS, RHS, Loc, Opc, LHSType);
 
   // "The type of the result is that of the promoted left operand."
diff --git a/contrib/llvm-project/clang/lib/Sema/SemaExprCXX.cpp b/contrib/llvm-project/clang/lib/Sema/SemaExprCXX.cpp
index 891909c443cc..635252584562 100644
--- a/contrib/llvm-project/clang/lib/Sema/SemaExprCXX.cpp
+++ b/contrib/llvm-project/clang/lib/Sema/SemaExprCXX.cpp
@@ -1507,8 +1507,9 @@ Sema::BuildCXXTypeConstructExpr(TypeSourceInfo *TInfo,
     ElemTy = Context.getBaseElementType(Ty);
   }
 
-  // There doesn't seem to be an explicit rule against this but sanity demands
-  // we only construct objects with object types.
+  // Only construct objects with object types.
+  // There doesn't seem to be an explicit rule for this but functions are
+  // not objects, so they cannot take initializers.
   if (Ty->isFunctionType())
     return ExprError(Diag(TyBeginLoc, diag::err_init_for_function_type)
                        << Ty << FullRange);
diff --git a/contrib/llvm-project/clang/lib/Sema/SemaLookup.cpp b/contrib/llvm-project/clang/lib/Sema/SemaLookup.cpp
index 05529d055621..0711e6d89383 100644
--- a/contrib/llvm-project/clang/lib/Sema/SemaLookup.cpp
+++ b/contrib/llvm-project/clang/lib/Sema/SemaLookup.cpp
@@ -324,14 +324,14 @@ void LookupResult::configure() {
   }
 }
 
-bool LookupResult::sanity() const {
+bool LookupResult::checkDebugAssumptions() const {
   // This function is never called by NDEBUG builds.
   assert(ResultKind != NotFound || Decls.size() == 0);
   assert(ResultKind != Found || Decls.size() == 1);
   assert(ResultKind != FoundOverloaded || Decls.size() > 1 ||
          (Decls.size() == 1 &&
           isa<FunctionTemplateDecl>((*begin())->getUnderlyingDecl())));
-  assert(ResultKind != FoundUnresolvedValue || sanityCheckUnresolved());
+  assert(ResultKind != FoundUnresolvedValue || checkUnresolved());
   assert(ResultKind != Ambiguous || Decls.size() > 1 ||
          (Decls.size() == 1 && (Ambiguity == AmbiguousBaseSubobjects ||
                                 Ambiguity == AmbiguousBaseSubobjectTypes)));
diff --git a/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/CStringChecker.cpp b/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/CStringChecker.cpp
index 475cee9ce04b..6955efe8e6c2 100644
--- a/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/CStringChecker.cpp
+++ b/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/CStringChecker.cpp
@@ -1517,7 +1517,7 @@ void CStringChecker::evalStrcat(CheckerContext &C, const CallExpr *CE) const {
 }
 
 void CStringChecker::evalStrncat(CheckerContext &C, const CallExpr *CE) const {
-  //char *strncat(char *restrict s1, const char *restrict s2, size_t n);
+  // char *strncat(char *restrict s1, const char *restrict s2, size_t n);
   evalStrcpyCommon(C, CE,
                    /* ReturnEnd = */ false,
                    /* IsBounded = */ true,
@@ -2069,8 +2069,8 @@ void CStringChecker::evalStrcmpCommon(CheckerContext &C, const CallExpr *CE,
 }
 
 void CStringChecker::evalStrsep(CheckerContext &C, const CallExpr *CE) const {
-  //char *strsep(char **stringp, const char *delim);
-  // Sanity: does the search string parameter match the return type?
+  // char *strsep(char **stringp, const char *delim);
+  // Verify whether the search string parameter matches the return type.
   SourceArgExpr SearchStrPtr = {CE->getArg(0), 0};
 
   QualType CharPtrTy = SearchStrPtr.Expression->getType()->getPointeeType();
diff --git a/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/MIGChecker.cpp b/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/MIGChecker.cpp
index 5bf96acc0462..139bc0e99d78 100644
--- a/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/MIGChecker.cpp
+++ b/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/MIGChecker.cpp
@@ -160,7 +160,7 @@ static bool isInMIGCall(CheckerContext &C) {
   if (Optional<AnyCall> AC = AnyCall::forDecl(D)) {
     // Even though there's a Sema warning when the return type of an annotated
     // function is not a kern_return_t, this warning isn't an error, so we need
-    // an extra sanity check here.
+    // an extra check here.
     // FIXME: AnyCall doesn't support blocks yet, so they remain unchecked
     // for now.
     if (!AC->getReturnType(C.getASTContext())
diff --git a/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp b/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp
index e8b963a535d8..5a8edcabda71 100644
--- a/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp
+++ b/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp
@@ -155,7 +155,7 @@ class StdLibraryFunctionsChecker
   protected:
     ArgNo ArgN; // Argument to which we apply the constraint.
 
-    /// Do polymorphic sanity check on the constraint.
+    /// Do polymorphic validation check on the constraint.
     virtual bool checkSpecificValidity(const FunctionDecl *FD) const {
       return true;
     }
@@ -527,8 +527,8 @@ class StdLibraryFunctionsChecker
     }
 
   private:
-    // Once we know the exact type of the function then do sanity check on all
-    // the given constraints.
+    // Once we know the exact type of the function then do validation check on
+    // all the given constraints.
     bool validateByConstraints(const FunctionDecl *FD) const {
       for (const ConstraintSet &Case : CaseConstraints)
         for (const ValueConstraintPtr &Constraint : Case)
diff --git a/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/UnixAPIChecker.cpp b/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/UnixAPIChecker.cpp
index 2244cdb96d4f..41adc36b021a 100644
--- a/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/UnixAPIChecker.cpp
*** 10863 LINES SKIPPED ***