Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 4 Jun 2022 12:01:10 GMT
From:      Dimitry Andric <dim@FreeBSD.org>
To:        src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org
Subject:   git: 67eec5325a1a - stable/13 - Merge llvm-project main llvmorg-14-init-18294-gdb01b123d012
Message-ID:  <202206041201.254C1AZQ093653@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch stable/13 has been updated by dim:

URL: https://cgit.FreeBSD.org/src/commit/?id=67eec5325a1ab99d493fd7e0381d20aab19b286e

commit 67eec5325a1ab99d493fd7e0381d20aab19b286e
Author:     Dimitry Andric <dim@FreeBSD.org>
AuthorDate: 2022-02-05 20:07:43 +0000
Commit:     Dimitry Andric <dim@FreeBSD.org>
CommitDate: 2022-06-04 11:59:26 +0000

    Merge llvm-project main llvmorg-14-init-18294-gdb01b123d012
    
    This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvmorg-14-init-18294-gdb01b123d012, the last commit before
    the upstream release/14.x branch was created.
    
    PR:             261742
    MFC after:      2 weeks
    
    (cherry picked from commit 1fd87a682ad7442327078e1eeb63edc4258f9815)
---
 .../clang/include/clang/AST/ASTContext.h           |  35 +-
 .../include/clang/Analysis/Analyses/Dominators.h   |   2 +-
 .../clang/include/clang/Analysis/CFG.h             |  12 -
 .../Analysis/FlowSensitive/DataflowAnalysis.h      |  15 +-
 .../Analysis/FlowSensitive/DataflowEnvironment.h   |  57 ++-
 .../clang/Analysis/FlowSensitive/MapLattice.h      |   4 +-
 .../FlowSensitive/TypeErasedDataflowAnalysis.h     |   8 +-
 .../clang/include/clang/Basic/AttrDocs.td          |  56 +--
 .../clang/include/clang/Basic/BuiltinsAArch64.def  |   3 +
 .../clang/include/clang/Basic/CodeGenOptions.h     |   5 +
 .../include/clang/Basic/DiagnosticCommonKinds.td   |   7 +
 .../include/clang/Basic/DiagnosticDriverKinds.td   |   8 +-
 .../clang/include/clang/Basic/LangOptions.h        |   4 +
 .../clang/include/clang/Basic/TargetInfo.h         |  19 +-
 .../clang/include/clang/CodeGen/BackendUtil.h      |   3 +
 .../clang/include/clang/Driver/Action.h            |  12 +
 .../clang/include/clang/Driver/Driver.h            |  51 +-
 .../llvm-project/clang/include/clang/Driver/Job.h  |   2 +
 .../clang/include/clang/Driver/Options.td          |  20 +-
 .../clang/include/clang/Driver/ToolChain.h         |  18 +
 .../clang/StaticAnalyzer/Checkers/Checkers.td      |   2 +-
 contrib/llvm-project/clang/lib/AST/ASTContext.cpp  |  37 +-
 .../llvm-project/clang/lib/AST/ExprConstant.cpp    |  17 +-
 .../clang/lib/AST/RecordLayoutBuilder.cpp          |   7 +-
 .../Analysis/FlowSensitive/DataflowEnvironment.cpp |  73 ++-
 .../FlowSensitive/TypeErasedDataflowAnalysis.cpp   |  11 +-
 .../clang/lib/Basic/Targets/AArch64.cpp            |   2 +-
 .../llvm-project/clang/lib/Basic/Targets/AArch64.h |   5 +-
 .../llvm-project/clang/lib/Basic/Targets/ARM.cpp   |  23 +-
 contrib/llvm-project/clang/lib/Basic/Targets/ARM.h |   6 +-
 .../clang/lib/Basic/Targets/WebAssembly.cpp        |   1 +
 .../llvm-project/clang/lib/CodeGen/BackendUtil.cpp |  31 +-
 .../llvm-project/clang/lib/CodeGen/CGBuiltin.cpp   |  12 +
 contrib/llvm-project/clang/lib/CodeGen/CGClass.cpp |   3 +-
 contrib/llvm-project/clang/lib/CodeGen/CGExpr.cpp  |   2 +-
 .../llvm-project/clang/lib/CodeGen/CGExprAgg.cpp   |   4 +-
 .../llvm-project/clang/lib/CodeGen/CGExprCXX.cpp   |   8 +-
 .../clang/lib/CodeGen/CGExprConstant.cpp           |   1 +
 .../clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp       |  16 +-
 contrib/llvm-project/clang/lib/CodeGen/CGStmt.cpp  |   2 +-
 .../clang/lib/CodeGen/CGStmtOpenMP.cpp             |  55 ++
 .../clang/lib/CodeGen/CodeGenAction.cpp            |   1 +
 .../clang/lib/CodeGen/CodeGenFunction.h            |   1 +
 .../clang/lib/CodeGen/CodeGenModule.cpp            |   9 +-
 .../llvm-project/clang/lib/CodeGen/CodeGenModule.h |   7 -
 .../llvm-project/clang/lib/CodeGen/TargetInfo.cpp  |  59 ++-
 contrib/llvm-project/clang/lib/Driver/Action.cpp   |   8 +
 contrib/llvm-project/clang/lib/Driver/Driver.cpp   | 264 +++++++---
 .../llvm-project/clang/lib/Driver/ToolChain.cpp    |  12 +-
 .../clang/lib/Driver/ToolChains/AMDGPUOpenMP.cpp   |   4 +
 .../clang/lib/Driver/ToolChains/AVR.cpp            |   5 +
 .../clang/lib/Driver/ToolChains/Clang.cpp          | 159 +++++-
 .../clang/lib/Driver/ToolChains/Clang.h            |  15 +
 .../clang/lib/Driver/ToolChains/CommonArgs.cpp     |  27 +-
 .../clang/lib/Driver/ToolChains/CommonArgs.h       |   3 +
 .../clang/lib/Driver/ToolChains/Cuda.cpp           |   4 +
 .../clang/lib/Driver/ToolChains/XCore.cpp          |   4 +
 .../clang/lib/Format/BreakableToken.cpp            |  35 +-
 .../clang/lib/Format/ContinuationIndenter.cpp      |  12 +-
 contrib/llvm-project/clang/lib/Format/Format.cpp   |  57 ++-
 .../llvm-project/clang/lib/Format/FormatToken.h    |  28 ++
 .../clang/lib/Format/NamespaceEndCommentsFixer.cpp |   4 +-
 .../clang/lib/Format/SortJavaScriptImports.cpp     |   7 +-
 .../clang/lib/Format/TokenAnalyzer.cpp             |  10 +-
 .../llvm-project/clang/lib/Format/TokenAnnotator.h |   5 +-
 .../clang/lib/Format/UnwrappedLineFormatter.cpp    |  25 +-
 .../clang/lib/Format/UnwrappedLineParser.cpp       |  21 +-
 .../clang/lib/Format/UsingDeclarationsSorter.cpp   |  10 +-
 .../clang/lib/Format/WhitespaceManager.cpp         |  31 +-
 .../clang/lib/Frontend/CompilerInvocation.cpp      |   4 +
 .../clang/lib/Frontend/InitPreprocessor.cpp        |   8 +
 contrib/llvm-project/clang/lib/Headers/arm_acle.h  |   6 +
 contrib/llvm-project/clang/lib/Headers/float.h     |  21 +-
 contrib/llvm-project/clang/lib/Headers/limits.h    |   2 +
 .../llvm-project/clang/lib/Headers/opencl-c-base.h |   6 +
 contrib/llvm-project/clang/lib/Headers/opencl-c.h  |  86 ++--
 contrib/llvm-project/clang/lib/Lex/Lexer.cpp       |   5 +-
 .../llvm-project/clang/lib/Sema/OpenCLBuiltins.td  |  14 +-
 contrib/llvm-project/clang/lib/Sema/Sema.cpp       |  57 ++-
 contrib/llvm-project/clang/lib/Sema/SemaCUDA.cpp   |   2 +
 .../llvm-project/clang/lib/Sema/SemaChecking.cpp   |   2 +-
 .../llvm-project/clang/lib/Sema/SemaCoroutine.cpp  |  12 +-
 contrib/llvm-project/clang/lib/Sema/SemaDecl.cpp   |  13 +-
 .../llvm-project/clang/lib/Sema/SemaDeclAttr.cpp   |   3 +-
 contrib/llvm-project/clang/lib/Sema/SemaExpr.cpp   |  23 +-
 .../llvm-project/clang/lib/Sema/SemaExprCXX.cpp    |   7 +-
 contrib/llvm-project/clang/lib/Sema/SemaOpenMP.cpp |  19 +-
 .../llvm-project/clang/lib/Sema/SemaOverload.cpp   |   7 +-
 .../clang/lib/Sema/SemaTemplateInstantiate.cpp     |   3 +
 contrib/llvm-project/clang/lib/Sema/SemaType.cpp   |   7 +-
 .../llvm-project/clang/lib/Sema/TreeTransform.h    |   2 +
 .../compiler-rt/include/profile/InstrProfData.inc  |   4 +
 .../compiler-rt/include/profile/MemProfData.inc    |  99 +++-
 .../include/sanitizer/common_interface_defs.h      |   9 +
 .../compiler-rt/lib/builtins/floatsisf.c           |   4 +-
 .../compiler-rt/lib/builtins/floatsitf.c           |   8 +-
 .../compiler-rt/lib/builtins/floatunsisf.c         |   4 +-
 .../compiler-rt/lib/builtins/floatunsitf.c         |   4 +-
 .../compiler-rt/lib/builtins/fp_extend.h           |   4 +-
 .../compiler-rt/lib/builtins/udivmoddi4.c          |   4 +-
 .../lib/hwasan/hwasan_memintrinsics.cpp            |   2 +-
 .../lib/interception/interception_win.cpp          |   2 +
 .../compiler-rt/lib/memprof/memprof_allocator.cpp  |  40 +-
 .../compiler-rt/lib/memprof/memprof_meminfoblock.h | 116 -----
 .../compiler-rt/lib/memprof/memprof_mibmap.cpp     |   2 +
 .../compiler-rt/lib/memprof/memprof_mibmap.h       |   9 +-
 .../compiler-rt/lib/memprof/memprof_rawprofile.cpp |   9 +-
 .../compiler-rt/lib/memprof/tests/rawprofile.cpp   |  50 +-
 .../compiler-rt/lib/msan/msan_interceptors.cpp     |   8 +-
 .../compiler-rt/lib/profile/InstrProfiling.c       |   4 +-
 .../compiler-rt/lib/profile/InstrProfilingBuffer.c |   2 +
 .../compiler-rt/lib/profile/InstrProfilingMerge.c  |  10 +-
 .../lib/sanitizer_common/sanitizer_atomic_clang.h  |  13 +-
 .../lib/tsan/rtl/tsan_interceptors_posix.cpp       |   6 +-
 .../libcxx/include/__algorithm/in_in_out_result.h  |  48 ++
 .../libcxx/include/__algorithm/in_in_result.h      |   4 +-
 .../libcxx/include/__algorithm/in_out_result.h     |   4 +-
 .../__compare/compare_partial_order_fallback.h     |  73 +++
 .../__compare/compare_strong_order_fallback.h      |  70 +++
 .../__compare/compare_weak_order_fallback.h        |  70 +++
 .../libcxx/include/__concepts/swappable.h          |  15 +-
 contrib/llvm-project/libcxx/include/__config       |  15 +-
 .../include/__filesystem/directory_iterator.h      |   2 +-
 .../__filesystem/recursive_directory_iterator.h    |   2 +-
 .../libcxx/include/__format/format_arg.h           |   7 +-
 .../libcxx/include/__format/format_context.h       |   8 +-
 .../libcxx/include/__functional/function.h         |   2 +-
 .../include/__functional/ranges_operations.h       |   4 +-
 .../libcxx/include/__iterator/advance.h            |   4 +-
 .../libcxx/include/__iterator/common_iterator.h    |   4 +-
 .../libcxx/include/__iterator/concepts.h           |   4 +-
 .../libcxx/include/__iterator/counted_iterator.h   |   4 +-
 .../libcxx/include/__iterator/default_sentinel.h   |   4 +-
 .../libcxx/include/__iterator/distance.h           |  56 +++
 .../include/__iterator/incrementable_traits.h      |   4 +-
 .../include/__iterator/indirectly_comparable.h     |   4 +-
 .../libcxx/include/__iterator/insert_iterator.h    |   2 +-
 .../libcxx/include/__iterator/iter_move.h          |  29 +-
 .../libcxx/include/__iterator/iter_swap.h          |  17 +-
 .../libcxx/include/__iterator/iterator_traits.h    |  12 +-
 .../llvm-project/libcxx/include/__iterator/next.h  |   4 +-
 .../llvm-project/libcxx/include/__iterator/prev.h  |   4 +-
 .../libcxx/include/__iterator/projected.h          |   4 +-
 .../libcxx/include/__iterator/readable_traits.h    |   4 +-
 .../include/__iterator/unreachable_sentinel.h      |   4 +-
 contrib/llvm-project/libcxx/include/__locale       |   8 +-
 .../libcxx/include/__memory/concepts.h             |   4 +-
 .../libcxx/include/__memory/ranges_construct_at.h  |   4 +-
 .../__memory/ranges_uninitialized_algorithms.h     |   4 +-
 .../llvm-project/libcxx/include/__ranges/access.h  |  12 +-
 contrib/llvm-project/libcxx/include/__ranges/all.h |   6 +-
 .../libcxx/include/__ranges/common_view.h          |   8 +-
 .../libcxx/include/__ranges/concepts.h             |   4 +-
 .../libcxx/include/__ranges/copyable_box.h         |   4 +-
 .../llvm-project/libcxx/include/__ranges/counted.h |   4 +-
 .../libcxx/include/__ranges/dangling.h             |   4 +-
 .../llvm-project/libcxx/include/__ranges/data.h    |   8 +-
 .../libcxx/include/__ranges/drop_view.h            |   4 +-
 .../llvm-project/libcxx/include/__ranges/empty.h   |   6 +-
 .../libcxx/include/__ranges/empty_view.h           |   4 +-
 .../include/__ranges/enable_borrowed_range.h       |   4 +-
 .../libcxx/include/__ranges/enable_view.h          |   6 +-
 .../libcxx/include/__ranges/iota_view.h            |   6 +-
 .../libcxx/include/__ranges/join_view.h            |   4 +-
 .../include/__ranges/non_propagating_cache.h       |   4 +-
 .../libcxx/include/__ranges/owning_view.h          |   4 +-
 .../libcxx/include/__ranges/range_adaptor.h        |   4 +-
 .../libcxx/include/__ranges/ref_view.h             |   4 +-
 .../libcxx/include/__ranges/reverse_view.h         |   8 +-
 .../libcxx/include/__ranges/single_view.h          |   4 +-
 .../llvm-project/libcxx/include/__ranges/size.h    |  10 +-
 .../libcxx/include/__ranges/subrange.h             |   6 +-
 .../libcxx/include/__ranges/take_view.h            |   4 +-
 .../libcxx/include/__ranges/transform_view.h       |   9 +-
 .../libcxx/include/__ranges/view_interface.h       |   6 +-
 contrib/llvm-project/libcxx/include/algorithm      |   6 +-
 contrib/llvm-project/libcxx/include/atomic         |   3 +
 contrib/llvm-project/libcxx/include/compare        |  14 +-
 contrib/llvm-project/libcxx/include/cstddef        |   3 +-
 .../llvm-project/libcxx/include/module.modulemap   |  24 +-
 contrib/llvm-project/libcxx/include/ranges         |   4 +-
 contrib/llvm-project/libcxx/include/span           |  18 +-
 contrib/llvm-project/libcxx/include/string_view    |  12 +-
 contrib/llvm-project/libcxx/include/variant        |   2 +-
 .../libcxx/src/filesystem/operations.cpp           | 107 +++-
 .../libunwind/include/__libunwind_config.h         |   2 +-
 .../libunwind/src/UnwindRegistersRestore.S         |   2 +-
 .../libunwind/src/UnwindRegistersSave.S            |   2 +-
 contrib/llvm-project/libunwind/src/assembly.h      |   2 +-
 contrib/llvm-project/libunwind/src/config.h        |   2 +-
 contrib/llvm-project/libunwind/src/libunwind.cpp   |   2 +-
 contrib/llvm-project/lld/Common/ErrorHandler.cpp   |   7 +
 contrib/llvm-project/lld/ELF/Arch/AArch64.cpp      |  50 ++
 contrib/llvm-project/lld/ELF/Config.h              |   7 +-
 contrib/llvm-project/lld/ELF/Driver.cpp            |  59 +--
 contrib/llvm-project/lld/ELF/Driver.h              |   2 +-
 contrib/llvm-project/lld/ELF/ICF.cpp               |   2 +-
 contrib/llvm-project/lld/ELF/InputFiles.cpp        |  67 ++-
 contrib/llvm-project/lld/ELF/InputFiles.h          |  35 +-
 contrib/llvm-project/lld/ELF/InputSection.cpp      |  73 ++-
 contrib/llvm-project/lld/ELF/InputSection.h        |  21 +-
 contrib/llvm-project/lld/ELF/LTO.cpp               |   2 +-
 contrib/llvm-project/lld/ELF/LinkerScript.cpp      |  16 +-
 contrib/llvm-project/lld/ELF/LinkerScript.h        |   2 +-
 contrib/llvm-project/lld/ELF/MarkLive.cpp          |   6 +-
 contrib/llvm-project/lld/ELF/OutputSections.cpp    |  38 +-
 contrib/llvm-project/lld/ELF/SyntheticSections.cpp | 138 ++---
 contrib/llvm-project/lld/ELF/SyntheticSections.h   |  35 +-
 contrib/llvm-project/lld/ELF/Target.cpp            |  17 +-
 contrib/llvm-project/lld/ELF/Target.h              |  23 +
 contrib/llvm-project/lld/ELF/Writer.cpp            |  52 +-
 contrib/llvm-project/lld/MachO/Driver.cpp          |   6 +
 contrib/llvm-project/lld/MachO/Driver.h            |   5 +-
 contrib/llvm-project/lld/MachO/InputFiles.h        |   9 +-
 contrib/llvm-project/lld/MachO/MapFile.cpp         |  59 ++-
 contrib/llvm-project/lld/MachO/Options.td          |   4 +
 contrib/llvm-project/lld/MachO/OutputSection.h     |  18 +-
 contrib/llvm-project/lld/MachO/SyntheticSections.h |   2 +
 .../llvm-project/lld/MachO/UnwindInfoSection.cpp   |   2 +-
 contrib/llvm-project/lld/MachO/Writer.cpp          |  11 +-
 contrib/llvm-project/lld/docs/ReleaseNotes.rst     |  21 +-
 contrib/llvm-project/lld/docs/conf.py              |   9 -
 .../lldb/bindings/interface/SBThread.i             |   2 +-
 .../llvm-project/lldb/docs/design/reproducers.rst  | 205 --------
 .../lldb/include/lldb/API/SBPlatform.h             |   1 -
 .../llvm-project/lldb/include/lldb/API/SBTarget.h  |   1 -
 .../llvm-project/lldb/include/lldb/API/SBThread.h  |   2 +-
 .../llvm-project/lldb/include/lldb/API/SBType.h    |   1 -
 .../llvm-project/lldb/include/lldb/Target/Target.h |   5 +-
 .../llvm-project/lldb/include/lldb/Target/Thread.h |  10 +-
 contrib/llvm-project/lldb/source/API/SBThread.cpp  |  48 +-
 .../Disassembler/LLVMC/DisassemblerLLVMC.cpp       |  16 +-
 .../ExpressionParser/Clang/ClangFunctionCaller.h   |   1 -
 .../ExpressionParser/Clang/ClangUserExpression.h   |   2 +
 .../Process/gdb-remote/GDBRemoteClientBase.cpp     |  14 +-
 .../Process/gdb-remote/GDBRemoteCommunication.cpp  |  16 +-
 .../gdb-remote/GDBRemoteCommunicationClient.cpp    |  31 +-
 .../gdb-remote/GDBRemoteCommunicationServer.cpp    |   2 +-
 .../gdb-remote/GDBRemoteRegisterContext.cpp        |  12 +-
 .../Process/gdb-remote/ProcessGDBRemote.cpp        |  76 ++-
 .../Process/gdb-remote/ProcessGDBRemoteLog.h       |  19 -
 .../Plugins/Process/gdb-remote/ThreadGDBRemote.h   |   6 +-
 .../Plugins/SymbolFile/DWARF/AppleDWARFIndex.cpp   |   3 +-
 .../SymbolFile/DWARF/DWARFASTParserClang.cpp       | 155 +-----
 .../SymbolFile/DWARF/DWARFDebugArangeSet.cpp       |   2 +-
 .../Plugins/SymbolFile/DWARF/DWARFDebugAranges.cpp |   2 +-
 .../SymbolFile/DWARF/DebugNamesDWARFIndex.cpp      |   2 +-
 .../Plugins/SymbolFile/DWARF/LogChannelDWARF.h     |   8 -
 .../Plugins/SymbolFile/DWARF/ManualDWARFIndex.cpp  |   2 +-
 .../Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp   |  32 +-
 .../SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp   |   4 +-
 .../Plugins/TypeSystem/Clang/TypeSystemClang.cpp   |  32 +-
 contrib/llvm-project/lldb/source/Target/Target.cpp |  12 +-
 contrib/llvm-project/lldb/source/Target/Thread.cpp |  24 +
 contrib/llvm-project/llvm/include/llvm-c/Core.h    |   1 +
 .../llvm-project/llvm/include/llvm-c/DebugInfo.h   |   2 +-
 .../llvm/include/llvm/ADT/APFixedPoint.h           |   4 +-
 .../llvm-project/llvm/include/llvm/ADT/APFloat.h   |   1 -
 .../llvm-project/llvm/include/llvm/ADT/APSInt.h    |   9 +-
 contrib/llvm-project/llvm/include/llvm/ADT/Any.h   |  11 +-
 .../llvm-project/llvm/include/llvm/ADT/BitVector.h |   7 +-
 .../llvm/include/llvm/ADT/BreadthFirstIterator.h   |  15 +-
 .../llvm/include/llvm/ADT/CachedHashString.h       |  19 +-
 .../llvm/include/llvm/ADT/CoalescingBitVector.h    |   3 +-
 .../llvm-project/llvm/include/llvm/ADT/DenseMap.h  |   7 +-
 .../llvm/include/llvm/ADT/DenseMapInfo.h           |   7 +-
 .../llvm-project/llvm/include/llvm/ADT/DenseSet.h  |   7 +-
 .../llvm/include/llvm/ADT/DepthFirstIterator.h     |  46 +-
 .../llvm/include/llvm/ADT/DirectedGraph.h          |   9 +-
 .../llvm/include/llvm/ADT/EnumeratedArray.h        |   8 +-
 .../llvm/include/llvm/ADT/EpochTracker.h           |  11 +-
 .../llvm/include/llvm/ADT/EquivalenceClasses.h     |   9 +-
 .../llvm/include/llvm/ADT/FloatingPointMode.h      |   7 +-
 .../llvm/include/llvm/ADT/FoldingSet.h             |  11 +-
 .../llvm/include/llvm/ADT/GenericCycleImpl.h       |  27 +-
 .../llvm/include/llvm/ADT/GenericCycleInfo.h       |   4 +-
 .../llvm/include/llvm/ADT/GraphTraits.h            |  16 +-
 .../llvm/include/llvm/ADT/ImmutableList.h          |   7 +-
 .../llvm/include/llvm/ADT/ImmutableMap.h           |   7 +-
 .../llvm/include/llvm/ADT/ImmutableSet.h           |   7 +-
 .../llvm/include/llvm/ADT/IndexedMap.h             |  19 +-
 .../llvm/include/llvm/ADT/IntEqClasses.h           |  21 +-
 .../llvm/include/llvm/ADT/IntervalMap.h            |  49 +-
 .../llvm/include/llvm/ADT/IntrusiveRefCntPtr.h     |  95 ++--
 .../llvm-project/llvm/include/llvm/ADT/MapVector.h |  13 +-
 contrib/llvm-project/llvm/include/llvm/ADT/None.h  |  11 +-
 .../llvm-project/llvm/include/llvm/ADT/Optional.h  |  13 +-
 .../llvm/include/llvm/ADT/PackedVector.h           |   7 +-
 .../llvm/include/llvm/ADT/PointerIntPair.h         |   7 +-
 .../llvm/include/llvm/ADT/PointerUnion.h           |   9 +-
 .../llvm/include/llvm/ADT/PostOrderIterator.h      |  11 +-
 .../llvm/include/llvm/ADT/PriorityQueue.h          |   7 +-
 .../llvm/include/llvm/ADT/STLArrayExtras.h         |  35 ++
 .../llvm-project/llvm/include/llvm/ADT/STLExtras.h |  28 +-
 .../llvm/include/llvm/ADT/STLForwardCompat.h       |  13 +-
 .../llvm-project/llvm/include/llvm/ADT/ScopeExit.h |   9 +-
 .../llvm/include/llvm/ADT/SetOperations.h          |   9 +-
 .../llvm-project/llvm/include/llvm/ADT/SetVector.h |  19 +-
 .../llvm/include/llvm/ADT/SmallBitVector.h         |   7 +-
 .../llvm/include/llvm/ADT/SmallPtrSet.h            |   7 +-
 .../llvm-project/llvm/include/llvm/ADT/SmallSet.h  |   7 +-
 .../llvm/include/llvm/ADT/SmallString.h            |   7 +-
 .../llvm/include/llvm/ADT/SmallVector.h            |  39 +-
 .../llvm/include/llvm/ADT/SparseBitVector.h        |   9 +-
 .../llvm/include/llvm/ADT/SparseMultiSet.h         |  21 +-
 .../llvm-project/llvm/include/llvm/ADT/SparseSet.h |  19 +-
 .../llvm-project/llvm/include/llvm/ADT/Statistic.h |  31 +-
 .../llvm/include/llvm/ADT/StringExtras.h           |  12 +-
 .../llvm-project/llvm/include/llvm/ADT/StringMap.h |   7 +-
 .../llvm/include/llvm/ADT/StringMapEntry.h         |  11 +-
 .../llvm-project/llvm/include/llvm/ADT/StringSet.h |   7 +-
 .../llvm/include/llvm/ADT/StringSwitch.h           |   9 +-
 .../llvm-project/llvm/include/llvm/ADT/Triple.h    |  35 ++
 .../llvm/include/llvm/ADT/TypeSwitch.h             |   9 +-
 .../llvm/include/llvm/ADT/Waymarking.h             | 322 ------------
 contrib/llvm-project/llvm/include/llvm/ADT/bit.h   |   7 +-
 .../llvm/include/llvm/ADT/edit_distance.h          |  11 +-
 contrib/llvm-project/llvm/include/llvm/ADT/ilist.h |  27 +-
 .../llvm/include/llvm/ADT/ilist_node.h             |   9 +-
 .../include/llvm/Analysis/AliasAnalysisEvaluator.h |   1 +
 .../llvm/include/llvm/Analysis/CycleAnalysis.h     |   1 +
 .../llvm-project/llvm/include/llvm/Analysis/DDG.h  |  24 +-
 .../include/llvm/Analysis/DependenceAnalysis.h     |   2 +-
 .../include/llvm/Analysis/DependenceGraphBuilder.h |   2 +-
 .../include/llvm/Analysis/IRSimilarityIdentifier.h |  45 +-
 .../include/llvm/Analysis/IndirectCallVisitor.h    |   2 +-
 .../llvm/include/llvm/Analysis/InlineOrder.h       |   2 +-
 .../llvm/include/llvm/Analysis/LazyCallGraph.h     |   2 +-
 .../llvm/include/llvm/Analysis/LazyValueInfo.h     |   2 +-
 .../llvm/include/llvm/Analysis/Loads.h             |   3 +-
 .../llvm/include/llvm/Analysis/LoopInfo.h          |  10 +-
 .../llvm/include/llvm/Analysis/MLInlineAdvisor.h   |   1 +
 .../llvm/Analysis/MemoryDependenceAnalysis.h       |   1 +
 .../llvm/include/llvm/Analysis/MustExecute.h       |   6 +-
 .../llvm/include/llvm/Analysis/ObjCARCUtil.h       |   2 +-
 .../llvm/include/llvm/Analysis/ScalarEvolution.h   |   6 +-
 .../llvm/include/llvm/Analysis/SparsePropagation.h |   1 +
 .../llvm/include/llvm/Analysis/TargetLibraryInfo.h |  11 +-
 .../include/llvm/Analysis/TargetTransformInfo.h    |   2 +-
 .../llvm/Analysis/TargetTransformInfoImpl.h        |   3 +-
 .../llvm/include/llvm/BinaryFormat/ELF.h           |   3 +-
 .../include/llvm/BinaryFormat/MsgPackDocument.h    |   4 +-
 .../llvm/include/llvm/BinaryFormat/Swift.def       |  26 +
 .../llvm/include/llvm/BinaryFormat/Swift.h         |  24 +
 .../llvm/include/llvm/Bitcode/BitcodeWriter.h      |   6 +-
 .../llvm/include/llvm/Bitstream/BitstreamReader.h  |   3 +-
 .../llvm-project/llvm/include/llvm/CodeGen/DIE.h   |   4 +-
 .../llvm/include/llvm/CodeGen/FastISel.h           |   4 +-
 .../include/llvm/CodeGen/GlobalISel/CallLowering.h |   2 +-
 .../llvm/CodeGen/GlobalISel/GISelChangeObserver.h  |   2 +-
 .../llvm/CodeGen/GlobalISel/LegacyLegalizerInfo.h  |   2 +-
 .../llvm/CodeGen/GlobalISel/LegalizerInfo.h        |  37 +-
 .../llvm/include/llvm/CodeGen/IntrinsicLowering.h  |   4 +-
 .../llvm/include/llvm/CodeGen/LoopTraversal.h      |   2 +-
 .../llvm/include/llvm/CodeGen/MIRFormatter.h       |   2 +-
 .../llvm/include/llvm/CodeGen/MIRYamlMapping.h     |   4 +-
 .../llvm/include/llvm/CodeGen/MachineFrameInfo.h   |  11 +-
 .../llvm/CodeGen/MachineModuleSlotTracker.h        |   2 +-
 .../llvm/include/llvm/CodeGen/MachineOperand.h     |   4 +-
 .../llvm/include/llvm/CodeGen/MachineOutliner.h    |   4 +-
 .../include/llvm/CodeGen/MachineRegisterInfo.h     |   2 +-
 .../llvm/include/llvm/CodeGen/ReplaceWithVeclib.h  |   1 +
 .../llvm/include/llvm/CodeGen/SelectionDAGISel.h   |   6 +-
 .../llvm/include/llvm/CodeGen/SelectionDAGNodes.h  |   6 +-
 .../llvm/include/llvm/CodeGen/SlotIndexes.h        |   2 +-
 .../include/llvm/CodeGen/SwitchLoweringUtils.h     |   8 +-
 .../llvm/include/llvm/CodeGen/TargetCallingConv.h  |   7 +-
 .../llvm/include/llvm/CodeGen/TargetLowering.h     |  12 +-
 .../llvm/include/llvm/CodeGen/VirtRegMap.h         |  11 +-
 .../llvm/include/llvm/DWARFLinker/DWARFStreamer.h  |   8 +-
 .../include/llvm/DebugInfo/DWARF/DWARFDebugFrame.h |   2 +-
 .../llvm/include/llvm/DebugInfo/GSYM/StringTable.h |   2 +-
 .../include/llvm/DebugInfo/Symbolize/DIPrinter.h   |   4 +-
 .../llvm/include/llvm/Demangle/ItaniumDemangle.h   |  12 +-
 .../llvm/include/llvm/Demangle/README.txt          |  71 +--
 .../llvm/include/llvm/Demangle/StringView.h        |   9 +-
 .../llvm/include/llvm/Demangle/Utility.h           |  11 +-
 .../include/llvm/ExecutionEngine/JITLink/JITLink.h |   2 +-
 .../llvm/include/llvm/ExecutionEngine/Orc/Core.h   |   2 +-
 .../ExecutionEngine/Orc/DebuggerSupportPlugin.h    |   2 +-
 .../ExecutionEngine/Orc/EPCDebugObjectRegistrar.h  |   2 +-
 .../llvm/ExecutionEngine/Orc/TaskDispatch.h        |   2 +-
 .../include/llvm/Frontend/OpenMP/OMPConstants.h    |   3 +
 .../include/llvm/Frontend/OpenMP/OMPIRBuilder.h    |  62 ++-
 .../llvm/include/llvm/Frontend/OpenMP/OMPKinds.def |   7 +
 .../llvm/include/llvm/IR/AbstractCallSite.h        |   4 +-
 .../llvm-project/llvm/include/llvm/IR/Attributes.h |   1 -
 contrib/llvm-project/llvm/include/llvm/IR/CFG.h    |   2 +-
 .../llvm-project/llvm/include/llvm/IR/DIBuilder.h  |   1 -
 .../llvm/include/llvm/IR/DebugInfoMetadata.h       |   1 -
 .../llvm/include/llvm/IR/DiagnosticInfo.h          |  16 +-
 .../llvm-project/llvm/include/llvm/IR/Dominators.h |  13 +-
 .../llvm-project/llvm/include/llvm/IR/IRBuilder.h  |   5 +-
 .../llvm/include/llvm/IR/IRPrintingPasses.h        |   5 +
 .../llvm-project/llvm/include/llvm/IR/InstrTypes.h |   9 +-
 .../llvm/include/llvm/IR/Instruction.h             |   2 -
 .../llvm/include/llvm/IR/Instructions.h            |   3 -
 .../llvm/include/llvm/IR/IntrinsicInst.h           |  11 +
 .../llvm/include/llvm/IR/Intrinsics.td             |   4 +
 .../llvm/include/llvm/IR/IntrinsicsAArch64.td      |   8 +
 .../llvm/include/llvm/IR/LLVMContext.h             |   1 -
 .../llvm/include/llvm/IR/LLVMRemarkStreamer.h      |  12 +-
 .../llvm/include/llvm/IR/LegacyPassManager.h       |   2 +-
 .../llvm-project/llvm/include/llvm/IR/MDBuilder.h  |   2 +-
 .../llvm-project/llvm/include/llvm/IR/Metadata.h   |  23 +-
 .../llvm/include/llvm/IR/ModuleSummaryIndex.h      |   1 -
 .../llvm/include/llvm/IR/PassInstrumentation.h     |   2 +-
 .../llvm/include/llvm/IR/PassManager.h             |   5 +-
 .../llvm/include/llvm/IR/PassManagerImpl.h         |   2 +-
 .../llvm/include/llvm/IR/PassTimingInfo.h          |   2 -
 .../llvm/include/llvm/IR/ReplaceConstant.h         |   7 +-
 .../llvm-project/llvm/include/llvm/IR/SSAContext.h |   5 +-
 .../llvm/include/llvm/IR/SafepointIRVerifier.h     |   2 +-
 .../llvm-project/llvm/include/llvm/IR/Statepoint.h |  20 +-
 contrib/llvm-project/llvm/include/llvm/IR/Type.h   |   2 +-
 contrib/llvm-project/llvm/include/llvm/IR/Use.h    |   1 -
 .../llvm/include/llvm/InterfaceStub/IFSStub.h      |   4 +-
 .../llvm/include/llvm/LineEditor/LineEditor.h      |   2 +-
 .../llvm-project/llvm/include/llvm/MC/MCContext.h  |  10 +-
 .../llvm/include/llvm/MC/MCObjectFileInfo.h        |  14 +
 .../llvm/include/llvm/MC/MCPseudoProbe.h           |   2 +-
 .../llvm/include/llvm/MCA/CustomBehaviour.h        |   2 +-
 .../llvm/include/llvm/MCA/HWEventListener.h        |   2 +-
 .../llvm/MCA/HardwareUnits/ResourceManager.h       |   2 +-
 .../llvm/include/llvm/Object/Archive.h             |   2 +-
 .../llvm/include/llvm/Object/ELFTypes.h            |   2 +-
 .../llvm-project/llvm/include/llvm/Object/MachO.h  |   4 +
 .../llvm/include/llvm/Object/ObjectFile.h          |   6 +
 .../include/llvm/Passes/StandardInstrumentations.h |   2 +-
 .../llvm/include/llvm/ProfileData/InstrProf.h      |  19 +-
 .../include/llvm/ProfileData/InstrProfCorrelator.h |   2 +-
 .../include/llvm/ProfileData/InstrProfData.inc     |   4 +
 .../include/llvm/ProfileData/InstrProfReader.h     |  79 ++-
 .../include/llvm/ProfileData/InstrProfWriter.h     |  51 +-
 .../llvm/include/llvm/ProfileData/MemProfData.inc  |  99 +++-
 .../llvm/Remarks/BitstreamRemarkSerializer.h       |   3 +-
 .../llvm/include/llvm/Remarks/RemarkLinker.h       |   6 +-
 .../llvm/include/llvm/Remarks/RemarkParser.h       |   6 +-
 .../llvm/include/llvm/Remarks/RemarkSerializer.h   |   6 +-
 .../llvm/include/llvm/Remarks/RemarkStreamer.h     |   4 +-
 .../include/llvm/Support/AArch64TargetParser.def   |   3 +
 .../llvm/include/llvm/Support/AMDGPUMetadata.h     |   5 +
 .../llvm/include/llvm/Support/ARMTargetParser.def  |   2 +
 .../llvm/include/llvm/Support/BinaryStreamReader.h |  11 +-
 .../llvm/include/llvm/Support/BinaryStreamWriter.h |  11 +-
 .../llvm/include/llvm/Support/CommandLine.h        |   2 +-
 .../llvm/include/llvm/Support/Compiler.h           |  21 +-
 .../llvm/include/llvm/Support/FileOutputBuffer.h   |   2 +-
 .../include/llvm/Support/FormatVariadicDetails.h   |   2 +-
 .../llvm/include/llvm/Support/GenericDomTree.h     |   2 +-
 .../Support/GenericIteratedDominanceFrontier.h     |   2 +-
 .../llvm/include/llvm/Support/KnownBits.h          |   2 +-
 .../llvm/include/llvm/Support/RISCVISAInfo.h       |   3 +
 .../llvm/include/llvm/Support/ScopedPrinter.h      |   8 +-
 .../llvm/include/llvm/Support/SuffixTree.h         |   2 +-
 .../llvm-project/llvm/include/llvm/Support/Timer.h |   2 +-
 .../llvm/include/llvm/TableGen/Record.h            |   2 +-
 .../AggressiveInstCombine/AggressiveInstCombine.h  |   1 +
 .../include/llvm/Transforms/IPO/AlwaysInliner.h    |   1 +
 .../llvm/Transforms/IPO/ArgumentPromotion.h        |   8 -
 .../llvm/include/llvm/Transforms/IPO/Attributor.h  | 168 +++++--
 .../llvm/Transforms/IPO/ForceFunctionAttrs.h       |   1 +
 .../llvm/include/llvm/Transforms/IPO/IROutliner.h  |  12 +-
 .../llvm/Transforms/IPO/InferFunctionAttrs.h       |   1 +
 .../include/llvm/Transforms/IPO/SampleProfile.h    |   1 +
 .../llvm/Transforms/IPO/SampleProfileProbe.h       |   2 +-
 .../llvm/Transforms/InstCombine/InstCombiner.h     |   2 +-
 .../Transforms/Instrumentation/AddressSanitizer.h  |   1 +
 .../Instrumentation/AddressSanitizerCommon.h       |   4 +-
 .../Transforms/Instrumentation/BoundsChecking.h    |   1 +
 .../Instrumentation/HWAddressSanitizer.h           |   1 +
 .../Transforms/Instrumentation/InstrProfiling.h    |  15 +-
 .../llvm/Transforms/Instrumentation/MemProfiler.h  |   1 +
 .../llvm/Transforms/Scalar/LoopPassManager.h       |   2 +-
 .../Transforms/Scalar/LowerConstantIntrinsics.h    |   2 +-
 .../include/llvm/Transforms/Scalar/Scalarizer.h    |   1 +
 .../llvm/Transforms/Scalar/WarnMissedTransforms.h  |   3 +-
 .../llvm/Transforms/Utils/AssumeBundleBuilder.h    |   1 +
 .../llvm/Transforms/Utils/BasicBlockUtils.h        |   6 +-
 .../llvm/Transforms/Utils/CallGraphUpdater.h       |   2 +-
 .../llvm/include/llvm/Transforms/Utils/Debugify.h  |   1 +
 .../llvm/Transforms/Utils/InjectTLIMappings.h      |   1 +
 .../llvm/include/llvm/Transforms/Utils/LoopPeel.h  |   2 +-
 .../include/llvm/Transforms/Utils/ModuleUtils.h    |   5 +
 .../include/llvm/Transforms/Utils/SSAUpdaterBulk.h |   6 +-
 .../Transforms/Vectorize/LoadStoreVectorizer.h     |   1 +
 .../llvm/include/llvm/module.modulemap             |   1 +
 .../llvm/lib/Analysis/BasicAliasAnalysis.cpp       |  11 +-
 .../llvm/lib/Analysis/IRSimilarityIdentifier.cpp   |  31 +-
 .../llvm/lib/Analysis/InstructionSimplify.cpp      |   6 +-
 contrib/llvm-project/llvm/lib/Analysis/Loads.cpp   |   4 +-
 .../llvm-project/llvm/lib/Analysis/LoopInfo.cpp    |   4 +
 .../llvm/lib/Analysis/MemDerefPrinter.cpp          |   8 +-
 .../llvm/lib/Analysis/ScalarEvolution.cpp          |  41 +-
 .../llvm/lib/Analysis/TypeBasedAliasAnalysis.cpp   |  33 ++
 .../llvm/lib/Analysis/ValueTracking.cpp            |   4 +-
 .../lib/BinaryFormat/AMDGPUMetadataVerifier.cpp    |  13 +
 .../llvm/lib/Bitcode/Writer/BitcodeWriter.cpp      |   6 +-
 contrib/llvm-project/llvm/lib/CodeGen/Analysis.cpp |   2 +-
 .../llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp     |  12 +-
 .../llvm/lib/CodeGen/AsmPrinter/DIE.cpp            |   3 +-
 .../lib/CodeGen/AsmPrinter/DwarfCFIException.cpp   |   6 +-
 .../llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp     |  12 +-
 .../llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h       |   3 -
 .../llvm/lib/CodeGen/AsmPrinter/DwarfException.h   |  10 +-
 .../lib/CodeGen/AsmPrinter/DwarfExpression.cpp     |   8 +
 .../llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp      |  25 +-
 .../llvm/lib/CodeGen/AsmPrinter/DwarfUnit.h        |   2 +-
 .../llvm/lib/CodeGen/CodeGenPrepare.cpp            |   4 +-
 .../llvm/lib/CodeGen/EarlyIfConversion.cpp         |   7 +-
 .../llvm-project/llvm/lib/CodeGen/ExpandMemCmp.cpp |   7 +-
 .../lib/CodeGen/GlobalISel/LegacyLegalizerInfo.cpp |   2 +-
 .../llvm-project/llvm/lib/CodeGen/IfConversion.cpp |   4 +-
 .../lib/CodeGen/InterleavedLoadCombinePass.cpp     |   9 +-
 .../CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp  | 351 +++++++------
 .../CodeGen/LiveDebugValues/InstrRefBasedImpl.h    |  41 +-
 .../CodeGen/LiveDebugValues/VarLocBasedImpl.cpp    |   5 +-
 .../llvm/lib/CodeGen/MLRegallocEvictAdvisor.cpp    | 135 +++--
 .../llvm/lib/CodeGen/MachineModuleInfo.cpp         |   8 +-
 .../llvm/lib/CodeGen/MachineModuleSlotTracker.cpp  |   3 +-
 .../llvm/lib/CodeGen/MachineRegisterInfo.cpp       |   3 +-
 .../llvm/lib/CodeGen/MachineVerifier.cpp           |   2 +-
 .../llvm/lib/CodeGen/PostRASchedulerList.cpp       |   4 +-
 .../llvm/lib/CodeGen/RegAllocEvictionAdvisor.cpp   | 181 ++++++-
 .../llvm/lib/CodeGen/RegAllocEvictionAdvisor.h     |   6 +-
 .../llvm/lib/CodeGen/RegAllocGreedy.cpp            | 183 +------
 .../llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp  |  76 +--
 .../llvm/lib/CodeGen/SelectionDAG/FastISel.cpp     |   3 +-
 .../CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp    |   5 +-
 .../lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.h  |   8 +-
 .../llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp |   7 +-
 .../CodeGen/SelectionDAG/SelectionDAGBuilder.cpp   |  16 +-
 .../lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp  |   2 +-
 .../CodeGen/SelectionDAG/StatepointLowering.cpp    |  30 +-
 .../lib/CodeGen/SelectionDAG/TargetLowering.cpp    |  57 ++-
 .../llvm-project/llvm/lib/CodeGen/SlotIndexes.cpp  |   2 +-
 .../llvm/lib/DWARFLinker/DWARFStreamer.cpp         |  20 +-
 .../llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp      | 110 +++-
 contrib/llvm-project/llvm/lib/IR/Attributes.cpp    |  50 +-
 contrib/llvm-project/llvm/lib/IR/AutoUpgrade.cpp   |   1 -
 contrib/llvm-project/llvm/lib/IR/BasicBlock.cpp    |   3 +-
 contrib/llvm-project/llvm/lib/IR/Comdat.cpp        |   4 +-
 contrib/llvm-project/llvm/lib/IR/ConstantFold.cpp  |   2 -
 contrib/llvm-project/llvm/lib/IR/Constants.cpp     |   7 +-
 contrib/llvm-project/llvm/lib/IR/Core.cpp          |   2 +
 contrib/llvm-project/llvm/lib/IR/DIBuilder.cpp     |   2 -
 contrib/llvm-project/llvm/lib/IR/DataLayout.cpp    |   3 +-
 contrib/llvm-project/llvm/lib/IR/DebugInfo.cpp     |   5 +-
 .../llvm-project/llvm/lib/IR/DebugInfoMetadata.cpp |   4 +-
 contrib/llvm-project/llvm/lib/IR/DebugLoc.cpp      |   1 -
 .../llvm-project/llvm/lib/IR/DiagnosticInfo.cpp    |   6 +-
 contrib/llvm-project/llvm/lib/IR/Dominators.cpp    |  18 +-
 contrib/llvm-project/llvm/lib/IR/Function.cpp      |   2 -
 contrib/llvm-project/llvm/lib/IR/Globals.cpp       |   2 -
 contrib/llvm-project/llvm/lib/IR/IRBuilder.cpp     |   1 -
 contrib/llvm-project/llvm/lib/IR/InlineAsm.cpp     |   1 -
 contrib/llvm-project/llvm/lib/IR/Instruction.cpp   |   1 -
 contrib/llvm-project/llvm/lib/IR/IntrinsicInst.cpp |   2 -
 contrib/llvm-project/llvm/lib/IR/LLVMContext.cpp   |   2 -
 .../llvm-project/llvm/lib/IR/LLVMContextImpl.cpp   |  12 +
 contrib/llvm-project/llvm/lib/IR/LLVMContextImpl.h |  24 +-
 .../llvm/lib/IR/LLVMRemarkStreamer.cpp             |   2 +
 .../llvm-project/llvm/lib/IR/LegacyPassManager.cpp |  11 +-
 contrib/llvm-project/llvm/lib/IR/Metadata.cpp      |   4 -
 contrib/llvm-project/llvm/lib/IR/Module.cpp        |   2 -
 .../llvm/lib/IR/ModuleSummaryIndex.cpp             |   1 -
 contrib/llvm-project/llvm/lib/IR/Operator.cpp      |   1 -
 contrib/llvm-project/llvm/lib/IR/OptBisect.cpp     |   1 -
 contrib/llvm-project/llvm/lib/IR/PassManager.cpp   |   5 +-
 .../llvm-project/llvm/lib/IR/ProfileSummary.cpp    |   3 +-
 contrib/llvm-project/llvm/lib/IR/PseudoProbe.cpp   |   2 +-
 .../llvm-project/llvm/lib/IR/ReplaceConstant.cpp   |   3 +-
 contrib/llvm-project/llvm/lib/IR/SSAContext.cpp    |   3 +-
 .../llvm/lib/IR/SafepointIRVerifier.cpp            |   4 +-
 contrib/llvm-project/llvm/lib/IR/Statepoint.cpp    |   2 -
 contrib/llvm-project/llvm/lib/IR/Type.cpp          |   2 -
 contrib/llvm-project/llvm/lib/IR/Use.cpp           |   6 +-
 contrib/llvm-project/llvm/lib/IR/Value.cpp         |   3 -
 contrib/llvm-project/llvm/lib/IR/Verifier.cpp      |  12 +-
 contrib/llvm-project/llvm/lib/LTO/LTO.cpp          |   3 +-
 contrib/llvm-project/llvm/lib/LTO/LTOBackend.cpp   |   7 +-
 .../llvm/lib/LTO/ThinLTOCodeGenerator.cpp          |   2 +-
 contrib/llvm-project/llvm/lib/MC/MCAsmStreamer.cpp |   2 +-
 contrib/llvm-project/llvm/lib/MC/MCContext.cpp     |   8 +-
 .../llvm-project/llvm/lib/MC/MCObjectFileInfo.cpp  |  12 +
 .../llvm/lib/Object/MachOObjectFile.cpp            |  13 +
 .../llvm-project/llvm/lib/ObjectYAML/ELFYAML.cpp   |   1 +
 .../llvm/lib/ObjectYAML/WasmEmitter.cpp            |  13 +-
 .../llvm/lib/Passes/PassBuilderPipelines.cpp       |   7 +
 .../llvm/lib/ProfileData/InstrProf.cpp             |  26 -
 .../llvm/lib/ProfileData/InstrProfReader.cpp       |  62 ++-
 .../llvm/lib/ProfileData/InstrProfWriter.cpp       |  31 +-
 .../llvm/lib/Remarks/BitstreamRemarkParser.cpp     |   1 +
 .../llvm/lib/Remarks/BitstreamRemarkParser.h       |   4 +-
 .../llvm-project/llvm/lib/Remarks/RemarkLinker.cpp |   4 +-
 .../llvm-project/llvm/lib/Remarks/RemarkParser.cpp |   1 -
 .../llvm/lib/Remarks/YAMLRemarkParser.h            |   2 -
 .../llvm/lib/Remarks/YAMLRemarkSerializer.cpp      |   1 -
 .../llvm/lib/Support/ARMAttributeParser.cpp        |   2 +-
 contrib/llvm-project/llvm/lib/Support/Host.cpp     |   1 +
 .../llvm-project/llvm/lib/Support/RISCVISAInfo.cpp |  61 +--
 contrib/llvm-project/llvm/lib/Support/Signals.cpp  |   2 +-
 contrib/llvm-project/llvm/lib/Support/Triple.cpp   |   4 +-
 contrib/llvm-project/llvm/lib/Support/Valgrind.cpp |   2 +-
 .../llvm-project/llvm/lib/Support/Windows/Host.inc |   3 +
 .../llvm-project/llvm/lib/Support/raw_ostream.cpp  |   2 +-
 .../llvm/lib/TableGen/DetailedRecordsBackend.cpp   |  11 +-
 .../llvm-project/llvm/lib/TableGen/JSONBackend.cpp |   8 +-
 contrib/llvm-project/llvm/lib/TableGen/Main.cpp    |   2 -
 contrib/llvm-project/llvm/lib/TableGen/Record.cpp  |   8 +-
 .../llvm-project/llvm/lib/TableGen/SetTheory.cpp   |   3 +-
 .../llvm-project/llvm/lib/TableGen/TGParser.cpp    |   3 +-
 .../llvm/lib/TableGen/TableGenBackendSkeleton.cpp  |  19 +-
 .../llvm/lib/Target/AArch64/AArch64.td             |   6 +
 .../llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp  |  46 ++
 .../Target/AArch64/AArch64ExpandPseudoInsts.cpp    |  27 +-
 .../lib/Target/AArch64/AArch64ISelLowering.cpp     | 145 +++++-
 .../llvm/lib/Target/AArch64/AArch64ISelLowering.h  |   8 +-
 .../llvm/lib/Target/AArch64/AArch64InstrInfo.cpp   |  31 +-
 .../llvm/lib/Target/AArch64/AArch64InstrInfo.td    |  84 +++-
 .../llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td |  16 +-
 .../lib/Target/AArch64/AArch64SelectionDAGInfo.cpp |  97 +++-
 .../lib/Target/AArch64/AArch64SelectionDAGInfo.h   |  19 +
 .../llvm/lib/Target/AArch64/AArch64Subtarget.cpp   |   1 +
 .../llvm/lib/Target/AArch64/AArch64Subtarget.h     |   3 +-
 .../Target/AArch64/AArch64TargetTransformInfo.cpp  |  21 +-
 .../AArch64/GISel/AArch64InstructionSelector.cpp   |  95 ++++
 .../Target/AArch64/GISel/AArch64LegalizerInfo.cpp  |  55 +-
 .../Target/AArch64/GISel/AArch64LegalizerInfo.h    |   1 +
 .../llvm/lib/Target/AArch64/SVEInstrFormats.td     |  35 +-
 .../llvm-project/llvm/lib/Target/AMDGPU/AMDGPU.h   |   1 +
 .../Target/AMDGPU/AMDGPUAnnotateUniformValues.cpp  |  88 +++-
 .../llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp    |   8 +-
 .../Target/AMDGPU/AMDGPUHSAMetadataStreamer.cpp    | 106 +++-
 .../lib/Target/AMDGPU/AMDGPUHSAMetadataStreamer.h  |  41 +-
 .../llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp |   1 +
 .../llvm/lib/Target/AMDGPU/AMDGPULibCalls.cpp      |   3 +-
 .../llvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp |   3 +-
 .../Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp    |  20 +-
 .../AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp   |   2 +
 .../llvm/lib/Target/AMDGPU/SIISelLowering.cpp      |   1 +
 .../lib/Target/AMDGPU/SILoadStoreOptimizer.cpp     |  14 +-
 .../lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp     |  14 +-
 .../llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h  |   5 +-
 contrib/llvm-project/llvm/lib/Target/ARM/ARM.td    |  10 +
 .../llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp       |  39 +-
 .../llvm/lib/Target/ARM/ARMISelLowering.cpp        |   2 +-
 .../llvm/lib/Target/ARM/ARMInstrInfo.td            |  19 +-
 .../llvm/lib/Target/ARM/ARMInstrThumb.td           |   9 +-
 .../llvm/lib/Target/ARM/ARMInstrThumb2.td          |  16 +-
 .../llvm/lib/Target/ARM/ARMSubtarget.cpp           |   1 +
 .../llvm/lib/Target/ARM/ARMSubtarget.h             |   1 +
 .../llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp |   3 -
 .../llvm/lib/Target/Hexagon/HexagonOptAddrMode.cpp |   8 +-
 .../lib/Target/M68k/GISel/M68kLegalizerInfo.cpp    |  35 +-
 .../llvm/lib/Target/M68k/M68kInstrBits.td          |   8 +
 .../llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp    |   1 -
 .../llvm/lib/Target/NVPTX/NVPTXInstrInfo.td        |   1 +
 .../llvm/lib/Target/PowerPC/PPCISelLowering.cpp    |  45 +-
 .../llvm/lib/Target/PowerPC/PPCInstrPrefix.td      |  45 +-
 .../lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp  |   4 +-
 .../RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp      |   6 +-
 .../lib/Target/RISCV/MCTargetDesc/RISCVMatInt.cpp  |  11 +-
 .../llvm-project/llvm/lib/Target/RISCV/RISCV.td    |   8 +-
 .../Target/RISCV/RISCVExpandAtomicPseudoInsts.cpp  |   6 +-
 .../lib/Target/RISCV/RISCVExpandPseudoInsts.cpp    |   6 +-
 .../llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp    |  28 +-
 .../llvm/lib/Target/RISCV/RISCVISelLowering.cpp    | 175 +++++--
 .../llvm/lib/Target/RISCV/RISCVISelLowering.h      |   1 +
 .../llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp   |  21 +-
 .../llvm/lib/Target/RISCV/RISCVInstrInfo.cpp       |  98 +---
 .../llvm/lib/Target/RISCV/RISCVInstrInfo.td        |  16 +-
 .../llvm/lib/Target/RISCV/RISCVInstrInfoA.td       |  12 +
 .../lib/Target/RISCV/RISCVInstrInfoVPseudos.td     |  20 +-
 .../lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td  |   2 +-
 .../lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td  |   4 +-
 .../llvm/lib/Target/RISCV/RISCVInstrInfoZb.td      | 503 +++++++++---------
 .../llvm/lib/Target/RISCV/RISCVInstrInfoZfh.td     |  28 +-
 .../llvm/lib/Target/RISCV/RISCVInstrInfoZk.td      |   2 +-
 .../llvm/lib/Target/RISCV/RISCVSExtWRemoval.cpp    |   6 +-
 .../llvm/lib/Target/RISCV/RISCVSubtarget.h         |   1 +
 .../Target/Sparc/MCTargetDesc/SparcAsmBackend.cpp  |  27 +
 .../Sparc/MCTargetDesc/SparcELFObjectWriter.cpp    |   4 +
 .../lib/Target/SystemZ/SystemZFrameLowering.cpp    |  82 +++
 .../llvm/lib/Target/SystemZ/SystemZFrameLowering.h |   3 +
 .../llvm/lib/Target/SystemZ/SystemZISelLowering.h  |   5 +
 .../llvm/lib/Target/SystemZ/SystemZInstrInfo.cpp   |   7 +
 .../llvm/lib/Target/SystemZ/SystemZInstrInfo.h     |   3 +
 .../WebAssembly/Utils/WebAssemblyTypeUtilities.cpp |  38 ++
 .../WebAssembly/Utils/WebAssemblyTypeUtilities.h   |  43 ++
 .../WebAssembly/Utils/WebAssemblyUtilities.h       |  38 --
 .../Target/WebAssembly/WebAssemblyAsmPrinter.cpp   |  16 +-
 .../lib/Target/WebAssembly/WebAssemblyFastISel.cpp |   1 +
 .../WebAssembly/WebAssemblyFrameLowering.cpp       |   2 +-
 .../WebAssemblyLowerEmscriptenEHSjLj.cpp           |  41 +-
 .../WebAssemblyLowerRefTypesIntPtrConv.cpp         |   2 +-
 .../Target/WebAssembly/WebAssemblyMCInstLower.cpp  |  34 +-
 .../WebAssembly/WebAssemblyMachineFunctionInfo.cpp |  18 +-
 .../WebAssembly/WebAssemblyMachineFunctionInfo.h   |   4 +
 .../llvm/lib/Target/X86/X86ISelLowering.cpp        | 230 ++++++---
 .../llvm/lib/Target/X86/X86LowerAMXType.cpp        |   2 +
 .../llvm/lib/Transforms/Coroutines/CoroFrame.cpp   |   1 +
 .../llvm/lib/Transforms/IPO/ArgumentPromotion.cpp  |  59 ++-
 .../llvm/lib/Transforms/IPO/Attributor.cpp         | 244 ++++++++-
 .../lib/Transforms/IPO/AttributorAttributes.cpp    | 560 ++++++++++++++-------
 .../lib/Transforms/IPO/CalledValuePropagation.cpp  |   1 +
 .../llvm/lib/Transforms/IPO/GlobalOpt.cpp          |  27 +-
 .../llvm/lib/Transforms/IPO/IROutliner.cpp         |   7 +
 .../llvm/lib/Transforms/IPO/LowerTypeTests.cpp     |   1 +
 .../llvm/lib/Transforms/IPO/OpenMPOpt.cpp          | 233 ++++++++-
 .../llvm/lib/Transforms/IPO/SampleProfileProbe.cpp |   1 +
 .../lib/Transforms/IPO/ThinLTOBitcodeWriter.cpp    |   2 +-
 .../llvm/lib/Transforms/IPO/WholeProgramDevirt.cpp |   2 +-
 .../Transforms/InstCombine/InstCombineCalls.cpp    |  26 +-
 .../Transforms/InstCombine/InstCombineCompares.cpp |  52 ++
 .../lib/Transforms/InstCombine/InstCombinePHI.cpp  | 285 ++++++-----
 .../InstCombine/InstCombineSimplifyDemanded.cpp    |  15 +-
 .../InstCombine/InstructionCombining.cpp           |   1 +
 .../Instrumentation/AddressSanitizer.cpp           |  12 +-
 .../Instrumentation/HWAddressSanitizer.cpp         |  26 +-
 .../Transforms/Instrumentation/InstrProfiling.cpp  | 123 +++--
 .../lib/Transforms/Instrumentation/MemProfiler.cpp |   1 +
 .../Transforms/Instrumentation/MemorySanitizer.cpp |  48 +-
 .../Instrumentation/PGOInstrumentation.cpp         |  82 ++-
 .../llvm/lib/Transforms/ObjCARC/ObjCARC.cpp        |  13 +-
 .../llvm/lib/Transforms/ObjCARC/ObjCARC.h          |   6 +-
 .../lib/Transforms/ObjCARC/ObjCARCContract.cpp     |  25 +-
 .../llvm/lib/Transforms/ObjCARC/ObjCARCOpts.cpp    |   2 +-
 .../lib/Transforms/Scalar/DFAJumpThreading.cpp     |  20 +-
 .../llvm/lib/Transforms/Scalar/LoopFuse.cpp        |   3 +-
 .../lib/Transforms/Scalar/LoopIdiomRecognize.cpp   |  33 +-
 .../llvm/lib/Transforms/Scalar/LoopSimplifyCFG.cpp |   2 +-
 .../llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp  |   2 +-
 .../Transforms/Scalar/LowerMatrixIntrinsics.cpp    |  17 +-
 .../llvm/lib/Transforms/Scalar/NewGVN.cpp          |  28 +-
 .../Transforms/Scalar/RewriteStatepointsForGC.cpp  | 147 +++---
 .../llvm/lib/Transforms/Scalar/SROA.cpp            |   1 +
 .../llvm/lib/Transforms/Scalar/StructurizeCFG.cpp  |  25 +
 .../llvm/lib/Transforms/Utils/BasicBlockUtils.cpp  |   4 +-
 .../llvm/lib/Transforms/Utils/CloneFunction.cpp    |  53 +-
 .../llvm/lib/Transforms/Utils/CodeExtractor.cpp    |   5 +-
 .../llvm/lib/Transforms/Utils/GlobalStatus.cpp     |  25 +-
 .../llvm/lib/Transforms/Utils/InlineFunction.cpp   |   8 +-
 .../llvm/lib/Transforms/Utils/Local.cpp            |   1 +
 .../llvm/lib/Transforms/Utils/LoopPeel.cpp         |  60 ++-
 .../llvm/lib/Transforms/Utils/ModuleUtils.cpp      |  13 +
 .../llvm/lib/Transforms/Utils/NameAnonGlobals.cpp  |   1 +
 .../Transforms/Utils/PromoteMemoryToRegister.cpp   |   3 +-
 .../llvm/lib/Transforms/Utils/Utils.cpp            |   1 +
 .../llvm/lib/Transforms/Utils/VNCoercion.cpp       |   1 +
 .../lib/Transforms/Vectorize/LoopVectorize.cpp     | 161 +++---
 .../lib/Transforms/Vectorize/SLPVectorizer.cpp     | 198 +++++++-
 .../lib/Transforms/Vectorize/VPRecipeBuilder.h     |   3 +-
 .../llvm/lib/Transforms/Vectorize/VPlan.cpp        |   6 +
 .../llvm/lib/Transforms/Vectorize/VPlan.h          |  89 +++-
 .../lib/Transforms/Vectorize/VPlanTransforms.cpp   |  17 +-
 .../llvm/lib/Transforms/Vectorize/Vectorize.cpp    |   1 +
 .../llvm-project/llvm/tools/llvm-ar/llvm-ar.cpp    |  16 +-
 .../llvm-project/llvm/tools/llvm-as/llvm-as.cpp    |   2 +-
 .../llvm/tools/llvm-extract/llvm-extract.cpp       |   1 +
 .../llvm-project/llvm/tools/llvm-lto/llvm-lto.cpp  |   6 +-
 .../llvm-objcopy/MachO/MachOLayoutBuilder.cpp      |   1 +
 .../llvm/tools/llvm-profdata/llvm-profdata.cpp     |  22 +-
 .../llvm/tools/llvm-readobj/ELFDumper.cpp          |   1 +
 .../llvm/tools/llvm-readobj/WasmDumper.cpp         |   5 +-
 .../llvm/tools/llvm-stress/llvm-stress.cpp         |   3 +-
 .../llvm/utils/TableGen/CodeGenDAGPatterns.cpp     |  40 +-
 .../llvm/utils/TableGen/CodeGenSchedule.cpp        |  13 +-
 .../llvm/utils/TableGen/CompressInstEmitter.cpp    |   1 -
 .../llvm/utils/TableGen/GICombinerEmitter.cpp      |  12 +-
 .../utils/TableGen/GlobalISel/CodeExpander.cpp     |   1 -
 .../llvm/utils/TableGen/GlobalISel/CodeExpander.h  |   2 +-
 .../llvm/utils/TableGen/GlobalISel/GIMatchDag.h    |   1 -
 .../utils/TableGen/GlobalISel/GIMatchDagEdge.cpp   |   1 +
 .../utils/TableGen/GlobalISel/GIMatchDagInstr.h    |   5 +-
 .../TableGen/GlobalISel/GIMatchDagPredicate.cpp    |   2 +-
 .../TableGen/GlobalISel/GIMatchDagPredicate.h      |   6 +-
 .../GIMatchDagPredicateDependencyEdge.cpp          |   1 +
 .../GlobalISel/GIMatchDagPredicateDependencyEdge.h |   6 +-
 .../llvm/utils/TableGen/GlobalISel/GIMatchTree.cpp |   1 +
 .../llvm/utils/TableGen/GlobalISelEmitter.cpp      |   2 -
 .../llvm/utils/TableGen/InfoByHwMode.cpp           |   1 -
 .../llvm/utils/TableGen/InfoByHwMode.h             |   2 -
 .../llvm/utils/TableGen/IntrinsicEmitter.cpp       |   1 -
 .../llvm/utils/TableGen/OptParserEmitter.cpp       |   1 -
 .../llvm/utils/TableGen/OptRSTEmitter.cpp          |   7 -
 .../llvm/utils/TableGen/PredicateExpander.h        |   4 +-
 .../llvm/utils/TableGen/RegisterBankEmitter.cpp    |   1 -
 .../llvm/utils/TableGen/SearchableTableEmitter.cpp |   5 -
 .../llvm-project/llvm/utils/TableGen/TableGen.cpp  |   3 +-
 .../TableGen/WebAssemblyDisassemblerEmitter.cpp    |   3 +
 .../TableGen/WebAssemblyDisassemblerEmitter.h      |   5 +-
 .../llvm/utils/TableGen/X86DisassemblerTables.cpp  |   5 +-
 .../llvm/utils/TableGen/X86DisassemblerTables.h    |   7 +-
 .../llvm/utils/TableGen/X86FoldTablesEmitter.cpp   |   2 -
 .../llvm/utils/TableGen/X86RecognizableInstr.cpp   |   2 +
 .../llvm/utils/TableGen/X86RecognizableInstr.h     |  11 +-
 contrib/llvm-project/openmp/runtime/src/dllexports |   3 +
 .../openmp/runtime/src/kmp_ftn_entry.h             | 114 +++++
 .../llvm-project/openmp/runtime/src/kmp_ftn_os.h   |  32 ++
 lib/clang/include/VCSVersion.inc                   |   8 +-
 lib/clang/include/clang/Config/config.h            |   2 +-
 lib/clang/include/lldb/Version/Version.inc         |   4 +-
 lib/clang/include/llvm/Config/config.h             |   4 +-
 lib/clang/include/llvm/Config/llvm-config.h        |   2 +-
 lib/clang/include/llvm/Support/VCSRevision.h       |   2 +-
 lib/libc++/Makefile                                |   4 +
 tools/build/mk/OptionalObsoleteFiles.inc           |   4 +
 808 files changed, 9713 insertions(+), 5588 deletions(-)

