From nobody Sat Jun 04 12:01:10 2022 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 2E3E91B567B7; Sat, 4 Jun 2022 12:01:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4LFdd40J0wz4cVM; Sat, 4 Jun 2022 12:01:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1654344072; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YwqJs9OV/UXsF8Uod9FBvDtbijXKiJMMtdRtI72DSRA=; b=ua+ChoWumTtVPYsr8P0e4/0c8JMK/r1zNzHadS/CPyqW4XvLe16dtA2plQOaupSk1YbXsO 3WtnI4CVn8QISMI1W4XToeMzMXq2REJCQ2y/xaTgnr+W3kzZ3sCeBBzI/OgdlBlBBxvITK PaK2TvuzIaKcObK7hSuIM4QFb/kS/y6jMqcLEKfiRbqf1FTLN30OcBHcz+5c1d0pR4sFUb yH3pgM3Rw9GEVY1QEHiKaqfLRV/qI7lgp4JOxCFVH1+Uocbbyjx63XjBRiFWLgaaW9AwF5 HXMmx7x9OhGPBx2EhhqLG8aNONJcp5ceZ0WobhlTqvUzOfAcjCfXfuD7Ri4+bA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id CECE71D4C0; Sat, 4 Jun 2022 12:01:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 254C1BKG093654; Sat, 4 Jun 2022 12:01:11 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 254C1AZQ093653; Sat, 4 Jun 2022 12:01:10 GMT (envelope-from git) Date: Sat, 4 Jun 2022 12:01:10 GMT Message-Id: <202206041201.254C1AZQ093653@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dimitry Andric Subject: git: 67eec5325a1a - stable/13 - Merge llvm-project main llvmorg-14-init-18294-gdb01b123d012 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dim X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 67eec5325a1ab99d493fd7e0381d20aab19b286e Auto-Submitted: auto-generated ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1654344072; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YwqJs9OV/UXsF8Uod9FBvDtbijXKiJMMtdRtI72DSRA=; b=lIWGhf/67y3AoODjQNWaaRJ2xg8awP2J9ehxtOnvjkRsX3pMc5BKNcUFzEHIK0AT8gz7T1 Xmenb48nNdJqX1g2b/annaQALPY6E3TeqvUW/qvtIlnFWvDvC+IsGM+1lwOaXBdFO9kwLU FlhhsOGmxoMssaH/dFET8MF18F0rNLDwbtlW/sgces09n42Z1dySiCa0pd/wugoS8JS0QY 6gkSSkVivPf+bUsglvGJFLOkelrNQ7j7dnI4m8vYSb/EQDbjl16dciukrnVoGcZ3rrjLzk AXJ5VZwuQ2CJLrZ3POqTgM3Kohq1PDI2AqBdNwaTcjRAgnUkZ/4vxBYr7vEGew== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1654344072; a=rsa-sha256; cv=none; b=AjgZOwFgb1pEf0YscefQIcEZv9tgG3HT+hL8AB6t+HPmYTx63UBGvz1f3ljQ9G3yXzIoiq 0n9Oc9q8hmI0KyGwQKDRz+GG51GeAGwz/Vs+60g33mtmUFVWlG4gAsgAl8IpZiKVuV9KP+ GDXhr0owB/aVXfrWWwZioBBLlsSbNOy5l9DtBn5cn/X3YinNKf7KYaTi019/Ega4UihouY fjyrYw36m9IBwOhT77h3i3lpiak1PQqWqdV4zB7lFIs6kfcQCB0RtIDH8v0Fm5d5piUHuI eFZOAQks78bk5RL8oYdfB7OE4HNZ12mPfumbqHOa9gFKP7n9El6rGh/6lDj3Ow== ARC-Authentication-Results: i=1; mx1.freebsd.org; none X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=67eec5325a1ab99d493fd7e0381d20aab19b286e commit 67eec5325a1ab99d493fd7e0381d20aab19b286e Author: Dimitry Andric AuthorDate: 2022-02-05 20:07:43 +0000 Commit: Dimitry Andric CommitDate: 2022-06-04 11:59:26 +0000 Merge llvm-project main llvmorg-14-init-18294-gdb01b123d012 This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvmorg-14-init-18294-gdb01b123d012, the last commit before the upstream release/14.x branch was created. PR: 261742 MFC after: 2 weeks (cherry picked from commit 1fd87a682ad7442327078e1eeb63edc4258f9815) --- .../clang/include/clang/AST/ASTContext.h | 35 +- .../include/clang/Analysis/Analyses/Dominators.h | 2 +- .../clang/include/clang/Analysis/CFG.h | 12 - .../Analysis/FlowSensitive/DataflowAnalysis.h | 15 +- .../Analysis/FlowSensitive/DataflowEnvironment.h | 57 ++- .../clang/Analysis/FlowSensitive/MapLattice.h | 4 +- .../FlowSensitive/TypeErasedDataflowAnalysis.h | 8 +- .../clang/include/clang/Basic/AttrDocs.td | 56 +-- .../clang/include/clang/Basic/BuiltinsAArch64.def | 3 + .../clang/include/clang/Basic/CodeGenOptions.h | 5 + .../include/clang/Basic/DiagnosticCommonKinds.td | 7 + .../include/clang/Basic/DiagnosticDriverKinds.td | 8 +- .../clang/include/clang/Basic/LangOptions.h | 4 + .../clang/include/clang/Basic/TargetInfo.h | 19 +- .../clang/include/clang/CodeGen/BackendUtil.h | 3 + .../clang/include/clang/Driver/Action.h | 12 + .../clang/include/clang/Driver/Driver.h | 51 +- .../llvm-project/clang/include/clang/Driver/Job.h | 2 + .../clang/include/clang/Driver/Options.td | 20 +- .../clang/include/clang/Driver/ToolChain.h | 18 + .../clang/StaticAnalyzer/Checkers/Checkers.td | 2 +- contrib/llvm-project/clang/lib/AST/ASTContext.cpp | 37 +- .../llvm-project/clang/lib/AST/ExprConstant.cpp | 17 +- .../clang/lib/AST/RecordLayoutBuilder.cpp | 7 +- .../Analysis/FlowSensitive/DataflowEnvironment.cpp | 73 ++- .../FlowSensitive/TypeErasedDataflowAnalysis.cpp | 11 +- .../clang/lib/Basic/Targets/AArch64.cpp | 2 +- .../llvm-project/clang/lib/Basic/Targets/AArch64.h | 5 +- .../llvm-project/clang/lib/Basic/Targets/ARM.cpp | 23 +- contrib/llvm-project/clang/lib/Basic/Targets/ARM.h | 6 +- .../clang/lib/Basic/Targets/WebAssembly.cpp | 1 + .../llvm-project/clang/lib/CodeGen/BackendUtil.cpp | 31 +- .../llvm-project/clang/lib/CodeGen/CGBuiltin.cpp | 12 + contrib/llvm-project/clang/lib/CodeGen/CGClass.cpp | 3 +- contrib/llvm-project/clang/lib/CodeGen/CGExpr.cpp | 2 +- .../llvm-project/clang/lib/CodeGen/CGExprAgg.cpp | 4 +- .../llvm-project/clang/lib/CodeGen/CGExprCXX.cpp | 8 +- .../clang/lib/CodeGen/CGExprConstant.cpp | 1 + .../clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp | 16 +- contrib/llvm-project/clang/lib/CodeGen/CGStmt.cpp | 2 +- .../clang/lib/CodeGen/CGStmtOpenMP.cpp | 55 ++ .../clang/lib/CodeGen/CodeGenAction.cpp | 1 + .../clang/lib/CodeGen/CodeGenFunction.h | 1 + .../clang/lib/CodeGen/CodeGenModule.cpp | 9 +- .../llvm-project/clang/lib/CodeGen/CodeGenModule.h | 7 - .../llvm-project/clang/lib/CodeGen/TargetInfo.cpp | 59 ++- contrib/llvm-project/clang/lib/Driver/Action.cpp | 8 + contrib/llvm-project/clang/lib/Driver/Driver.cpp | 264 +++++++--- .../llvm-project/clang/lib/Driver/ToolChain.cpp | 12 +- .../clang/lib/Driver/ToolChains/AMDGPUOpenMP.cpp | 4 + .../clang/lib/Driver/ToolChains/AVR.cpp | 5 + .../clang/lib/Driver/ToolChains/Clang.cpp | 159 +++++- .../clang/lib/Driver/ToolChains/Clang.h | 15 + .../clang/lib/Driver/ToolChains/CommonArgs.cpp | 27 +- .../clang/lib/Driver/ToolChains/CommonArgs.h | 3 + .../clang/lib/Driver/ToolChains/Cuda.cpp | 4 + .../clang/lib/Driver/ToolChains/XCore.cpp | 4 + .../clang/lib/Format/BreakableToken.cpp | 35 +- .../clang/lib/Format/ContinuationIndenter.cpp | 12 +- contrib/llvm-project/clang/lib/Format/Format.cpp | 57 ++- .../llvm-project/clang/lib/Format/FormatToken.h | 28 ++ .../clang/lib/Format/NamespaceEndCommentsFixer.cpp | 4 +- .../clang/lib/Format/SortJavaScriptImports.cpp | 7 +- .../clang/lib/Format/TokenAnalyzer.cpp | 10 +- .../llvm-project/clang/lib/Format/TokenAnnotator.h | 5 +- .../clang/lib/Format/UnwrappedLineFormatter.cpp | 25 +- .../clang/lib/Format/UnwrappedLineParser.cpp | 21 +- .../clang/lib/Format/UsingDeclarationsSorter.cpp | 10 +- .../clang/lib/Format/WhitespaceManager.cpp | 31 +- .../clang/lib/Frontend/CompilerInvocation.cpp | 4 + .../clang/lib/Frontend/InitPreprocessor.cpp | 8 + contrib/llvm-project/clang/lib/Headers/arm_acle.h | 6 + contrib/llvm-project/clang/lib/Headers/float.h | 21 +- contrib/llvm-project/clang/lib/Headers/limits.h | 2 + .../llvm-project/clang/lib/Headers/opencl-c-base.h | 6 + contrib/llvm-project/clang/lib/Headers/opencl-c.h | 86 ++-- contrib/llvm-project/clang/lib/Lex/Lexer.cpp | 5 +- .../llvm-project/clang/lib/Sema/OpenCLBuiltins.td | 14 +- contrib/llvm-project/clang/lib/Sema/Sema.cpp | 57 ++- contrib/llvm-project/clang/lib/Sema/SemaCUDA.cpp | 2 + .../llvm-project/clang/lib/Sema/SemaChecking.cpp | 2 +- .../llvm-project/clang/lib/Sema/SemaCoroutine.cpp | 12 +- contrib/llvm-project/clang/lib/Sema/SemaDecl.cpp | 13 +- .../llvm-project/clang/lib/Sema/SemaDeclAttr.cpp | 3 +- contrib/llvm-project/clang/lib/Sema/SemaExpr.cpp | 23 +- .../llvm-project/clang/lib/Sema/SemaExprCXX.cpp | 7 +- contrib/llvm-project/clang/lib/Sema/SemaOpenMP.cpp | 19 +- .../llvm-project/clang/lib/Sema/SemaOverload.cpp | 7 +- .../clang/lib/Sema/SemaTemplateInstantiate.cpp | 3 + contrib/llvm-project/clang/lib/Sema/SemaType.cpp | 7 +- .../llvm-project/clang/lib/Sema/TreeTransform.h | 2 + .../compiler-rt/include/profile/InstrProfData.inc | 4 + .../compiler-rt/include/profile/MemProfData.inc | 99 +++- .../include/sanitizer/common_interface_defs.h | 9 + .../compiler-rt/lib/builtins/floatsisf.c | 4 +- .../compiler-rt/lib/builtins/floatsitf.c | 8 +- .../compiler-rt/lib/builtins/floatunsisf.c | 4 +- .../compiler-rt/lib/builtins/floatunsitf.c | 4 +- .../compiler-rt/lib/builtins/fp_extend.h | 4 +- .../compiler-rt/lib/builtins/udivmoddi4.c | 4 +- .../lib/hwasan/hwasan_memintrinsics.cpp | 2 +- .../lib/interception/interception_win.cpp | 2 + .../compiler-rt/lib/memprof/memprof_allocator.cpp | 40 +- .../compiler-rt/lib/memprof/memprof_meminfoblock.h | 116 ----- .../compiler-rt/lib/memprof/memprof_mibmap.cpp | 2 + .../compiler-rt/lib/memprof/memprof_mibmap.h | 9 +- .../compiler-rt/lib/memprof/memprof_rawprofile.cpp | 9 +- .../compiler-rt/lib/memprof/tests/rawprofile.cpp | 50 +- .../compiler-rt/lib/msan/msan_interceptors.cpp | 8 +- .../compiler-rt/lib/profile/InstrProfiling.c | 4 +- .../compiler-rt/lib/profile/InstrProfilingBuffer.c | 2 + .../compiler-rt/lib/profile/InstrProfilingMerge.c | 10 +- .../lib/sanitizer_common/sanitizer_atomic_clang.h | 13 +- .../lib/tsan/rtl/tsan_interceptors_posix.cpp | 6 +- .../libcxx/include/__algorithm/in_in_out_result.h | 48 ++ .../libcxx/include/__algorithm/in_in_result.h | 4 +- .../libcxx/include/__algorithm/in_out_result.h | 4 +- .../__compare/compare_partial_order_fallback.h | 73 +++ .../__compare/compare_strong_order_fallback.h | 70 +++ .../__compare/compare_weak_order_fallback.h | 70 +++ .../libcxx/include/__concepts/swappable.h | 15 +- contrib/llvm-project/libcxx/include/__config | 15 +- .../include/__filesystem/directory_iterator.h | 2 +- .../__filesystem/recursive_directory_iterator.h | 2 +- .../libcxx/include/__format/format_arg.h | 7 +- .../libcxx/include/__format/format_context.h | 8 +- .../libcxx/include/__functional/function.h | 2 +- .../include/__functional/ranges_operations.h | 4 +- .../libcxx/include/__iterator/advance.h | 4 +- .../libcxx/include/__iterator/common_iterator.h | 4 +- .../libcxx/include/__iterator/concepts.h | 4 +- .../libcxx/include/__iterator/counted_iterator.h | 4 +- .../libcxx/include/__iterator/default_sentinel.h | 4 +- .../libcxx/include/__iterator/distance.h | 56 +++ .../include/__iterator/incrementable_traits.h | 4 +- .../include/__iterator/indirectly_comparable.h | 4 +- .../libcxx/include/__iterator/insert_iterator.h | 2 +- .../libcxx/include/__iterator/iter_move.h | 29 +- .../libcxx/include/__iterator/iter_swap.h | 17 +- .../libcxx/include/__iterator/iterator_traits.h | 12 +- .../llvm-project/libcxx/include/__iterator/next.h | 4 +- .../llvm-project/libcxx/include/__iterator/prev.h | 4 +- .../libcxx/include/__iterator/projected.h | 4 +- .../libcxx/include/__iterator/readable_traits.h | 4 +- .../include/__iterator/unreachable_sentinel.h | 4 +- contrib/llvm-project/libcxx/include/__locale | 8 +- .../libcxx/include/__memory/concepts.h | 4 +- .../libcxx/include/__memory/ranges_construct_at.h | 4 +- .../__memory/ranges_uninitialized_algorithms.h | 4 +- .../llvm-project/libcxx/include/__ranges/access.h | 12 +- contrib/llvm-project/libcxx/include/__ranges/all.h | 6 +- .../libcxx/include/__ranges/common_view.h | 8 +- .../libcxx/include/__ranges/concepts.h | 4 +- .../libcxx/include/__ranges/copyable_box.h | 4 +- .../llvm-project/libcxx/include/__ranges/counted.h | 4 +- .../libcxx/include/__ranges/dangling.h | 4 +- .../llvm-project/libcxx/include/__ranges/data.h | 8 +- .../libcxx/include/__ranges/drop_view.h | 4 +- .../llvm-project/libcxx/include/__ranges/empty.h | 6 +- .../libcxx/include/__ranges/empty_view.h | 4 +- .../include/__ranges/enable_borrowed_range.h | 4 +- .../libcxx/include/__ranges/enable_view.h | 6 +- .../libcxx/include/__ranges/iota_view.h | 6 +- .../libcxx/include/__ranges/join_view.h | 4 +- .../include/__ranges/non_propagating_cache.h | 4 +- .../libcxx/include/__ranges/owning_view.h | 4 +- .../libcxx/include/__ranges/range_adaptor.h | 4 +- .../libcxx/include/__ranges/ref_view.h | 4 +- .../libcxx/include/__ranges/reverse_view.h | 8 +- .../libcxx/include/__ranges/single_view.h | 4 +- .../llvm-project/libcxx/include/__ranges/size.h | 10 +- .../libcxx/include/__ranges/subrange.h | 6 +- .../libcxx/include/__ranges/take_view.h | 4 +- .../libcxx/include/__ranges/transform_view.h | 9 +- .../libcxx/include/__ranges/view_interface.h | 6 +- contrib/llvm-project/libcxx/include/algorithm | 6 +- contrib/llvm-project/libcxx/include/atomic | 3 + contrib/llvm-project/libcxx/include/compare | 14 +- contrib/llvm-project/libcxx/include/cstddef | 3 +- .../llvm-project/libcxx/include/module.modulemap | 24 +- contrib/llvm-project/libcxx/include/ranges | 4 +- contrib/llvm-project/libcxx/include/span | 18 +- contrib/llvm-project/libcxx/include/string_view | 12 +- contrib/llvm-project/libcxx/include/variant | 2 +- .../libcxx/src/filesystem/operations.cpp | 107 +++- .../libunwind/include/__libunwind_config.h | 2 +- .../libunwind/src/UnwindRegistersRestore.S | 2 +- .../libunwind/src/UnwindRegistersSave.S | 2 +- contrib/llvm-project/libunwind/src/assembly.h | 2 +- contrib/llvm-project/libunwind/src/config.h | 2 +- contrib/llvm-project/libunwind/src/libunwind.cpp | 2 +- contrib/llvm-project/lld/Common/ErrorHandler.cpp | 7 + contrib/llvm-project/lld/ELF/Arch/AArch64.cpp | 50 ++ contrib/llvm-project/lld/ELF/Config.h | 7 +- contrib/llvm-project/lld/ELF/Driver.cpp | 59 +-- contrib/llvm-project/lld/ELF/Driver.h | 2 +- contrib/llvm-project/lld/ELF/ICF.cpp | 2 +- contrib/llvm-project/lld/ELF/InputFiles.cpp | 67 ++- contrib/llvm-project/lld/ELF/InputFiles.h | 35 +- contrib/llvm-project/lld/ELF/InputSection.cpp | 73 ++- contrib/llvm-project/lld/ELF/InputSection.h | 21 +- contrib/llvm-project/lld/ELF/LTO.cpp | 2 +- contrib/llvm-project/lld/ELF/LinkerScript.cpp | 16 +- contrib/llvm-project/lld/ELF/LinkerScript.h | 2 +- contrib/llvm-project/lld/ELF/MarkLive.cpp | 6 +- contrib/llvm-project/lld/ELF/OutputSections.cpp | 38 +- contrib/llvm-project/lld/ELF/SyntheticSections.cpp | 138 ++--- contrib/llvm-project/lld/ELF/SyntheticSections.h | 35 +- contrib/llvm-project/lld/ELF/Target.cpp | 17 +- contrib/llvm-project/lld/ELF/Target.h | 23 + contrib/llvm-project/lld/ELF/Writer.cpp | 52 +- contrib/llvm-project/lld/MachO/Driver.cpp | 6 + contrib/llvm-project/lld/MachO/Driver.h | 5 +- contrib/llvm-project/lld/MachO/InputFiles.h | 9 +- contrib/llvm-project/lld/MachO/MapFile.cpp | 59 ++- contrib/llvm-project/lld/MachO/Options.td | 4 + contrib/llvm-project/lld/MachO/OutputSection.h | 18 +- contrib/llvm-project/lld/MachO/SyntheticSections.h | 2 + .../llvm-project/lld/MachO/UnwindInfoSection.cpp | 2 +- contrib/llvm-project/lld/MachO/Writer.cpp | 11 +- contrib/llvm-project/lld/docs/ReleaseNotes.rst | 21 +- contrib/llvm-project/lld/docs/conf.py | 9 - .../lldb/bindings/interface/SBThread.i | 2 +- .../llvm-project/lldb/docs/design/reproducers.rst | 205 -------- .../lldb/include/lldb/API/SBPlatform.h | 1 - .../llvm-project/lldb/include/lldb/API/SBTarget.h | 1 - .../llvm-project/lldb/include/lldb/API/SBThread.h | 2 +- .../llvm-project/lldb/include/lldb/API/SBType.h | 1 - .../llvm-project/lldb/include/lldb/Target/Target.h | 5 +- .../llvm-project/lldb/include/lldb/Target/Thread.h | 10 +- contrib/llvm-project/lldb/source/API/SBThread.cpp | 48 +- .../Disassembler/LLVMC/DisassemblerLLVMC.cpp | 16 +- .../ExpressionParser/Clang/ClangFunctionCaller.h | 1 - .../ExpressionParser/Clang/ClangUserExpression.h | 2 + .../Process/gdb-remote/GDBRemoteClientBase.cpp | 14 +- .../Process/gdb-remote/GDBRemoteCommunication.cpp | 16 +- .../gdb-remote/GDBRemoteCommunicationClient.cpp | 31 +- .../gdb-remote/GDBRemoteCommunicationServer.cpp | 2 +- .../gdb-remote/GDBRemoteRegisterContext.cpp | 12 +- .../Process/gdb-remote/ProcessGDBRemote.cpp | 76 ++- .../Process/gdb-remote/ProcessGDBRemoteLog.h | 19 - .../Plugins/Process/gdb-remote/ThreadGDBRemote.h | 6 +- .../Plugins/SymbolFile/DWARF/AppleDWARFIndex.cpp | 3 +- .../SymbolFile/DWARF/DWARFASTParserClang.cpp | 155 +----- .../SymbolFile/DWARF/DWARFDebugArangeSet.cpp | 2 +- .../Plugins/SymbolFile/DWARF/DWARFDebugAranges.cpp | 2 +- .../SymbolFile/DWARF/DebugNamesDWARFIndex.cpp | 2 +- .../Plugins/SymbolFile/DWARF/LogChannelDWARF.h | 8 - .../Plugins/SymbolFile/DWARF/ManualDWARFIndex.cpp | 2 +- .../Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp | 32 +- .../SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp | 4 +- .../Plugins/TypeSystem/Clang/TypeSystemClang.cpp | 32 +- contrib/llvm-project/lldb/source/Target/Target.cpp | 12 +- contrib/llvm-project/lldb/source/Target/Thread.cpp | 24 + contrib/llvm-project/llvm/include/llvm-c/Core.h | 1 + .../llvm-project/llvm/include/llvm-c/DebugInfo.h | 2 +- .../llvm/include/llvm/ADT/APFixedPoint.h | 4 +- .../llvm-project/llvm/include/llvm/ADT/APFloat.h | 1 - .../llvm-project/llvm/include/llvm/ADT/APSInt.h | 9 +- contrib/llvm-project/llvm/include/llvm/ADT/Any.h | 11 +- .../llvm-project/llvm/include/llvm/ADT/BitVector.h | 7 +- .../llvm/include/llvm/ADT/BreadthFirstIterator.h | 15 +- .../llvm/include/llvm/ADT/CachedHashString.h | 19 +- .../llvm/include/llvm/ADT/CoalescingBitVector.h | 3 +- .../llvm-project/llvm/include/llvm/ADT/DenseMap.h | 7 +- .../llvm/include/llvm/ADT/DenseMapInfo.h | 7 +- .../llvm-project/llvm/include/llvm/ADT/DenseSet.h | 7 +- .../llvm/include/llvm/ADT/DepthFirstIterator.h | 46 +- .../llvm/include/llvm/ADT/DirectedGraph.h | 9 +- .../llvm/include/llvm/ADT/EnumeratedArray.h | 8 +- .../llvm/include/llvm/ADT/EpochTracker.h | 11 +- .../llvm/include/llvm/ADT/EquivalenceClasses.h | 9 +- .../llvm/include/llvm/ADT/FloatingPointMode.h | 7 +- .../llvm/include/llvm/ADT/FoldingSet.h | 11 +- .../llvm/include/llvm/ADT/GenericCycleImpl.h | 27 +- .../llvm/include/llvm/ADT/GenericCycleInfo.h | 4 +- .../llvm/include/llvm/ADT/GraphTraits.h | 16 +- .../llvm/include/llvm/ADT/ImmutableList.h | 7 +- .../llvm/include/llvm/ADT/ImmutableMap.h | 7 +- .../llvm/include/llvm/ADT/ImmutableSet.h | 7 +- .../llvm/include/llvm/ADT/IndexedMap.h | 19 +- .../llvm/include/llvm/ADT/IntEqClasses.h | 21 +- .../llvm/include/llvm/ADT/IntervalMap.h | 49 +- .../llvm/include/llvm/ADT/IntrusiveRefCntPtr.h | 95 ++-- .../llvm-project/llvm/include/llvm/ADT/MapVector.h | 13 +- contrib/llvm-project/llvm/include/llvm/ADT/None.h | 11 +- .../llvm-project/llvm/include/llvm/ADT/Optional.h | 13 +- .../llvm/include/llvm/ADT/PackedVector.h | 7 +- .../llvm/include/llvm/ADT/PointerIntPair.h | 7 +- .../llvm/include/llvm/ADT/PointerUnion.h | 9 +- .../llvm/include/llvm/ADT/PostOrderIterator.h | 11 +- .../llvm/include/llvm/ADT/PriorityQueue.h | 7 +- .../llvm/include/llvm/ADT/STLArrayExtras.h | 35 ++ .../llvm-project/llvm/include/llvm/ADT/STLExtras.h | 28 +- .../llvm/include/llvm/ADT/STLForwardCompat.h | 13 +- .../llvm-project/llvm/include/llvm/ADT/ScopeExit.h | 9 +- .../llvm/include/llvm/ADT/SetOperations.h | 9 +- .../llvm-project/llvm/include/llvm/ADT/SetVector.h | 19 +- .../llvm/include/llvm/ADT/SmallBitVector.h | 7 +- .../llvm/include/llvm/ADT/SmallPtrSet.h | 7 +- .../llvm-project/llvm/include/llvm/ADT/SmallSet.h | 7 +- .../llvm/include/llvm/ADT/SmallString.h | 7 +- .../llvm/include/llvm/ADT/SmallVector.h | 39 +- .../llvm/include/llvm/ADT/SparseBitVector.h | 9 +- .../llvm/include/llvm/ADT/SparseMultiSet.h | 21 +- .../llvm-project/llvm/include/llvm/ADT/SparseSet.h | 19 +- .../llvm-project/llvm/include/llvm/ADT/Statistic.h | 31 +- .../llvm/include/llvm/ADT/StringExtras.h | 12 +- .../llvm-project/llvm/include/llvm/ADT/StringMap.h | 7 +- .../llvm/include/llvm/ADT/StringMapEntry.h | 11 +- .../llvm-project/llvm/include/llvm/ADT/StringSet.h | 7 +- .../llvm/include/llvm/ADT/StringSwitch.h | 9 +- .../llvm-project/llvm/include/llvm/ADT/Triple.h | 35 ++ .../llvm/include/llvm/ADT/TypeSwitch.h | 9 +- .../llvm/include/llvm/ADT/Waymarking.h | 322 ------------ contrib/llvm-project/llvm/include/llvm/ADT/bit.h | 7 +- .../llvm/include/llvm/ADT/edit_distance.h | 11 +- contrib/llvm-project/llvm/include/llvm/ADT/ilist.h | 27 +- .../llvm/include/llvm/ADT/ilist_node.h | 9 +- .../include/llvm/Analysis/AliasAnalysisEvaluator.h | 1 + .../llvm/include/llvm/Analysis/CycleAnalysis.h | 1 + .../llvm-project/llvm/include/llvm/Analysis/DDG.h | 24 +- .../include/llvm/Analysis/DependenceAnalysis.h | 2 +- .../include/llvm/Analysis/DependenceGraphBuilder.h | 2 +- .../include/llvm/Analysis/IRSimilarityIdentifier.h | 45 +- .../include/llvm/Analysis/IndirectCallVisitor.h | 2 +- .../llvm/include/llvm/Analysis/InlineOrder.h | 2 +- .../llvm/include/llvm/Analysis/LazyCallGraph.h | 2 +- .../llvm/include/llvm/Analysis/LazyValueInfo.h | 2 +- .../llvm/include/llvm/Analysis/Loads.h | 3 +- .../llvm/include/llvm/Analysis/LoopInfo.h | 10 +- .../llvm/include/llvm/Analysis/MLInlineAdvisor.h | 1 + .../llvm/Analysis/MemoryDependenceAnalysis.h | 1 + .../llvm/include/llvm/Analysis/MustExecute.h | 6 +- .../llvm/include/llvm/Analysis/ObjCARCUtil.h | 2 +- .../llvm/include/llvm/Analysis/ScalarEvolution.h | 6 +- .../llvm/include/llvm/Analysis/SparsePropagation.h | 1 + .../llvm/include/llvm/Analysis/TargetLibraryInfo.h | 11 +- .../include/llvm/Analysis/TargetTransformInfo.h | 2 +- .../llvm/Analysis/TargetTransformInfoImpl.h | 3 +- .../llvm/include/llvm/BinaryFormat/ELF.h | 3 +- .../include/llvm/BinaryFormat/MsgPackDocument.h | 4 +- .../llvm/include/llvm/BinaryFormat/Swift.def | 26 + .../llvm/include/llvm/BinaryFormat/Swift.h | 24 + .../llvm/include/llvm/Bitcode/BitcodeWriter.h | 6 +- .../llvm/include/llvm/Bitstream/BitstreamReader.h | 3 +- .../llvm-project/llvm/include/llvm/CodeGen/DIE.h | 4 +- .../llvm/include/llvm/CodeGen/FastISel.h | 4 +- .../include/llvm/CodeGen/GlobalISel/CallLowering.h | 2 +- .../llvm/CodeGen/GlobalISel/GISelChangeObserver.h | 2 +- .../llvm/CodeGen/GlobalISel/LegacyLegalizerInfo.h | 2 +- .../llvm/CodeGen/GlobalISel/LegalizerInfo.h | 37 +- .../llvm/include/llvm/CodeGen/IntrinsicLowering.h | 4 +- .../llvm/include/llvm/CodeGen/LoopTraversal.h | 2 +- .../llvm/include/llvm/CodeGen/MIRFormatter.h | 2 +- .../llvm/include/llvm/CodeGen/MIRYamlMapping.h | 4 +- .../llvm/include/llvm/CodeGen/MachineFrameInfo.h | 11 +- .../llvm/CodeGen/MachineModuleSlotTracker.h | 2 +- .../llvm/include/llvm/CodeGen/MachineOperand.h | 4 +- .../llvm/include/llvm/CodeGen/MachineOutliner.h | 4 +- .../include/llvm/CodeGen/MachineRegisterInfo.h | 2 +- .../llvm/include/llvm/CodeGen/ReplaceWithVeclib.h | 1 + .../llvm/include/llvm/CodeGen/SelectionDAGISel.h | 6 +- .../llvm/include/llvm/CodeGen/SelectionDAGNodes.h | 6 +- .../llvm/include/llvm/CodeGen/SlotIndexes.h | 2 +- .../include/llvm/CodeGen/SwitchLoweringUtils.h | 8 +- .../llvm/include/llvm/CodeGen/TargetCallingConv.h | 7 +- .../llvm/include/llvm/CodeGen/TargetLowering.h | 12 +- .../llvm/include/llvm/CodeGen/VirtRegMap.h | 11 +- .../llvm/include/llvm/DWARFLinker/DWARFStreamer.h | 8 +- .../include/llvm/DebugInfo/DWARF/DWARFDebugFrame.h | 2 +- .../llvm/include/llvm/DebugInfo/GSYM/StringTable.h | 2 +- .../include/llvm/DebugInfo/Symbolize/DIPrinter.h | 4 +- .../llvm/include/llvm/Demangle/ItaniumDemangle.h | 12 +- .../llvm/include/llvm/Demangle/README.txt | 71 +-- .../llvm/include/llvm/Demangle/StringView.h | 9 +- .../llvm/include/llvm/Demangle/Utility.h | 11 +- .../include/llvm/ExecutionEngine/JITLink/JITLink.h | 2 +- .../llvm/include/llvm/ExecutionEngine/Orc/Core.h | 2 +- .../ExecutionEngine/Orc/DebuggerSupportPlugin.h | 2 +- .../ExecutionEngine/Orc/EPCDebugObjectRegistrar.h | 2 +- .../llvm/ExecutionEngine/Orc/TaskDispatch.h | 2 +- .../include/llvm/Frontend/OpenMP/OMPConstants.h | 3 + .../include/llvm/Frontend/OpenMP/OMPIRBuilder.h | 62 ++- .../llvm/include/llvm/Frontend/OpenMP/OMPKinds.def | 7 + .../llvm/include/llvm/IR/AbstractCallSite.h | 4 +- .../llvm-project/llvm/include/llvm/IR/Attributes.h | 1 - contrib/llvm-project/llvm/include/llvm/IR/CFG.h | 2 +- .../llvm-project/llvm/include/llvm/IR/DIBuilder.h | 1 - .../llvm/include/llvm/IR/DebugInfoMetadata.h | 1 - .../llvm/include/llvm/IR/DiagnosticInfo.h | 16 +- .../llvm-project/llvm/include/llvm/IR/Dominators.h | 13 +- .../llvm-project/llvm/include/llvm/IR/IRBuilder.h | 5 +- .../llvm/include/llvm/IR/IRPrintingPasses.h | 5 + .../llvm-project/llvm/include/llvm/IR/InstrTypes.h | 9 +- .../llvm/include/llvm/IR/Instruction.h | 2 - .../llvm/include/llvm/IR/Instructions.h | 3 - .../llvm/include/llvm/IR/IntrinsicInst.h | 11 + .../llvm/include/llvm/IR/Intrinsics.td | 4 + .../llvm/include/llvm/IR/IntrinsicsAArch64.td | 8 + .../llvm/include/llvm/IR/LLVMContext.h | 1 - .../llvm/include/llvm/IR/LLVMRemarkStreamer.h | 12 +- .../llvm/include/llvm/IR/LegacyPassManager.h | 2 +- .../llvm-project/llvm/include/llvm/IR/MDBuilder.h | 2 +- .../llvm-project/llvm/include/llvm/IR/Metadata.h | 23 +- .../llvm/include/llvm/IR/ModuleSummaryIndex.h | 1 - .../llvm/include/llvm/IR/PassInstrumentation.h | 2 +- .../llvm/include/llvm/IR/PassManager.h | 5 +- .../llvm/include/llvm/IR/PassManagerImpl.h | 2 +- .../llvm/include/llvm/IR/PassTimingInfo.h | 2 - .../llvm/include/llvm/IR/ReplaceConstant.h | 7 +- .../llvm-project/llvm/include/llvm/IR/SSAContext.h | 5 +- .../llvm/include/llvm/IR/SafepointIRVerifier.h | 2 +- .../llvm-project/llvm/include/llvm/IR/Statepoint.h | 20 +- contrib/llvm-project/llvm/include/llvm/IR/Type.h | 2 +- contrib/llvm-project/llvm/include/llvm/IR/Use.h | 1 - .../llvm/include/llvm/InterfaceStub/IFSStub.h | 4 +- .../llvm/include/llvm/LineEditor/LineEditor.h | 2 +- .../llvm-project/llvm/include/llvm/MC/MCContext.h | 10 +- .../llvm/include/llvm/MC/MCObjectFileInfo.h | 14 + .../llvm/include/llvm/MC/MCPseudoProbe.h | 2 +- .../llvm/include/llvm/MCA/CustomBehaviour.h | 2 +- .../llvm/include/llvm/MCA/HWEventListener.h | 2 +- .../llvm/MCA/HardwareUnits/ResourceManager.h | 2 +- .../llvm/include/llvm/Object/Archive.h | 2 +- .../llvm/include/llvm/Object/ELFTypes.h | 2 +- .../llvm-project/llvm/include/llvm/Object/MachO.h | 4 + .../llvm/include/llvm/Object/ObjectFile.h | 6 + .../include/llvm/Passes/StandardInstrumentations.h | 2 +- .../llvm/include/llvm/ProfileData/InstrProf.h | 19 +- .../include/llvm/ProfileData/InstrProfCorrelator.h | 2 +- .../include/llvm/ProfileData/InstrProfData.inc | 4 + .../include/llvm/ProfileData/InstrProfReader.h | 79 ++- .../include/llvm/ProfileData/InstrProfWriter.h | 51 +- .../llvm/include/llvm/ProfileData/MemProfData.inc | 99 +++- .../llvm/Remarks/BitstreamRemarkSerializer.h | 3 +- .../llvm/include/llvm/Remarks/RemarkLinker.h | 6 +- .../llvm/include/llvm/Remarks/RemarkParser.h | 6 +- .../llvm/include/llvm/Remarks/RemarkSerializer.h | 6 +- .../llvm/include/llvm/Remarks/RemarkStreamer.h | 4 +- .../include/llvm/Support/AArch64TargetParser.def | 3 + .../llvm/include/llvm/Support/AMDGPUMetadata.h | 5 + .../llvm/include/llvm/Support/ARMTargetParser.def | 2 + .../llvm/include/llvm/Support/BinaryStreamReader.h | 11 +- .../llvm/include/llvm/Support/BinaryStreamWriter.h | 11 +- .../llvm/include/llvm/Support/CommandLine.h | 2 +- .../llvm/include/llvm/Support/Compiler.h | 21 +- .../llvm/include/llvm/Support/FileOutputBuffer.h | 2 +- .../include/llvm/Support/FormatVariadicDetails.h | 2 +- .../llvm/include/llvm/Support/GenericDomTree.h | 2 +- .../Support/GenericIteratedDominanceFrontier.h | 2 +- .../llvm/include/llvm/Support/KnownBits.h | 2 +- .../llvm/include/llvm/Support/RISCVISAInfo.h | 3 + .../llvm/include/llvm/Support/ScopedPrinter.h | 8 +- .../llvm/include/llvm/Support/SuffixTree.h | 2 +- .../llvm-project/llvm/include/llvm/Support/Timer.h | 2 +- .../llvm/include/llvm/TableGen/Record.h | 2 +- .../AggressiveInstCombine/AggressiveInstCombine.h | 1 + .../include/llvm/Transforms/IPO/AlwaysInliner.h | 1 + .../llvm/Transforms/IPO/ArgumentPromotion.h | 8 - .../llvm/include/llvm/Transforms/IPO/Attributor.h | 168 +++++-- .../llvm/Transforms/IPO/ForceFunctionAttrs.h | 1 + .../llvm/include/llvm/Transforms/IPO/IROutliner.h | 12 +- .../llvm/Transforms/IPO/InferFunctionAttrs.h | 1 + .../include/llvm/Transforms/IPO/SampleProfile.h | 1 + .../llvm/Transforms/IPO/SampleProfileProbe.h | 2 +- .../llvm/Transforms/InstCombine/InstCombiner.h | 2 +- .../Transforms/Instrumentation/AddressSanitizer.h | 1 + .../Instrumentation/AddressSanitizerCommon.h | 4 +- .../Transforms/Instrumentation/BoundsChecking.h | 1 + .../Instrumentation/HWAddressSanitizer.h | 1 + .../Transforms/Instrumentation/InstrProfiling.h | 15 +- .../llvm/Transforms/Instrumentation/MemProfiler.h | 1 + .../llvm/Transforms/Scalar/LoopPassManager.h | 2 +- .../Transforms/Scalar/LowerConstantIntrinsics.h | 2 +- .../include/llvm/Transforms/Scalar/Scalarizer.h | 1 + .../llvm/Transforms/Scalar/WarnMissedTransforms.h | 3 +- .../llvm/Transforms/Utils/AssumeBundleBuilder.h | 1 + .../llvm/Transforms/Utils/BasicBlockUtils.h | 6 +- .../llvm/Transforms/Utils/CallGraphUpdater.h | 2 +- .../llvm/include/llvm/Transforms/Utils/Debugify.h | 1 + .../llvm/Transforms/Utils/InjectTLIMappings.h | 1 + .../llvm/include/llvm/Transforms/Utils/LoopPeel.h | 2 +- .../include/llvm/Transforms/Utils/ModuleUtils.h | 5 + .../include/llvm/Transforms/Utils/SSAUpdaterBulk.h | 6 +- .../Transforms/Vectorize/LoadStoreVectorizer.h | 1 + .../llvm/include/llvm/module.modulemap | 1 + .../llvm/lib/Analysis/BasicAliasAnalysis.cpp | 11 +- .../llvm/lib/Analysis/IRSimilarityIdentifier.cpp | 31 +- .../llvm/lib/Analysis/InstructionSimplify.cpp | 6 +- contrib/llvm-project/llvm/lib/Analysis/Loads.cpp | 4 +- .../llvm-project/llvm/lib/Analysis/LoopInfo.cpp | 4 + .../llvm/lib/Analysis/MemDerefPrinter.cpp | 8 +- .../llvm/lib/Analysis/ScalarEvolution.cpp | 41 +- .../llvm/lib/Analysis/TypeBasedAliasAnalysis.cpp | 33 ++ .../llvm/lib/Analysis/ValueTracking.cpp | 4 +- .../lib/BinaryFormat/AMDGPUMetadataVerifier.cpp | 13 + .../llvm/lib/Bitcode/Writer/BitcodeWriter.cpp | 6 +- contrib/llvm-project/llvm/lib/CodeGen/Analysis.cpp | 2 +- .../llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp | 12 +- .../llvm/lib/CodeGen/AsmPrinter/DIE.cpp | 3 +- .../lib/CodeGen/AsmPrinter/DwarfCFIException.cpp | 6 +- .../llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp | 12 +- .../llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h | 3 - .../llvm/lib/CodeGen/AsmPrinter/DwarfException.h | 10 +- .../lib/CodeGen/AsmPrinter/DwarfExpression.cpp | 8 + .../llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp | 25 +- .../llvm/lib/CodeGen/AsmPrinter/DwarfUnit.h | 2 +- .../llvm/lib/CodeGen/CodeGenPrepare.cpp | 4 +- .../llvm/lib/CodeGen/EarlyIfConversion.cpp | 7 +- .../llvm-project/llvm/lib/CodeGen/ExpandMemCmp.cpp | 7 +- .../lib/CodeGen/GlobalISel/LegacyLegalizerInfo.cpp | 2 +- .../llvm-project/llvm/lib/CodeGen/IfConversion.cpp | 4 +- .../lib/CodeGen/InterleavedLoadCombinePass.cpp | 9 +- .../CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp | 351 +++++++------ .../CodeGen/LiveDebugValues/InstrRefBasedImpl.h | 41 +- .../CodeGen/LiveDebugValues/VarLocBasedImpl.cpp | 5 +- .../llvm/lib/CodeGen/MLRegallocEvictAdvisor.cpp | 135 +++-- .../llvm/lib/CodeGen/MachineModuleInfo.cpp | 8 +- .../llvm/lib/CodeGen/MachineModuleSlotTracker.cpp | 3 +- .../llvm/lib/CodeGen/MachineRegisterInfo.cpp | 3 +- .../llvm/lib/CodeGen/MachineVerifier.cpp | 2 +- .../llvm/lib/CodeGen/PostRASchedulerList.cpp | 4 +- .../llvm/lib/CodeGen/RegAllocEvictionAdvisor.cpp | 181 ++++++- .../llvm/lib/CodeGen/RegAllocEvictionAdvisor.h | 6 +- .../llvm/lib/CodeGen/RegAllocGreedy.cpp | 183 +------ .../llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp | 76 +-- .../llvm/lib/CodeGen/SelectionDAG/FastISel.cpp | 3 +- .../CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp | 5 +- .../lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.h | 8 +- .../llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp | 7 +- .../CodeGen/SelectionDAG/SelectionDAGBuilder.cpp | 16 +- .../lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp | 2 +- .../CodeGen/SelectionDAG/StatepointLowering.cpp | 30 +- .../lib/CodeGen/SelectionDAG/TargetLowering.cpp | 57 ++- .../llvm-project/llvm/lib/CodeGen/SlotIndexes.cpp | 2 +- .../llvm/lib/DWARFLinker/DWARFStreamer.cpp | 20 +- .../llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp | 110 +++- contrib/llvm-project/llvm/lib/IR/Attributes.cpp | 50 +- contrib/llvm-project/llvm/lib/IR/AutoUpgrade.cpp | 1 - contrib/llvm-project/llvm/lib/IR/BasicBlock.cpp | 3 +- contrib/llvm-project/llvm/lib/IR/Comdat.cpp | 4 +- contrib/llvm-project/llvm/lib/IR/ConstantFold.cpp | 2 - contrib/llvm-project/llvm/lib/IR/Constants.cpp | 7 +- contrib/llvm-project/llvm/lib/IR/Core.cpp | 2 + contrib/llvm-project/llvm/lib/IR/DIBuilder.cpp | 2 - contrib/llvm-project/llvm/lib/IR/DataLayout.cpp | 3 +- contrib/llvm-project/llvm/lib/IR/DebugInfo.cpp | 5 +- .../llvm-project/llvm/lib/IR/DebugInfoMetadata.cpp | 4 +- contrib/llvm-project/llvm/lib/IR/DebugLoc.cpp | 1 - .../llvm-project/llvm/lib/IR/DiagnosticInfo.cpp | 6 +- contrib/llvm-project/llvm/lib/IR/Dominators.cpp | 18 +- contrib/llvm-project/llvm/lib/IR/Function.cpp | 2 - contrib/llvm-project/llvm/lib/IR/Globals.cpp | 2 - contrib/llvm-project/llvm/lib/IR/IRBuilder.cpp | 1 - contrib/llvm-project/llvm/lib/IR/InlineAsm.cpp | 1 - contrib/llvm-project/llvm/lib/IR/Instruction.cpp | 1 - contrib/llvm-project/llvm/lib/IR/IntrinsicInst.cpp | 2 - contrib/llvm-project/llvm/lib/IR/LLVMContext.cpp | 2 - .../llvm-project/llvm/lib/IR/LLVMContextImpl.cpp | 12 + contrib/llvm-project/llvm/lib/IR/LLVMContextImpl.h | 24 +- .../llvm/lib/IR/LLVMRemarkStreamer.cpp | 2 + .../llvm-project/llvm/lib/IR/LegacyPassManager.cpp | 11 +- contrib/llvm-project/llvm/lib/IR/Metadata.cpp | 4 - contrib/llvm-project/llvm/lib/IR/Module.cpp | 2 - .../llvm/lib/IR/ModuleSummaryIndex.cpp | 1 - contrib/llvm-project/llvm/lib/IR/Operator.cpp | 1 - contrib/llvm-project/llvm/lib/IR/OptBisect.cpp | 1 - contrib/llvm-project/llvm/lib/IR/PassManager.cpp | 5 +- .../llvm-project/llvm/lib/IR/ProfileSummary.cpp | 3 +- contrib/llvm-project/llvm/lib/IR/PseudoProbe.cpp | 2 +- .../llvm-project/llvm/lib/IR/ReplaceConstant.cpp | 3 +- contrib/llvm-project/llvm/lib/IR/SSAContext.cpp | 3 +- .../llvm/lib/IR/SafepointIRVerifier.cpp | 4 +- contrib/llvm-project/llvm/lib/IR/Statepoint.cpp | 2 - contrib/llvm-project/llvm/lib/IR/Type.cpp | 2 - contrib/llvm-project/llvm/lib/IR/Use.cpp | 6 +- contrib/llvm-project/llvm/lib/IR/Value.cpp | 3 - contrib/llvm-project/llvm/lib/IR/Verifier.cpp | 12 +- contrib/llvm-project/llvm/lib/LTO/LTO.cpp | 3 +- contrib/llvm-project/llvm/lib/LTO/LTOBackend.cpp | 7 +- .../llvm/lib/LTO/ThinLTOCodeGenerator.cpp | 2 +- contrib/llvm-project/llvm/lib/MC/MCAsmStreamer.cpp | 2 +- contrib/llvm-project/llvm/lib/MC/MCContext.cpp | 8 +- .../llvm-project/llvm/lib/MC/MCObjectFileInfo.cpp | 12 + .../llvm/lib/Object/MachOObjectFile.cpp | 13 + .../llvm-project/llvm/lib/ObjectYAML/ELFYAML.cpp | 1 + .../llvm/lib/ObjectYAML/WasmEmitter.cpp | 13 +- .../llvm/lib/Passes/PassBuilderPipelines.cpp | 7 + .../llvm/lib/ProfileData/InstrProf.cpp | 26 - .../llvm/lib/ProfileData/InstrProfReader.cpp | 62 ++- .../llvm/lib/ProfileData/InstrProfWriter.cpp | 31 +- .../llvm/lib/Remarks/BitstreamRemarkParser.cpp | 1 + .../llvm/lib/Remarks/BitstreamRemarkParser.h | 4 +- .../llvm-project/llvm/lib/Remarks/RemarkLinker.cpp | 4 +- .../llvm-project/llvm/lib/Remarks/RemarkParser.cpp | 1 - .../llvm/lib/Remarks/YAMLRemarkParser.h | 2 - .../llvm/lib/Remarks/YAMLRemarkSerializer.cpp | 1 - .../llvm/lib/Support/ARMAttributeParser.cpp | 2 +- contrib/llvm-project/llvm/lib/Support/Host.cpp | 1 + .../llvm-project/llvm/lib/Support/RISCVISAInfo.cpp | 61 +-- contrib/llvm-project/llvm/lib/Support/Signals.cpp | 2 +- contrib/llvm-project/llvm/lib/Support/Triple.cpp | 4 +- contrib/llvm-project/llvm/lib/Support/Valgrind.cpp | 2 +- .../llvm-project/llvm/lib/Support/Windows/Host.inc | 3 + .../llvm-project/llvm/lib/Support/raw_ostream.cpp | 2 +- .../llvm/lib/TableGen/DetailedRecordsBackend.cpp | 11 +- .../llvm-project/llvm/lib/TableGen/JSONBackend.cpp | 8 +- contrib/llvm-project/llvm/lib/TableGen/Main.cpp | 2 - contrib/llvm-project/llvm/lib/TableGen/Record.cpp | 8 +- .../llvm-project/llvm/lib/TableGen/SetTheory.cpp | 3 +- .../llvm-project/llvm/lib/TableGen/TGParser.cpp | 3 +- .../llvm/lib/TableGen/TableGenBackendSkeleton.cpp | 19 +- .../llvm/lib/Target/AArch64/AArch64.td | 6 + .../llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp | 46 ++ .../Target/AArch64/AArch64ExpandPseudoInsts.cpp | 27 +- .../lib/Target/AArch64/AArch64ISelLowering.cpp | 145 +++++- .../llvm/lib/Target/AArch64/AArch64ISelLowering.h | 8 +- .../llvm/lib/Target/AArch64/AArch64InstrInfo.cpp | 31 +- .../llvm/lib/Target/AArch64/AArch64InstrInfo.td | 84 +++- .../llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td | 16 +- .../lib/Target/AArch64/AArch64SelectionDAGInfo.cpp | 97 +++- .../lib/Target/AArch64/AArch64SelectionDAGInfo.h | 19 + .../llvm/lib/Target/AArch64/AArch64Subtarget.cpp | 1 + .../llvm/lib/Target/AArch64/AArch64Subtarget.h | 3 +- .../Target/AArch64/AArch64TargetTransformInfo.cpp | 21 +- .../AArch64/GISel/AArch64InstructionSelector.cpp | 95 ++++ .../Target/AArch64/GISel/AArch64LegalizerInfo.cpp | 55 +- .../Target/AArch64/GISel/AArch64LegalizerInfo.h | 1 + .../llvm/lib/Target/AArch64/SVEInstrFormats.td | 35 +- .../llvm-project/llvm/lib/Target/AMDGPU/AMDGPU.h | 1 + .../Target/AMDGPU/AMDGPUAnnotateUniformValues.cpp | 88 +++- .../llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp | 8 +- .../Target/AMDGPU/AMDGPUHSAMetadataStreamer.cpp | 106 +++- .../lib/Target/AMDGPU/AMDGPUHSAMetadataStreamer.h | 41 +- .../llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp | 1 + .../llvm/lib/Target/AMDGPU/AMDGPULibCalls.cpp | 3 +- .../llvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp | 3 +- .../Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp | 20 +- .../AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp | 2 + .../llvm/lib/Target/AMDGPU/SIISelLowering.cpp | 1 + .../lib/Target/AMDGPU/SILoadStoreOptimizer.cpp | 14 +- .../lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp | 14 +- .../llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h | 5 +- contrib/llvm-project/llvm/lib/Target/ARM/ARM.td | 10 + .../llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp | 39 +- .../llvm/lib/Target/ARM/ARMISelLowering.cpp | 2 +- .../llvm/lib/Target/ARM/ARMInstrInfo.td | 19 +- .../llvm/lib/Target/ARM/ARMInstrThumb.td | 9 +- .../llvm/lib/Target/ARM/ARMInstrThumb2.td | 16 +- .../llvm/lib/Target/ARM/ARMSubtarget.cpp | 1 + .../llvm/lib/Target/ARM/ARMSubtarget.h | 1 + .../llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp | 3 - .../llvm/lib/Target/Hexagon/HexagonOptAddrMode.cpp | 8 +- .../lib/Target/M68k/GISel/M68kLegalizerInfo.cpp | 35 +- .../llvm/lib/Target/M68k/M68kInstrBits.td | 8 + .../llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp | 1 - .../llvm/lib/Target/NVPTX/NVPTXInstrInfo.td | 1 + .../llvm/lib/Target/PowerPC/PPCISelLowering.cpp | 45 +- .../llvm/lib/Target/PowerPC/PPCInstrPrefix.td | 45 +- .../lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp | 4 +- .../RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp | 6 +- .../lib/Target/RISCV/MCTargetDesc/RISCVMatInt.cpp | 11 +- .../llvm-project/llvm/lib/Target/RISCV/RISCV.td | 8 +- .../Target/RISCV/RISCVExpandAtomicPseudoInsts.cpp | 6 +- .../lib/Target/RISCV/RISCVExpandPseudoInsts.cpp | 6 +- .../llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp | 28 +- .../llvm/lib/Target/RISCV/RISCVISelLowering.cpp | 175 +++++-- .../llvm/lib/Target/RISCV/RISCVISelLowering.h | 1 + .../llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp | 21 +- .../llvm/lib/Target/RISCV/RISCVInstrInfo.cpp | 98 +--- .../llvm/lib/Target/RISCV/RISCVInstrInfo.td | 16 +- .../llvm/lib/Target/RISCV/RISCVInstrInfoA.td | 12 + .../lib/Target/RISCV/RISCVInstrInfoVPseudos.td | 20 +- .../lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td | 2 +- .../lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td | 4 +- .../llvm/lib/Target/RISCV/RISCVInstrInfoZb.td | 503 +++++++++--------- .../llvm/lib/Target/RISCV/RISCVInstrInfoZfh.td | 28 +- .../llvm/lib/Target/RISCV/RISCVInstrInfoZk.td | 2 +- .../llvm/lib/Target/RISCV/RISCVSExtWRemoval.cpp | 6 +- .../llvm/lib/Target/RISCV/RISCVSubtarget.h | 1 + .../Target/Sparc/MCTargetDesc/SparcAsmBackend.cpp | 27 + .../Sparc/MCTargetDesc/SparcELFObjectWriter.cpp | 4 + .../lib/Target/SystemZ/SystemZFrameLowering.cpp | 82 +++ .../llvm/lib/Target/SystemZ/SystemZFrameLowering.h | 3 + .../llvm/lib/Target/SystemZ/SystemZISelLowering.h | 5 + .../llvm/lib/Target/SystemZ/SystemZInstrInfo.cpp | 7 + .../llvm/lib/Target/SystemZ/SystemZInstrInfo.h | 3 + .../WebAssembly/Utils/WebAssemblyTypeUtilities.cpp | 38 ++ .../WebAssembly/Utils/WebAssemblyTypeUtilities.h | 43 ++ .../WebAssembly/Utils/WebAssemblyUtilities.h | 38 -- .../Target/WebAssembly/WebAssemblyAsmPrinter.cpp | 16 +- .../lib/Target/WebAssembly/WebAssemblyFastISel.cpp | 1 + .../WebAssembly/WebAssemblyFrameLowering.cpp | 2 +- .../WebAssemblyLowerEmscriptenEHSjLj.cpp | 41 +- .../WebAssemblyLowerRefTypesIntPtrConv.cpp | 2 +- .../Target/WebAssembly/WebAssemblyMCInstLower.cpp | 34 +- .../WebAssembly/WebAssemblyMachineFunctionInfo.cpp | 18 +- .../WebAssembly/WebAssemblyMachineFunctionInfo.h | 4 + .../llvm/lib/Target/X86/X86ISelLowering.cpp | 230 ++++++--- .../llvm/lib/Target/X86/X86LowerAMXType.cpp | 2 + .../llvm/lib/Transforms/Coroutines/CoroFrame.cpp | 1 + .../llvm/lib/Transforms/IPO/ArgumentPromotion.cpp | 59 ++- .../llvm/lib/Transforms/IPO/Attributor.cpp | 244 ++++++++- .../lib/Transforms/IPO/AttributorAttributes.cpp | 560 ++++++++++++++------- .../lib/Transforms/IPO/CalledValuePropagation.cpp | 1 + .../llvm/lib/Transforms/IPO/GlobalOpt.cpp | 27 +- .../llvm/lib/Transforms/IPO/IROutliner.cpp | 7 + .../llvm/lib/Transforms/IPO/LowerTypeTests.cpp | 1 + .../llvm/lib/Transforms/IPO/OpenMPOpt.cpp | 233 ++++++++- .../llvm/lib/Transforms/IPO/SampleProfileProbe.cpp | 1 + .../lib/Transforms/IPO/ThinLTOBitcodeWriter.cpp | 2 +- .../llvm/lib/Transforms/IPO/WholeProgramDevirt.cpp | 2 +- .../Transforms/InstCombine/InstCombineCalls.cpp | 26 +- .../Transforms/InstCombine/InstCombineCompares.cpp | 52 ++ .../lib/Transforms/InstCombine/InstCombinePHI.cpp | 285 ++++++----- .../InstCombine/InstCombineSimplifyDemanded.cpp | 15 +- .../InstCombine/InstructionCombining.cpp | 1 + .../Instrumentation/AddressSanitizer.cpp | 12 +- .../Instrumentation/HWAddressSanitizer.cpp | 26 +- .../Transforms/Instrumentation/InstrProfiling.cpp | 123 +++-- .../lib/Transforms/Instrumentation/MemProfiler.cpp | 1 + .../Transforms/Instrumentation/MemorySanitizer.cpp | 48 +- .../Instrumentation/PGOInstrumentation.cpp | 82 ++- .../llvm/lib/Transforms/ObjCARC/ObjCARC.cpp | 13 +- .../llvm/lib/Transforms/ObjCARC/ObjCARC.h | 6 +- .../lib/Transforms/ObjCARC/ObjCARCContract.cpp | 25 +- .../llvm/lib/Transforms/ObjCARC/ObjCARCOpts.cpp | 2 +- .../lib/Transforms/Scalar/DFAJumpThreading.cpp | 20 +- .../llvm/lib/Transforms/Scalar/LoopFuse.cpp | 3 +- .../lib/Transforms/Scalar/LoopIdiomRecognize.cpp | 33 +- .../llvm/lib/Transforms/Scalar/LoopSimplifyCFG.cpp | 2 +- .../llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp | 2 +- .../Transforms/Scalar/LowerMatrixIntrinsics.cpp | 17 +- .../llvm/lib/Transforms/Scalar/NewGVN.cpp | 28 +- .../Transforms/Scalar/RewriteStatepointsForGC.cpp | 147 +++--- .../llvm/lib/Transforms/Scalar/SROA.cpp | 1 + .../llvm/lib/Transforms/Scalar/StructurizeCFG.cpp | 25 + .../llvm/lib/Transforms/Utils/BasicBlockUtils.cpp | 4 +- .../llvm/lib/Transforms/Utils/CloneFunction.cpp | 53 +- .../llvm/lib/Transforms/Utils/CodeExtractor.cpp | 5 +- .../llvm/lib/Transforms/Utils/GlobalStatus.cpp | 25 +- .../llvm/lib/Transforms/Utils/InlineFunction.cpp | 8 +- .../llvm/lib/Transforms/Utils/Local.cpp | 1 + .../llvm/lib/Transforms/Utils/LoopPeel.cpp | 60 ++- .../llvm/lib/Transforms/Utils/ModuleUtils.cpp | 13 + .../llvm/lib/Transforms/Utils/NameAnonGlobals.cpp | 1 + .../Transforms/Utils/PromoteMemoryToRegister.cpp | 3 +- .../llvm/lib/Transforms/Utils/Utils.cpp | 1 + .../llvm/lib/Transforms/Utils/VNCoercion.cpp | 1 + .../lib/Transforms/Vectorize/LoopVectorize.cpp | 161 +++--- .../lib/Transforms/Vectorize/SLPVectorizer.cpp | 198 +++++++- .../lib/Transforms/Vectorize/VPRecipeBuilder.h | 3 +- .../llvm/lib/Transforms/Vectorize/VPlan.cpp | 6 + .../llvm/lib/Transforms/Vectorize/VPlan.h | 89 +++- .../lib/Transforms/Vectorize/VPlanTransforms.cpp | 17 +- .../llvm/lib/Transforms/Vectorize/Vectorize.cpp | 1 + .../llvm-project/llvm/tools/llvm-ar/llvm-ar.cpp | 16 +- .../llvm-project/llvm/tools/llvm-as/llvm-as.cpp | 2 +- .../llvm/tools/llvm-extract/llvm-extract.cpp | 1 + .../llvm-project/llvm/tools/llvm-lto/llvm-lto.cpp | 6 +- .../llvm-objcopy/MachO/MachOLayoutBuilder.cpp | 1 + .../llvm/tools/llvm-profdata/llvm-profdata.cpp | 22 +- .../llvm/tools/llvm-readobj/ELFDumper.cpp | 1 + .../llvm/tools/llvm-readobj/WasmDumper.cpp | 5 +- .../llvm/tools/llvm-stress/llvm-stress.cpp | 3 +- .../llvm/utils/TableGen/CodeGenDAGPatterns.cpp | 40 +- .../llvm/utils/TableGen/CodeGenSchedule.cpp | 13 +- .../llvm/utils/TableGen/CompressInstEmitter.cpp | 1 - .../llvm/utils/TableGen/GICombinerEmitter.cpp | 12 +- .../utils/TableGen/GlobalISel/CodeExpander.cpp | 1 - .../llvm/utils/TableGen/GlobalISel/CodeExpander.h | 2 +- .../llvm/utils/TableGen/GlobalISel/GIMatchDag.h | 1 - .../utils/TableGen/GlobalISel/GIMatchDagEdge.cpp | 1 + .../utils/TableGen/GlobalISel/GIMatchDagInstr.h | 5 +- .../TableGen/GlobalISel/GIMatchDagPredicate.cpp | 2 +- .../TableGen/GlobalISel/GIMatchDagPredicate.h | 6 +- .../GIMatchDagPredicateDependencyEdge.cpp | 1 + .../GlobalISel/GIMatchDagPredicateDependencyEdge.h | 6 +- .../llvm/utils/TableGen/GlobalISel/GIMatchTree.cpp | 1 + .../llvm/utils/TableGen/GlobalISelEmitter.cpp | 2 - .../llvm/utils/TableGen/InfoByHwMode.cpp | 1 - .../llvm/utils/TableGen/InfoByHwMode.h | 2 - .../llvm/utils/TableGen/IntrinsicEmitter.cpp | 1 - .../llvm/utils/TableGen/OptParserEmitter.cpp | 1 - .../llvm/utils/TableGen/OptRSTEmitter.cpp | 7 - .../llvm/utils/TableGen/PredicateExpander.h | 4 +- .../llvm/utils/TableGen/RegisterBankEmitter.cpp | 1 - .../llvm/utils/TableGen/SearchableTableEmitter.cpp | 5 - .../llvm-project/llvm/utils/TableGen/TableGen.cpp | 3 +- .../TableGen/WebAssemblyDisassemblerEmitter.cpp | 3 + .../TableGen/WebAssemblyDisassemblerEmitter.h | 5 +- .../llvm/utils/TableGen/X86DisassemblerTables.cpp | 5 +- .../llvm/utils/TableGen/X86DisassemblerTables.h | 7 +- .../llvm/utils/TableGen/X86FoldTablesEmitter.cpp | 2 - .../llvm/utils/TableGen/X86RecognizableInstr.cpp | 2 + .../llvm/utils/TableGen/X86RecognizableInstr.h | 11 +- contrib/llvm-project/openmp/runtime/src/dllexports | 3 + .../openmp/runtime/src/kmp_ftn_entry.h | 114 +++++ .../llvm-project/openmp/runtime/src/kmp_ftn_os.h | 32 ++ lib/clang/include/VCSVersion.inc | 8 +- lib/clang/include/clang/Config/config.h | 2 +- lib/clang/include/lldb/Version/Version.inc | 4 +- lib/clang/include/llvm/Config/config.h | 4 +- lib/clang/include/llvm/Config/llvm-config.h | 2 +- lib/clang/include/llvm/Support/VCSRevision.h | 2 +- lib/libc++/Makefile | 4 + tools/build/mk/OptionalObsoleteFiles.inc | 4 + 808 files changed, 9713 insertions(+), 5588 deletions(-) diff --git a/contrib/llvm-project/clang/include/clang/AST/ASTContext.h b/contrib/llvm-project/clang/include/clang/AST/ASTContext.h index f39ce14bc82c..63c11e237d6c 100644 --- a/contrib/llvm-project/clang/include/clang/AST/ASTContext.h +++ b/contrib/llvm-project/clang/include/clang/AST/ASTContext.h @@ -653,6 +653,20 @@ public: /// Returns the clang bytecode interpreter context. interp::Context &getInterpContext(); + struct CUDAConstantEvalContext { + /// Do not allow wrong-sided variables in constant expressions. + bool NoWrongSidedVars = false; + } CUDAConstantEvalCtx; + struct CUDAConstantEvalContextRAII { + ASTContext &Ctx; + CUDAConstantEvalContext SavedCtx; + CUDAConstantEvalContextRAII(ASTContext &Ctx_, bool NoWrongSidedVars) + : Ctx(Ctx_), SavedCtx(Ctx_.CUDAConstantEvalCtx) { + Ctx_.CUDAConstantEvalCtx.NoWrongSidedVars = NoWrongSidedVars; + } + ~CUDAConstantEvalContextRAII() { Ctx.CUDAConstantEvalCtx = SavedCtx; } + }; + /// Returns the dynamic AST node parent map context. ParentMapContext &getParentMapContext(); @@ -2616,23 +2630,32 @@ public: /// template name uses the shortest form of the dependent /// nested-name-specifier, which itself contains all canonical /// types, values, and templates. - TemplateName getCanonicalTemplateName(TemplateName Name) const; + TemplateName getCanonicalTemplateName(const TemplateName &Name) const; /// Determine whether the given template names refer to the same /// template. - bool hasSameTemplateName(TemplateName X, TemplateName Y); + bool hasSameTemplateName(const TemplateName &X, const TemplateName &Y) const; /// Determine whether the two declarations refer to the same entity. - bool isSameEntity(NamedDecl *X, NamedDecl *Y); + /// + /// FIXME: isSameEntity is not const due to its implementation calls + /// hasSameFunctionTypeIgnoringExceptionSpec which may alter this. + bool isSameEntity(const NamedDecl *X, const NamedDecl *Y); /// Determine whether two template parameter lists are similar enough /// that they may be used in declarations of the same template. - bool isSameTemplateParameterList(TemplateParameterList *X, - TemplateParameterList *Y); + /// + /// FIXME: isSameTemplateParameterList is not const since it calls + /// isSameTemplateParameter. + bool isSameTemplateParameterList(const TemplateParameterList *X, + const TemplateParameterList *Y); /// Determine whether two template parameters are similar enough /// that they may be used in declarations of the same template. - bool isSameTemplateParameter(NamedDecl *X, NamedDecl *Y); + /// + /// FIXME: isSameTemplateParameterList is not const since it calls + /// isSameEntity. + bool isSameTemplateParameter(const NamedDecl *X, const NamedDecl *Y); /// Retrieve the "canonical" template argument. /// diff --git a/contrib/llvm-project/clang/include/clang/Analysis/Analyses/Dominators.h b/contrib/llvm-project/clang/include/clang/Analysis/Analyses/Dominators.h index f588a5c7d1d7..9ac9cbe7d3ec 100644 --- a/contrib/llvm-project/clang/include/clang/Analysis/Analyses/Dominators.h +++ b/contrib/llvm-project/clang/include/clang/Analysis/Analyses/Dominators.h @@ -193,7 +193,7 @@ namespace IDFCalculatorDetail { /// Specialize ChildrenGetterTy to skip nullpointer successors. template struct ChildrenGetterTy { - using NodeRef = typename GraphTraits::NodeRef; + using NodeRef = typename GraphTraits::NodeRef; using ChildrenTy = SmallVector; ChildrenTy get(const NodeRef &N) { diff --git a/contrib/llvm-project/clang/include/clang/Analysis/CFG.h b/contrib/llvm-project/clang/include/clang/Analysis/CFG.h index c5512a7e1499..d8e7e1e43d81 100644 --- a/contrib/llvm-project/clang/include/clang/Analysis/CFG.h +++ b/contrib/llvm-project/clang/include/clang/Analysis/CFG.h @@ -1494,9 +1494,6 @@ template <> struct GraphTraits< ::clang::CFGBlock *> { static ChildIteratorType child_end(NodeRef N) { return N->succ_end(); } }; -template <> struct GraphTraits - : GraphTraits {}; - template <> struct GraphTraits< const ::clang::CFGBlock *> { using NodeRef = const ::clang::CFGBlock *; using ChildIteratorType = ::clang::CFGBlock::const_succ_iterator; @@ -1506,9 +1503,6 @@ template <> struct GraphTraits< const ::clang::CFGBlock *> { static ChildIteratorType child_end(NodeRef N) { return N->succ_end(); } }; -template <> struct GraphTraits - : GraphTraits {}; - template <> struct GraphTraits> { using NodeRef = ::clang::CFGBlock *; using ChildIteratorType = ::clang::CFGBlock::const_pred_iterator; @@ -1521,9 +1515,6 @@ template <> struct GraphTraits> { static ChildIteratorType child_end(NodeRef N) { return N->pred_end(); } }; -template <> struct GraphTraits> - : GraphTraits {}; - template <> struct GraphTraits> { using NodeRef = const ::clang::CFGBlock *; using ChildIteratorType = ::clang::CFGBlock::const_pred_iterator; @@ -1536,9 +1527,6 @@ template <> struct GraphTraits> { static ChildIteratorType child_end(NodeRef N) { return N->pred_end(); } }; -template <> struct GraphTraits> - : GraphTraits {}; - // Traits for: CFG template <> struct GraphTraits< ::clang::CFG* > diff --git a/contrib/llvm-project/clang/include/clang/Analysis/FlowSensitive/DataflowAnalysis.h b/contrib/llvm-project/clang/include/clang/Analysis/FlowSensitive/DataflowAnalysis.h index f327abe63751..b5a7c061e17b 100644 --- a/contrib/llvm-project/clang/include/clang/Analysis/FlowSensitive/DataflowAnalysis.h +++ b/contrib/llvm-project/clang/include/clang/Analysis/FlowSensitive/DataflowAnalysis.h @@ -27,6 +27,7 @@ #include "llvm/ADT/Any.h" #include "llvm/ADT/Optional.h" #include "llvm/ADT/STLExtras.h" +#include "llvm/Support/Error.h" namespace clang { namespace dataflow { @@ -106,18 +107,24 @@ template struct DataflowAnalysisState { /// Performs dataflow analysis and returns a mapping from basic block IDs to /// dataflow analysis states that model the respective basic blocks. Indices -/// of the returned vector correspond to basic block IDs. +/// of the returned vector correspond to basic block IDs. Returns an error if +/// the dataflow analysis cannot be performed successfully. template -std::vector>> +llvm::Expected>>> runDataflowAnalysis(const ControlFlowContext &CFCtx, AnalysisT &Analysis, const Environment &InitEnv) { auto TypeErasedBlockStates = runTypeErasedDataflowAnalysis(CFCtx, Analysis, InitEnv); + if (!TypeErasedBlockStates) + return TypeErasedBlockStates.takeError(); + std::vector< llvm::Optional>> BlockStates; - BlockStates.reserve(TypeErasedBlockStates.size()); - llvm::transform(std::move(TypeErasedBlockStates), *** 34051 LINES SKIPPED ***