git: cdc20ff6a7f1 - stable/14 - Merge llvm-project main llvmorg-18-init-16595-g7c00a5be5cde

From: Dimitry Andric <dim_at_FreeBSD.org>
Date: Sat, 20 Apr 2024 10:32:16 UTC
The branch stable/14 has been updated by dim:

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

commit cdc20ff6a7f12464aed70d9b6e67ea07da9f0399
Author:     Dimitry Andric <dim@FreeBSD.org>
AuthorDate: 2024-01-09 20:00:28 +0000
Commit:     Dimitry Andric <dim@FreeBSD.org>
CommitDate: 2024-04-19 21:14:10 +0000

    Merge llvm-project main llvmorg-18-init-16595-g7c00a5be5cde
    
    This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvm-project main llvmorg-18-init-16595-g7c00a5be5cde.
    
    PR:             276104
    MFC after:      1 month
    
    (cherry picked from commit 1db9f3b21e39176dd5b67cf8ac378633b172463e)
---
 .../llvm-project/clang/include/clang/AST/Attr.h    |    1 +
 .../llvm-project/clang/include/clang/AST/DeclCXX.h |    8 +
 .../clang/include/clang/AST/TextNodeDumper.h       |    2 +
 .../llvm-project/clang/include/clang/AST/Type.h    |    2 +
 .../clang/Analysis/Analyses/UnsafeBufferUsage.h    |    2 +-
 .../Analysis/Analyses/UnsafeBufferUsageGadgets.def |    1 +
 .../clang/include/clang/Analysis/CFG.h             |    4 +-
 .../llvm-project/clang/include/clang/Basic/Attr.td |   23 +
 .../clang/include/clang/Basic/AttrDocs.td          |   35 +-
 .../clang/include/clang/Basic/CodeGenOptions.def   |    1 +
 .../include/clang/Basic/DiagnosticCommonKinds.td   |    3 +
 .../include/clang/Basic/DiagnosticDriverKinds.td   |    3 +
 .../include/clang/Basic/DiagnosticParseKinds.td    |    2 +
 .../include/clang/Basic/DiagnosticSemaKinds.td     |   14 +-
 .../clang/include/clang/Basic/ObjCRuntime.h        |   28 +-
 .../clang/include/clang/Basic/OpenACCKinds.h       |   39 +-
 .../clang/include/clang/Basic/arm_sve.td           |  115 ++-
 .../clang/include/clang/Basic/arm_sve_sme_incl.td  |    1 +
 .../include/clang/Basic/riscv_sifive_vector.td     |   10 +-
 .../clang/include/clang/Driver/Options.td          |   12 +-
 .../llvm-project/clang/include/clang/Sema/Sema.h   |   15 +-
 .../clang/include/clang/Sema/Template.h            |    1 +
 contrib/llvm-project/clang/lib/AST/ASTContext.cpp  |   23 +-
 contrib/llvm-project/clang/lib/AST/ASTImporter.cpp |   39 +-
 .../clang/lib/AST/ASTStructuralEquivalence.cpp     |   13 +-
 .../clang/lib/AST/ComputeDependence.cpp            |    2 +
 contrib/llvm-project/clang/lib/AST/Decl.cpp        |    2 +-
 contrib/llvm-project/clang/lib/AST/DeclBase.cpp    |   50 +-
 .../llvm-project/clang/lib/AST/FormatString.cpp    |    1 -
 .../llvm-project/clang/lib/AST/Interp/Interp.cpp   |    4 +-
 contrib/llvm-project/clang/lib/AST/Interp/Interp.h |    6 -
 .../llvm-project/clang/lib/AST/TextNodeDumper.cpp  |   10 +
 contrib/llvm-project/clang/lib/AST/Type.cpp        |    7 +
 .../clang/lib/Analysis/PathDiagnostic.cpp          |    7 +-
 .../clang/lib/Analysis/UnsafeBufferUsage.cpp       |   38 +-
 .../llvm-project/clang/lib/Basic/Targets/ARM.cpp   |   64 ++
 contrib/llvm-project/clang/lib/Basic/Targets/ARM.h |   13 +
 contrib/llvm-project/clang/lib/Basic/Targets/AVR.h |    4 +-
 .../llvm-project/clang/lib/Basic/Targets/RISCV.cpp |   23 +-
 .../llvm-project/clang/lib/Basic/Targets/X86.cpp   |    3 +
 contrib/llvm-project/clang/lib/CodeGen/CGClass.cpp |    6 +-
 .../clang/lib/CodeGen/CGExprScalar.cpp             |   61 +-
 .../llvm-project/clang/lib/CodeGen/CGObjCGNU.cpp   |    2 +
 contrib/llvm-project/clang/lib/CodeGen/CGStmt.cpp  |   14 +-
 .../clang/lib/CodeGen/CodeGenFunction.cpp          |   98 +-
 .../clang/lib/CodeGen/CodeGenFunction.h            |   58 +-
 .../clang/lib/CodeGen/CodeGenModule.cpp            |    4 +
 .../llvm-project/clang/lib/CodeGen/CodeGenPGO.cpp  |  263 ++++-
 .../llvm-project/clang/lib/CodeGen/CodeGenPGO.h    |   14 +-
 .../clang/lib/CodeGen/CoverageMappingGen.cpp       |  405 +++++++-
 .../clang/lib/CodeGen/CoverageMappingGen.h         |   12 +-
 .../llvm-project/clang/lib/CodeGen/Targets/X86.cpp |    3 +
 contrib/llvm-project/clang/lib/Driver/Driver.cpp   |   11 +
 .../clang/lib/Driver/ToolChains/Arch/Mips.cpp      |    8 +-
 .../clang/lib/Driver/ToolChains/Arch/RISCV.cpp     |    6 +-
 .../clang/lib/Driver/ToolChains/BareMetal.cpp      |    5 +-
 .../clang/lib/Driver/ToolChains/Clang.cpp          |   11 +
 .../clang/lib/Driver/ToolChains/Gnu.cpp            |    9 +
 .../clang/lib/Driver/ToolChains/MinGW.cpp          |   25 +-
 .../clang/lib/Format/TokenAnnotator.cpp            |    8 +
 contrib/llvm-project/clang/lib/Headers/arm_acle.h  |   59 ++
 .../clang/lib/Headers/llvm_libc_wrappers/stdio.h   |   34 +-
 contrib/llvm-project/clang/lib/Lex/ModuleMap.cpp   |    4 +-
 contrib/llvm-project/clang/lib/Parse/ParseDecl.cpp |    3 +-
 .../llvm-project/clang/lib/Parse/ParseDeclCXX.cpp  |    2 +
 .../llvm-project/clang/lib/Parse/ParseOpenACC.cpp  |  129 ++-
 .../clang/lib/Sema/AnalysisBasedWarnings.cpp       |   16 +-
 .../llvm-project/clang/lib/Sema/SemaChecking.cpp   |   23 +-
 .../llvm-project/clang/lib/Sema/SemaConcept.cpp    |   17 +-
 contrib/llvm-project/clang/lib/Sema/SemaDecl.cpp   |   94 +-
 .../llvm-project/clang/lib/Sema/SemaDeclAttr.cpp   |   19 +
 contrib/llvm-project/clang/lib/Sema/SemaExpr.cpp   |   44 +-
 contrib/llvm-project/clang/lib/Sema/SemaInit.cpp   |   55 +-
 contrib/llvm-project/clang/lib/Sema/SemaOpenMP.cpp |   56 +-
 .../llvm-project/clang/lib/Sema/SemaOverload.cpp   |   90 +-
 .../clang/lib/Sema/SemaTemplateDeduction.cpp       |   11 +
 .../clang/lib/Sema/SemaTemplateInstantiate.cpp     |   79 +-
 .../llvm-project/clang/lib/Sema/TreeTransform.h    |   78 +-
 .../Checkers/StdLibraryFunctionsChecker.cpp        |   20 +-
 .../lib/StaticAnalyzer/Checkers/StreamChecker.cpp  |    1 +
 contrib/llvm-project/clang/lib/Tooling/Tooling.cpp |    8 +-
 .../clang/utils/TableGen/ClangASTNodesEmitter.cpp  |  103 +-
 .../clang/utils/TableGen/SveEmitter.cpp            |    3 +
 .../llvm-project/clang/utils/TableGen/TableGen.cpp |    3 +-
 .../clang/utils/TableGen/TableGenBackends.h        |   10 +-
 .../compiler-rt/lib/asan/asan_suppressions.cpp     |    7 +-
 .../compiler-rt/lib/hwasan/hwasan_report.cpp       |    6 +-
 .../compiler-rt/lib/lsan/lsan_common.cpp           |    7 +-
 contrib/llvm-project/compiler-rt/lib/msan/msan.h   |   34 +-
 .../compiler-rt/lib/msan/msan_allocator.cpp        |   40 +-
 .../compiler-rt/lib/msan/msan_new_delete.cpp       |   26 +-
 .../compiler-rt/lib/orc/executor_symbol_def.h      |  151 +++
 .../orc/tests/unit/executor_symbol_def_test.cpp    |   19 +
 .../unit/simple_packed_serialization_test.cpp      |   20 +-
 .../tests/unit/simple_packed_serialization_utils.h |   34 +
 .../lib/sanitizer_common/sanitizer_common.h        |    3 +
 .../sanitizer_platform_interceptors.h              |    3 +-
 .../sanitizer_stacktrace_libcdep.cpp               |   12 +-
 .../lib/sanitizer_common/sanitizer_symbolizer.h    |   20 +
 .../sanitizer_symbolizer_report.cpp                |   25 +-
 .../compiler-rt/lib/tsan/rtl/tsan_report.cpp       |   26 +-
 .../compiler-rt/lib/ubsan/ubsan_diag.cpp           |    2 +-
 .../compiler-rt/lib/ubsan/ubsan_diag.h             |   20 -
 .../libcxx/include/__algorithm/pop_heap.h          |    3 +-
 .../libcxx/include/__algorithm/sift_down.h         |    2 +-
 .../llvm-project/libcxx/include/__algorithm/sort.h |    4 +-
 .../libcxx/include/__charconv/to_chars_base_10.h   |    6 +-
 .../libcxx/include/__charconv/to_chars_integral.h  |    2 +-
 .../libcxx/include/__charconv/traits.h             |    4 +-
 .../include/__chrono/parser_std_format_spec.h      |    7 +-
 contrib/llvm-project/libcxx/include/__config       |    7 +
 .../include/__filesystem/directory_iterator.h      |    3 +-
 .../libcxx/include/__filesystem/path_iterator.h    |    4 +-
 .../llvm-project/libcxx/include/__format/buffer.h  |   12 +-
 .../libcxx/include/__format/format_arg.h           |    2 +-
 .../libcxx/include/__format/format_arg_store.h     |    8 +-
 .../libcxx/include/__format/formatter_bool.h       |    2 +-
 .../include/__format/formatter_floating_point.h    |   55 +-
 .../libcxx/include/__format/formatter_integral.h   |   16 +-
 .../libcxx/include/__format/formatter_output.h     |    6 +-
 .../libcxx/include/__format/formatter_string.h     |    5 +-
 .../include/__format/parser_std_format_spec.h      |    7 +-
 .../libcxx/include/__format/range_formatter.h      |    5 +-
 .../llvm-project/libcxx/include/__format/unicode.h |   14 +-
 .../libcxx/include/__format/write_escaped.h        |    2 +-
 contrib/llvm-project/libcxx/include/__hash_table   |    5 +-
 .../libcxx/include/__iterator/advance.h            |   13 +-
 .../llvm-project/libcxx/include/__iterator/next.h  |    6 +-
 .../llvm-project/libcxx/include/__iterator/prev.h  |    6 +-
 .../__random/negative_binomial_distribution.h      |    7 +-
 .../libcxx/include/__ranges/chunk_by_view.h        |   20 +-
 .../libcxx/include/__ranges/drop_while_view.h      |    3 +-
 .../libcxx/include/__ranges/filter_view.h          |    3 +-
 .../llvm-project/libcxx/include/__thread/thread.h  |    2 +-
 .../libcxx/include/__utility/exception_guard.h     |    2 +-
 .../libcxx/include/__utility/unreachable.h         |    2 +-
 contrib/llvm-project/libcxx/include/fstream        |   50 +
 contrib/llvm-project/libcxx/include/print          |    8 +-
 contrib/llvm-project/libcxx/include/regex          |   23 +-
 contrib/llvm-project/libcxx/include/set            |   32 +-
 contrib/llvm-project/libcxx/include/span           |   18 +
 contrib/llvm-project/libcxx/include/sstream        |    6 +-
 contrib/llvm-project/libcxx/include/tuple          |   32 +-
 contrib/llvm-project/libcxx/include/version        |    4 +-
 contrib/llvm-project/libcxx/src/filesystem/error.h |    2 +-
 .../libcxx/src/filesystem/format_string.h          |    2 +-
 .../libcxx/src/filesystem/posix_compat.h           |    6 +-
 contrib/llvm-project/libcxx/src/fstream.cpp        |   37 +
 .../libcxx/src/include/to_chars_floating_point.h   |   20 +-
 .../llvm-project/libcxx/src/memory_resource.cpp    |    2 +-
 contrib/llvm-project/libcxx/src/strstream.cpp      |    2 +-
 contrib/llvm-project/libcxx/src/system_error.cpp   |    2 +-
 .../llvm-project/libunwind/src/UnwindCursor.hpp    |   77 +-
 contrib/llvm-project/lld/COFF/Config.h             |    4 +-
 contrib/llvm-project/lld/ELF/Arch/AArch64.cpp      |    3 +-
 contrib/llvm-project/lld/ELF/Arch/RISCV.cpp        |   42 +
 contrib/llvm-project/lld/ELF/Arch/X86_64.cpp       |    2 +
 contrib/llvm-project/lld/ELF/InputSection.cpp      |   11 +-
 contrib/llvm-project/lld/ELF/LinkerScript.cpp      |    4 +
 contrib/llvm-project/lld/ELF/Relocations.cpp       |    6 +-
 contrib/llvm-project/lld/ELF/ScriptParser.cpp      |   27 +-
 contrib/llvm-project/lld/ELF/SyntheticSections.cpp |   24 +-
 contrib/llvm-project/lld/ELF/SyntheticSections.h   |    6 +-
 contrib/llvm-project/lld/ELF/Target.h              |   10 +
 contrib/llvm-project/lld/ELF/Writer.cpp            |   21 +-
 contrib/llvm-project/lld/ELF/Writer.h              |    1 +
 .../lldb/include/lldb/API/SBBreakpoint.h           |    2 +
 .../include/lldb/Breakpoint/BreakpointIDList.h     |    6 +-
 .../lldb/include/lldb/Symbol/CompileUnit.h         |   23 +-
 .../lldb/include/lldb/Symbol/SymbolFile.h          |    2 +-
 .../lldb/include/lldb/Symbol/SymbolFileOnDemand.h  |    2 +-
 .../lldb/include/lldb/Utility/FileSpecList.h       |  106 +-
 .../lldb/include/lldb/Utility/StructuredData.h     |   28 +-
 .../llvm-project/lldb/source/API/SBCompileUnit.cpp |    2 +-
 .../lldb/source/Breakpoint/BreakpointIDList.cpp    |   21 +-
 .../Breakpoint/BreakpointResolverAddress.cpp       |   12 +-
 .../source/Breakpoint/BreakpointResolverName.cpp   |    8 +-
 .../source/Commands/CommandObjectBreakpoint.cpp    |    4 +-
 .../lldb/source/Commands/CommandObjectSource.cpp   |    2 +-
 .../llvm-project/lldb/source/Core/ModuleList.cpp   |    2 +-
 .../ExpressionParser/Clang/ClangUserExpression.cpp |   12 +-
 .../Clang/CppModuleConfiguration.cpp               |    6 +-
 .../TSan/InstrumentationRuntimeTSan.cpp            |    5 +-
 .../source/Plugins/JITLoader/GDB/JITLoaderGDB.cpp  |    2 +-
 .../SymbolFile/Breakpad/SymbolFileBreakpad.cpp     |    5 +-
 .../SymbolFile/Breakpad/SymbolFileBreakpad.h       |    3 +-
 .../source/Plugins/SymbolFile/CTF/SymbolFileCTF.h  |    2 +-
 .../SymbolFile/DWARF/DWARFASTParserClang.cpp       |   34 +-
 .../Plugins/SymbolFile/DWARF/DWARFASTParserClang.h |    1 +
 .../source/Plugins/SymbolFile/DWARF/DWARFIndex.cpp |   20 +
 .../source/Plugins/SymbolFile/DWARF/DWARFIndex.h   |   14 +
 .../SymbolFile/DWARF/DebugNamesDWARFIndex.cpp      |    2 +-
 .../SymbolFile/DWARF/DebugNamesDWARFIndex.h        |    2 +-
 .../Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp   |  116 ++-
 .../Plugins/SymbolFile/DWARF/SymbolFileDWARF.h     |    9 +-
 .../SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp   |    4 +-
 .../SymbolFile/DWARF/SymbolFileDWARFDebugMap.h     |    2 +-
 .../Plugins/SymbolFile/JSON/SymbolFileJSON.h       |    2 +-
 .../SymbolFile/NativePDB/SymbolFileNativePDB.cpp   |    7 +-
 .../SymbolFile/NativePDB/SymbolFileNativePDB.h     |    2 +-
 .../Plugins/SymbolFile/PDB/SymbolFilePDB.cpp       |    2 +-
 .../source/Plugins/SymbolFile/PDB/SymbolFilePDB.h  |    2 +-
 .../Plugins/SymbolFile/Symtab/SymbolFileSymtab.cpp |    2 +-
 .../Plugins/SymbolFile/Symtab/SymbolFileSymtab.h   |    2 +-
 .../lldb/source/Symbol/CompileUnit.cpp             |   13 +-
 .../lldb/source/Symbol/SymbolFileOnDemand.cpp      |    2 +-
 .../lldb/source/Target/DynamicRegisterInfo.cpp     |   15 +-
 .../lldb/source/Utility/FileSpecList.cpp           |   58 +-
 .../llvm/include/llvm/Analysis/AliasSetTracker.h   |    1 +
 .../llvm/include/llvm/Analysis/AssumptionCache.h   |    2 +
 .../include/llvm/Analysis/BlockFrequencyInfo.h     |    2 +
 .../include/llvm/Analysis/BranchProbabilityInfo.h  |    2 +
 .../llvm/include/llvm/Analysis/CFGSCCPrinter.h     |    1 +
 .../llvm/include/llvm/Analysis/CallGraph.h         |    4 +
 .../llvm/include/llvm/Analysis/CallPrinter.h       |    2 +
 .../llvm/include/llvm/Analysis/CostModel.h         |    2 +
 .../llvm/include/llvm/Analysis/CycleAnalysis.h     |    2 +
 .../llvm-project/llvm/include/llvm/Analysis/DDG.h  |    1 +
 .../llvm/include/llvm/Analysis/DDGPrinter.h        |    1 +
 .../llvm/include/llvm/Analysis/Delinearization.h   |    1 +
 .../llvm/include/llvm/Analysis/DemandedBits.h      |    2 +
 .../include/llvm/Analysis/DependenceAnalysis.h     |    2 +
 .../llvm/include/llvm/Analysis/DominanceFrontier.h |    2 +
 .../llvm/Analysis/FunctionPropertiesAnalysis.h     |    2 +
 .../include/llvm/Analysis/IRSimilarityIdentifier.h |    1 +
 .../llvm/include/llvm/Analysis/InlineAdvisor.h     |    3 +-
 .../llvm/include/llvm/Analysis/InlineCost.h        |    1 +
 .../llvm/Analysis/InlineSizeEstimatorAnalysis.h    |    2 +
 .../llvm/include/llvm/Analysis/LazyCallGraph.h     |    4 +
 .../llvm/include/llvm/Analysis/LazyValueInfo.h     |    2 +
 .../llvm/include/llvm/Analysis/LoopCacheAnalysis.h |    2 +
 .../llvm/include/llvm/Analysis/LoopInfo.h          |    2 +
 .../llvm/include/llvm/Analysis/LoopNestAnalysis.h  |    2 +
 .../llvm/include/llvm/Analysis/MemDerefPrinter.h   |    1 +
 .../llvm/include/llvm/Analysis/MemoryBuiltins.h    |  165 ++--
 .../llvm/include/llvm/Analysis/MemorySSA.h         |    5 +
 .../include/llvm/Analysis/ModuleDebugInfoPrinter.h |    1 +
 .../llvm/include/llvm/Analysis/MustExecute.h       |    2 +
 .../llvm/include/llvm/Analysis/PhiValues.h         |    1 +
 .../llvm/include/llvm/Analysis/PostDominators.h    |    2 +
 .../include/llvm/Analysis/ProfileSummaryInfo.h     |    1 +
 .../llvm/include/llvm/Analysis/RegionInfo.h        |    3 +
 .../llvm/include/llvm/Analysis/ScalarEvolution.h   |    3 +
 .../llvm/include/llvm/Analysis/StackLifetime.h     |    1 +
 .../include/llvm/Analysis/StackSafetyAnalysis.h    |    2 +
 .../llvm/include/llvm/Analysis/StructuralHash.h    |    2 +
 .../include/llvm/Analysis/TargetTransformInfo.h    |    8 +
 .../llvm/Analysis/TargetTransformInfoImpl.h        |    4 +-
 .../include/llvm/Analysis/UniformityAnalysis.h     |    2 +
 .../llvm/include/llvm/Analysis/ValueTracking.h     |    9 +-
 .../llvm/include/llvm/Analysis/VecFuncs.def        |   36 +
 .../llvm/include/llvm/BinaryFormat/ELF.h           |    1 +
 .../llvm/BinaryFormat/ELFRelocs/LoongArch.def      |   23 +
 .../llvm/include/llvm/Bitstream/BitstreamWriter.h  |    6 +-
 .../llvm/include/llvm/CodeGen/AccelTable.h         |   15 +-
 .../llvm/CodeGen/BasicBlockSectionsProfileReader.h |   83 +-
 .../llvm/include/llvm/CodeGen/CodeGenPassBuilder.h |   25 +-
 .../llvm/include/llvm/CodeGen/CodeGenPrepare.h     |   35 +
 .../llvm/include/llvm/CodeGen/FastISel.h           |   14 +
 .../llvm/include/llvm/CodeGen/GCMetadata.h         |   11 +
 .../include/llvm/CodeGen/GlobalISel/IRTranslator.h |    4 +
 .../GlobalISel/LegalizationArtifactCombiner.h      |   21 +-
 .../llvm/CodeGen/GlobalISel/LegalizerHelper.h      |   18 +-
 .../llvm/CodeGen/GlobalISel/LegalizerInfo.h        |   10 +-
 .../include/llvm/CodeGen/MachinePassRegistry.def   |    9 +-
 .../llvm/CodeGen/NonRelocatableStringpool.h        |    3 +-
 .../llvm/include/llvm/CodeGen/Passes.h             |    4 +-
 .../llvm/include/llvm/CodeGen/RuntimeLibcalls.h    |    6 +
 .../llvm/include/llvm/CodeGen/SelectionDAGNodes.h  |   20 +-
 .../include/llvm/CodeGen/ShadowStackGCLowering.h   |   24 +
 .../llvm/include/llvm/CodeGen/StackProtector.h     |   93 +-
 .../include/llvm/CodeGen/SwitchLoweringUtils.h     |   16 +
 .../AddressesMap.h                                 |   10 +-
 .../llvm/DWARFLinker/{ => Classic}/DWARFLinker.h   |  216 +---
 .../{ => Classic}/DWARFLinkerCompileUnit.h         |   12 +-
 .../{ => Classic}/DWARFLinkerDeclContext.h         |   12 +-
 .../llvm/DWARFLinker/{ => Classic}/DWARFStreamer.h |   28 +-
 .../DWARFFile.h                                    |   17 +-
 .../include/llvm/DWARFLinker/DWARFLinkerBase.h     |  100 ++
 .../Parallel}/DWARFLinker.h                        |  108 +-
 .../StringPool.h                                   |   25 +-
 .../include/llvm/DebugInfo/DWARF/DWARFDebugMacro.h |    9 +-
 .../llvm/include/llvm/DebugInfo/DWARF/DWARFUnit.h  |    6 +-
 .../llvm/include/llvm/Demangle/Demangle.h          |    5 +-
 .../llvm/include/llvm/Demangle/ItaniumDemangle.h   |   22 +-
 .../include/llvm/ExecutionEngine/JITLink/JITLink.h |    5 +
 .../llvm/include/llvm/ExecutionEngine/Orc/Core.h   |   10 +-
 .../Orc/EPCDynamicLibrarySearchGenerator.h         |   23 +-
 .../ExecutionEngine/Orc/EPCGenericDylibManager.h   |    7 +-
 .../llvm/ExecutionEngine/Orc/ExecutionUtils.h      |   20 +-
 .../ExecutionEngine/Orc/Shared/ExecutorSymbolDef.h |   58 ++
 .../llvm/ExecutionEngine/Orc/Shared/OrcRTBridge.h  |    3 +-
 .../Orc/Shared/TargetProcessControlTypes.h         |    3 +-
 .../Orc/TargetProcess/JITLoaderGDB.h               |   26 +
 .../Orc/TargetProcess/SimpleExecutorDylibManager.h |    5 +-
 .../llvm-project/llvm/include/llvm/IR/Dominators.h |    3 +
 .../include/llvm/IR/GetElementPtrTypeIterator.h    |   57 +-
 .../llvm/include/llvm/IR/IntrinsicsAMDGPU.td       |    7 +-
 .../llvm/include/llvm/IR/IntrinsicsSPIRV.td        |    1 +
 .../llvm/include/llvm/IR/PatternMatch.h            |    2 +-
 .../llvm/include/llvm/IR/SafepointIRVerifier.h     |    2 +
 .../llvm/include/llvm/InitializePasses.h           |    4 +-
 contrib/llvm-project/llvm/include/llvm/LTO/LTO.h   |    4 +-
 .../llvm-project/llvm/include/llvm/LinkAllPasses.h |    2 +-
 .../llvm/include/llvm/MC/MCAsmBackend.h            |    6 +-
 .../llvm/include/llvm/Object/ELFObjectFile.h       |   36 +
 .../llvm/include/llvm/Object/ELFTypes.h            |    3 +
 .../llvm/include/llvm/Object/ObjectFile.h          |    1 +
 .../include/llvm/Passes/StandardInstrumentations.h |    2 +-
 .../llvm/include/llvm/Support/RISCVISAInfo.h       |    6 +-
 .../llvm/Target/GlobalISel/SelectionDAGCompat.td   |    1 +
 .../include/llvm/Target/TargetInstrPredicate.td    |    6 +
 .../llvm/include/llvm/Target/TargetMachine.h       |    4 +-
 .../llvm/include/llvm/Target/TargetSchedule.td     |  113 +++
 .../llvm/include/llvm/Target/TargetSelectionDAG.td |   13 +
 .../llvm/TargetParser/AArch64TargetParser.h        |    7 +-
 .../llvm/include/llvm/TargetParser/Triple.h        |    6 +
 .../llvm/Transforms/Scalar/IVUsersPrinter.h        |    1 +
 .../Transforms/Scalar/LoopAccessAnalysisPrinter.h  |    1 +
 .../include/llvm/Transforms/Utils/PredicateInfo.h  |    2 +
 .../llvm/lib/Analysis/AssumptionCache.cpp          |   13 +-
 .../llvm/lib/Analysis/BasicAliasAnalysis.cpp       |   61 +-
 .../llvm/lib/Analysis/ConstraintSystem.cpp         |    4 +-
 .../llvm-project/llvm/lib/Analysis/InlineCost.cpp  |    2 +-
 .../llvm/lib/Analysis/InstructionSimplify.cpp      |   14 +-
 contrib/llvm-project/llvm/lib/Analysis/Local.cpp   |    2 +-
 .../llvm/lib/Analysis/LoopAccessAnalysis.cpp       |    5 +-
 .../llvm-project/llvm/lib/Analysis/LoopInfo.cpp    |    4 +-
 .../llvm/lib/Analysis/MemoryBuiltins.cpp           |  308 +++---
 .../llvm/lib/Analysis/MemorySSAUpdater.cpp         |   17 +-
 .../llvm/lib/Analysis/TargetTransformInfo.cpp      |    9 +
 .../llvm/lib/Analysis/VFABIDemangling.cpp          |    9 +-
 .../llvm/lib/Analysis/ValueTracking.cpp            |   11 +-
 .../lib/BinaryFormat/AMDGPUMetadataVerifier.cpp    |    1 +
 .../llvm/lib/CodeGen/AsmPrinter/AccelTable.cpp     |   67 +-
 .../llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp     |   80 +-
 .../llvm/lib/CodeGen/BasicBlockPathCloning.cpp     |   11 +-
 .../llvm/lib/CodeGen/BasicBlockSections.cpp        |    8 +-
 .../CodeGen/BasicBlockSectionsProfileReader.cpp    |   52 +-
 contrib/llvm-project/llvm/lib/CodeGen/CodeGen.cpp  |    2 +-
 .../llvm/lib/CodeGen/CodeGenPrepare.cpp            |  127 ++-
 .../llvm/lib/CodeGen/GCRootLowering.cpp            |   33 +-
 .../llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp   |   81 +-
 .../lib/CodeGen/GlobalISel/LegalizerHelper.cpp     |  312 +++++-
 .../llvm/lib/CodeGen/NonRelocatableStringpool.cpp  |    3 -
 .../llvm/lib/CodeGen/ReplaceWithVeclib.cpp         |  160 +--
 .../llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp  |   10 +-
 .../llvm/lib/CodeGen/SelectionDAG/FastISel.cpp     |  329 ++++---
 .../llvm/lib/CodeGen/SelectionDAG/InstrEmitter.cpp |    4 +-
 .../llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp  |   26 +-
 .../CodeGen/SelectionDAG/LegalizeFloatTypes.cpp    |   48 +-
 .../CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp  |   17 +-
 .../llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h  |    2 +
 .../CodeGen/SelectionDAG/LegalizeVectorTypes.cpp   |   10 +-
 .../llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp |   14 +-
 .../SelectionDAG/SelectionDAGAddressAnalysis.cpp   |   19 +-
 .../CodeGen/SelectionDAG/SelectionDAGBuilder.cpp   |  117 +--
 .../lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h |    6 -
 .../CodeGen/SelectionDAG/SelectionDAGDumper.cpp    |    5 +-
 .../lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp  |   19 +-
 .../lib/CodeGen/SelectionDAG/TargetLowering.cpp    |   72 +-
 .../llvm/lib/CodeGen/ShadowStackGCLowering.cpp     |   97 +-
 .../llvm/lib/CodeGen/StackProtector.cpp            |  154 ++-
 .../llvm/lib/CodeGen/SwitchLoweringUtils.cpp       |   81 ++
 .../llvm/lib/CodeGen/TargetLoweringBase.cpp        |   40 +-
 .../llvm/lib/CodeGen/TargetPassConfig.cpp          |    4 +-
 .../lib/DWARFLinker/{ => Classic}/DWARFLinker.cpp  |   66 +-
 .../{ => Classic}/DWARFLinkerCompileUnit.cpp       |    7 +-
 .../{ => Classic}/DWARFLinkerDeclContext.cpp       |    7 +-
 .../DWARFLinker/{ => Classic}/DWARFStreamer.cpp    |   36 +-
 .../Parallel}/AcceleratorRecordsSaver.cpp          |    8 +-
 .../Parallel}/AcceleratorRecordsSaver.h            |   14 +-
 .../Parallel}/ArrayList.h                          |   18 +-
 .../Parallel}/DIEAttributeCloner.cpp               |    8 +-
 .../Parallel}/DIEAttributeCloner.h                 |   14 +-
 .../Parallel}/DIEGenerator.h                       |   14 +-
 .../Parallel}/DWARFEmitterImpl.cpp                 |   10 +-
 .../Parallel}/DWARFEmitterImpl.h                   |   16 +-
 .../Parallel}/DWARFLinker.cpp                      |   12 +-
 .../Parallel}/DWARFLinkerCompileUnit.cpp           |    5 +-
 .../Parallel}/DWARFLinkerCompileUnit.h             |   16 +-
 .../Parallel}/DWARFLinkerGlobalData.h              |   24 +-
 .../Parallel}/DWARFLinkerImpl.cpp                  |  207 ++--
 .../Parallel}/DWARFLinkerImpl.h                    |   20 +-
 .../Parallel}/DWARFLinkerTypeUnit.cpp              |    7 +-
 .../Parallel}/DWARFLinkerTypeUnit.h                |   14 +-
 .../Parallel}/DWARFLinkerUnit.cpp                  |    8 +-
 .../Parallel}/DWARFLinkerUnit.h                    |   18 +-
 .../Parallel}/DebugLineSectionEmitter.h            |   31 +-
 .../Parallel}/DependencyTracker.cpp                |    8 +-
 .../Parallel}/DependencyTracker.h                  |   14 +-
 .../Parallel}/IndexedValuesMap.h                   |   14 +-
 .../Parallel}/OutputSections.cpp                   |   27 +-
 .../Parallel}/OutputSections.h                     |   34 +-
 .../StringEntryToDwarfStringPoolEntryMap.h         |   16 +-
 .../Parallel}/SyntheticTypeNameBuilder.cpp         |    8 +-
 .../Parallel}/SyntheticTypeNameBuilder.h           |   14 +-
 .../Parallel}/TypePool.h                           |   35 +-
 .../Parallel}/Utils.h                              |   14 +-
 .../StringPool.cpp => DWARFLinker/Utils.cpp}       |    4 +-
 .../llvm/lib/DWARFLinkerParallel/DWARFFile.cpp     |   17 -
 .../llvm/lib/DebugInfo/DWARF/DWARFVerifier.cpp     |    9 +-
 .../llvm-project/llvm/lib/Demangle/Demangle.cpp    |    5 +-
 .../llvm/lib/Demangle/ItaniumDemangle.cpp          |    4 +-
 .../lib/ExecutionEngine/Interpreter/Execution.cpp  |    2 +-
 .../llvm/lib/ExecutionEngine/JITLink/JITLink.cpp   |   35 +
 .../lib/ExecutionEngine/JITLink/JITLinkGeneric.cpp |   14 +
 .../Orc/EPCDebugObjectRegistrar.cpp                |    3 +-
 .../Orc/EPCDynamicLibrarySearchGenerator.cpp       |   16 +-
 .../ExecutionEngine/Orc/EPCGenericDylibManager.cpp |   10 +-
 .../lib/ExecutionEngine/Orc/ExecutionUtils.cpp     |   12 +-
 .../ExecutionEngine/Orc/ExecutorProcessControl.cpp |    6 +-
 .../ExecutionEngine/Orc/LookupAndRecordAddrs.cpp   |    2 +-
 .../llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp |    2 +
 .../lib/ExecutionEngine/Orc/ObjectLinkingLayer.cpp |   14 +-
 .../Orc/TargetProcess/JITLoaderGDB.cpp             |   23 -
 .../TargetProcess/SimpleExecutorDylibManager.cpp   |    9 +-
 contrib/llvm-project/llvm/lib/IR/AsmWriter.cpp     |   13 +-
 contrib/llvm-project/llvm/lib/IR/AutoUpgrade.cpp   |  499 +++++-----
 contrib/llvm-project/llvm/lib/IR/DataLayout.cpp    |    5 +-
 contrib/llvm-project/llvm/lib/IR/Operator.cpp      |   12 +-
 contrib/llvm-project/llvm/lib/IR/Value.cpp         |    2 +-
 contrib/llvm-project/llvm/lib/LTO/LTO.cpp          |   36 +-
 contrib/llvm-project/llvm/lib/MC/MCAssembler.cpp   |    6 +-
 contrib/llvm-project/llvm/lib/MC/MCExpr.cpp        |    6 +
 contrib/llvm-project/llvm/lib/Object/ELF.cpp       |    7 +-
 .../llvm-project/llvm/lib/Object/ELFObjectFile.cpp |    2 +-
 .../llvm-project/llvm/lib/Object/ObjectFile.cpp    |   11 +-
 .../llvm/lib/Object/WasmObjectFile.cpp             |    1 +
 .../llvm-project/llvm/lib/Passes/PassBuilder.cpp   |    9 +-
 .../llvm-project/llvm/lib/Passes/PassRegistry.def  |    6 +
 .../llvm/lib/Passes/StandardInstrumentations.cpp   |   52 +-
 .../llvm/lib/ProfileData/InstrProf.cpp             |   27 +-
 .../llvm-project/llvm/lib/Support/CommandLine.cpp  |    9 +-
 .../llvm-project/llvm/lib/Support/RISCVISAInfo.cpp |   41 +-
 .../llvm-project/llvm/lib/Target/AArch64/AArch64.h |    1 +
 .../llvm/lib/Target/AArch64/AArch64.td             |    2 +-
 .../llvm/lib/Target/AArch64/AArch64FastISel.cpp    |   19 +-
 .../lib/Target/AArch64/AArch64ISelDAGToDAG.cpp     |    6 +-
 .../lib/Target/AArch64/AArch64ISelLowering.cpp     |   15 +-
 .../llvm/lib/Target/AArch64/AArch64InstrFormats.td |    1 +
 .../Target/AArch64/AArch64LoopIdiomTransform.cpp   |  828 ++++++++++++++++
 .../lib/Target/AArch64/AArch64LoopIdiomTransform.h |   25 +
 .../llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td |    2 +-
 .../llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td |    5 +-
 .../lib/Target/AArch64/AArch64SelectionDAGInfo.cpp |    2 +-
 .../lib/Target/AArch64/AArch64TargetMachine.cpp    |   11 +
 .../llvm/lib/Target/AArch64/AArch64TargetMachine.h |    4 +
 .../Target/AArch64/AArch64TargetTransformInfo.h    |    2 +
 .../Target/AArch64/GISel/AArch64LegalizerInfo.cpp  |   59 +-
 .../Target/AArch64/GISel/AArch64LegalizerInfo.h    |    4 +-
 .../llvm/lib/Target/AArch64/SVEInstrFormats.td     |   12 +
 .../llvm-project/llvm/lib/Target/AMDGPU/AMDGPU.td  |   10 +-
 .../llvm/lib/Target/AMDGPU/AMDGPUCallingConv.td    |   26 +-
 .../llvm/lib/Target/AMDGPU/AMDGPUCombine.td        |    9 +-
 .../Target/AMDGPU/AMDGPUHSAMetadataStreamer.cpp    |   10 +-
 .../llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp  |   23 +-
 .../llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.h    |   14 +-
 .../llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp  |   58 +-
 .../Target/AMDGPU/AMDGPUInstructionSelector.cpp    |    8 +-
 .../llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp |   29 +-
 .../llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.h   |    4 +-
 .../llvm/lib/Target/AMDGPU/AMDGPULibCalls.cpp      |   32 +-
 .../lib/Target/AMDGPU/AMDGPUMachineFunction.cpp    |   39 +-
 .../llvm/lib/Target/AMDGPU/AMDGPUMachineFunction.h |    7 +
 .../Target/AMDGPU/AMDGPUPostLegalizerCombiner.cpp  |   34 +
 .../lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp   |  168 +++-
 .../lib/Target/AMDGPU/AMDGPURegisterBankInfo.h     |    5 +
 .../llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp |    3 +-
 .../llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.h   |    3 +-
 .../Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp    |   37 +-
 .../llvm/lib/Target/AMDGPU/BUFInstructions.td      |   10 +-
 .../llvm/lib/Target/AMDGPU/DSDIRInstructions.td    |  192 ++++
 .../llvm/lib/Target/AMDGPU/DSInstructions.td       |    1 -
 .../AMDGPU/Disassembler/AMDGPUDisassembler.cpp     |    6 +
 .../llvm/lib/Target/AMDGPU/EXPInstructions.td      |    1 +
 .../llvm/lib/Target/AMDGPU/FLATInstructions.td     |   46 +-
 .../llvm/lib/Target/AMDGPU/GCNSubtarget.h          |    9 +-
 .../llvm/lib/Target/AMDGPU/LDSDIRInstructions.td   |  116 ---
 .../AMDGPU/MCTargetDesc/AMDGPUInstPrinter.cpp      |  139 ++-
 .../Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.h |   10 +-
 .../AMDGPU/MCTargetDesc/AMDGPUMCCodeEmitter.cpp    |   19 +-
 .../llvm/lib/Target/AMDGPU/R600ISelLowering.cpp    |    8 +-
 .../llvm/lib/Target/AMDGPU/SIFoldOperands.cpp      |  148 ++-
 .../llvm/lib/Target/AMDGPU/SIISelLowering.cpp      |  287 +++++-
 .../llvm/lib/Target/AMDGPU/SIISelLowering.h        |    2 +
 .../llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp    |   10 +
 .../llvm/lib/Target/AMDGPU/SIInstrFormats.td       |    2 +-
 .../llvm/lib/Target/AMDGPU/SIInstrInfo.cpp         |  210 +++-
 .../llvm/lib/Target/AMDGPU/SIInstrInfo.h           |    6 +
 .../llvm/lib/Target/AMDGPU/SIInstrInfo.td          |   19 +-
 .../llvm/lib/Target/AMDGPU/SIInstructions.td       |  174 +++-
 .../llvm/lib/Target/AMDGPU/SIMemoryLegalizer.cpp   |   70 +-
 .../llvm/lib/Target/AMDGPU/SIRegisterInfo.td       |    8 +-
 .../llvm/lib/Target/AMDGPU/SIWholeQuadMode.cpp     |    4 +-
 .../llvm/lib/Target/AMDGPU/SMInstructions.td       |   44 +-
 .../llvm/lib/Target/AMDGPU/SOPInstructions.td      |   52 +-
 .../lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp     |  106 +-
 .../llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h  |   11 +-
 .../llvm/lib/Target/AMDGPU/VOP2Instructions.td     |    2 +-
 .../llvm/lib/Target/AMDGPU/VOP3PInstructions.td    |   18 +-
 .../llvm/lib/Target/ARC/ARCISelDAGToDAG.cpp        |    2 +-
 .../llvm/lib/Target/ARC/ARCISelLowering.cpp        |    2 +
 .../llvm/lib/Target/ARC/ARCTargetMachine.cpp       |    7 +
 .../llvm/lib/Target/ARM/ARMFastISel.cpp            |    2 +-
 .../llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp        |   24 +-
 .../llvm/lib/Target/ARM/ARMISelLowering.cpp        |   19 +-
 .../llvm/lib/Target/ARM/ARMLegalizerInfo.cpp       |   10 +-
 .../llvm/lib/Target/ARM/ARMLegalizerInfo.h         |    4 +-
 .../llvm/lib/Target/AVR/AVRISelLowering.cpp        |    4 +-
 .../llvm/lib/Target/BPF/BPFISelLowering.cpp        |    1 +
 .../llvm/lib/Target/BPF/BPFTargetMachine.cpp       |    5 +-
 .../llvm/lib/Target/BPF/BPFTargetMachine.h         |    3 +-
 .../llvm/lib/Target/DirectX/DXILResourceAnalysis.h |    1 +
 .../lib/Target/DirectX/DirectXTargetMachine.cpp    |    3 +-
 .../llvm/lib/Target/DirectX/DirectXTargetMachine.h |    3 +-
 .../lib/Target/Hexagon/HexagonISelDAGToDAG.cpp     |    2 +-
 .../lib/Target/Hexagon/HexagonISelLoweringHVX.cpp  |    6 +-
 .../lib/Target/Hexagon/HexagonTargetMachine.cpp    |    3 +-
 .../llvm/lib/Target/Hexagon/HexagonTargetMachine.h |    3 +-
 .../llvm/lib/Target/Lanai/LanaiISelLowering.cpp    |    2 +
 .../llvm/lib/Target/Lanai/LanaiTargetMachine.cpp   |    7 +
 .../LoongArch/AsmParser/LoongArchAsmParser.cpp     |   61 ++
 .../LoongArch/LoongArchExpandPseudoInsts.cpp       |  521 +++++-----
 .../lib/Target/LoongArch/LoongArchISelLowering.cpp |   65 +-
 .../lib/Target/LoongArch/LoongArchISelLowering.h   |    7 +-
 .../lib/Target/LoongArch/LoongArchInstrInfo.td     |  106 +-
 .../lib/Target/LoongArch/LoongArchMCInstLower.cpp  |    3 +
 .../lib/Target/LoongArch/LoongArchRegisterInfo.cpp |   23 +
 .../lib/Target/LoongArch/LoongArchRegisterInfo.h   |    1 +
 .../Target/LoongArch/LoongArchTargetMachine.cpp    |    4 +-
 .../LoongArch/MCTargetDesc/LoongArchAsmBackend.cpp |   69 +-
 .../LoongArch/MCTargetDesc/LoongArchAsmBackend.h   |    3 +
 .../LoongArch/MCTargetDesc/LoongArchBaseInfo.h     |    1 +
 .../MCTargetDesc/LoongArchELFObjectWriter.cpp      |    2 +
 .../LoongArch/MCTargetDesc/LoongArchFixupKinds.h   |    5 +-
 .../MCTargetDesc/LoongArchMCCodeEmitter.cpp        |    3 +
 .../LoongArch/MCTargetDesc/LoongArchMCExpr.cpp     |    3 +
 .../LoongArch/MCTargetDesc/LoongArchMCExpr.h       |    1 +
 .../llvm/lib/Target/M68k/GISel/M68kLegalizerInfo.h |    1 -
 .../llvm/lib/Target/M68k/M68kISelLowering.cpp      |    4 +-
 .../llvm/lib/Target/MSP430/MSP430ISelDAGToDAG.cpp  |    4 +-
 .../llvm/lib/Target/MSP430/MSP430ISelLowering.cpp  |    7 +-
 .../llvm/lib/Target/MSP430/MSP430TargetMachine.cpp |    7 +
 .../llvm/lib/Target/Mips/MipsFastISel.cpp          |    2 +-
 .../llvm/lib/Target/Mips/MipsISelLowering.cpp      |    3 +-
 .../llvm/lib/Target/Mips/MipsLegalizerInfo.cpp     |    5 +-
 .../llvm/lib/Target/Mips/MipsLegalizerInfo.h       |    3 +-
 .../llvm/lib/Target/Mips/MipsSEISelDAGToDAG.cpp    |    2 +-
 .../llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp    |    8 +-
 .../llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp    |    3 +-
 .../llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp   |    3 +-
 .../llvm/lib/Target/NVPTX/NVPTXTargetMachine.h     |    3 +-
 .../lib/Target/NVPTX/NVPTXTargetTransformInfo.cpp  |   34 -
 .../llvm/lib/Target/PowerPC/PPCFastISel.cpp        |    2 +-
 .../llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp    |   13 +-
 .../llvm/lib/Target/PowerPC/PPCISelLowering.cpp    |   16 +-
 .../llvm/lib/Target/PowerPC/PPCRegisterInfo.td     |    9 +-
 .../lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp  |    9 +-
 .../lib/Target/RISCV/GISel/RISCVCallLowering.cpp   |    2 +-
 .../lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp  |    7 +-
 .../lib/Target/RISCV/GISel/RISCVLegalizerInfo.h    |    4 +-
 .../lib/Target/RISCV/MCA/RISCVCustomBehaviour.cpp  |   33 +-
 .../Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp  |    9 +-
 .../Target/RISCV/MCTargetDesc/RISCVAsmBackend.h    |    4 +-
 .../lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h  |    1 -
 .../lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.cpp  |    2 -
 .../llvm/lib/Target/RISCV/RISCVAsmPrinter.cpp      |    3 -
 .../lib/Target/RISCV/RISCVExpandPseudoInsts.cpp    |   10 +-
 .../llvm/lib/Target/RISCV/RISCVFeatures.td         |    6 +
 .../Target/RISCV/RISCVGatherScatterLowering.cpp    |    2 +-
 .../llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp    |   10 +-
 .../llvm/lib/Target/RISCV/RISCVISelLowering.cpp    |  375 +++----
 .../llvm/lib/Target/RISCV/RISCVISelLowering.h      |   13 +-
 .../llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp   |    5 +
 .../llvm/lib/Target/RISCV/RISCVInstrInfo.cpp       |    7 +-
 .../llvm/lib/Target/RISCV/RISCVInstrInfo.td        |   54 +-
 .../llvm/lib/Target/RISCV/RISCVInstrInfoA.td       |   12 +-
 .../llvm/lib/Target/RISCV/RISCVInstrInfoD.td       |    2 +
 .../lib/Target/RISCV/RISCVInstrInfoVPseudos.td     |    2 +
 .../lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td  |   16 +
 .../lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td  |  122 +--
 .../llvm/lib/Target/RISCV/RISCVInstrInfoZa.td      |   44 +
 .../llvm/lib/Target/RISCV/RISCVOptWInstrs.cpp      |    6 +-
 .../llvm/lib/Target/RISCV/RISCVProcessors.td       |    3 +-
 .../llvm/lib/Target/RISCV/RISCVRegisterInfo.td     |    2 +-
 .../llvm/lib/Target/RISCV/RISCVSubtarget.h         |    7 +
 .../lib/Target/RISCV/RISCVTargetTransformInfo.cpp  |  114 ++-
 .../lib/Target/RISCV/RISCVTargetTransformInfo.h    |    3 +
 .../llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp    |    7 +-
 .../llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp  |  125 ++-
 .../llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp   |    5 +-
 .../llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.h     |    3 +-
 .../llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp    |   59 +-
 .../llvm/lib/Target/SPIRV/SPIRVTargetMachine.cpp   |   14 +
 .../llvm/lib/Target/SPIRV/SPIRVUtils.cpp           |    4 +-
 .../llvm/lib/Target/SPIRV/SPIRVUtils.h             |    2 +-
 .../lib/Target/SystemZ/SystemZISelDAGToDAG.cpp     |    8 +-
 .../lib/Target/SystemZ/SystemZISelLowering.cpp     |   27 +-
 .../lib/Target/WebAssembly/WebAssemblyFastISel.cpp |    2 +-
 .../Target/WebAssembly/WebAssemblyISelLowering.cpp |    7 +-
 .../llvm/lib/Target/X86/GISel/X86LegalizerInfo.h   |    1 -
 .../llvm/lib/Target/X86/MCTargetDesc/X86BaseInfo.h |   16 -
 .../Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp   |    3 +
 contrib/llvm-project/llvm/lib/Target/X86/X86.h     |    8 +-
 .../X86/{X86EvexToVex.cpp => X86CompressEVEX.cpp}  |  168 ++--
 .../llvm/lib/Target/X86/X86DomainReassignment.cpp  |   67 +-
 .../llvm/lib/Target/X86/X86FastISel.cpp            |   12 +-
 .../llvm/lib/Target/X86/X86FlagsCopyLowering.cpp   |    1 -
 .../llvm/lib/Target/X86/X86ISelDAGToDAG.cpp        |    2 +-
 .../llvm/lib/Target/X86/X86ISelLowering.cpp        |  122 ++-
 .../llvm/lib/Target/X86/X86ISelLowering.h          |   10 -
 .../llvm/lib/Target/X86/X86ISelLoweringCall.cpp    |   37 +-
 .../llvm/lib/Target/X86/X86InstrAVX512.td          |  248 ++---
 .../llvm/lib/Target/X86/X86InstrArithmetic.td      | 1030 ++++++++++++--------
 .../llvm/lib/Target/X86/X86InstrFormats.td         |    6 -
 .../llvm/lib/Target/X86/X86InstrInfo.h             |    4 +-
 .../llvm/lib/Target/X86/X86InstrMisc.td            |  120 +--
 .../llvm/lib/Target/X86/X86InstrPredicates.td      |   33 +
 .../llvm/lib/Target/X86/X86InstrShiftRotate.td     |    2 +-
 .../llvm/lib/Target/X86/X86InstrSystem.td          |   13 +-
 .../llvm/lib/Target/X86/X86InstrUtils.td           |   10 +-
 .../llvm/lib/Target/X86/X86MCInstLower.cpp         |    7 +-
 .../llvm/lib/Target/X86/X86TargetMachine.cpp       |    4 +-
 .../llvm/lib/Target/X86/X86TargetTransformInfo.cpp |    1 +
 .../llvm/lib/Target/XCore/XCoreISelDAGToDAG.cpp    |    2 +-
 .../llvm-project/llvm/lib/TargetParser/Host.cpp    |    3 +-
 .../llvm-project/llvm/lib/TargetParser/Triple.cpp  |    7 +-
 .../llvm/lib/Transforms/Coroutines/CoroFrame.cpp   |   12 +-
 .../lib/Transforms/IPO/AttributorAttributes.cpp    |    6 +-
 .../Transforms/InstCombine/InstCombineAddSub.cpp   |    7 -
 .../Transforms/InstCombine/InstCombineCalls.cpp    |   62 +-
 .../Transforms/InstCombine/InstCombineCompares.cpp |   68 +-
 .../Transforms/InstCombine/InstCombineInternal.h   |   23 +-
 .../InstCombine/InstCombineMulDivRem.cpp           |    7 -
 .../InstCombine/InstructionCombining.cpp           |  135 ++-
 .../Instrumentation/AddressSanitizer.cpp           |   50 +-
 .../Transforms/Instrumentation/BoundsChecking.cpp  |    8 +-
 .../Transforms/Instrumentation/InstrProfiling.cpp  |   10 +-
 .../Instrumentation/PGOInstrumentation.cpp         |   51 +-
 .../Transforms/Scalar/ConstraintElimination.cpp    |   91 +-
 .../Scalar/CorrelatedValuePropagation.cpp          |   51 +-
 .../llvm/lib/Transforms/Scalar/SROA.cpp            |    6 +-
 .../Scalar/SeparateConstOffsetFromGEP.cpp          |    6 +-
 .../Scalar/StraightLineStrengthReduce.cpp          |    2 +-
 .../lib/Transforms/Utils/InjectTLIMappings.cpp     |   46 +-
 .../llvm/lib/Transforms/Utils/SCCPSolver.cpp       |   10 +-
 .../llvm/lib/Transforms/Utils/SimplifyCFG.cpp      |   35 +-
 .../llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp |   20 +-
 .../Transforms/Vectorize/LoadStoreVectorizer.cpp   |    2 +-
 .../Vectorize/LoopVectorizationPlanner.h           |   27 +-
 .../lib/Transforms/Vectorize/LoopVectorize.cpp     |  481 ++++-----
 .../lib/Transforms/Vectorize/SLPVectorizer.cpp     |   24 +-
 .../lib/Transforms/Vectorize/VPRecipeBuilder.h     |    7 +-
 .../llvm/lib/Transforms/Vectorize/VPlan.cpp        |    1 +
 .../llvm/lib/Transforms/Vectorize/VPlan.h          |   34 +-
 .../llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp |   88 +-
 .../lib/Transforms/Vectorize/VPlanTransforms.cpp   |   23 +-
 .../llvm-project/llvm/tools/lli/ExecutionUtils.cpp |   32 +-
 .../llvm/tools/lli/ForwardingMemoryManager.h       |    9 +-
 contrib/llvm-project/llvm/tools/lli/lli.cpp        |    9 +-
 .../llvm-project/llvm/tools/llvm-cxxfilt/Opts.td   |    2 +
 .../llvm/tools/llvm-cxxfilt/llvm-cxxfilt.cpp       |   10 +-
 .../llvm/tools/llvm-dwarfutil/DebugInfoLinker.cpp  |   32 +-
 .../llvm/tools/llvm-profdata/llvm-profdata.cpp     |   23 +-
 .../llvm/tools/llvm-readobj/ELFDumper.cpp          |    1 +
 contrib/llvm-project/llvm/tools/opt/opt.cpp        |    2 +-
 .../utils/TableGen/GlobalISelCombinerEmitter.cpp   |   16 +-
 .../TableGen/MacroFusionPredicatorEmitter.cpp      |  236 +++++
 .../llvm/utils/TableGen/PredicateExpander.cpp      |    8 +
 .../llvm/utils/TableGen/PredicateExpander.h        |    1 +
 .../TableGen/X86CompressEVEXTablesEmitter.cpp      |  206 ++++
 .../utils/TableGen/X86EVEX2VEXTablesEmitter.cpp    |  210 ----
 .../llvm/utils/TableGen/X86FoldTablesEmitter.cpp   |    6 +-
 .../utils/TableGen/X86ManualCompressEVEXTables.def |  331 +++++++
 contrib/llvm-project/openmp/runtime/src/kmp.h      |    7 +
 .../openmp/runtime/src/kmp_config.h.cmake          |    2 +-
 .../openmp/runtime/src/kmp_ftn_entry.h             |    2 +-
 .../llvm-project/openmp/runtime/src/kmp_global.cpp |    2 +-
 .../openmp/runtime/src/kmp_gsupport.cpp            |    3 +-
 contrib/llvm-project/openmp/runtime/src/kmp_os.h   |    9 +-
 .../llvm-project/openmp/runtime/src/kmp_platform.h |   32 +-
 .../openmp/runtime/src/kmp_runtime.cpp             |    8 +-
 .../openmp/runtime/src/kmp_settings.cpp            |    4 +-
 .../openmp/runtime/src/kmp_wrapper_getpid.h        |    5 +
 .../openmp/runtime/src/z_Linux_util.cpp            |   21 +-
 lib/clang/include/VCSVersion.inc                   |    6 +-
 lib/clang/include/lld/Common/Version.inc           |    2 +-
 lib/clang/include/llvm/Support/VCSRevision.h       |    2 +-
 lib/clang/libllvm/Makefile                         |    7 +-
 usr.bin/clang/llvm-tblgen/Makefile                 |    3 +-
 691 files changed, 13954 insertions(+), 6431 deletions(-)

