git: 574b7079b967 - stable/13 - Merge llvm-project main llvmorg-14-init-11187-g222442ec2d71

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

URL: https://cgit.FreeBSD.org/src/commit/?id=574b7079b96703a748f89ef5adb7dc3e26b8f7fc

commit 574b7079b96703a748f89ef5adb7dc3e26b8f7fc
Author:     Dimitry Andric <dim@FreeBSD.org>
AuthorDate: 2021-12-02 21:49:08 +0000
Commit:     Dimitry Andric <dim@FreeBSD.org>
CommitDate: 2022-06-04 11:59:04 +0000

    Merge llvm-project main llvmorg-14-init-11187-g222442ec2d71
    
    This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvmorg-14-init-11187-g222442ec2d71.
    
    PR:             261742
    MFC after:      2 weeks
    
    (cherry picked from commit 4824e7fd18a1223177218d4aec1b3c6c5c4a444e)
---
 contrib/llvm-project/FREEBSD-Xlist                 |    2 +
 .../llvm-project/clang/include/clang/AST/Decl.h    |    7 +-
 .../clang/include/clang/AST/DeclBase.h             |    6 +-
 .../llvm-project/clang/include/clang/AST/Expr.h    |    4 +
 .../clang/include/clang/AST/GlobalDecl.h           |    9 +-
 .../clang/include/clang/ASTMatchers/ASTMatchers.h  |    7 +-
 .../clang/include/clang/Analysis/CFG.h             |    2 +-
 .../Analysis/FlowSensitive/DataflowAnalysis.h      |  134 +
 .../Analysis/FlowSensitive/DataflowEnvironment.h   |   27 +
 .../clang/Analysis/FlowSensitive/DataflowLattice.h |   29 +
 .../FlowSensitive/TypeErasedDataflowAnalysis.h     |   95 +
 .../llvm-project/clang/include/clang/Basic/Attr.td |   34 +
 .../clang/include/clang/Basic/AttrDocs.td          |   34 +
 .../clang/include/clang/Basic/Builtins.def         |   13 +
 .../clang/include/clang/Basic/BuiltinsPPC.def      |    7 +
 .../include/clang/Basic/DiagnosticDriverKinds.td   |    8 +
 .../clang/include/clang/Basic/DiagnosticGroups.td  |   14 +-
 .../clang/include/clang/Basic/DiagnosticIDs.h      |    2 +-
 .../include/clang/Basic/DiagnosticParseKinds.td    |    3 +
 .../include/clang/Basic/DiagnosticSemaKinds.td     |   42 +-
 .../clang/include/clang/Basic/SyncScope.h          |   73 +-
 .../clang/include/clang/Driver/Options.td          |   28 +-
 .../include/clang/Frontend/PrecompiledPreamble.h   |    4 +-
 .../llvm-project/clang/include/clang/Sema/Sema.h   |   29 +-
 .../DependencyScanningFilesystem.h                 |   16 +-
 contrib/llvm-project/clang/lib/AST/ASTContext.cpp  |    9 +
 .../clang/lib/AST/ASTStructuralEquivalence.cpp     |   42 +
 contrib/llvm-project/clang/lib/AST/Decl.cpp        |    6 +
 contrib/llvm-project/clang/lib/AST/DeclBase.cpp    |    4 +-
 contrib/llvm-project/clang/lib/AST/Expr.cpp        |   12 +-
 .../llvm-project/clang/lib/AST/ExprConstant.cpp    |    2 +-
 .../llvm-project/clang/lib/AST/MicrosoftMangle.cpp |  103 +-
 contrib/llvm-project/clang/lib/AST/StmtPrinter.cpp |    3 +-
 .../FlowSensitive/TypeErasedDataflowAnalysis.cpp   |   35 +
 .../clang/lib/Basic/Targets/AArch64.cpp            |    4 +-
 .../llvm-project/clang/lib/Basic/Targets/ARM.cpp   |   32 +
 contrib/llvm-project/clang/lib/Basic/Targets/ARM.h |    3 +
 .../clang/lib/Basic/Targets/OSTargets.cpp          |   14 +-
 .../llvm-project/clang/lib/Basic/Targets/SPIR.h    |   38 +-
 .../llvm-project/clang/lib/Basic/Targets/X86.cpp   |   14 +-
 .../llvm-project/clang/lib/CodeGen/BackendUtil.cpp |   20 +-
 .../llvm-project/clang/lib/CodeGen/CGAtomic.cpp    |   46 +
 .../llvm-project/clang/lib/CodeGen/CGBuiltin.cpp   |    3 +-
 .../clang/lib/CodeGen/CGStmtOpenMP.cpp             |    3 +
 .../clang/lib/CodeGen/CodeGenModule.cpp            |  132 +-
 .../llvm-project/clang/lib/CodeGen/CodeGenModule.h |    1 +
 .../llvm-project/clang/lib/CodeGen/TargetInfo.cpp  |   34 +-
 contrib/llvm-project/clang/lib/Driver/Driver.cpp   |    7 +-
 .../clang/lib/Driver/ToolChains/Clang.cpp          |  121 +-
 .../clang/lib/Driver/ToolChains/Cuda.cpp           |    2 +-
 .../clang/lib/Driver/ToolChains/Flang.cpp          |    3 +-
 .../clang/lib/Driver/ToolChains/FreeBSD.cpp        |    3 +-
 .../clang/lib/Driver/ToolChains/Linux.cpp          |    3 +
 .../clang/lib/Driver/ToolChains/PPCFreeBSD.cpp     |   28 +
 .../clang/lib/Driver/ToolChains/PPCFreeBSD.h       |   33 +
 .../clang/lib/Driver/ToolChains/PS4CPU.h           |    1 +
 .../clang/lib/Format/ContinuationIndenter.cpp      |   13 +-
 contrib/llvm-project/clang/lib/Format/Format.cpp   |   13 +-
 .../llvm-project/clang/lib/Format/FormatToken.h    |    1 +
 .../clang/lib/Format/FormatTokenLexer.cpp          |   49 +-
 .../clang/lib/Format/SortJavaScriptImports.cpp     |    4 +-
 .../clang/lib/Format/TokenAnalyzer.cpp             |    8 +-
 .../clang/lib/Format/TokenAnnotator.cpp            |   80 +-
 .../clang/lib/Format/UnwrappedLineFormatter.cpp    |   23 +-
 .../clang/lib/Format/UnwrappedLineParser.cpp       |  159 +-
 .../clang/lib/Format/UnwrappedLineParser.h         |    1 +
 .../clang/lib/Format/WhitespaceManager.cpp         |   13 +-
 .../clang/lib/Frontend/InitPreprocessor.cpp        |    5 +
 .../clang/lib/Frontend/PrecompiledPreamble.cpp     |    5 +-
 .../lib/Frontend/Rewrite/RewriteModernObjC.cpp     |    2 +-
 .../clang/lib/Frontend/Rewrite/RewriteObjC.cpp     |    2 +-
 contrib/llvm-project/clang/lib/Headers/altivec.h   |   60 +
 .../clang/lib/Headers/ppc_wrappers/emmintrin.h     |    5 +-
 .../clang/lib/Headers/ppc_wrappers/mm_malloc.h     |    2 +-
 .../clang/lib/Headers/ppc_wrappers/mmintrin.h      |    5 +-
 .../clang/lib/Headers/ppc_wrappers/pmmintrin.h     |    5 +-
 .../clang/lib/Headers/ppc_wrappers/smmintrin.h     |    5 +-
 .../clang/lib/Headers/ppc_wrappers/tmmintrin.h     |    5 +-
 .../clang/lib/Headers/ppc_wrappers/xmmintrin.h     |    5 +-
 contrib/llvm-project/clang/lib/Headers/stdatomic.h |    6 +-
 contrib/llvm-project/clang/lib/Parse/ParseDecl.cpp |   14 +-
 contrib/llvm-project/clang/lib/Parse/ParseStmt.cpp |    3 +
 .../clang/lib/Sema/AnalysisBasedWarnings.cpp       |    2 +-
 .../llvm-project/clang/lib/Sema/SemaChecking.cpp   |   36 +-
 contrib/llvm-project/clang/lib/Sema/SemaDecl.cpp   |  118 +-
 .../llvm-project/clang/lib/Sema/SemaDeclAttr.cpp   |  161 +-
 contrib/llvm-project/clang/lib/Sema/SemaExpr.cpp   |   15 +
 .../llvm-project/clang/lib/Sema/SemaExprCXX.cpp    |    5 +-
 contrib/llvm-project/clang/lib/Sema/SemaStmt.cpp   |    9 +-
 .../clang/lib/StaticAnalyzer/Core/CoreEngine.cpp   |    4 +-
 .../StaticAnalyzer/Core/RangeConstraintManager.cpp |   39 +-
 .../lib/StaticAnalyzer/Core/SimpleSValBuilder.cpp  |   62 +-
 .../StaticAnalyzer/Frontend/AnalysisConsumer.cpp   |   26 +-
 .../DependencyScanningFilesystem.cpp               |   59 +-
 .../DependencyScanningWorker.cpp                   |   21 +-
 .../clang/utils/TableGen/ASTTableGen.cpp           |    2 +-
 .../compiler-rt/include/profile/MemProfData.inc    |   61 +
 .../compiler-rt/lib/asan/asan_interceptors.cpp     |   35 +-
 .../compiler-rt/lib/asan/asan_report.cpp           |    4 +
 .../llvm-project/compiler-rt/lib/asan/asan_rtl.cpp |    8 +-
 contrib/llvm-project/compiler-rt/lib/cfi/cfi.cpp   |    4 +-
 .../compiler-rt/lib/memprof/memprof_allocator.cpp  |    5 +-
 .../lib/memprof/memprof_interceptors.cpp           |    4 -
 .../compiler-rt/lib/memprof/memprof_rawprofile.cpp |   69 +-
 .../compiler-rt/lib/memprof/memprof_rawprofile.h   |   11 +-
 .../compiler-rt/lib/memprof/tests/rawprofile.cpp   |   17 +-
 .../compiler-rt/lib/profile/InstrProfilingMerge.c  |    3 +-
 .../lib/sanitizer_common/sanitizer_allocator.cpp   |   72 +-
 .../sanitizer_allocator_internal.h                 |    2 +
 .../lib/sanitizer_common/sanitizer_common.h        |    4 +
 .../sanitizer_common_interceptors.inc              |   11 +-
 .../lib/sanitizer_common/sanitizer_dense_map.h     |   53 +-
 .../sanitizer_common/sanitizer_dense_map_info.h    |  140 +-
 .../lib/sanitizer_common/sanitizer_fuchsia.cpp     |    9 +
 .../lib/sanitizer_common/sanitizer_leb128.h        |   87 +
 .../lib/sanitizer_common/sanitizer_linux.cpp       |    5 +-
 .../lib/sanitizer_common/sanitizer_mac.cpp         |   40 +-
 .../lib/sanitizer_common/sanitizer_stack_store.cpp |  221 +-
 .../lib/sanitizer_common/sanitizer_stack_store.h   |   92 +-
 .../lib/sanitizer_common/sanitizer_stackdepot.cpp  |   16 +-
 .../lib/sanitizer_common/sanitizer_stacktrace.h    |    2 +-
 .../lib/sanitizer_common/sanitizer_win.cpp         |    5 +
 .../compiler-rt/lib/tsan/rtl/tsan_defs.h           |    1 +
 .../lib/tsan/rtl/tsan_interceptors_posix.cpp       |   47 +-
 .../compiler-rt/lib/tsan/rtl/tsan_mman.cpp         |   32 +-
 .../compiler-rt/lib/tsan/rtl/tsan_mman.h           |    2 +
 .../compiler-rt/lib/tsan/rtl/tsan_platform_mac.cpp |  143 +-
 .../compiler-rt/lib/tsan/rtl/tsan_rtl.cpp          |   56 +-
 .../compiler-rt/lib/tsan/rtl/tsan_rtl_report.cpp   |    2 +-
 contrib/llvm-project/libcxx/CREDITS.TXT            |    4 +
 .../llvm-project/libcxx/include/__bit/byteswap.h   |   55 +
 .../libcxx/include/__bsd_locale_fallbacks.h        |    6 +-
 .../libcxx/include/__compare/partial_order.h       |   71 +
 .../libcxx/include/__compare/strong_order.h        |  136 +
 .../libcxx/include/__compare/weak_order.h          |  100 +
 contrib/llvm-project/libcxx/include/__config       |   35 +-
 .../libcxx/include/__iterator/reverse_iterator.h   |   12 +
 .../libcxx/include/__iterator/wrap_iter.h          |   86 +-
 .../libcxx/include/__memory/allocator_traits.h     |    8 -
 .../libcxx/include/__memory/unique_ptr.h           |   14 +-
 .../libcxx/include/__numeric/accumulate.h          |   52 +
 .../libcxx/include/__numeric/adjacent_difference.h |   72 +
 .../libcxx/include/__numeric/exclusive_scan.h      |   53 +
 .../libcxx/include/__numeric/gcd_lcm.h             |   96 +
 .../libcxx/include/__numeric/inclusive_scan.h      |   60 +
 .../libcxx/include/__numeric/inner_product.h       |   53 +
 .../llvm-project/libcxx/include/__numeric/iota.h   |   32 +
 .../libcxx/include/__numeric/midpoint.h            |   85 +
 .../libcxx/include/__numeric/partial_sum.h         |   70 +
 .../llvm-project/libcxx/include/__numeric/reduce.h |   47 +
 .../include/__numeric/transform_exclusive_scan.h   |   49 +
 .../include/__numeric/transform_inclusive_scan.h   |   58 +
 .../libcxx/include/__numeric/transform_reduce.h    |   54 +
 .../include/__random/bernoulli_distribution.h      |  143 +
 .../include/__random/binomial_distribution.h       |  225 +
 .../libcxx/include/__random/cauchy_distribution.h  |  162 +
 .../include/__random/chi_squared_distribution.h    |  144 +
 .../include/__random/default_random_engine.h       |   25 +
 .../libcxx/include/__random/discard_block_engine.h |  203 +
 .../include/__random/discrete_distribution.h       |  260 +
 .../include/__random/exponential_distribution.h    |  155 +
 .../include/__random/extreme_value_distribution.h  |  161 +
 .../include/__random/fisher_f_distribution.h       |  160 +
 .../libcxx/include/__random/gamma_distribution.h   |  213 +
 .../libcxx/include/__random/generate_canonical.h   |   53 +
 .../include/__random/geometric_distribution.h      |  141 +
 .../include/__random/independent_bits_engine.h     |  271 +
 .../libcxx/include/__random/is_seed_sequence.h     |   31 +
 .../llvm-project/libcxx/include/__random/knuth_b.h |   26 +
 .../include/__random/linear_congruential_engine.h  |  398 ++
 .../llvm-project/libcxx/include/__random/log2.h    |   74 +
 .../include/__random/lognormal_distribution.h      |  163 +
 .../include/__random/mersenne_twister_engine.h     |  534 ++
 .../__random/negative_binomial_distribution.h      |  176 +
 .../libcxx/include/__random/normal_distribution.h  |  208 +
 .../__random/piecewise_constant_distribution.h     |  356 ++
 .../__random/piecewise_linear_distribution.h       |  372 ++
 .../libcxx/include/__random/poisson_distribution.h |  276 +
 .../libcxx/include/__random/random_device.h        |   71 +
 .../llvm-project/libcxx/include/__random/ranlux.h  |   31 +
 .../libcxx/include/__random/seed_seq.h             |  150 +
 .../libcxx/include/__random/shuffle_order_engine.h |  283 ++
 .../include/__random/student_t_distribution.h      |  153 +
 .../include/__random/subtract_with_carry_engine.h  |  352 ++
 .../include/__random/uniform_int_distribution.h    |   38 +-
 .../__random/uniform_random_bit_generator.h        |   45 +
 .../include/__random/uniform_real_distribution.h   |  160 +
 .../libcxx/include/__random/weibull_distribution.h |  155 +
 .../libcxx/include/__ranges/concepts.h             |    2 +-
 .../libcxx/include/__utility/priority_tag.h        |   26 +
 contrib/llvm-project/libcxx/include/bit            |   13 +-
 contrib/llvm-project/libcxx/include/compare        |   21 +-
 contrib/llvm-project/libcxx/include/deque          |   59 +-
 contrib/llvm-project/libcxx/include/filesystem     |   18 +-
 contrib/llvm-project/libcxx/include/format         |  127 +-
 contrib/llvm-project/libcxx/include/forward_list   |   29 +-
 contrib/llvm-project/libcxx/include/list           |   50 +-
 .../llvm-project/libcxx/include/module.modulemap   |   57 +-
 contrib/llvm-project/libcxx/include/numeric        |  489 +-
 contrib/llvm-project/libcxx/include/random         | 5364 +-------------------
 contrib/llvm-project/libcxx/include/ranges         |    2 +-
 contrib/llvm-project/libcxx/include/string_view    |   63 +-
 contrib/llvm-project/libcxx/include/type_traits    |    4 +-
 contrib/llvm-project/libcxx/include/utility        |    1 +
 contrib/llvm-project/libcxx/include/vector         |   62 +-
 contrib/llvm-project/libcxx/include/version        |    6 +-
 .../libcxx/src/filesystem/filesystem_common.h      |   10 +-
 .../llvm-project/libunwind/src/Unwind-EHABI.cpp    |   29 +-
 contrib/llvm-project/lld/COFF/Chunks.cpp           |    3 +-
 contrib/llvm-project/lld/COFF/Writer.cpp           |    6 +
 contrib/llvm-project/lld/ELF/AArch64ErrataFix.cpp  |    4 +-
 contrib/llvm-project/lld/ELF/ARMErrataFix.cpp      |    4 +-
 contrib/llvm-project/lld/ELF/Arch/ARM.cpp          |  202 +-
 contrib/llvm-project/lld/ELF/Arch/Hexagon.cpp      |    2 +-
 contrib/llvm-project/lld/ELF/Arch/RISCV.cpp        |    2 +-
 contrib/llvm-project/lld/ELF/Arch/X86.cpp          |    9 +-
 contrib/llvm-project/lld/ELF/Arch/X86_64.cpp       |   60 +-
 contrib/llvm-project/lld/ELF/Config.h              |   19 +-
 contrib/llvm-project/lld/ELF/Driver.cpp            |   45 +-
 contrib/llvm-project/lld/ELF/ICF.cpp               |    8 +-
 contrib/llvm-project/lld/ELF/InputFiles.cpp        |   56 +-
 contrib/llvm-project/lld/ELF/InputFiles.h          |   28 +-
 contrib/llvm-project/lld/ELF/InputSection.cpp      |    4 +-
 contrib/llvm-project/lld/ELF/InputSection.h        |   16 +-
 contrib/llvm-project/lld/ELF/LTO.cpp               |    2 +-
 contrib/llvm-project/lld/ELF/LinkerScript.cpp      |  301 +-
 contrib/llvm-project/lld/ELF/LinkerScript.h        |   59 +-
 contrib/llvm-project/lld/ELF/MapFile.cpp           |   96 +-
 contrib/llvm-project/lld/ELF/MapFile.h             |    3 +-
 contrib/llvm-project/lld/ELF/Options.td            |   30 +-
 contrib/llvm-project/lld/ELF/OutputSections.cpp    |   48 +-
 contrib/llvm-project/lld/ELF/OutputSections.h      |    7 +-
 contrib/llvm-project/lld/ELF/Relocations.cpp       |   72 +-
 contrib/llvm-project/lld/ELF/ScriptParser.cpp      |   70 +-
 contrib/llvm-project/lld/ELF/SymbolTable.cpp       |    2 +-
 contrib/llvm-project/lld/ELF/Symbols.cpp           |   41 +-
 contrib/llvm-project/lld/ELF/Symbols.h             |    6 +-
 contrib/llvm-project/lld/ELF/SyntheticSections.cpp |  156 +-
 contrib/llvm-project/lld/ELF/SyntheticSections.h   |   15 +-
 contrib/llvm-project/lld/ELF/Thunks.cpp            |   64 +-
 contrib/llvm-project/lld/ELF/Writer.cpp            |  244 +-
 contrib/llvm-project/lld/ELF/Writer.h              |    1 -
 contrib/llvm-project/lld/MachO/InputSection.cpp    |    7 +-
 contrib/llvm-project/lld/MachO/Symbols.h           |    7 +-
 .../llvm-project/lld/MachO/SyntheticSections.cpp   |   22 +-
 .../llvm-project/lld/MachO/UnwindInfoSection.cpp   |    5 +-
 contrib/llvm-project/lld/docs/ReleaseNotes.rst     |    5 +
 contrib/llvm-project/lld/docs/ld.lld.1             |   18 +-
 .../lldb/bindings/interface/SBDebugger.i           |    3 +
 .../lldb/bindings/interface/SBTarget.i             |    3 +
 .../llvm-project/lldb/bindings/interface/SBValue.i |    3 +
 .../lldb/bindings/python/python-swigsafecast.swig  |   58 +-
 .../lldb/bindings/python/python-wrapper.swig       |  299 +-
 .../llvm-project/lldb/bindings/python/python.swig  |    1 +
 .../lldb/include/lldb/API/SBDebugger.h             |    2 +
 .../llvm-project/lldb/include/lldb/API/SBTarget.h  |    5 +
 .../llvm-project/lldb/include/lldb/API/SBValue.h   |    6 +
 .../llvm-project/lldb/include/lldb/Core/Debugger.h |    8 +-
 .../include/lldb/Interpreter/OptionGroupFormat.h   |    9 +-
 .../lldb/include/lldb/Symbol/ObjectFile.h          |   28 +-
 .../llvm-project/lldb/include/lldb/Symbol/Symtab.h |    9 +-
 .../lldb/include/lldb/Target/Platform.h            |   24 +-
 .../lldb/include/lldb/Target/Process.h             |   38 +-
 .../llvm-project/lldb/source/API/SBDebugger.cpp    |   62 +-
 contrib/llvm-project/lldb/source/API/SBTarget.cpp  |   11 +
 contrib/llvm-project/lldb/source/API/SBValue.cpp   |   13 +
 .../lldb/source/Commands/CommandObjectMemory.cpp   |   17 +-
 contrib/llvm-project/lldb/source/Core/Debugger.cpp |   89 +
 contrib/llvm-project/lldb/source/Core/Module.cpp   |   11 +-
 .../lldb/source/Interpreter/CommandObject.cpp      |    3 +
 .../lldb/source/Interpreter/OptionGroupFormat.cpp  |   40 +-
 .../ExpressionParser/Clang/ClangUserExpression.cpp |    2 +-
 .../Clang/CppModuleConfiguration.cpp               |   63 +-
 .../Clang/CppModuleConfiguration.h                 |   13 +-
 .../Language/CPlusPlus/CPlusPlusLanguage.cpp       |   22 +-
 .../Plugins/Language/CPlusPlus/GenericBitset.cpp   |    3 +-
 .../Plugins/Language/CPlusPlus/LibCxxOptional.cpp  |    2 +-
 .../Language/CPlusPlus/LibCxxUnorderedMap.cpp      |   13 +-
 .../ObjectFile/Breakpad/ObjectFileBreakpad.cpp     |    7 +-
 .../ObjectFile/Breakpad/ObjectFileBreakpad.h       |    2 +-
 .../Plugins/ObjectFile/ELF/ObjectFileELF.cpp       |  244 +-
 .../source/Plugins/ObjectFile/ELF/ObjectFileELF.h  |   11 +-
 .../Plugins/ObjectFile/JIT/ObjectFileJIT.cpp       |   21 +-
 .../source/Plugins/ObjectFile/JIT/ObjectFileJIT.h  |    2 +-
 .../source/Plugins/ObjectFile/PDB/ObjectFilePDB.h  |    2 +-
 .../Plugins/ObjectFile/wasm/ObjectFileWasm.cpp     |    2 +-
 .../Plugins/ObjectFile/wasm/ObjectFileWasm.h       |    2 +-
 .../Plugins/Platform/QemuUser/PlatformQemuUser.cpp |  148 +
 .../Plugins/Platform/QemuUser/PlatformQemuUser.h   |   57 +
 .../QemuUser/PlatformQemuUserProperties.td         |   12 +
 .../Plugins/Process/elf-core/ProcessElfCore.cpp    |    4 +-
 .../Plugins/Process/elf-core/ProcessElfCore.h      |    8 +-
 .../Process/gdb-remote/GDBRemoteCommunication.cpp  |   96 +-
 .../Process/gdb-remote/GDBRemoteCommunication.h    |   23 -
 .../gdb-remote/GDBRemoteCommunicationClient.cpp    |   13 +-
 .../gdb-remote/GDBRemoteCommunicationServer.cpp    |    6 +-
 .../gdb-remote/GDBRemoteCommunicationServer.h      |    4 -
 .../GDBRemoteCommunicationServerLLGS.cpp           |   12 -
 .../gdb-remote/GDBRemoteCommunicationServerLLGS.h  |    1 -
 .../Process/gdb-remote/ProcessGDBRemote.cpp        |   62 +-
 .../Plugins/Process/gdb-remote/ProcessGDBRemote.h  |   10 +-
 .../Plugins/Process/minidump/ProcessMinidump.cpp   |    6 +-
 .../Plugins/Process/minidump/ProcessMinidump.h     |    6 +-
 .../Plugins/Process/scripted/ScriptedProcess.cpp   |    4 +-
 .../Plugins/Process/scripted/ScriptedProcess.h     |    6 +-
 .../ScriptInterpreter/Python/SWIGPythonBridge.h    |  152 +-
 .../Python/ScriptInterpreterPython.cpp             |  183 +-
 .../SymbolFile/Breakpad/SymbolFileBreakpad.cpp     |    3 +-
 .../Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp   |   12 +-
 .../SymbolFile/NativePDB/SymbolFileNativePDB.cpp   |    5 +-
 .../Plugins/SymbolFile/PDB/SymbolFilePDB.cpp       |    1 -
 .../Plugins/TypeSystem/Clang/TypeSystemClang.cpp   |    2 +-
 .../llvm-project/lldb/source/Symbol/ObjectFile.cpp |   38 +-
 contrib/llvm-project/lldb/source/Symbol/Symtab.cpp |    9 +-
 .../llvm-project/lldb/source/Target/Platform.cpp   |   40 +-
 .../llvm-project/lldb/source/Target/Process.cpp    |    7 -
 .../lldb/source/Target/RemoteAwarePlatform.cpp     |   11 +-
 contrib/llvm-project/lldb/tools/driver/Driver.cpp  |   88 +-
 .../lldb/tools/lldb-server/lldb-platform.cpp       |   26 +-
 contrib/llvm-project/llvm/include/llvm-c/Core.h    |   11 +
 contrib/llvm-project/llvm/include/llvm/ADT/APInt.h |    4 +-
 .../llvm/include/llvm/ADT/SCCIterator.h            |  133 +
 .../llvm-project/llvm/include/llvm/ADT/STLExtras.h |   31 +-
 .../llvm/include/llvm/Analysis/IVDescriptors.h     |    8 +
 .../llvm-project/llvm/include/llvm/Analysis/Lint.h |    9 +-
 .../llvm/include/llvm/Analysis/ScalarEvolution.h   |   29 +-
 .../include/llvm/Analysis/TargetLibraryInfo.def    |    6 +
 .../llvm/include/llvm/Analysis/VectorUtils.h       |    2 +-
 .../llvm/include/llvm/BinaryFormat/ELF.h           |    7 +
 .../llvm/include/llvm/CodeGen/CommandFlags.h       |    5 +
 .../llvm/CodeGen/GlobalISel/CombinerHelper.h       |   49 +
 .../llvm/CodeGen/GlobalISel/MIPatternMatch.h       |   42 +
 .../llvm/include/llvm/CodeGen/GlobalISel/Utils.h   |   12 +
 .../llvm/include/llvm/CodeGen/MachineFunction.h    |    3 +-
 .../include/llvm/CodeGen/TargetFrameLowering.h     |   14 +-
 .../llvm/include/llvm/CodeGen/TargetInstrInfo.h    |    6 +
 .../llvm/include/llvm/CodeGen/TargetLowering.h     |   65 +-
 .../include/llvm/DebugInfo/DWARF/DWARFContext.h    |    5 +
 .../include/llvm/DebugInfo/DWARF/DWARFVerifier.h   |    5 +-
 .../llvm/include/llvm/ExecutionEngine/Orc/Core.h   |  175 +-
 .../include/llvm/Frontend/OpenMP/OMPConstants.h    |    4 +
 .../llvm-project/llvm/include/llvm/IR/IRBuilder.h  |  125 -
 .../llvm/include/llvm/IR/Instructions.h            |   18 -
 .../llvm/include/llvm/IR/IntrinsicsPowerPC.td      |   18 +
 .../llvm-project/llvm/include/llvm/IR/Operator.h   |    8 +
 .../llvm/include/llvm/IR/PatternMatch.h            |   25 +
 contrib/llvm-project/llvm/include/llvm/IR/Type.h   |    2 +
 .../llvm/include/llvm/IR/VPIntrinsics.def          |  156 +-
 .../llvm-project/llvm/include/llvm/IR/Verifier.h   |    6 +-
 .../include/llvm/MCA/HardwareUnits/Scheduler.h     |    7 +-
 .../llvm/include/llvm/ObjectYAML/MachOYAML.h       |    1 +
 .../llvm/include/llvm/ProfileData/MemProfData.inc  |   61 +
 .../include/llvm/ProfileData/RawMemProfReader.h    |   43 +
 .../include/llvm/Support/AArch64TargetParser.def   |    3 +-
 .../include/llvm/Support/AArch64TargetParser.h     |    9 -
 .../llvm/include/llvm/Support/ARMAttributeParser.h |    4 +
 .../llvm/include/llvm/Support/ARMBuildAttributes.h |   24 +-
 .../llvm/include/llvm/Support/ARMTargetParser.def  |    1 +
 .../llvm/include/llvm/Support/ARMTargetParser.h    |    2 +-
 .../llvm/include/llvm/Support/GenericDomTree.h     |   16 +-
 .../llvm/include/llvm/Support/HTTPClient.h         |  113 +
 .../llvm-project/llvm/include/llvm/Support/Mutex.h |    4 +-
 .../llvm/include/llvm/Support/RWMutex.h            |    8 +-
 .../llvm/include/llvm/Support/TargetParser.h       |   12 +
 .../llvm/include/llvm/Support/ThreadPool.h         |   70 +-
 .../llvm/include/llvm/Target/GlobalISel/Combine.td |   96 +-
 .../llvm/Transforms/IPO/ProfiledCallGraph.h        |  104 +-
 .../Transforms/Instrumentation/AddressSanitizer.h  |    2 +-
 .../llvm/Transforms/Scalar/AnnotationRemarks.h     |    1 +
 .../llvm/include/llvm/Transforms/Utils/Local.h     |    5 -
 .../include/llvm/Transforms/Utils/SSAUpdater.h     |    4 +
 .../llvm/Transforms/Utils/SampleProfileInference.h |  284 ++
 .../Transforms/Utils/SampleProfileLoaderBaseImpl.h |  162 +-
 .../llvm/lib/Analysis/BranchProbabilityInfo.cpp    |  201 +-
 .../llvm/lib/Analysis/DivergenceAnalysis.cpp       |   10 +-
 .../llvm/lib/Analysis/IRSimilarityIdentifier.cpp   |    2 +-
 .../llvm/lib/Analysis/IVDescriptors.cpp            |   46 +-
 .../llvm/lib/Analysis/InstructionSimplify.cpp      |  184 +-
 .../llvm/lib/Analysis/IntervalPartition.cpp        |   16 +-
 .../llvm/lib/Analysis/LazyValueInfo.cpp            |   15 +-
 .../llvm/lib/Analysis/LoopAccessAnalysis.cpp       |   60 +-
 .../llvm/lib/Analysis/MemoryDependenceAnalysis.cpp |    6 +-
 .../llvm/lib/Analysis/MemoryLocation.cpp           |   22 +
 .../llvm/lib/Analysis/PHITransAddr.cpp             |    2 +-
 .../llvm-project/llvm/lib/Analysis/RegionPass.cpp  |    3 +
 .../llvm/lib/Analysis/ScalarEvolution.cpp          |  363 +-
 .../llvm/lib/Analysis/StackSafetyAnalysis.cpp      |  126 +-
 .../llvm/lib/Analysis/SyncDependenceAnalysis.cpp   |   59 +-
 .../llvm/lib/Analysis/TargetLibraryInfo.cpp        |   19 +-
 .../llvm/lib/Analysis/VFABIDemangling.cpp          |    1 -
 .../llvm-project/llvm/lib/AsmParser/LLParser.cpp   |   13 +-
 .../llvm/lib/Bitcode/Reader/BitcodeAnalyzer.cpp    |    4 +-
 .../llvm/lib/Bitcode/Reader/BitcodeReader.cpp      |    9 +-
 .../llvm/lib/Bitcode/Reader/MetadataLoader.cpp     |    7 +-
 .../llvm/lib/Bitcode/Writer/BitcodeWriter.cpp      |   28 +-
 .../llvm/lib/Bitcode/Writer/ValueEnumerator.cpp    |    4 +-
 .../llvm/lib/CodeGen/AggressiveAntiDepBreaker.cpp  |   26 +-
 .../llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp     |   14 +-
 .../lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp |  213 +-
 .../lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp    |  134 +-
 .../llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.h |    8 +-
 .../llvm/lib/CodeGen/AsmPrinter/EHStreamer.cpp     |    8 +-
 .../llvm/lib/CodeGen/BranchFolding.cpp             |    4 +-
 .../llvm/lib/CodeGen/BranchRelaxation.cpp          |    4 +-
 contrib/llvm-project/llvm/lib/CodeGen/CodeGen.cpp  |    2 +
 .../llvm-project/llvm/lib/CodeGen/CommandFlags.cpp |   15 +-
 .../llvm/lib/CodeGen/CriticalAntiDepBreaker.cpp    |   16 +-
 .../lib/CodeGen/DeadMachineInstructionElim.cpp     |   11 +-
 .../llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp |  619 ++-
 .../lib/CodeGen/GlobalISel/LegalizerHelper.cpp     |   36 +-
 .../lib/CodeGen/GlobalISel/RegisterBankInfo.cpp    |    2 +-
 .../llvm/lib/CodeGen/GlobalISel/Utils.cpp          |   27 +-
 .../llvm-project/llvm/lib/CodeGen/GlobalMerge.cpp  |    6 +-
 .../llvm/lib/CodeGen/IndirectBrExpandPass.cpp      |   10 +-
 .../llvm/lib/CodeGen/InlineSpiller.cpp             |    8 +-
 .../llvm/lib/CodeGen/LatencyPriorityQueue.cpp      |    6 +-
 .../CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp  |   70 +-
 .../CodeGen/LiveDebugValues/InstrRefBasedImpl.h    |   63 +-
 .../llvm/lib/CodeGen/LiveDebugVariables.cpp        |   51 +-
 .../llvm/lib/CodeGen/LiveRangeEdit.cpp             |   14 +-
 .../llvm-project/llvm/lib/CodeGen/LiveRangeUtils.h |    2 +-
 .../llvm/lib/CodeGen/LiveVariables.cpp             |   10 +-
 .../llvm/lib/CodeGen/LocalStackSlotAllocation.cpp  |    8 +-
 .../llvm/lib/CodeGen/MIRSampleProfile.cpp          |    2 +
 .../llvm/lib/CodeGen/MachineFunction.cpp           |   21 +-
 .../llvm-project/llvm/lib/CodeGen/MachineInstr.cpp |    6 +-
 .../llvm/lib/CodeGen/MachineOperand.cpp            |    4 +-
 .../llvm/lib/CodeGen/MachineOutliner.cpp           |   17 +-
 .../llvm/lib/CodeGen/MachinePipeliner.cpp          |   24 +-
 .../llvm-project/llvm/lib/CodeGen/MachineSink.cpp  |   12 +-
 .../llvm/lib/CodeGen/MachineVerifier.cpp           |   24 +-
 .../llvm/lib/CodeGen/ModuloSchedule.cpp            |    6 +-
 .../llvm/lib/CodeGen/PrologEpilogInserter.cpp      |   13 +-
 .../llvm-project/llvm/lib/CodeGen/RegAllocFast.cpp |    9 +-
 .../llvm/lib/CodeGen/RegAllocGreedy.cpp            |  119 +-
 .../llvm/lib/CodeGen/RegisterCoalescer.cpp         |   12 +-
 .../llvm/lib/CodeGen/ScheduleDAGInstrs.cpp         |    5 +-
 .../llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp  |  131 +-
 .../llvm/lib/CodeGen/SelectionDAG/InstrEmitter.cpp |    9 +-
 .../llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp  |    7 +-
 .../lib/CodeGen/SelectionDAG/LegalizeTypes.cpp     |    5 +-
 .../CodeGen/SelectionDAG/LegalizeVectorTypes.cpp   |   21 +-
 .../CodeGen/SelectionDAG/ResourcePriorityQueue.cpp |    4 +-
 .../CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp    |    4 +-
 .../llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp |   50 +-
 .../CodeGen/SelectionDAG/SelectionDAGBuilder.cpp   |  109 +-
 .../lib/CodeGen/SelectionDAG/TargetLowering.cpp    |  102 +-
 .../llvm/lib/CodeGen/StackSlotColoring.cpp         |    6 +-
 .../llvm/lib/CodeGen/TailDuplicator.cpp            |   29 -
 .../llvm/lib/CodeGen/TargetFrameLoweringImpl.cpp   |   10 +
 .../llvm/lib/CodeGen/TargetInstrInfo.cpp           |   21 +-
 .../lib/CodeGen/TargetLoweringObjectFileImpl.cpp   |    4 +-
 .../llvm/lib/CodeGen/TwoAddressInstructionPass.cpp |   35 +-
 .../llvm/lib/DebugInfo/DWARF/DWARFVerifier.cpp     |   80 +-
 .../llvm/lib/Demangle/DLangDemangle.cpp            |  253 +-
 .../llvm/lib/ExecutionEngine/ExecutionEngine.cpp   |    3 +-
 .../ExecutionEngine/JITLink/ELFLinkGraphBuilder.h  |   40 +-
 .../llvm/lib/ExecutionEngine/Orc/Core.cpp          |  234 +-
 .../ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp |    2 +-
 .../llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp      |    2 +
 contrib/llvm-project/llvm/lib/IR/AsmWriter.cpp     |   26 +-
 contrib/llvm-project/llvm/lib/IR/Core.cpp          |    8 +
 contrib/llvm-project/llvm/lib/IR/DIBuilder.cpp     |   15 +-
 contrib/llvm-project/llvm/lib/IR/Instructions.cpp  |    2 +-
 contrib/llvm-project/llvm/lib/IR/IntrinsicInst.cpp |   67 +-
 contrib/llvm-project/llvm/lib/IR/Operator.cpp      |   21 +
 .../llvm-project/llvm/lib/IR/PassTimingInfo.cpp    |    2 +-
 .../llvm/lib/IR/SafepointIRVerifier.cpp            |    6 +-
 contrib/llvm-project/llvm/lib/IR/Verifier.cpp      |   31 +-
 .../llvm/lib/InterfaceStub/ELFObjHandler.cpp       |    2 +-
 contrib/llvm-project/llvm/lib/MC/MCAsmStreamer.cpp |    6 +-
 contrib/llvm-project/llvm/lib/MC/MCELFStreamer.cpp |    3 -
 .../llvm/lib/MC/MCParser/ELFAsmParser.cpp          |    8 +-
 .../llvm/lib/MC/WinCOFFObjectWriter.cpp            |   48 +-
 contrib/llvm-project/llvm/lib/MCA/InstrBuilder.cpp |    2 +-
 .../llvm/lib/MCA/Stages/ExecuteStage.cpp           |    2 +-
 .../llvm-project/llvm/lib/Object/ELFObjectFile.cpp |    4 +-
 .../llvm/lib/ObjectYAML/COFFEmitter.cpp            |   32 +-
 .../llvm-project/llvm/lib/ObjectYAML/ELFYAML.cpp   |    4 +
 .../llvm/lib/ObjectYAML/MachOEmitter.cpp           |   13 +
 .../llvm-project/llvm/lib/ObjectYAML/MachOYAML.cpp |    1 +
 contrib/llvm-project/llvm/lib/Option/OptTable.cpp  |    7 +-
 .../llvm/lib/Passes/PassBuilderPipelines.cpp       |    2 +
 .../llvm/lib/Passes/StandardInstrumentations.cpp   |    4 +-
 .../ProfileData/Coverage/CoverageMappingReader.cpp |    1 -
 .../llvm/lib/ProfileData/InstrProf.cpp             |   11 +-
 .../llvm/lib/ProfileData/InstrProfReader.cpp       |    2 -
 .../llvm/lib/ProfileData/RawMemProfReader.cpp      |  121 +
 .../llvm/lib/ProfileData/SampleProfReader.cpp      |    2 +-
 .../llvm/lib/Support/AArch64TargetParser.cpp       |   50 +-
 .../llvm/lib/Support/ARMAttributeParser.cpp        |   26 +
 .../llvm/lib/Support/ARMBuildAttrs.cpp             |    4 +
 .../llvm-project/llvm/lib/Support/CommandLine.cpp  |   16 +-
 .../llvm-project/llvm/lib/Support/HTTPClient.cpp   |   97 +
 .../llvm-project/llvm/lib/Support/KnownBits.cpp    |    9 +-
 contrib/llvm-project/llvm/lib/Support/Regex.cpp    |    6 +-
 .../llvm-project/llvm/lib/Support/StringExtras.cpp |    3 +-
 .../llvm-project/llvm/lib/Support/StringRef.cpp    |   16 +-
 .../llvm-project/llvm/lib/Support/TargetParser.cpp |   48 +
 .../llvm-project/llvm/lib/Support/ThreadPool.cpp   |   29 +-
 contrib/llvm-project/llvm/lib/TableGen/TGLexer.cpp |    8 +-
 .../llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp  |   13 +-
 .../lib/Target/AArch64/AArch64CondBrTuning.cpp     |    9 +-
 .../Target/AArch64/AArch64ExpandPseudoInsts.cpp    |   10 +-
 .../lib/Target/AArch64/AArch64ISelLowering.cpp     |  297 +-
 .../llvm/lib/Target/AArch64/AArch64ISelLowering.h  |    6 +
 .../llvm/lib/Target/AArch64/AArch64InstrInfo.td    |   16 +
 .../llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td |   11 +-
 .../Target/AArch64/AArch64TargetTransformInfo.cpp  |   10 +-
 .../AArch64/GISel/AArch64InstructionSelector.cpp   |   57 +-
 .../AArch64/MCTargetDesc/AArch64ELFStreamer.cpp    |    4 +-
 .../AArch64/MCTargetDesc/AArch64TargetStreamer.cpp |    4 +-
 .../llvm/lib/Target/AMDGPU/AMDGPUCombine.td        |   11 +-
 .../llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp  |   41 +
 .../llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.h    |    5 +
 .../llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp  |   49 +
 .../llvm/lib/Target/AMDGPU/AMDGPUISelLowering.h    |    1 +
 .../Target/AMDGPU/AMDGPUInstructionSelector.cpp    |   16 +
 .../lib/Target/AMDGPU/AMDGPUInstructionSelector.h  |    4 +
 .../llvm/lib/Target/AMDGPU/AMDGPUInstructions.td   |   29 +-
 .../Target/AMDGPU/AMDGPUPostLegalizerCombiner.cpp  |   46 +
 .../Target/AMDGPU/AMDGPUPrintfRuntimeBinding.cpp   |    6 +-
 .../lib/Target/AMDGPU/AMDGPURegBankCombiner.cpp    |   22 +-
 .../lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp   |   12 +-
 .../lib/Target/AMDGPU/AMDILCFGStructurizer.cpp     |   17 +-
 .../llvm/lib/Target/AMDGPU/CaymanInstructions.td   |    2 -
 .../lib/Target/AMDGPU/EvergreenInstructions.td     |    1 -
 .../llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp |   23 +-
 .../llvm/lib/Target/AMDGPU/GCNRegPressure.cpp      |   10 +-
 .../llvm/lib/Target/AMDGPU/R600ClauseMergePass.cpp |    4 +-
 .../lib/Target/AMDGPU/R600EmitClauseMarkers.cpp    |    4 +-
 .../lib/Target/AMDGPU/R600ExpandSpecialInstrs.cpp  |    4 +-
 .../llvm/lib/Target/AMDGPU/R600ISelLowering.cpp    |    5 +-
 .../llvm/lib/Target/AMDGPU/R600Instructions.td     |    1 -
 .../lib/Target/AMDGPU/R600MachineScheduler.cpp     |    4 +-
 .../Target/AMDGPU/R600OptimizeVectorRegisters.cpp  |    6 +-
 .../llvm/lib/Target/AMDGPU/R600Packetizer.cpp      |   19 +-
 .../llvm/lib/Target/AMDGPU/SIDefines.h             |    3 +-
 .../llvm/lib/Target/AMDGPU/SIFixSGPRCopies.cpp     |   10 +-
 .../llvm/lib/Target/AMDGPU/SIFoldOperands.cpp      |   12 +-
 .../llvm/lib/Target/AMDGPU/SIFrameLowering.cpp     |   28 +
 .../llvm/lib/Target/AMDGPU/SIFrameLowering.h       |    3 +
 .../llvm/lib/Target/AMDGPU/SIISelLowering.cpp      |   80 +-
 .../llvm/lib/Target/AMDGPU/SIISelLowering.h        |    8 +
 .../llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp    |    9 +-
 .../llvm/lib/Target/AMDGPU/SIInstrInfo.cpp         |   67 +-
 .../llvm/lib/Target/AMDGPU/SIInstrInfo.td          |    2 +-
 .../llvm/lib/Target/AMDGPU/SIInstructions.td       |  176 +-
 .../lib/Target/AMDGPU/SILoadStoreOptimizer.cpp     |    2 +-
 .../llvm/lib/Target/AMDGPU/SIMemoryLegalizer.cpp   |   38 +-
 .../llvm/lib/Target/AMDGPU/SIPeepholeSDWA.cpp      |    2 +-
 .../llvm/lib/Target/AMDGPU/SIPreEmitPeephole.cpp   |   11 +-
 .../llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp      |  155 +-
 .../llvm/lib/Target/AMDGPU/SIRegisterInfo.h        |   29 +-
 .../llvm/lib/Target/AMDGPU/SIRegisterInfo.td       |  135 +-
 .../llvm/lib/Target/AMDGPU/SISchedule.td           |    6 +-
 .../llvm/lib/Target/AMDGPU/SIWholeQuadMode.cpp     |   10 +-
 .../lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp     |   16 +-
 .../llvm/lib/Target/ARC/ARCMCInstLower.cpp         |    3 +-
 contrib/llvm-project/llvm/lib/Target/ARM/ARM.h     |    2 +
 contrib/llvm-project/llvm/lib/Target/ARM/ARM.td    |    4 +
 .../llvm/lib/Target/ARM/ARMAsmPrinter.cpp          |   48 +-
 .../llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp       |  126 +-
 .../llvm/lib/Target/ARM/ARMBaseInstrInfo.h         |   24 +-
 .../llvm/lib/Target/ARM/ARMBranchTargets.cpp       |  135 +
 .../llvm/lib/Target/ARM/ARMConstantIslandPass.cpp  |   92 +-
 .../llvm/lib/Target/ARM/ARMExpandPseudoInsts.cpp   |   24 +-
 .../llvm/lib/Target/ARM/ARMFrameLowering.cpp       |   20 +-
 .../llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp        |    5 +-
 .../llvm/lib/Target/ARM/ARMISelLowering.cpp        |  206 +-
 .../llvm/lib/Target/ARM/ARMISelLowering.h          |    2 +
 .../llvm/lib/Target/ARM/ARMInstrFormats.td         |   29 +-
 .../llvm/lib/Target/ARM/ARMInstrInfo.td            |    8 +
 .../llvm/lib/Target/ARM/ARMInstrMVE.td             |   60 +-
 .../llvm/lib/Target/ARM/ARMInstrThumb.td           |    2 +
 .../llvm/lib/Target/ARM/ARMInstrThumb2.td          |  138 +-
 .../llvm/lib/Target/ARM/ARMLoadStoreOptimizer.cpp  |   20 +-
 .../llvm/lib/Target/ARM/ARMMachineFunctionInfo.cpp |   57 +-
 .../llvm/lib/Target/ARM/ARMMachineFunctionInfo.h   |   25 +
 .../llvm/lib/Target/ARM/ARMPredicates.td           |    2 +
 .../llvm/lib/Target/ARM/ARMRegisterInfo.td         |   10 +
 .../llvm/lib/Target/ARM/ARMSubtarget.h             |    3 +
 .../llvm/lib/Target/ARM/ARMSystemRegister.td       |   18 +
 .../llvm/lib/Target/ARM/ARMTargetMachine.cpp       |    2 +
 .../llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp |   33 +-
 .../llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp |   17 +-
 .../Target/ARM/Disassembler/ARMDisassembler.cpp    |   67 +-
 .../llvm/lib/Target/ARM/MCTargetDesc/ARMBaseInfo.h |   24 +-
 .../Target/ARM/MCTargetDesc/ARMTargetStreamer.cpp  |    5 +
 .../llvm/lib/Target/ARM/Thumb1FrameLowering.cpp    |   13 +-
 .../llvm/lib/Target/ARM/Thumb2InstrInfo.cpp        |    5 +-
 .../llvm/lib/Target/ARM/Thumb2SizeReduction.cpp    |   12 +-
 .../llvm/lib/Target/BPF/BPFMCInstLower.cpp         |    4 +-
 .../llvm/lib/Target/Hexagon/BitTracker.cpp         |    7 +-
 .../llvm/lib/Target/Hexagon/HexagonBitTracker.cpp  |    2 +-
 .../llvm/lib/Target/Hexagon/HexagonCommonGEP.cpp   |   18 +-
 .../lib/Target/Hexagon/HexagonConstExtenders.cpp   |    2 +-
 .../lib/Target/Hexagon/HexagonCopyToCombine.cpp    |   23 +-
 .../lib/Target/Hexagon/HexagonFrameLowering.cpp    |   30 +-
 .../llvm/lib/Target/Hexagon/HexagonGenInsert.cpp   |   31 +-
 .../llvm/lib/Target/Hexagon/HexagonGenMux.cpp      |    2 +-
 .../lib/Target/Hexagon/HexagonGenPredicate.cpp     |   23 +-
 .../lib/Target/Hexagon/HexagonHardwareLoops.cpp    |   22 +-
 .../lib/Target/Hexagon/HexagonISelDAGToDAGHVX.cpp  |    8 +-
 .../lib/Target/Hexagon/HexagonISelLowering.cpp     |    9 +-
 .../lib/Target/Hexagon/HexagonISelLoweringHVX.cpp  |   11 +-
 .../llvm/lib/Target/Hexagon/HexagonInstrInfo.cpp   |    7 +-
 .../llvm/lib/Target/Hexagon/HexagonMCInstLower.cpp |    3 +-
 .../llvm/lib/Target/Hexagon/HexagonPeephole.cpp    |   18 +-
 .../lib/Target/Hexagon/HexagonStoreWidening.cpp    |    3 +-
 .../llvm/lib/Target/Hexagon/HexagonSubtarget.cpp   |    3 +-
 .../lib/Target/Hexagon/HexagonVectorCombine.cpp    |    1 -
 .../llvm/lib/Target/Lanai/LanaiDelaySlotFiller.cpp |    8 +-
 .../llvm/lib/Target/Lanai/LanaiFrameLowering.cpp   |    9 +-
 .../llvm/lib/Target/Lanai/LanaiInstrInfo.cpp       |    3 +-
 .../llvm/lib/Target/Lanai/LanaiMCInstLower.cpp     |    4 +-
 .../llvm/lib/Target/MSP430/MSP430FrameLowering.cpp |    4 +-
 .../llvm/lib/Target/MSP430/MSP430MCInstLower.cpp   |    4 +-
 .../llvm/lib/Target/Mips/Mips16FrameLowering.cpp   |   11 +-
 .../llvm/lib/Target/Mips/MipsAsmPrinter.cpp        |    5 +-
 .../lib/Target/Mips/MipsConstantIslandPass.cpp     |   36 +-
 .../llvm/lib/Target/Mips/MipsDelaySlotFiller.cpp   |    5 +-
 .../llvm/lib/Target/Mips/MipsExpandPseudo.cpp      |    5 +-
 .../llvm/lib/Target/Mips/MipsFrameLowering.h       |    5 +-
 .../llvm/lib/Target/Mips/MipsMCInstLower.cpp       |    3 +-
 .../llvm/lib/Target/Mips/MipsSEFrameLowering.cpp   |   14 +-
 .../llvm/lib/Target/Mips/MipsSEISelLowering.cpp    |    4 +-
 .../llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp      |   54 +-
 .../llvm/lib/Target/NVPTX/NVPTXAsmPrinter.h        |    5 +
 .../Target/NVPTX/NVPTXAssignValidGlobalNames.cpp   |    3 +-
 .../lib/Target/NVPTX/NVPTXReplaceImageHandles.cpp  |   15 +-
 .../llvm/lib/Target/PowerPC/P10InstrResources.td   |    5 +-
 .../llvm/lib/Target/PowerPC/P9InstrResources.td    |    6 +-
 .../llvm-project/llvm/lib/Target/PowerPC/PPC.td    |   18 +-
 .../llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp      |   11 +-
 .../llvm/lib/Target/PowerPC/PPCBranchSelector.cpp  |   30 +-
 .../llvm/lib/Target/PowerPC/PPCCTRLoops.cpp        |   15 +-
 .../Target/PowerPC/PPCExpandAtomicPseudoInsts.cpp  |    3 +-
 .../llvm/lib/Target/PowerPC/PPCFrameLowering.cpp   |   41 +-
 .../llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp    |  150 +-
 .../llvm/lib/Target/PowerPC/PPCISelLowering.cpp    |   34 +-
 .../llvm/lib/Target/PowerPC/PPCISelLowering.h      |    4 +
 .../llvm/lib/Target/PowerPC/PPCInstr64Bit.td       |   12 +
 .../llvm/lib/Target/PowerPC/PPCInstrAltivec.td     |   39 +-
 .../llvm/lib/Target/PowerPC/PPCInstrInfo.cpp       |    8 +-
 .../llvm/lib/Target/PowerPC/PPCInstrVSX.td         |    5 +
 .../llvm/lib/Target/PowerPC/PPCMCInstLower.cpp     |    4 +-
 .../llvm/lib/Target/PowerPC/PPCMacroFusion.cpp     |   73 +
 .../llvm/lib/Target/PowerPC/PPCMacroFusion.def     |   75 +
 .../llvm/lib/Target/PowerPC/PPCSubtarget.cpp       |    4 +
 .../llvm/lib/Target/PowerPC/PPCSubtarget.h         |    8 +
 .../lib/Target/PowerPC/PPCTargetTransformInfo.cpp  |   91 +-
 .../lib/Target/PowerPC/PPCTargetTransformInfo.h    |    4 +-
 .../Target/RISCV/MCTargetDesc/RISCVInstPrinter.cpp |    8 +
 .../llvm/lib/Target/RISCV/RISCVFrameLowering.cpp   |   16 +-
 .../llvm/lib/Target/RISCV/RISCVISelLowering.cpp    |  137 +-
 .../llvm/lib/Target/RISCV/RISCVISelLowering.h      |    2 +
 .../llvm/lib/Target/RISCV/RISCVInstrInfo.td        |    1 +
 .../llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp    |   28 +
 .../llvm/lib/Target/RISCV/RISCVRegisterInfo.h      |    3 +
 .../llvm/lib/Target/RISCV/RISCVRegisterInfo.td     |    2 +
 .../llvm/lib/Target/RISCV/RISCVSystemOperands.td   |    2 +-
 .../llvm/lib/Target/Sparc/DelaySlotFiller.cpp      |    8 +-
 .../llvm/lib/Target/Sparc/LeonPasses.cpp           |   12 +-
 .../llvm/lib/Target/Sparc/SparcFrameLowering.cpp   |   15 +-
 .../llvm/lib/Target/Sparc/SparcMCInstLower.cpp     |    3 +-
 .../llvm/lib/Target/SystemZ/SystemZElimCompare.cpp |    3 +-
 .../lib/Target/SystemZ/SystemZFrameLowering.cpp    |   36 +-
 .../llvm/lib/Target/SystemZ/SystemZFrameLowering.h |   14 +-
 .../llvm/lib/Target/SystemZ/SystemZInstrInfo.cpp   |    4 +-
 .../llvm/lib/Target/SystemZ/SystemZMCInstLower.cpp |    4 +-
 .../lib/Target/VE/MCTargetDesc/VEInstPrinter.cpp   |   19 +-
 .../llvm/lib/Target/VE/VEInstrInfo.cpp             |    3 +-
 .../WebAssembly/WebAssemblyTargetMachine.cpp       |    6 +-
 .../lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp  |    6 +-
 .../llvm/lib/Target/X86/X86DomainReassignment.cpp  |    4 +-
 .../llvm/lib/Target/X86/X86DynAllocaExpander.cpp   |    8 +-
 .../llvm/lib/Target/X86/X86ExpandPseudo.cpp        |    4 +-
 .../llvm/lib/Target/X86/X86FixupLEAs.cpp           |    7 +-
 .../llvm/lib/Target/X86/X86FloatingPoint.cpp       |    7 +-
 .../llvm/lib/Target/X86/X86FrameLowering.cpp       |   66 +-
 .../llvm/lib/Target/X86/X86FrameLowering.h         |   19 +-
 .../llvm/lib/Target/X86/X86ISelLowering.cpp        |  126 +-
 .../llvm/lib/Target/X86/X86InstrAVX512.td          |    4 +-
 .../llvm/lib/Target/X86/X86InstrInfo.cpp           |    7 +-
 .../llvm/lib/Target/X86/X86RegisterBanks.td        |    2 +-
 .../llvm/lib/Target/X86/X86TargetTransformInfo.cpp |  251 +-
 .../llvm/lib/Target/XCore/XCoreFrameLowering.cpp   |    8 +-
 .../Target/XCore/XCoreFrameToArgsOffsetElim.cpp    |    4 +-
 .../llvm/lib/Target/XCore/XCoreMCInstLower.cpp     |    3 +-
 .../llvm/lib/Transforms/IPO/GlobalOpt.cpp          |  132 +-
 .../llvm/lib/Transforms/IPO/OpenMPOpt.cpp          |   37 +-
 .../llvm/lib/Transforms/IPO/PartialInlining.cpp    |    3 +-
 .../llvm/lib/Transforms/IPO/SampleProfile.cpp      |   41 +-
 .../Transforms/InstCombine/InstCombineAndOrXor.cpp |   90 +-
 .../Transforms/InstCombine/InstCombineCalls.cpp    |    2 +-
 .../Transforms/InstCombine/InstCombineCasts.cpp    |    2 +-
 .../Transforms/InstCombine/InstCombineCompares.cpp |   69 +-
 .../Transforms/InstCombine/InstCombineInternal.h   |    1 +
 .../Transforms/InstCombine/InstCombineNegator.cpp  |    2 +-
 .../Transforms/InstCombine/InstCombineSelect.cpp   |    4 +
 .../InstCombine/InstructionCombining.cpp           |   23 +
 .../Instrumentation/AddressSanitizer.cpp           |    3 +-
 .../Instrumentation/HWAddressSanitizer.cpp         |    4 +-
 .../Transforms/Instrumentation/InstrProfiling.cpp  |   66 +-
 .../Transforms/Instrumentation/ThreadSanitizer.cpp |    2 +-
 .../lib/Transforms/ObjCARC/DependencyAnalysis.cpp  |    4 +-
 .../Scalar/CorrelatedValuePropagation.cpp          |   54 +-
 .../lib/Transforms/Scalar/DeadStoreElimination.cpp |  127 +-
 .../llvm/lib/Transforms/Scalar/IndVarSimplify.cpp  |    3 +-
 .../llvm/lib/Transforms/Scalar/LICM.cpp            |   67 +-
 .../llvm/lib/Transforms/Scalar/LoopPassManager.cpp |   14 +-
 .../llvm/lib/Transforms/Scalar/LoopSimplifyCFG.cpp |    5 +-
 .../llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp  |  189 +-
 .../llvm/lib/Transforms/Scalar/Reassociate.cpp     |    9 +-
 .../llvm/lib/Transforms/Scalar/SimplifyCFGPass.cpp |    3 +-
 .../llvm/lib/Transforms/Utils/BasicBlockUtils.cpp  |   71 +-
 .../llvm/lib/Transforms/Utils/BuildLibCalls.cpp    |   18 +-
 .../llvm/lib/Transforms/Utils/CloneModule.cpp      |   12 +-
 .../llvm/lib/Transforms/Utils/GuardUtils.cpp       |    2 +-
 .../llvm/lib/Transforms/Utils/InlineFunction.cpp   |    7 +-
 .../llvm/lib/Transforms/Utils/Local.cpp            |   57 +-
 .../lib/Transforms/Utils/LoopUnrollRuntime.cpp     |    6 +-
 .../llvm/lib/Transforms/Utils/LoopUtils.cpp        |    4 +-
 .../llvm/lib/Transforms/Utils/SSAUpdater.cpp       |    3 +
 .../Transforms/Utils/SampleProfileInference.cpp    |  462 ++
 .../Utils/SampleProfileLoaderBaseUtil.cpp          |    4 +
 .../Transforms/Utils/ScalarEvolutionExpander.cpp   |   68 +-
 .../llvm/lib/Transforms/Utils/SimplifyCFG.cpp      |   52 +-
 .../lib/Transforms/Vectorize/LoopVectorize.cpp     |  980 ++--
 .../lib/Transforms/Vectorize/SLPVectorizer.cpp     |  612 ++-
 .../llvm/lib/Transforms/Vectorize/VPlan.cpp        |   20 +-
 .../llvm/lib/Transforms/Vectorize/VPlan.h          |   23 +-
 .../llvm/tools/llvm-cov/CodeCoverage.cpp           |   42 +-
 .../llvm/tools/llvm-cov/CoverageFilters.cpp        |    7 +
 .../llvm/tools/llvm-cov/CoverageFilters.h          |   14 +-
 .../llvm/tools/llvm-diff/lib/DifferenceEngine.cpp  |   26 +-
 .../llvm/tools/llvm-dwarfdump/Statistics.cpp       |  139 +-
 .../llvm/tools/llvm-profdata/llvm-profdata.cpp     |   24 +-
 .../llvm/tools/llvm-readobj/ELFDumper.cpp          |   13 +
 .../tools/llvm-tli-checker/llvm-tli-checker.cpp    |   71 +-
 .../llvm/utils/TableGen/AsmWriterInst.cpp          |    3 +-
 .../llvm/utils/TableGen/CodeGenTarget.cpp          |   11 +-
 etc/mtree/BSD.include.dist                         |    2 +
 lib/clang/include/VCSVersion.inc                   |    8 +-
 lib/clang/include/llvm/Support/VCSRevision.h       |    2 +-
 lib/clang/libclang/Makefile                        |    1 +
 lib/clang/liblldb/LLDBWrapLua.cpp                  |  104 +
 lib/clang/libllvm/Makefile                         |    3 +
 lib/libc++/Makefile                                |   61 +-
 tools/build/mk/OptionalObsoleteFiles.inc           |   61 +-
 751 files changed, 23662 insertions(+), 13601 deletions(-)

