git: ed89c59104c1 - stable/13 - Merge llvm-project main llvmorg-18-init-16595-g7c00a5be5cde
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sat, 20 Apr 2024 10:34:23 UTC
The branch stable/13 has been updated by dim:
URL: https://cgit.FreeBSD.org/src/commit/?id=ed89c59104c13195cbbad881f64c6a71f687c1e4
commit ed89c59104c13195cbbad881f64c6a71f687c1e4
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:24:41 +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 ***