diff --git a/contrib/llvm-project/clang/include/clang/AST/Attr.h b/contrib/llvm-project/clang/include/clang/AST/Attr.h
index 1b831c9511e2..8e9b7ad8b468 100644
--- a/contrib/llvm-project/clang/include/clang/AST/Attr.h
+++ b/contrib/llvm-project/clang/include/clang/AST/Attr.h
@@ -25,6 +25,7 @@
 #include "clang/Basic/Sanitizers.h"
 #include "clang/Basic/SourceLocation.h"
 #include "llvm/Frontend/HLSL/HLSLResource.h"
+#include "llvm/Support/CodeGen.h"
 #include "llvm/Support/ErrorHandling.h"
 #include "llvm/Support/VersionTuple.h"
 #include "llvm/Support/raw_ostream.h"
diff --git a/contrib/llvm-project/clang/include/clang/AST/DeclCXX.h b/contrib/llvm-project/clang/include/clang/AST/DeclCXX.h
index 432293583576..984a4d8bab5e 100644
--- a/contrib/llvm-project/clang/include/clang/AST/DeclCXX.h
+++ b/contrib/llvm-project/clang/include/clang/AST/DeclCXX.h
@@ -2044,6 +2044,14 @@ public:
   // Implement isa/cast/dyncast/etc.
   static bool classof(const Decl *D) { return classofKind(D->getKind()); }
   static bool classofKind(Kind K) { return K == RequiresExprBody; }