diff --git a/contrib/llvm-project/FREEBSD-Xlist b/contrib/llvm-project/FREEBSD-Xlist
index a1b16e75a5b8..4f1ddd272910 100644
--- a/contrib/llvm-project/FREEBSD-Xlist
+++ b/contrib/llvm-project/FREEBSD-Xlist
@@ -41,6 +41,7 @@ clang/lib/AST/CMakeLists.txt
 clang/lib/ASTMatchers/CMakeLists.txt
 clang/lib/ASTMatchers/Dynamic/CMakeLists.txt
 clang/lib/Analysis/CMakeLists.txt
+clang/lib/Analysis/FlowSensitive/CMakeLists.txt
 clang/lib/Analysis/plugins/CMakeLists.txt
 clang/lib/Analysis/plugins/CheckerDependencyHandling/CMakeLists.txt
 clang/lib/Analysis/plugins/CheckerOptionHandling/CMakeLists.txt
@@ -398,6 +399,7 @@ lldb/source/Plugins/Platform/MacOSX/
 lldb/source/Plugins/Platform/NetBSD/CMakeLists.txt
 lldb/source/Plugins/Platform/OpenBSD/CMakeLists.txt
 lldb/source/Plugins/Platform/POSIX/CMakeLists.txt
+lldb/source/Plugins/Platform/QemuUser/CMakeLists.txt
 lldb/source/Plugins/Platform/Windows/
 lldb/source/Plugins/Platform/gdb-server/CMakeLists.txt
 lldb/source/Plugins/Process/CMakeLists.txt