diff --git a/contrib/llvm-project/clang/include/clang/AST/ASTContext.h b/contrib/llvm-project/clang/include/clang/AST/ASTContext.h
index f39ce14bc82c..63c11e237d6c 100644
--- a/contrib/llvm-project/clang/include/clang/AST/ASTContext.h
+++ b/contrib/llvm-project/clang/include/clang/AST/ASTContext.h
@@ -653,6 +653,20 @@ public:
   /// Returns the clang bytecode interpreter context.
   interp::Context &getInterpContext();
 
+  struct CUDAConstantEvalContext {
+    /// Do not allow wrong-sided variables in constant expressions.
+    bool NoWrongSidedVars = false;
+  } CUDAConstantEvalCtx;
+  struct CUDAConstantEvalContextRAII {
+    ASTContext &Ctx;
+    CUDAConstantEvalContext SavedCtx;
+    CUDAConstantEvalContextRAII(ASTContext &Ctx_, bool NoWrongSidedVars)
+        : Ctx(Ctx_), SavedCtx(Ctx_.CUDAConstantEvalCtx) {
+      Ctx_.CUDAConstantEvalCtx.NoWrongSidedVars = NoWrongSidedVars;
+    }
+    ~CUDAConstantEvalContextRAII() { Ctx.CUDAConstantEvalCtx = SavedCtx; }
+  };
+
   /// Returns the dynamic AST node parent map context.
   ParentMapContext &getParentMapContext();
 