+
+  static DeclContext *castToDeclContext(const RequiresExprBodyDecl *D) {
+    return static_cast<DeclContext *>(const_cast<RequiresExprBodyDecl *>(D));
+  }
+
+  static RequiresExprBodyDecl *castFromDeclContext(const DeclContext *DC) {
+    return static_cast<RequiresExprBodyDecl *>(const_cast<DeclContext *>(DC));
+  }
 };
 
 /// Represents a static or instance method of a struct/union/class.
diff --git a/contrib/llvm-project/clang/include/clang/AST/TextNodeDumper.h b/contrib/llvm-project/clang/include/clang/AST/TextNodeDumper.h
index 2f4ed082a0c7..732749ad305e 100644
--- a/contrib/llvm-project/clang/include/clang/AST/TextNodeDumper.h
+++ b/contrib/llvm-project/clang/include/clang/AST/TextNodeDumper.h
@@ -252,6 +252,8 @@ public:
   void VisitGotoStmt(const GotoStmt *Node);
   void VisitCaseStmt(const CaseStmt *Node);
   void VisitReturnStmt(const ReturnStmt *Node);
+  void VisitCoawaitExpr(const CoawaitExpr *Node);
+  void VisitCoreturnStmt(const CoreturnStmt *Node);
   void VisitCompoundStmt(const CompoundStmt *Node);
   void VisitConstantExpr(const ConstantExpr *Node);
   void VisitCallExpr(const CallExpr *Node);