diff --git a/contrib/llvm-project/clang/include/clang/AST/Decl.h b/contrib/llvm-project/clang/include/clang/AST/Decl.h
index cc0e8de7c071..2c92571325c8 100644
--- a/contrib/llvm-project/clang/include/clang/AST/Decl.h
+++ b/contrib/llvm-project/clang/include/clang/AST/Decl.h
@@ -1837,7 +1837,8 @@ enum class MultiVersionKind {
   None,
   Target,
   CPUSpecific,
-  CPUDispatch
+  CPUDispatch,
+  TargetClones
 };
 
 /// Represents a function declaration or definition.
@@ -2456,6 +2457,10 @@ public:
   /// the target functionality.
   bool isTargetMultiVersion() const;
 
+  /// True if this function is a multiversioned dispatch function as a part of
+  /// the target-clones functionality.
+  bool isTargetClonesMultiVersion() const;
+
   /// \brief Get the associated-constraints of this function declaration.
   /// Currently, this will either be a vector of size 1 containing the
   /// trailing-requires-clause or an empty vector.
diff --git a/contrib/llvm-project/clang/include/clang/AST/DeclBase.h b/contrib/llvm-project/clang/include/clang/AST/DeclBase.h
index 18468c8ca1c4..2a0a19597391 100644
--- a/contrib/llvm-project/clang/include/clang/AST/DeclBase.h
+++ b/contrib/llvm-project/clang/include/clang/AST/DeclBase.h
@@ -352,7 +352,7 @@ protected:
                      DeclContext *Parent, std::size_t Extra = 0);
 
 private:
-  bool AccessDeclContextSanity() const;
+  bool AccessDeclContextCheck() const;
 
   /// Get the module ownership kind to use for a local lexical child of \p DC,
   /// which may be either a local or (rarely) an imported declaration.
@@ -472,11 +472,11 @@ public:
 
   void setAccess(AccessSpecifier AS) {
     Access = AS;
-    assert(AccessDeclContextSanity());
+    assert(AccessDeclContextCheck());
   }
 
   AccessSpecifier getAccess() const {
-    assert(AccessDeclContextSanity());
+    assert(AccessDeclContextCheck());
     return AccessSpecifier(Access);
   }
 
diff --git a/contrib/llvm-project/clang/include/clang/AST/Expr.h b/contrib/llvm-project/clang/include/clang/AST/Expr.h
index 5d42e5284a56..02469e3a8cae 100644
--- a/contrib/llvm-project/clang/include/clang/AST/Expr.h
+++ b/contrib/llvm-project/clang/include/clang/AST/Expr.h
@@ -6304,8 +6304,10 @@ public:
   bool isCmpXChg() const {
     return getOp() == AO__c11_atomic_compare_exchange_strong ||
            getOp() == AO__c11_atomic_compare_exchange_weak ||
+           getOp() == AO__hip_atomic_compare_exchange_strong ||
            getOp() == AO__opencl_atomic_compare_exchange_strong ||
            getOp() == AO__opencl_atomic_compare_exchange_weak ||
+           getOp() == AO__hip_atomic_compare_exchange_weak ||
            getOp() == AO__atomic_compare_exchange ||
            getOp() == AO__atomic_compare_exchange_n;
   }