@@ -2616,23 +2630,32 @@ public:
   /// template name uses the shortest form of the dependent
   /// nested-name-specifier, which itself contains all canonical
   /// types, values, and templates.
-  TemplateName getCanonicalTemplateName(TemplateName Name) const;
+  TemplateName getCanonicalTemplateName(const TemplateName &Name) const;
 
   /// Determine whether the given template names refer to the same
   /// template.
-  bool hasSameTemplateName(TemplateName X, TemplateName Y);
+  bool hasSameTemplateName(const TemplateName &X, const TemplateName &Y) const;
 
   /// Determine whether the two declarations refer to the same entity.
-  bool isSameEntity(NamedDecl *X, NamedDecl *Y);
+  ///
+  /// FIXME: isSameEntity is not const due to its implementation calls
+  /// hasSameFunctionTypeIgnoringExceptionSpec which may alter this.
+  bool isSameEntity(const NamedDecl *X, const NamedDecl *Y);
 
   /// Determine whether two template parameter lists are similar enough
   /// that they may be used in declarations of the same template.
-  bool isSameTemplateParameterList(TemplateParameterList *X,
-                                   TemplateParameterList *Y);
+  ///
+  /// FIXME: isSameTemplateParameterList is not const since it calls
+  /// isSameTemplateParameter.
+  bool isSameTemplateParameterList(const TemplateParameterList *X,
+                                   const TemplateParameterList *Y);
 
   /// Determine whether two template parameters are similar enough
   /// that they may be used in declarations of the same template.