diff --git a/contrib/llvm-project/clang/include/clang/AST/Type.h b/contrib/llvm-project/clang/include/clang/AST/Type.h
index 1afa69367286..9e9f896ebef7 100644
--- a/contrib/llvm-project/clang/include/clang/AST/Type.h
+++ b/contrib/llvm-project/clang/include/clang/AST/Type.h
@@ -4224,6 +4224,8 @@ public:
     ExceptionSpecInfo() = default;
 
     ExceptionSpecInfo(ExceptionSpecificationType EST) : Type(EST) {}
+
+    void instantiate();
   };
 
   /// Extra information about a function prototype. ExtProtoInfo is not
diff --git a/contrib/llvm-project/clang/include/clang/Analysis/Analyses/UnsafeBufferUsage.h b/contrib/llvm-project/clang/include/clang/Analysis/Analyses/UnsafeBufferUsage.h
index 8a2d56668e32..b28f2c6b99c5 100644
--- a/contrib/llvm-project/clang/include/clang/Analysis/Analyses/UnsafeBufferUsage.h
+++ b/contrib/llvm-project/clang/include/clang/Analysis/Analyses/UnsafeBufferUsage.h
@@ -66,7 +66,7 @@ public:
 
   /// Invoked when an unsafe operation over raw pointers is found.
   virtual void handleUnsafeOperation(const Stmt *Operation,
-                                     bool IsRelatedToDecl) = 0;
+                                     bool IsRelatedToDecl, ASTContext &Ctx) = 0;
 
   /// Invoked when a fix is suggested against a variable. This function groups
   /// all variables that must be fixed together (i.e their types must be changed