@@ -6340,6 +6342,8 @@ public:
     auto Kind =
         (Op >= AO__opencl_atomic_load && Op <= AO__opencl_atomic_fetch_max)
             ? AtomicScopeModelKind::OpenCL
+        : (Op >= AO__hip_atomic_load && Op <= AO__hip_atomic_fetch_max)
+            ? AtomicScopeModelKind::HIP
             : AtomicScopeModelKind::None;
     return AtomicScopeModel::create(Kind);
   }
diff --git a/contrib/llvm-project/clang/include/clang/AST/GlobalDecl.h b/contrib/llvm-project/clang/include/clang/AST/GlobalDecl.h
index 8cb56fb4ae90..88abba28c991 100644
--- a/contrib/llvm-project/clang/include/clang/AST/GlobalDecl.h
+++ b/contrib/llvm-project/clang/include/clang/AST/GlobalDecl.h
@@ -18,6 +18,7 @@
 #include "clang/AST/DeclCXX.h"
 #include "clang/AST/DeclObjC.h"
 #include "clang/AST/DeclOpenMP.h"
+#include "clang/AST/DeclTemplate.h"
 #include "clang/Basic/ABI.h"
 #include "clang/Basic/LLVM.h"
 #include "llvm/ADT/DenseMapInfo.h"