-  bool isSameTemplateParameter(NamedDecl *X, NamedDecl *Y);
+  ///
+  /// FIXME: isSameTemplateParameterList is not const since it calls
+  /// isSameEntity.
+  bool isSameTemplateParameter(const NamedDecl *X, const NamedDecl *Y);
 
   /// Retrieve the "canonical" template argument.
   ///
diff --git a/contrib/llvm-project/clang/include/clang/Analysis/Analyses/Dominators.h b/contrib/llvm-project/clang/include/clang/Analysis/Analyses/Dominators.h
index f588a5c7d1d7..9ac9cbe7d3ec 100644
--- a/contrib/llvm-project/clang/include/clang/Analysis/Analyses/Dominators.h
+++ b/contrib/llvm-project/clang/include/clang/Analysis/Analyses/Dominators.h
@@ -193,7 +193,7 @@ namespace IDFCalculatorDetail {
 /// Specialize ChildrenGetterTy to skip nullpointer successors.
 template <bool IsPostDom>
 struct ChildrenGetterTy<clang::CFGBlock, IsPostDom> {
-  using NodeRef = typename GraphTraits<clang::CFGBlock>::NodeRef;
+  using NodeRef = typename GraphTraits<clang::CFGBlock *>::NodeRef;
   using ChildrenTy = SmallVector<NodeRef, 8>;
 
   ChildrenTy get(const NodeRef &N) {
diff --git a/contrib/llvm-project/clang/include/clang/Analysis/CFG.h b/contrib/llvm-project/clang/include/clang/Analysis/CFG.h
index c5512a7e1499..d8e7e1e43d81 100644
--- a/contrib/llvm-project/clang/include/clang/Analysis/CFG.h
+++ b/contrib/llvm-project/clang/include/clang/Analysis/CFG.h
@@ -1494,9 +1494,6 @@ template <> struct GraphTraits< ::clang::CFGBlock *> {
   static ChildIteratorType child_end(NodeRef N) { return N->succ_end(); }
 };
 
-template <> struct GraphTraits<clang::CFGBlock>
-    : GraphTraits<clang::CFGBlock *> {};
-
 template <> struct GraphTraits< const ::clang::CFGBlock *> {
   using NodeRef = const ::clang::CFGBlock *;
   using ChildIteratorType = ::clang::CFGBlock::const_succ_iterator;
@@ -1506,9 +1503,6 @@ template <> struct GraphTraits< const ::clang::CFGBlock *> {
   static ChildIteratorType child_end(NodeRef N) { return N->succ_end(); }
 };
 
-template <> struct GraphTraits<const clang::CFGBlock>
-    : GraphTraits<clang::CFGBlock *> {};
-
 template <> struct GraphTraits<Inverse< ::clang::CFGBlock *>> {
   using NodeRef = ::clang::CFGBlock *;
   using ChildIteratorType = ::clang::CFGBlock::const_pred_iterator;
@@ -1521,9 +1515,6 @@ template <> struct GraphTraits<Inverse< ::clang::CFGBlock *>> {
   static ChildIteratorType child_end(NodeRef N) { return N->pred_end(); }
 };
 
-template <> struct GraphTraits<Inverse<clang::CFGBlock>>
-    : GraphTraits<clang::CFGBlock *> {};
-
 template <> struct GraphTraits<Inverse<const ::clang::CFGBlock *>> {
   using NodeRef = const ::clang::CFGBlock *;
   using ChildIteratorType = ::clang::CFGBlock::const_pred_iterator;
@@ -1536,9 +1527,6 @@ template <> struct GraphTraits<Inverse<const ::clang::CFGBlock *>> {
   static ChildIteratorType child_end(NodeRef N) { return N->pred_end(); }
 };
 
-template <> struct GraphTraits<const Inverse<clang::CFGBlock>>
-    : GraphTraits<clang::CFGBlock *> {};
-
 // Traits for: CFG
 
 template <> struct GraphTraits< ::clang::CFG* >
diff --git a/contrib/llvm-project/clang/include/clang/Analysis/FlowSensitive/DataflowAnalysis.h b/contrib/llvm-project/clang/include/clang/Analysis/FlowSensitive/DataflowAnalysis.h
index f327abe63751..b5a7c061e17b 100644
--- a/contrib/llvm-project/clang/include/clang/Analysis/FlowSensitive/DataflowAnalysis.h
+++ b/contrib/llvm-project/clang/include/clang/Analysis/FlowSensitive/DataflowAnalysis.h
@@ -27,6 +27,7 @@
 #include "llvm/ADT/Any.h"
 #include "llvm/ADT/Optional.h"
 #include "llvm/ADT/STLExtras.h"
+#include "llvm/Support/Error.h"
 
 namespace clang {
 namespace dataflow {
@@ -106,18 +107,24 @@ template <typename LatticeT> struct DataflowAnalysisState {
 
 /// Performs dataflow analysis and returns a mapping from basic block IDs to
 /// dataflow analysis states that model the respective basic blocks. Indices
-/// of the returned vector correspond to basic block IDs.
+/// of the returned vector correspond to basic block IDs. Returns an error if
+/// the dataflow analysis cannot be performed successfully.
 template <typename AnalysisT>
-std::vector<llvm::Optional<DataflowAnalysisState<typename AnalysisT::Lattice>>>
+llvm::Expected<std::vector<
+    llvm::Optional<DataflowAnalysisState<typename AnalysisT::Lattice>>>>
 runDataflowAnalysis(const ControlFlowContext &CFCtx, AnalysisT &Analysis,
                     const Environment &InitEnv) {
   auto TypeErasedBlockStates =
       runTypeErasedDataflowAnalysis(CFCtx, Analysis, InitEnv);
+  if (!TypeErasedBlockStates)
+    return TypeErasedBlockStates.takeError();
+
   std::vector<
       llvm::Optional<DataflowAnalysisState<typename AnalysisT::Lattice>>>
       BlockStates;
-  BlockStates.reserve(TypeErasedBlockStates.size());
-  llvm::transform(std::move(TypeErasedBlockStates),
*** 34051 LINES SKIPPED ***



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202206041201.254C1AZQ093653>