diff --git a/contrib/llvm-project/clang/include/clang/Analysis/Analyses/UnsafeBufferUsageGadgets.def b/contrib/llvm-project/clang/include/clang/Analysis/Analyses/UnsafeBufferUsageGadgets.def
index 757ee452ced7..c97661688365 100644
--- a/contrib/llvm-project/clang/include/clang/Analysis/Analyses/UnsafeBufferUsageGadgets.def
+++ b/contrib/llvm-project/clang/include/clang/Analysis/Analyses/UnsafeBufferUsageGadgets.def
@@ -30,6 +30,7 @@ WARNING_GADGET(Decrement)
 WARNING_GADGET(ArraySubscript)
 WARNING_GADGET(PointerArithmetic)
 WARNING_GADGET(UnsafeBufferUsageAttr)
+WARNING_GADGET(DataInvocation)
 FIXABLE_GADGET(ULCArraySubscript)          // `DRE[any]` in an Unspecified Lvalue Context
 FIXABLE_GADGET(DerefSimplePtrArithFixable)
 FIXABLE_GADGET(PointerDereference)
diff --git a/contrib/llvm-project/clang/include/clang/Analysis/CFG.h b/contrib/llvm-project/clang/include/clang/Analysis/CFG.h
index 67383bb316d3..9f776ca6cc26 100644
--- a/contrib/llvm-project/clang/include/clang/Analysis/CFG.h
+++ b/contrib/llvm-project/clang/include/clang/Analysis/CFG.h
@@ -1215,7 +1215,9 @@ public:
   //===--------------------------------------------------------------------===//
 
   class BuildOptions {
-    std::bitset<Stmt::lastStmtConstant> alwaysAddMask;
+    // Stmt::lastStmtConstant has the same value as the last Stmt kind,
+    // so make sure we add one to account for this!
+    std::bitset<Stmt::lastStmtConstant + 1> alwaysAddMask;
 
   public:
     using ForcedBlkExprs = llvm::DenseMap<const Stmt *, const CFGBlock *>;
diff --git a/contrib/llvm-project/clang/include/clang/Basic/Attr.td b/contrib/llvm-project/clang/include/clang/Basic/Attr.td
index db17211747b1..d5eabaad4889 100644
--- a/contrib/llvm-project/clang/include/clang/Basic/Attr.td
+++ b/contrib/llvm-project/clang/include/clang/Basic/Attr.td
@@ -143,6 +143,11 @@ def ExternalGlobalVar : SubsetSubject<Var,
                                !S->isLocalExternDecl()}],
                              "external global variables">;
 