@@ -129,8 +130,12 @@ public:
   }
 
   KernelReferenceKind getKernelReferenceKind() const {
-    assert(isa<FunctionDecl>(getDecl()) &&
-           cast<FunctionDecl>(getDecl())->hasAttr<CUDAGlobalAttr>() &&
+    assert(((isa<FunctionDecl>(getDecl()) &&
+             cast<FunctionDecl>(getDecl())->hasAttr<CUDAGlobalAttr>()) ||
+            (isa<FunctionTemplateDecl>(getDecl()) &&
+             cast<FunctionTemplateDecl>(getDecl())
+                 ->getTemplatedDecl()
+                 ->hasAttr<CUDAGlobalAttr>())) &&
            "Decl is not a GPU kernel!");
     return static_cast<KernelReferenceKind>(Value.getInt());
   }
diff --git a/contrib/llvm-project/clang/include/clang/ASTMatchers/ASTMatchers.h b/contrib/llvm-project/clang/include/clang/ASTMatchers/ASTMatchers.h
index d6e5b215462b..5221d05477d0 100644
--- a/contrib/llvm-project/clang/include/clang/ASTMatchers/ASTMatchers.h
+++ b/contrib/llvm-project/clang/include/clang/ASTMatchers/ASTMatchers.h
@@ -4227,8 +4227,8 @@ AST_MATCHER(VarDecl, isInitCapture) { return Node.isInitCapture(); }
 /// lambdaExpr(forEachLambdaCapture(
 ///     lambdaCapture(capturesVar(varDecl(hasType(isInteger()))))))
 /// will trigger two matches, binding for 'x' and 'y' respectively.
-AST_MATCHER_P(LambdaExpr, forEachLambdaCapture, LambdaCaptureMatcher,
-              InnerMatcher) {
+AST_MATCHER_P(LambdaExpr, forEachLambdaCapture,
+              internal::Matcher<LambdaCapture>, InnerMatcher) {
   BoundNodesTreeBuilder Result;
   bool Matched = false;
   for (const auto &Capture : Node.captures()) {
@@ -4655,7 +4655,8 @@ extern const internal::VariadicAllOfMatcher<LambdaCapture> lambdaCapture;
 /// lambdaExpr(hasAnyCapture(lambdaCapture())) and
 /// lambdaExpr(hasAnyCapture(lambdaCapture(refersToVarDecl(hasName("t")))))
 ///   both match `[=](){ return t; }`.
-AST_MATCHER_P(LambdaExpr, hasAnyCapture, LambdaCaptureMatcher, InnerMatcher) {
+AST_MATCHER_P(LambdaExpr, hasAnyCapture, internal::Matcher<LambdaCapture>,
+              InnerMatcher) {
   for (const LambdaCapture &Capture : Node.captures()) {
     clang::ast_matchers::internal::BoundNodesTreeBuilder Result(*Builder);
     if (InnerMatcher.matches(Capture, Finder, &Result)) {
diff --git a/contrib/llvm-project/clang/include/clang/Analysis/CFG.h b/contrib/llvm-project/clang/include/clang/Analysis/CFG.h
index 3b9b22e87f35..b8e453fcc235 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 validity checks. We subtract 1 so that
+    /// Number of different kinds, for assertions. 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/Analysis/FlowSensitive/DataflowAnalysis.h b/contrib/llvm-project/clang/include/clang/Analysis/FlowSensitive/DataflowAnalysis.h
new file mode 100644
index 000000000000..a5d4a5d6ba40
--- /dev/null
+++ b/contrib/llvm-project/clang/include/clang/Analysis/FlowSensitive/DataflowAnalysis.h
@@ -0,0 +1,134 @@
+//===- DataflowAnalysis.h ---------------------------------------*- 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 defines base types and functions for building dataflow analyses
+//  that run over Control-Flow Graphs (CFGs).
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef LLVM_CLANG_ANALYSIS_FLOWSENSITIVE_DATAFLOWANALYSIS_H
+#define LLVM_CLANG_ANALYSIS_FLOWSENSITIVE_DATAFLOWANALYSIS_H
+
+#include <iterator>
+#include <utility>
+#include <vector>
+
+#include "clang/AST/ASTContext.h"
+#include "clang/AST/Stmt.h"
+#include "clang/Analysis/CFG.h"
+#include "clang/Analysis/FlowSensitive/DataflowEnvironment.h"
+#include "clang/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.h"
+#include "llvm/ADT/Any.h"
+#include "llvm/ADT/Optional.h"
+#include "llvm/ADT/STLExtras.h"
+
+namespace clang {
+namespace dataflow {
+
+/// Base class template for dataflow analyses built on a single lattice type.
+///
+/// Requirements:
+///
+///  `Derived` must be derived from a specialization of this class template and
+///  must provide the following public members:
+///   * `LatticeT initialElement()` - returns a lattice element that models the
+///     initial state of a basic block;
+///   * `LatticeT transfer(const Stmt *, const LatticeT &, Environment &)` -
+///     applies the analysis transfer function for a given statement and lattice
+///     element.
+///
+///  `LatticeT` is a bounded join-semilattice that is used by `Derived` and must
+///  provide the following public members:
+///   * `LatticeJoinEffect join(const LatticeT &)` - joins the object and the
*** 58772 LINES SKIPPED ***