+def NonTLSGlobalVar : SubsetSubject<Var,
+                             [{S->hasGlobalStorage() &&
+                               S->getTLSKind() == 0}],
+                             "non-TLS global variables">;
+
 def InlineFunction : SubsetSubject<Function,
                              [{S->isInlineSpecified()}], "inline functions">;
 
@@ -431,6 +436,7 @@ def TargetAArch64 : TargetArch<["aarch64", "aarch64_be", "aarch64_32"]>;
 def TargetAnyArm : TargetArch<!listconcat(TargetARM.Arches, TargetAArch64.Arches)>;
 def TargetAVR : TargetArch<["avr"]>;
 def TargetBPF : TargetArch<["bpfel", "bpfeb"]>;
+def TargetLoongArch : TargetArch<["loongarch32", "loongarch64"]>;
 def TargetMips32 : TargetArch<["mips", "mipsel"]>;
 def TargetAnyMips : TargetArch<["mips", "mipsel", "mips64", "mips64el"]>;
 def TargetMSP430 : TargetArch<["msp430"]>;
@@ -1121,6 +1127,14 @@ def CoroLifetimeBound : InheritableAttr {
   let SimpleHandler = 1;
 }
 
+def CoroDisableLifetimeBound : InheritableAttr {
+  let Spellings = [Clang<"coro_disable_lifetimebound">];
+  let Subjects = SubjectList<[Function]>;
+  let LangOpts = [CPlusPlus];
+  let Documentation = [CoroLifetimeBoundDoc];
+  let SimpleHandler = 1;
+}
+
 // OSObject-based attributes.
 def OSConsumed : InheritableParamAttr {
   let Spellings = [Clang<"os_consumed">];
@@ -2730,6 +2744,15 @@ def PragmaClangTextSection : InheritableAttr {
   let Documentation = [InternalOnly];
 }
 
+def CodeModel : InheritableAttr, TargetSpecificAttr<TargetLoongArch> {
+  let Spellings = [GCC<"model">];
+  let Args = [EnumArgument<"Model", "llvm::CodeModel::Model",
+              ["normal", "medium", "extreme"], ["Small", "Medium", "Large"],
+              /*opt=*/0, /*fake=*/0, /*isExternalType=*/1>];
+  let Subjects = SubjectList<[NonTLSGlobalVar], ErrorDiag>;
+  let Documentation = [CodeModelDocs];
+}
+
 def Sentinel : InheritableAttr {
   let Spellings = [GCC<"sentinel">];
   let Args = [DefaultIntArgument<"Sentinel", 0>,
diff --git a/contrib/llvm-project/clang/include/clang/Basic/AttrDocs.td b/contrib/llvm-project/clang/include/clang/Basic/AttrDocs.td
index 98a7ecc7fd7d..5416a0cbdd07 100644
--- a/contrib/llvm-project/clang/include/clang/Basic/AttrDocs.td
+++ b/contrib/llvm-project/clang/include/clang/Basic/AttrDocs.td
@@ -57,6 +57,15 @@ global variable or function should be in after translation.
   let Heading = "section, __declspec(allocate)";
 }
 
+def CodeModelDocs : Documentation {
+  let Category = DocCatVariable;
+  let Content = [{
+The ``model`` attribute allows overriding the translation unit's
+code model (specified by ``-mcmodel``) for a specific global variable.
+  }];
+  let Heading = "model";
+}
+
 def UsedDocs : Documentation {
   let Category = DocCatFunction;
   let Content = [{
@@ -7671,9 +7680,12 @@ The ``[[clang::coro_lifetimebound]]`` is a class attribute which can be applied
 to a coroutine return type (`CRT`_) (i.e.
 it should also be annotated with ``[[clang::coro_return_type]]``).
 
-All parameters of a function are considered to be lifetime bound. See `documentation`_
-of ``[[clang::lifetimebound]]`` for more details.
-if the function returns a coroutine return type (CRT) annotated with ``[[clang::coro_lifetimebound]]``.
+All parameters of a function are considered to be lifetime bound if the function returns a
+coroutine return type (CRT) annotated with ``[[clang::coro_lifetimebound]]``.
+This lifetime bound analysis can be disabled for a coroutine wrapper or a coroutine by annotating the function
+with ``[[clang::coro_disable_lifetimebound]]`` function attribute .
+See `documentation`_ of ``[[clang::lifetimebound]]`` for details about lifetime bound analysis.
+
 
 Reference parameters of a coroutine are susceptible to capturing references to temporaries or local variables.
 
@@ -7703,7 +7715,7 @@ Both coroutines and coroutine wrappers are part of this analysis.
   };
 
   Task<int> coro(const int& a) { co_return a + 1; }
-  Task<int> [[clang::coro_wrapper]] coro_wrapper(const int& a, const int& b) {
+  [[clang::coro_wrapper]] Task<int> coro_wrapper(const int& a, const int& b) {
     return a > b ? coro(a) : coro(b);
   }
   Task<int> temporary_reference() {
@@ -7718,6 +7730,21 @@ Both coroutines and coroutine wrappers are part of this analysis.
     return coro(a); // warning: returning address of stack variable `a`.
   }
 
+This analysis can be disabled for all calls to a particular function by annotating the function
+with function attribute ``[[clang::coro_disable_lifetimebound]]``.
+For example, this could be useful for coroutine wrappers which accept reference parameters
+but do not pass them to the underlying coroutine or pass them by value.
+
+.. code-block:: c++
+
+  Task<int> coro(int a) { co_return a + 1; }
+  [[clang::coro_wrapper, clang::coro_disable_lifetimebound]] Task<int> coro_wrapper(const int& a) {
+    return coro(a + 1);
+  }
+  void use() {
+    auto task = coro_wrapper(1); // use of temporary is fine as the argument is not lifetime bound.
+  }
+
 .. _`documentation`: https://clang.llvm.org/docs/AttributeReference.html#lifetimebound
 .. _`CRT`: https://clang.llvm.org/docs/AttributeReference.html#coro-return-type
 }];
diff --git a/contrib/llvm-project/clang/include/clang/Basic/CodeGenOptions.def b/contrib/llvm-project/clang/include/clang/Basic/CodeGenOptions.def
index 0acb5ae134ea..2c4fb6745bc1 100644
--- a/contrib/llvm-project/clang/include/clang/Basic/CodeGenOptions.def
+++ b/contrib/llvm-project/clang/include/clang/Basic/CodeGenOptions.def
@@ -209,6 +209,7 @@ CODEGENOPT(CoverageMapping , 1, 0) ///< Generate coverage mapping regions to
                                    ///< enable code coverage analysis.
 CODEGENOPT(DumpCoverageMapping , 1, 0) ///< Dump the generated coverage mapping
                                        ///< regions.
+CODEGENOPT(MCDCCoverage , 1, 0) ///< Enable MC/DC code coverage criteria.
 
   /// If -fpcc-struct-return or -freg-struct-return is specified.
 ENUM_CODEGENOPT(StructReturnConvention, StructReturnConventionKind, 2, SRCK_Default)
diff --git a/contrib/llvm-project/clang/include/clang/Basic/DiagnosticCommonKinds.td b/contrib/llvm-project/clang/include/clang/Basic/DiagnosticCommonKinds.td
index 65a33f61a694..72952b08c04a 100644
--- a/contrib/llvm-project/clang/include/clang/Basic/DiagnosticCommonKinds.td
+++ b/contrib/llvm-project/clang/include/clang/Basic/DiagnosticCommonKinds.td
@@ -349,6 +349,9 @@ def warn_invalid_feature_combination : Warning<
 def warn_target_unrecognized_env : Warning<
   "mismatch between architecture and environment in target triple '%0'; did you mean '%1'?">,
   InGroup<InvalidCommandLineArgument>;
+def warn_knl_knm_isa_support_removed : Warning<
+  "KNL, KNM related Intel Xeon Phi CPU's specific ISA's supports will be removed in LLVM 19.">,
+  InGroup<DiagGroup<"knl-knm-isa-support-removed">>;
 
 // Source manager
 def err_cannot_open_file : Error<"cannot open file '%0': %1">, DefaultFatal;
diff --git a/contrib/llvm-project/clang/include/clang/Basic/DiagnosticDriverKinds.td b/contrib/llvm-project/clang/include/clang/Basic/DiagnosticDriverKinds.td
index 676f1a62b49d..0a8a77fadbeb 100644
--- a/contrib/llvm-project/clang/include/clang/Basic/DiagnosticDriverKinds.td
+++ b/contrib/llvm-project/clang/include/clang/Basic/DiagnosticDriverKinds.td
@@ -786,4 +786,7 @@ def warn_android_unversioned_fallback : Warning<
   " directories will not be used in Clang 19. Provide a versioned directory"
   " for the target version or lower instead.">,
   InGroup<DiagGroup<"android-unversioned-fallback">>;
+
+def err_drv_triple_version_invalid : Error<
+  "version '%0' in target triple '%1' is invalid">;
 }
diff --git a/contrib/llvm-project/clang/include/clang/Basic/DiagnosticParseKinds.td b/contrib/llvm-project/clang/include/clang/Basic/DiagnosticParseKinds.td
index e4b1069cde18..088f8b74983c 100644
--- a/contrib/llvm-project/clang/include/clang/Basic/DiagnosticParseKinds.td
+++ b/contrib/llvm-project/clang/include/clang/Basic/DiagnosticParseKinds.td
@@ -1364,6 +1364,8 @@ def err_acc_invalid_clause : Error<"invalid OpenACC clause %0">;
 def err_acc_missing_directive : Error<"expected OpenACC directive">;
 def err_acc_invalid_open_paren
     : Error<"expected clause-list or newline in OpenACC directive">;
+def err_acc_invalid_default_clause_kind
+    : Error<"invalid value for 'default' clause; expected 'present' or 'none'">;
 
 // OpenMP support.
 def warn_pragma_omp_ignored : Warning<
diff --git a/contrib/llvm-project/clang/include/clang/Basic/DiagnosticSemaKinds.td b/contrib/llvm-project/clang/include/clang/Basic/DiagnosticSemaKinds.td
index cb68ded1f38c..e81d1a4fc288 100644
--- a/contrib/llvm-project/clang/include/clang/Basic/DiagnosticSemaKinds.td
*** 39310 LINES SKIPPED ***