I am importing llvm, clang, compiler-rt, libc++, libunwind, lld, lldb, and openmp 18.0.0 into <https://github.com/DimitryAndric/freebsd-src/tree/llvm-18-update>, which is a fork of <https://github.com/freebsd/freebsd-src>. Please perform an exp-run against this branch. To retrieve it, use: git clone -b llvm-18-update https://github.com/DimitryAndric/freebsd-src.git As of 2024-01-03, this branch contains the in-progress llvm-project main branch (llvmorg-18-init-16003-gfc5f51cf5af4), and it has been rebased onto FreeBSD src main a9174861eab9.
I started the exp-run at: https://pkg-status.freebsd.org/gohan04/build.html?mastername=mainamd64PR276104-default-foo&build=2024-01-05_16h26m53s For the moment: - devel/libgudev causes 3171 skipped - devel/llvm15@default causes 1577 skipped - devel/llvm14 causes 58 skipped
* bug 276135 for devel/libgudev
* bug 276143 for multimedia/gpac-libgpac
* bug 276154 for devel/llvm10 * bug 276155 for devel/llvm14, devel/llvm15, devel/llvm16, devel/llvm17 (devel/llvm11 through devel/llvm13 built successfully)
* bug 276159 for net/mosh
2nd run: https://pkg-status.freebsd.org/gohan04/build.html?mastername=mainamd64PR276104-default-foo&build=2024-01-06_21h16m42s Most problematic failures: devel/llvm15@default 2677 skipped science/py-scipy@py39 262 skipped java/openjdk11 191 skipped graphics/qt5-imageformats 86 skipped databases/mysql80-server 46 skipped devel/llvm14 43 skipped archivers/arj 27 skipped devel/build2 18 skipped devel/llvm16@default 10 skipped
As noted in bug 276154 for devel/llvm10, there was a regression in clang (https://github.com/llvm/llvm-project/issues/763580) which caused it to produce unnecessary "cannot overload a member function with ref-qualifier '&&' with a member function without a ref-qualifier" errors on some C++ programs. In https://github.com/DimitryAndric/freebsd-src/commit/3b076e737af3b4ac1b7dc03bdd2b4cca9a0a9590 I imported a newer upstream version which should fix at least devel/llvm10 and science/py-scipy (I'm testing that one now), and possibly other ports that use the affected construct. Also, bug 276155 for a different issue with the other llvm ports (affecting 14 through 17) has now also been fixed by backporting an upstream patch. I need some more time to look at the "top 10" or so of broken ports, then I will ask here for another full exp-run.
https://github.com/DimitryAndric/freebsd-src/tree/llvm-18-update has now been updated to https://github.com/llvm/llvm-project/commit/22683463740e55e7e0d7e664395c30899b229205 on the upstream release/18.x branch, and sync'd with main 72dd306e44bc531fa723f4cdb631cb63cc5f09cb (as of 2024-01-26). Could you please do another exp-run?
* bug 276746 for www/firefox
Exp-run started at https://pkg-status.freebsd.org/gohan04/build.html?mastername=mainamd64PR276104-default-foo&build=2024-01-30_16h35m09s , but it seems that it regressed, lang/rust no longer builds. And llvm* still don't build
(In reply to Antoine Brodin from comment #10) Ah sorry about that, I still had one commit in my local repository which I forgot to push to GitHub: https://github.com/DimitryAndric/freebsd-src/commit/17a31069a5f1f8c14c96aa84d874376172ea44a1 This the cause for the "error: chosen constructor is explicit in copy-initialization" messages gotten while compiling most of the llvm ports, and the same code that lives in the rust port. It was an upstream refactoring in clang which had to be reverted before 18.0 is released, as it was causing this error even with valid code. I have verified that with 17a31069a5f1f8c14c96aa84d874376172ea44a1, at least llvm12, llvm15 and rust build, and I expect the other llvms to also build.
* bug 276747 for archivers/arj
* bug 276749 for databases/mysql80-server
* bug 276785 for devel/build2
* bug 276804 for devel/bossa
* bug 276810 for science/netcdf (which unfortunately needs its own exp-run)
Exp-run results: https://pkg-status.freebsd.org/gohan04/build.html?mastername=mainamd64PR276104-default-foo&build=2024-02-02_20h56m00s Most problematic failures: graphics/gdal : 182 skipped www/qt6-webengine : 30 skipped lang/ldc : 29 skipped lang/sbcl : 21 skipped devel/build2 : 18 skipped www/chromium : 10 skipped devel/libayatana-appindicator : 4 skipped x11-wm/wayfire : 4 skipped devel/electron25 : 4 skipped devel/bossa : 3 skipped science/py-meshio@py39 : 2 skipped science/netcdf-cxx : 2 skipped net/jose : 2 skipped security/heimdal : 2 skipped science/cdo : 2 skipped www/firefox : 2 skipped
* bug 276997 for www/qt6-webengine
* bug 277129 for devel/electron25
* bug 277178 for www/chromium
* bug 277280 for sysutils/coreutils
https://github.com/DimitryAndric/freebsd-src/tree/llvm-18-update has now been updated to https://github.com/llvm/llvm-project/tree/llvmorg-18.1.1, and sync'd with main 96c567f972e05c47cd239b6c9226354e808f039b (as of 2024-03-10). Could you please do another exp-run?
* bug 277654 for lang/ldc (still investigating, this is a tricky one)
Most problematic new failures on i386: https://pkg-status.freebsd.org/gohan04/data/maini386PR276104-default-foo/2024-03-18_10h13m48s/logs/errors/mysql80-client-8.0.35.log -> 257 skipped https://pkg-status.freebsd.org/gohan04/data/maini386PR276104-default-foo/2024-03-18_10h13m48s/logs/errors/qt6-webengine-6.6.2.log -> 26 skipped https://pkg-status.freebsd.org/gohan04/data/maini386PR276104-default-foo/2024-03-18_10h13m48s/logs/errors/wayfire-0.8.1.log -> 4 skipped https://pkg-status.freebsd.org/gohan04/data/maini386PR276104-default-foo/2024-03-18_10h13m48s/logs/errors/jose-12.log -> 2 skipped https://pkg-status.freebsd.org/gohan04/data/maini386PR276104-default-foo/2024-03-18_10h13m48s/logs/errors/mlton-20210816_1.log -> 2 skipped https://pkg-status.freebsd.org/gohan04/data/maini386PR276104-default-foo/2024-03-18_10h13m48s/logs/errors/heimdal-7.8.0_7.log -> 2 skipped Most problematic new failures on amd64: https://pkg-status.freebsd.org/gohan04/data/mainamd64PR276104-default-foo/2024-03-19_16h23m59s/logs/errors/ldc-1.35.0.log -> 27 skipped https://pkg-status.freebsd.org/gohan04/data/mainamd64PR276104-default-foo/2024-03-19_16h23m59s/logs/errors/wayfire-0.8.1.log -> 4 skipped https://pkg-status.freebsd.org/gohan04/data/mainamd64PR276104-default-foo/2024-03-19_16h23m59s/logs/errors/jose-12.log -> 2 skipped https://pkg-status.freebsd.org/gohan04/data/mainamd64PR276104-default-foo/2024-03-19_16h23m59s/logs/errors/heimdal-7.8.0_7.log -> 2 skipped
* bug 276542 for security/heimdal (patch was already submitted but is languishing)
This issue with clang-18 seems pretty serious: https://github.com/llvm/llvm-project/issues/78034 I already found an instance where musl is miscompiled: https://discourse.llvm.org/t/union-initialization-and-aliasing-clang-18-seems-to-miscompile-musl/77724/1 I wonder how much code in freebsd-src would be affected by this bug.
(In reply to Mike Cui from comment #26) Yeah, that is indeed a pretty nasty bug. This regression was caused by https://github.com/llvm/llvm-project/commit/0d2860b795879f4dd152963b52f969b53b136899 so for now I will simply revert that in the llvm-18-update branch. If there is a more complete fix from upstream I will import that.
* bug 277896 for databases/mysql80-server and databases/mysql81-server (and clients)
(In reply to Mike Cui from comment #26) FWIW the regressing upstream commit has been reverted here: https://github.com/DimitryAndric/freebsd-src/commit/b6633a90c1a5b4cc8b92c7c3f34dfcfbe7689059 Meanwhile upstream seems to have moved somewhat with a better fix, which I'll probably import later.
(In reply to Antoine Brodin from comment #24) Note the www/qt6-webengine seems to be an OOM condition: FAILED: obj/third_party/distributed_point_functions/distributed_point_functions/evaluate_prg_hwy.o ... LLVM ERROR: out of memory Allocation failed So I'm not sure if I will be able to reproduce it. On i386 the amount of memory is limited, so with webkit sources it is likely skirting the edge of what is possible to compile, at least without cross-compiling.
* bug 277905 for net/jose
* bug 277994 for lang/sbcl (but it is not a clang 18 issue, it's due to https://cgit.freebsd.org/src/commit/?id=c3276e02beab8 which changed SHUT_RD and friends from #define to enum values).
* bug 277995 for devel/p4 (another SHUT_RD define->enum fallout case, not clang 18)
* bug 277999 for audio/csound
* bug 278001 for emulators/mupen64plus-video-glide64mk2
* bug 278002 for games/endless-sky
(In reply to Dimitry Andric from comment #29) FWIW with 18.1.3 the better upstream fix has been merged. In https://github.com/DimitryAndric/freebsd-src/commit/c47f68492059 I have sync'd up with main 3bbe8ed1a7dc, and merged llvm-project 18.1.3-0-gc13b7485b879. I would very much like to start merging this all to head now, if there are no more major holdups. Antoine, do you think there are still some blockers?
(In reply to Dimitry Andric from comment #37) If the mysql issue has been fixed I think you can start merging
(In reply to Antoine Brodin from comment #38) Yeah, I just committed the mysql fixes. Also MFHd to 2024q1 but I don't know how long that branch is going to live. :)
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=0192eda105b367d4670205547e8e830e3716bea3 commit 0192eda105b367d4670205547e8e830e3716bea3 Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2024-04-06 20:15:21 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-04-06 20:15:21 +0000 Bump __FreeBSD_version for llvm 18.1.3 merge PR: 276104 MFC after: 1 month sys/sys/param.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=439352ac8257c8419cb4a662abb7f260f31f9932 commit 439352ac8257c8419cb4a662abb7f260f31f9932 Merge: 49a6e426df84 05834cae71b9 Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2024-04-05 22:02:56 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-04-06 20:14:34 +0000 Merge llvm-project release/18.x llvmorg-18.1.3-0-gc13b7485b879 This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvm-project release/18.x llvmorg-18.1.3-0-gc13b7485b879. PR: 276104 MFC after: 1 month .../clang/include/clang/AST/DeclBase.h | 10 ++ .../clang/include/clang/Sema/ScopeInfo.h | 4 +- .../clang/include/clang/Serialization/ASTReader.h | 7 -- contrib/llvm-project/clang/lib/AST/Decl.cpp | 2 +- contrib/llvm-project/clang/lib/AST/DeclBase.cpp | 5 + contrib/llvm-project/clang/lib/Basic/Module.cpp | 7 +- .../llvm-project/clang/lib/CodeGen/BackendUtil.cpp | 32 ++--- contrib/llvm-project/clang/lib/CodeGen/CGDecl.cpp | 43 ++++--- .../clang/lib/Driver/ToolChains/WebAssembly.cpp | 27 ++++- .../clang/lib/Driver/ToolChains/WebAssembly.h | 2 +- .../llvm-project/clang/lib/Headers/__stddef_null.h | 2 +- .../clang/lib/Headers/__stddef_nullptr_t.h | 7 +- .../clang/lib/Headers/__stddef_offsetof.h | 7 +- .../clang/lib/Headers/__stddef_ptrdiff_t.h | 7 +- .../clang/lib/Headers/__stddef_rsize_t.h | 7 +- .../clang/lib/Headers/__stddef_size_t.h | 7 +- .../clang/lib/Headers/__stddef_unreachable.h | 7 +- .../clang/lib/Headers/__stddef_wchar_t.h | 7 +- .../llvm-project/clang/lib/Headers/larchintrin.h | 2 +- .../clang/lib/Headers/module.modulemap | 20 ++-- contrib/llvm-project/clang/lib/Lex/ModuleMap.cpp | 9 +- contrib/llvm-project/clang/lib/Sema/SemaDecl.cpp | 73 +++++++----- .../llvm-project/clang/lib/Sema/SemaOverload.cpp | 22 +++- .../llvm-project/clang/lib/Sema/SemaTemplate.cpp | 22 +++- .../clang/lib/Serialization/ASTReader.cpp | 2 +- .../clang/lib/Serialization/ASTReaderDecl.cpp | 8 +- .../clang/lib/Serialization/ASTWriter.cpp | 2 +- .../clang/lib/Serialization/ASTWriterDecl.cpp | 8 +- .../clang/lib/StaticAnalyzer/Core/CallEvent.cpp | 2 +- .../llvm-project/compiler-rt/lib/builtins/divtc3.c | 2 +- .../llvm-project/compiler-rt/lib/builtins/fp_lib.h | 41 ++++--- .../compiler-rt/lib/builtins/int_types.h | 8 +- .../llvm-project/compiler-rt/lib/builtins/multc3.c | 2 +- contrib/llvm-project/compiler-rt/lib/msan/msan.cpp | 2 +- contrib/llvm-project/compiler-rt/lib/msan/msan.h | 35 ++++-- .../compiler-rt/lib/msan/msan_allocator.cpp | 3 + .../compiler-rt/lib/msan/msan_linux.cpp | 67 ++++++++--- .../lib/tsan/rtl/tsan_interceptors_posix.cpp | 43 +++---- contrib/llvm-project/libcxx/include/__availability | 7 +- .../llvm-project/libcxx/modules/modules.json.in | 2 +- contrib/llvm-project/lld/COFF/DLL.cpp | 2 +- contrib/llvm-project/lld/ELF/Arch/LoongArch.cpp | 22 ++++ contrib/llvm-project/lld/ELF/Arch/PPC64.cpp | 3 +- contrib/llvm-project/lld/ELF/Arch/RISCV.cpp | 2 + contrib/llvm-project/lld/ELF/Arch/X86_64.cpp | 7 +- contrib/llvm-project/lld/ELF/Writer.cpp | 3 + contrib/llvm-project/lld/docs/ReleaseNotes.rst | 5 + .../llvm/include/llvm/Analysis/VectorUtils.h | 5 + .../llvm/include/llvm/BinaryFormat/COFF.h | 5 +- .../llvm-project/llvm/include/llvm/Object/COFF.h | 41 +++++++ .../llvm/include/llvm/Object/COFFImportFile.h | 35 +++++- .../llvm/include/llvm/Support/FormattedStream.h | 51 ++++++-- .../llvm/include/llvm/Target/TargetSchedule.td | 2 +- .../llvm/lib/Analysis/ValueTracking.cpp | 2 + .../llvm-project/llvm/lib/Analysis/VectorUtils.cpp | 25 ++++ .../llvm/lib/MC/MCParser/AsmParser.cpp | 4 +- .../llvm-project/llvm/lib/Object/ArchiveWriter.cpp | 11 ++ .../llvm/lib/Object/COFFImportFile.cpp | 114 +++++++++++++----- .../llvm/lib/Support/FormattedStream.cpp | 3 + .../Target/AArch64/AArch64Arm64ECCallLowering.cpp | 57 ++++++--- .../lib/Target/AArch64/AArch64CallingConvention.td | 3 + .../lib/Target/AArch64/AArch64ISelLowering.cpp | 10 +- .../llvm/lib/Target/AArch64/AArch64MCInstLower.cpp | 2 + .../lib/Target/AArch64/Utils/AArch64BaseInfo.h | 28 ----- .../llvm/lib/Target/ARM/ARMFrameLowering.cpp | 11 +- .../llvm/lib/Target/ARM/ARMFrameLowering.h | 4 + .../llvm/lib/Target/ARM/ARMLoadStoreOptimizer.cpp | 23 ++-- .../llvm/lib/Target/AVR/AVRInstrInfo.td | 2 +- .../lib/Target/LoongArch/LoongArchISelLowering.cpp | 9 +- .../lib/Target/LoongArch/LoongArchISelLowering.h | 2 + .../lib/Target/LoongArch/LoongArchTargetMachine.h | 5 + .../Mips/MCTargetDesc/MipsTargetStreamer.cpp | 12 +- .../llvm/lib/Target/Mips/MipsExpandPseudo.cpp | 60 ++++++++-- .../llvm/lib/Target/PowerPC/PPCFrameLowering.cpp | 6 - .../llvm/lib/Target/PowerPC/PPCISelLowering.cpp | 1 + .../llvm/lib/Target/RISCV/RISCVISelLowering.cpp | 20 ++-- .../lib/Target/RISCV/RISCVTargetTransformInfo.cpp | 3 + .../lib/Target/SystemZ/SystemZISelLowering.cpp | 34 ++++++ .../llvm/lib/Target/X86/X86ISelLowering.cpp | 11 +- .../llvm/lib/Target/X86/X86InstrVecCompiler.td | 3 + .../llvm/lib/Target/X86/X86TargetTransformInfo.cpp | 4 + .../llvm/lib/Transforms/IPO/ArgumentPromotion.cpp | 6 +- .../Transforms/InstCombine/InstCombineCalls.cpp | 13 ++- .../Transforms/InstCombine/InstCombineCasts.cpp | 4 +- .../Transforms/InstCombine/InstCombineCompares.cpp | 7 ++ .../Transforms/InstCombine/InstCombineSelect.cpp | 9 +- .../InstCombine/InstructionCombining.cpp | 1 + .../Transforms/Instrumentation/ThreadSanitizer.cpp | 9 +- .../lib/Transforms/Scalar/DeadStoreElimination.cpp | 31 ++++- .../llvm/lib/Transforms/Scalar/SROA.cpp | 80 ++++++++----- .../llvm-project/llvm/tools/llvm-mc/llvm-mc.cpp | 5 - .../llvm/tools/llvm-objdump/llvm-objdump.cpp | 7 -- .../llvm/tools/llvm-readobj/COFFImportDumper.cpp | 6 + .../TableGen/MacroFusionPredicatorEmitter.cpp | 12 +- contrib/llvm-project/openmp/runtime/src/kmp.h | 8 +- .../openmp/runtime/src/kmp_affinity.cpp | 129 +++++++++++++++++++-- .../llvm-project/openmp/runtime/src/kmp_affinity.h | 73 +++++++++++- contrib/llvm-project/openmp/runtime/src/kmp_lock.h | 3 +- contrib/llvm-project/openmp/runtime/src/kmp_os.h | 3 +- .../openmp/runtime/src/z_Linux_util.cpp | 37 +++++- lib/clang/include/VCSVersion.inc | 6 +- lib/clang/include/clang/Basic/Version.inc | 6 +- lib/clang/include/lld/Common/Version.inc | 2 +- lib/clang/include/lldb/Version/Version.inc | 6 +- lib/clang/include/llvm/Config/config.h | 4 +- lib/clang/include/llvm/Config/llvm-config.h | 4 +- lib/clang/include/llvm/Support/VCSRevision.h | 2 +- 107 files changed, 1266 insertions(+), 431 deletions(-)
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=ce4f1f49e036fd806b534decfe38020dae32a384 commit ce4f1f49e036fd806b534decfe38020dae32a384 Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2024-03-19 13:07:27 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-04-06 20:14:31 +0000 Revert commit 6255157d24e2 from llvm-project (by Dimitry Andric): [libc++] Re-enable std::pair trivial copy constructor for FreeBSD >= 14 After many years of using the really old std::pair ABI which did not yet have a trivial copy constructor, FreeBSD 14 and later will finally get rid of it. Only use the old ABI for FreeBSD 13 and earlier. Note: on the FreeBSD side, we will bump our libc++.so version for this, and keep an old compatibility library in a separate package. Differential Revision: https://reviews.llvm.org/D126462 This ABI change can cause crashes when binaries compiled against older libc++ versions are run against binaries compiled against this libc++ version. For example, lang/ldc uses a precompiled bootstrap ldc2 binary that was compiled against the old libc++, but also links against libLLVM-15.so. If libLLVM-15.so is compiled against the new libc++ version, the ABI mismatch results in segfaults or even stack overflows. Note: we can only re-enable the std::pair trivial copy constructors again when the official libc++ ABI version is bumped to 2. PR: 276104 MFC after: 1 month contrib/llvm-project/libcxx/include/__config | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=49a6e426df84eff1ae54905a02f66910a6a177d3 commit 49a6e426df84eff1ae54905a02f66910a6a177d3 Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2024-03-21 20:50:26 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-04-06 20:14:31 +0000 Merge commit f5f3d5d6534f from llvm-project (by Qizhi Hu): [Clang][Sema] Fix a crash in lambda instantiation (#85565) Fix https://github.com/llvm/llvm-project/issues/85343 When build lambda expression in lambda instantiation, `ThisType` is required in `Sema::CheckCXXThisCapture` to build `this` capture. Set `this` type by import `Sema::CXXThisScopeRAII` and it will be used later in lambda expression transformation. Co-authored-by: huqizhi <836744285@qq.com> This fixes 'Assertion failed: (!isNull() && "Cannot retrieve a NULL type pointer"), function getCommonPtr" when building the x11-wm/wayfire port. PR: 276104 MFC after: 1 month contrib/llvm-project/clang/lib/Sema/TreeTransform.h | 10 ++++++++++ 1 file changed, 10 insertions(+)
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=4c2d3b022a1d543dbbff75a0c53e8d3d7242216d commit 4c2d3b022a1d543dbbff75a0c53e8d3d7242216d Merge: 56727255ad47 8b885620ff1b Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2024-03-10 12:37:50 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-04-06 20:14:25 +0000 Merge llvm-project release/18.x llvmorg-18.1.1-0-gdba2a75e9c7e This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvm-project release/18.x llvmorg-18.1.1-0-gdba2a75e9c7e. PR: 276104 MFC after: 1 month .../llvm-project/clang/include/clang/Sema/Sema.h | 4 +- .../clang/lib/Basic/Targets/AArch64.cpp | 1 - .../llvm-project/clang/lib/Basic/Targets/Mips.h | 4 +- .../llvm-project/clang/lib/CodeGen/CodeGenPGO.cpp | 11 +- contrib/llvm-project/clang/lib/Sema/SemaExpr.cpp | 4 +- contrib/llvm-project/libcxx/include/csetjmp | 8 +- .../llvm/include/llvm/ADT/iterator_range.h | 4 +- .../llvm/include/llvm/IR/Attributes.td | 28 +- .../llvm/TargetParser/AArch64TargetParser.h | 8 +- contrib/llvm-project/llvm/lib/Analysis/Loads.cpp | 6 +- contrib/llvm-project/llvm/lib/IR/Attributes.cpp | 5 + .../llvm/lib/Target/AArch64/AArch64.td | 27 + .../llvm/lib/Target/AArch64/AArch64SchedA53.td | 2 +- .../llvm/lib/Target/AArch64/AArch64SchedA57.td | 2 +- .../llvm/lib/Target/AArch64/AArch64SchedA64FX.td | 3 +- .../Target/AArch64/AArch64SchedAmpere1B.td (new) | 1149 ++++++++++++++++++++ .../llvm/lib/Target/AArch64/AArch64SchedCyclone.td | 2 +- .../lib/Target/AArch64/AArch64SchedExynosM3.td | 2 +- .../lib/Target/AArch64/AArch64SchedExynosM4.td | 2 +- .../lib/Target/AArch64/AArch64SchedExynosM5.td | 2 +- .../llvm/lib/Target/AArch64/AArch64SchedFalkor.td | 2 +- .../llvm/lib/Target/AArch64/AArch64SchedKryo.td | 2 +- .../lib/Target/AArch64/AArch64SchedNeoverseN1.td | 2 +- .../lib/Target/AArch64/AArch64SchedNeoverseN2.td | 2 +- .../lib/Target/AArch64/AArch64SchedNeoverseV1.td | 3 +- .../lib/Target/AArch64/AArch64SchedNeoverseV2.td | 3 +- .../llvm/lib/Target/AArch64/AArch64SchedTSV110.td | 2 +- .../lib/Target/AArch64/AArch64SchedThunderX.td | 2 +- .../lib/Target/AArch64/AArch64SchedThunderX2T99.td | 2 +- .../Target/AArch64/AArch64SchedThunderX3T110.td | 2 +- .../llvm/lib/Target/AArch64/AArch64Subtarget.cpp | 1 + .../llvm/lib/Target/AArch64/AArch64Subtarget.h | 1 + .../lib/Target/Mips/AsmParser/MipsAsmParser.cpp | 78 +- .../llvm/lib/Target/Mips/MipsISelLowering.cpp | 10 +- .../lib/Target/SystemZ/SystemZISelLowering.cpp | 5 +- .../llvm-project/llvm/lib/TargetParser/Host.cpp | 1 + .../llvm/lib/Transforms/Utils/FlattenCFG.cpp | 14 +- .../llvm/lib/Transforms/Utils/Local.cpp | 8 +- .../llvm/tools/llvm-cov/SourceCoverageView.cpp | 2 +- .../llvm/tools/llvm-cov/SourceCoverageViewHTML.cpp | 9 +- .../llvm/tools/llvm-cov/SourceCoverageViewText.cpp | 3 +- .../llvm/tools/llvm-readobj/ObjDumper.cpp | 26 +- .../llvm/tools/llvm-readobj/ObjDumper.h | 4 +- .../llvm-project/llvm/tools/llvm-readobj/Opts.td | 2 + .../llvm/tools/llvm-readobj/llvm-readobj.cpp | 6 +- .../llvm/utils/TableGen/Attributes.cpp | 6 +- lib/clang/include/VCSVersion.inc | 6 +- lib/clang/include/clang/Basic/Version.inc | 6 +- lib/clang/include/lld/Common/Version.inc | 2 +- lib/clang/include/lldb/Version/Version.inc | 6 +- lib/clang/include/llvm/Config/config.h | 4 +- lib/clang/include/llvm/Config/llvm-config.h | 4 +- lib/clang/include/llvm/Support/VCSRevision.h | 2 +- lib/clang/liblldb/LLDBWrapLua.cpp | 162 +-- 54 files changed, 1501 insertions(+), 163 deletions(-)
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=56727255ad47072ec2cc81b4ae728a099697b0e4 commit 56727255ad47072ec2cc81b4ae728a099697b0e4 Merge: 74626c16ff48 b3ca86c61e06 Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2024-02-21 10:24:23 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-04-06 20:14:19 +0000 Merge llvm-project release/18.x llvmorg-18.1.0-rc3-0-g6c90f8dd5463 This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvm-project release/18.x llvmorg-18.1.0-rc3-0-g6c90f8dd5463. PR: 276104 MFC after: 1 month .../clang/lib/Serialization/ASTReaderDecl.cpp | 10 +- .../clang/lib/Serialization/ASTWriter.cpp | 6 +- .../clang/lib/Serialization/ASTWriterDecl.cpp | 15 +- .../compiler-rt/lib/profile/InstrProfilingFile.c | 3 + .../llvm/include/llvm/Analysis/ScalarEvolution.h | 7 + .../llvm/lib/Analysis/ScalarEvolution.cpp | 62 ++++ .../llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp | 37 +- .../InstCombine/InstructionCombining.cpp | 6 +- .../Transforms/Utils/ScalarEvolutionExpander.cpp | 57 +-- .../llvm/lib/Transforms/Utils/SimplifyIndVar.cpp | 18 +- .../llvm/tools/llvm-objcopy/ObjcopyOptions.cpp | 2 + .../llvm/tools/llvm-objdump/ELFDump.cpp | 3 + .../llvm/tools/llvm-readobj/ELFDumper.cpp | 1 + .../openmp/runtime/src/z_AIX_asm.S (new) | 410 +++++++++++++++++++++ lib/clang/include/VCSVersion.inc | 6 +- lib/clang/include/lld/Common/Version.inc | 2 +- lib/clang/include/llvm/Support/VCSRevision.h | 2 +- 17 files changed, 558 insertions(+), 89 deletions(-)
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=74626c16ff489c0d64cf2843dfd522e7c544f3ce commit 74626c16ff489c0d64cf2843dfd522e7c544f3ce Merge: b3edf4467982 e15a4f0a320e Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2024-02-20 18:57:23 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-04-06 20:14:13 +0000 Merge llvm-project release/18.x llvmorg-18.1.0-rc2-53-gc7b0a6ecd442 This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvm-project release/18.x llvmorg-18.1.0-rc2-53-gc7b0a6ecd442. PR: 276104 MFC after: 1 month .../clang/include/clang/Basic/arm_sme.td | 28 +- .../clang/include/clang/Driver/Options.td | 12 + .../clang/lib/Basic/Targets/AArch64.cpp | 9 +- .../clang/lib/Driver/ToolChains/Arch/Sparc.cpp | 81 +++ .../clang/lib/Format/UnwrappedLineParser.cpp | 2 +- contrib/llvm-project/clang/lib/Sema/SemaExpr.cpp | 2 +- .../clang/tools/clang-format/ClangFormat.cpp | 49 +- .../compiler-rt/lib/dfsan/dfsan_custom.cpp | 203 ++----- .../compiler-rt/lib/dfsan/done_abilist.txt | 6 + .../lib/dfsan/libc_ubuntu1404_abilist.txt | 5 + .../lib/profile/InstrProfilingPlatformAIX.c | 4 +- contrib/llvm-project/libcxx/include/print | 14 +- .../libcxx/modules/CMakeLists.txt.in (new) | 88 +++ .../llvm-project/libcxx/modules/std/ostream.inc | 4 +- contrib/llvm-project/libcxx/src/print.cpp | 25 +- contrib/llvm-project/lld/COFF/Driver.cpp | 10 +- contrib/llvm-project/lld/ELF/Arch/LoongArch.cpp | 156 +++++- contrib/llvm-project/lld/ELF/Arch/RISCV.cpp | 29 +- .../llvm-project/lld/ELF/Arch/SystemZ.cpp (new) | 607 +++++++++++++++++++++ contrib/llvm-project/lld/ELF/Driver.cpp | 3 +- contrib/llvm-project/lld/ELF/InputFiles.cpp | 2 + contrib/llvm-project/lld/ELF/InputSection.cpp | 14 +- contrib/llvm-project/lld/ELF/InputSection.h | 24 +- contrib/llvm-project/lld/ELF/Relocations.cpp | 27 +- contrib/llvm-project/lld/ELF/Relocations.h | 3 + contrib/llvm-project/lld/ELF/ScriptParser.cpp | 1 + contrib/llvm-project/lld/ELF/SyntheticSections.cpp | 3 + contrib/llvm-project/lld/ELF/Target.cpp | 2 + contrib/llvm-project/lld/ELF/Target.h | 4 + contrib/llvm-project/lld/ELF/Writer.cpp | 4 +- contrib/llvm-project/lld/docs/ReleaseNotes.rst | 53 +- .../llvm/include/llvm/BinaryFormat/ELF.h | 1 + .../llvm/lib/Analysis/ValueTracking.cpp | 7 +- .../lib/CodeGen/GlobalISel/LegalizerHelper.cpp | 2 + .../llvm/lib/CodeGen/RegisterCoalescer.cpp | 27 +- .../llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp | 2 +- .../lib/Target/AArch64/AArch64ISelLowering.cpp | 11 +- .../lib/Target/AArch64/AArch64RegisterInfo.cpp | 4 + .../Target/AArch64/GISel/AArch64LegalizerInfo.cpp | 5 +- .../lib/Target/Mips/AsmParser/MipsAsmParser.cpp | 7 +- .../llvm/lib/Target/RISCV/RISCVISelLowering.cpp | 98 ++-- .../llvm/lib/Target/RISCV/RISCVInstrInfo.cpp | 3 +- .../llvm-project/llvm/lib/Target/Sparc/Sparc.td | 14 + .../llvm/lib/Target/Sparc/SparcISelLowering.cpp | 43 ++ .../llvm/lib/Target/Sparc/SparcRegisterInfo.cpp | 14 +- .../llvm/lib/Target/Sparc/SparcRegisterInfo.h | 1 + .../llvm/lib/Target/Sparc/SparcRegisterInfo.td | 4 + .../llvm/lib/Target/Sparc/SparcSubtarget.cpp | 1 + .../llvm/lib/Target/Sparc/SparcSubtarget.h | 10 + .../llvm/lib/Target/X86/X86ISelLowering.cpp | 10 +- .../llvm/lib/Transforms/IPO/LowerTypeTests.cpp | 28 +- .../lib/Transforms/Vectorize/SLPVectorizer.cpp | 14 +- contrib/llvm-project/openmp/runtime/src/kmp.h | 7 +- .../openmp/runtime/src/kmp_csupport.cpp | 5 +- .../openmp/runtime/src/kmp_gsupport.cpp | 2 +- .../llvm-project/openmp/runtime/src/kmp_lock.cpp | 6 +- contrib/llvm-project/openmp/runtime/src/kmp_lock.h | 17 +- .../openmp/runtime/src/kmp_settings.cpp | 5 + lib/clang/include/VCSVersion.inc | 6 +- lib/clang/include/lld/Common/Version.inc | 2 +- lib/clang/include/llvm/Support/VCSRevision.h | 2 +- usr.bin/clang/lld/Makefile | 1 + 62 files changed, 1481 insertions(+), 352 deletions(-)
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=868ee3f2855615016ba87c14b9444c18a2e1ba30 commit 868ee3f2855615016ba87c14b9444c18a2e1ba30 Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2024-02-05 11:41:51 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-04-06 20:14:03 +0000 [libc++] Rename __bit_reference template parameter to avoid conflict As of 4d20cfcf4eb08217ed37c4d4c38dc395d7a66d26, `__bit_reference` contains a template `__fill_n` with a bool `_FillValue` parameter. Unfortunately there is a relatively widely used piece of scientific software called NetCDF, which exposes a (C) macro `_FillValue` in its public headers. When building the NetCDF C++ bindings, this quickly leads to compilation errors when the macro interferes with the template in `__bit_reference`. Rename the parameter to `_FillVal` to avoid the conflict. PR: 276104 MFC after: 1 month contrib/llvm-project/libcxx/include/__bit_reference | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-)
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=dc36515b628331e03ac8c23a6749f7f3eb1ebec8 commit dc36515b628331e03ac8c23a6749f7f3eb1ebec8 Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2024-02-05 09:16:17 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-04-06 20:14:02 +0000 Merge commit 5f4ee5a2dfa9 from llvm-project (by Shanzhi): [Clang][AST] Fix a crash on attaching doc comments (#78716) This crash is basically caused by calling `ASTContext::getRawCommentForDeclNoCacheImp` with its input arguments `RepresentativeLocForDecl` and `CommentsInTheFile` refering to different files. A reduced reproducer is provided in this patch. After the source locations for instantiations of funtion template are corrected in the commit 256a0b298c68b89688b80350b034daf2f7785b67, the variable `CommitsInThisFile` in the function `ASTContext::attachCommentsToJustParsedDecls` would refer to the source file rather than the header file for implicit function template instantiation. Therefore, in the first loop in `ASTContext::attachCommentsToJustParsedDecls`, `D` should also be adjusted for relevant scenarios like the second loop. Fixes #67979 Fixes #68524 Fixes #70550 This should fix a segfault when compiling graphics/gdal. PR: 276104 MFC after: 1 month contrib/llvm-project/clang/lib/AST/ASTContext.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-)
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=b3edf4467982447620505a28fc82e38a414c07dc commit b3edf4467982447620505a28fc82e38a414c07dc Merge: 868ee3f28556 4fdf604ba667 Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2024-02-07 14:58:02 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-04-06 20:14:07 +0000 Merge llvm-project release/18.x llvmorg-18.1.0-rc2-0-gc6c86965d967 This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvm-project release/18.x llvmorg-18.1.0-rc2-0-gc6c86965d967. PR: 276104 MFC after: 1 month .../llvm-project/clang/include/clang/AST/Type.h | 3 + .../clang/include/clang/Basic/AttrDocs.td | 5 +- .../clang/include/clang/Basic/BuiltinsAMDGPU.def | 62 +++ .../clang/include/clang/Basic/CodeGenOptions.def | 3 + .../include/clang/Basic/DiagnosticCommonKinds.td | 2 +- .../clang/include/clang/Basic/DiagnosticDocs.td | 9 + .../include/clang/Basic/DiagnosticSemaKinds.td | 6 + .../clang/include/clang/Basic/LangOptions.def | 1 + .../clang/include/clang/Driver/Options.td | 13 + .../clang/include/clang/Format/Format.h | 43 +- .../clang/include/clang/Lex/Preprocessor.h | 11 +- .../llvm-project/clang/include/clang/Sema/Lookup.h | 3 +- .../clang/include/clang/Serialization/ASTReader.h | 6 + contrib/llvm-project/clang/lib/AST/ASTContext.cpp | 20 +- .../llvm-project/clang/lib/AST/ExprConstant.cpp | 9 +- .../llvm-project/clang/lib/AST/ItaniumMangle.cpp | 25 +- .../llvm-project/clang/lib/AST/JSONNodeDumper.cpp | 3 + contrib/llvm-project/clang/lib/AST/ODRHash.cpp | 49 +- .../llvm-project/clang/lib/AST/TemplateBase.cpp | 3 +- .../llvm-project/clang/lib/AST/TextNodeDumper.cpp | 3 + contrib/llvm-project/clang/lib/AST/Type.cpp | 15 +- contrib/llvm-project/clang/lib/AST/TypePrinter.cpp | 2 + .../clang/lib/Basic/Targets/AArch64.cpp | 23 + .../llvm-project/clang/lib/Basic/Targets/AArch64.h | 1 + .../llvm-project/clang/lib/CodeGen/BackendUtil.cpp | 1 + .../llvm-project/clang/lib/CodeGen/CGBuiltin.cpp | 177 +++++++- contrib/llvm-project/clang/lib/CodeGen/CGExpr.cpp | 17 +- .../clang/lib/CodeGen/CoverageMappingGen.cpp | 6 +- .../clang/lib/CodeGen/Targets/RISCV.cpp | 21 +- contrib/llvm-project/clang/lib/Driver/Driver.cpp | 6 +- .../clang/lib/Driver/ToolChains/Clang.cpp | 15 + .../clang/lib/Driver/ToolChains/CommonArgs.cpp | 52 +++ .../clang/lib/Driver/ToolChains/CommonArgs.h | 3 + contrib/llvm-project/clang/lib/Format/Format.cpp | 23 +- .../clang/lib/Format/TokenAnnotator.cpp | 11 +- .../llvm-project/clang/lib/Lex/PPDirectives.cpp | 2 +- .../llvm-project/clang/lib/Lex/PPExpressions.cpp | 4 +- .../llvm-project/clang/lib/Sema/SemaChecking.cpp | 55 ++- .../llvm-project/clang/lib/Sema/SemaConcept.cpp | 8 +- contrib/llvm-project/clang/lib/Sema/SemaDecl.cpp | 3 +- contrib/llvm-project/clang/lib/Sema/SemaExpr.cpp | 6 +- .../llvm-project/clang/lib/Sema/SemaOverload.cpp | 44 +- .../llvm-project/clang/lib/Sema/SemaTemplate.cpp | 44 +- contrib/llvm-project/clang/lib/Sema/SemaType.cpp | 21 +- .../clang/lib/Serialization/ASTReader.cpp | 3 + .../clang/lib/Serialization/ASTReaderDecl.cpp | 38 +- .../clang/lib/Serialization/ASTWriter.cpp | 8 +- .../clang/lib/Serialization/ASTWriterDecl.cpp | 13 +- .../clang/lib/StaticAnalyzer/Core/Environment.cpp | 8 +- .../compiler-rt/lib/builtins/i386/chkstk.S | 2 - .../compiler-rt/lib/builtins/x86_64/chkstk.S | 2 - .../lib/profile/InstrProfilingPlatformWindows.c | 2 +- .../sanitizer_symbolizer_report.cpp | 4 +- .../libcxx/include/__algorithm/copy_move_common.h | 5 + .../libcxx/include/__algorithm/equal.h | 5 + .../libcxx/include/__algorithm/equal_range.h | 5 + .../llvm-project/libcxx/include/__algorithm/fold.h | 5 + .../libcxx/include/__algorithm/in_found_result.h | 5 + .../libcxx/include/__algorithm/in_fun_result.h | 5 + .../libcxx/include/__algorithm/in_in_out_result.h | 5 + .../libcxx/include/__algorithm/in_in_result.h | 5 + .../libcxx/include/__algorithm/in_out_out_result.h | 5 + .../libcxx/include/__algorithm/includes.h | 5 + .../libcxx/include/__algorithm/next_permutation.h | 5 + .../libcxx/include/__algorithm/nth_element.h | 5 + .../libcxx/include/__algorithm/partial_sort.h | 5 + .../libcxx/include/__algorithm/partial_sort_copy.h | 5 + .../libcxx/include/__algorithm/partition.h | 5 + .../libcxx/include/__algorithm/prev_permutation.h | 5 + .../include/__algorithm/pstl_any_all_none_of.h | 5 + .../pstl_backends/cpu_backends/transform_reduce.h | 5 + .../libcxx/include/__algorithm/pstl_copy.h | 5 + .../libcxx/include/__algorithm/pstl_count.h | 5 + .../libcxx/include/__algorithm/pstl_equal.h | 5 + .../libcxx/include/__algorithm/pstl_fill.h | 5 + .../libcxx/include/__algorithm/pstl_find.h | 5 + .../libcxx/include/__algorithm/pstl_for_each.h | 5 + .../libcxx/include/__algorithm/pstl_generate.h | 5 + .../include/__algorithm/pstl_is_partitioned.h | 5 + .../libcxx/include/__algorithm/pstl_merge.h | 5 + .../libcxx/include/__algorithm/pstl_move.h | 5 + .../libcxx/include/__algorithm/pstl_replace.h | 5 + .../libcxx/include/__algorithm/pstl_rotate_copy.h | 5 + .../libcxx/include/__algorithm/pstl_sort.h | 5 + .../libcxx/include/__algorithm/pstl_stable_sort.h | 5 + .../libcxx/include/__algorithm/pstl_transform.h | 5 + .../libcxx/include/__algorithm/ranges_all_of.h | 5 + .../libcxx/include/__algorithm/ranges_any_of.h | 5 + .../include/__algorithm/ranges_binary_search.h | 5 + .../libcxx/include/__algorithm/ranges_clamp.h | 5 + .../libcxx/include/__algorithm/ranges_contains.h | 5 + .../libcxx/include/__algorithm/ranges_copy.h | 5 + .../include/__algorithm/ranges_copy_backward.h | 5 + .../libcxx/include/__algorithm/ranges_copy_if.h | 5 + .../libcxx/include/__algorithm/ranges_copy_n.h | 5 + .../libcxx/include/__algorithm/ranges_count.h | 5 + .../libcxx/include/__algorithm/ranges_count_if.h | 5 + .../libcxx/include/__algorithm/ranges_ends_with.h | 5 + .../libcxx/include/__algorithm/ranges_equal.h | 5 + .../include/__algorithm/ranges_equal_range.h | 5 + .../libcxx/include/__algorithm/ranges_fill.h | 5 + .../libcxx/include/__algorithm/ranges_fill_n.h | 5 + .../libcxx/include/__algorithm/ranges_find.h | 5 + .../libcxx/include/__algorithm/ranges_find_end.h | 5 + .../include/__algorithm/ranges_find_first_of.h | 5 + .../libcxx/include/__algorithm/ranges_find_if.h | 5 + .../include/__algorithm/ranges_find_if_not.h | 5 + .../libcxx/include/__algorithm/ranges_for_each.h | 5 + .../libcxx/include/__algorithm/ranges_for_each_n.h | 5 + .../libcxx/include/__algorithm/ranges_generate.h | 5 + .../libcxx/include/__algorithm/ranges_generate_n.h | 5 + .../libcxx/include/__algorithm/ranges_includes.h | 5 + .../include/__algorithm/ranges_inplace_merge.h | 5 + .../libcxx/include/__algorithm/ranges_is_heap.h | 5 + .../include/__algorithm/ranges_is_heap_until.h | 5 + .../include/__algorithm/ranges_is_partitioned.h | 5 + .../include/__algorithm/ranges_is_permutation.h | 5 + .../libcxx/include/__algorithm/ranges_is_sorted.h | 5 + .../include/__algorithm/ranges_is_sorted_until.h | 5 + .../include/__algorithm/ranges_iterator_concept.h | 5 + .../__algorithm/ranges_lexicographical_compare.h | 5 + .../include/__algorithm/ranges_lower_bound.h | 5 + .../libcxx/include/__algorithm/ranges_make_heap.h | 5 + .../include/__algorithm/ranges_max_element.h | 5 + .../libcxx/include/__algorithm/ranges_merge.h | 5 + .../include/__algorithm/ranges_min_element.h | 5 + .../include/__algorithm/ranges_minmax_element.h | 5 + .../libcxx/include/__algorithm/ranges_mismatch.h | 5 + .../libcxx/include/__algorithm/ranges_move.h | 5 + .../include/__algorithm/ranges_move_backward.h | 5 + .../include/__algorithm/ranges_next_permutation.h | 5 + .../libcxx/include/__algorithm/ranges_none_of.h | 5 + .../include/__algorithm/ranges_nth_element.h | 5 + .../include/__algorithm/ranges_partial_sort.h | 5 + .../include/__algorithm/ranges_partial_sort_copy.h | 5 + .../libcxx/include/__algorithm/ranges_partition.h | 5 + .../include/__algorithm/ranges_partition_copy.h | 5 + .../include/__algorithm/ranges_partition_point.h | 5 + .../libcxx/include/__algorithm/ranges_pop_heap.h | 5 + .../include/__algorithm/ranges_prev_permutation.h | 5 + .../libcxx/include/__algorithm/ranges_push_heap.h | 5 + .../libcxx/include/__algorithm/ranges_remove.h | 5 + .../include/__algorithm/ranges_remove_copy.h | 5 + .../include/__algorithm/ranges_remove_copy_if.h | 5 + .../libcxx/include/__algorithm/ranges_remove_if.h | 5 + .../libcxx/include/__algorithm/ranges_replace.h | 5 + .../include/__algorithm/ranges_replace_copy.h | 5 + .../include/__algorithm/ranges_replace_copy_if.h | 5 + .../libcxx/include/__algorithm/ranges_replace_if.h | 5 + .../include/__algorithm/ranges_reverse_copy.h | 5 + .../libcxx/include/__algorithm/ranges_rotate.h | 5 + .../include/__algorithm/ranges_rotate_copy.h | 5 + .../libcxx/include/__algorithm/ranges_sample.h | 5 + .../libcxx/include/__algorithm/ranges_search_n.h | 5 + .../include/__algorithm/ranges_set_difference.h | 6 + .../include/__algorithm/ranges_set_intersection.h | 6 + .../__algorithm/ranges_set_symmetric_difference.h | 6 + .../libcxx/include/__algorithm/ranges_set_union.h | 5 + .../libcxx/include/__algorithm/ranges_shuffle.h | 5 + .../libcxx/include/__algorithm/ranges_sort.h | 5 + .../libcxx/include/__algorithm/ranges_sort_heap.h | 5 + .../include/__algorithm/ranges_stable_partition.h | 5 + .../include/__algorithm/ranges_stable_sort.h | 5 + .../include/__algorithm/ranges_starts_with.h | 5 + .../include/__algorithm/ranges_swap_ranges.h | 5 + .../libcxx/include/__algorithm/ranges_transform.h | 5 + .../libcxx/include/__algorithm/ranges_unique.h | 5 + .../include/__algorithm/ranges_unique_copy.h | 5 + .../libcxx/include/__algorithm/remove.h | 5 + .../libcxx/include/__algorithm/remove_if.h | 5 + .../libcxx/include/__algorithm/reverse.h | 5 + .../libcxx/include/__algorithm/rotate.h | 5 + .../libcxx/include/__algorithm/set_difference.h | 5 + .../libcxx/include/__algorithm/set_intersection.h | 5 + .../include/__algorithm/set_symmetric_difference.h | 5 + .../libcxx/include/__algorithm/set_union.h | 5 + .../libcxx/include/__algorithm/shift_left.h | 5 + .../libcxx/include/__algorithm/shift_right.h | 5 + .../llvm-project/libcxx/include/__algorithm/sort.h | 5 + .../libcxx/include/__algorithm/sort_heap.h | 5 + .../libcxx/include/__algorithm/stable_partition.h | 5 + .../libcxx/include/__algorithm/stable_sort.h | 5 + .../libcxx/include/__algorithm/swap_ranges.h | 5 + .../libcxx/include/__algorithm/unique.h | 5 + .../libcxx/include/__algorithm/unique_copy.h | 5 + .../libcxx/include/__algorithm/unwrap_iter.h | 2 +- .../libcxx/include/__algorithm/unwrap_range.h | 5 + contrib/llvm-project/libcxx/include/__config | 9 +- .../include/__filesystem/directory_iterator.h | 5 + .../libcxx/include/__filesystem/path.h | 5 + .../__filesystem/recursive_directory_iterator.h | 5 + .../libcxx/include/__format/format_arg.h | 5 + .../libcxx/include/__format/format_context.h | 5 + .../libcxx/include/__format/format_functions.h | 5 + .../libcxx/include/__format/formatter_output.h | 5 + .../libcxx/include/__format/write_escaped.h | 5 + .../libcxx/include/__functional/function.h | 5 + .../include/__iterator/cpp17_iterator_concepts.h | 5 + .../libcxx/include/__iterator/iterator_with_data.h | 5 + .../__memory/ranges_uninitialized_algorithms.h | 5 + .../libcxx/include/__memory/raw_storage_iterator.h | 5 + .../libcxx/include/__memory/shared_ptr.h | 5 + .../include/__memory/uninitialized_algorithms.h | 5 + .../libcxx/include/__mutex/once_flag.h | 5 + .../libcxx/include/__numeric/pstl_reduce.h | 5 + .../include/__numeric/pstl_transform_reduce.h | 5 + .../llvm-project/libcxx/include/__numeric/reduce.h | 5 + .../include/__numeric/saturation_arithmetic.h | 5 + .../libcxx/include/__numeric/transform_reduce.h | 5 + .../llvm-project/libcxx/include/__ranges/counted.h | 5 + .../libcxx/include/__ranges/drop_while_view.h | 5 + .../libcxx/include/__ranges/elements_view.h | 5 + .../libcxx/include/__ranges/filter_view.h | 5 + .../libcxx/include/__ranges/iota_view.h | 5 + .../libcxx/include/__ranges/join_view.h | 5 + .../libcxx/include/__ranges/lazy_split_view.h | 5 + .../libcxx/include/__ranges/repeat_view.h | 5 + .../libcxx/include/__ranges/reverse_view.h | 5 + .../libcxx/include/__ranges/single_view.h | 5 + .../libcxx/include/__ranges/split_view.h | 5 + .../libcxx/include/__ranges/take_while_view.h | 5 + .../libcxx/include/__ranges/transform_view.h | 5 + .../llvm-project/libcxx/include/__thread/jthread.h | 5 + .../llvm-project/libcxx/include/__thread/thread.h | 5 + contrib/llvm-project/libcxx/include/array | 5 + .../llvm-project/libcxx/include/condition_variable | 5 + .../libcxx/include/experimental/iterator | 5 + contrib/llvm-project/libcxx/include/future | 5 + contrib/llvm-project/libcxx/include/ios | 5 + contrib/llvm-project/libcxx/include/map | 5 + contrib/llvm-project/libcxx/include/ostream | 5 + contrib/llvm-project/libcxx/include/queue | 5 + contrib/llvm-project/libcxx/include/set | 5 + contrib/llvm-project/libcxx/include/stack | 5 + contrib/llvm-project/libcxx/include/string | 7 +- contrib/llvm-project/libcxx/include/strstream | 5 + contrib/llvm-project/libcxx/include/unordered_map | 5 + contrib/llvm-project/libcxx/include/unordered_set | 5 + contrib/llvm-project/libcxx/include/version | 14 +- contrib/llvm-project/libcxx/modules/std/atomic.inc | 2 + contrib/llvm-project/libcxx/modules/std/iosfwd.inc | 2 + contrib/llvm-project/libcxx/modules/std/string.inc | 4 + .../libcxx/modules/std/string_view.inc | 2 + contrib/llvm-project/lld/ELF/Arch/RISCV.cpp | 199 ++++++-- contrib/llvm-project/lld/ELF/InputFiles.cpp | 7 +- contrib/llvm-project/lld/ELF/InputSection.cpp | 13 +- contrib/llvm-project/lld/ELF/Relocations.cpp | 50 ++- contrib/llvm-project/lld/ELF/Writer.cpp | 12 +- contrib/llvm-project/lld/docs/ReleaseNotes.rst | 62 +++ .../llvm/include/llvm/Analysis/AliasAnalysis.h | 7 + .../include/llvm/Analysis/BasicAliasAnalysis.h | 14 +- .../include/llvm/Analysis/BranchProbabilityInfo.h | 13 +- .../llvm/include/llvm/Analysis/Loads.h | 12 +- .../llvm/include/llvm/Analysis/VecFuncs.def | 18 +- .../llvm/include/llvm/CodeGen/LivePhysRegs.h | 11 +- .../llvm/include/llvm/CodeGen/MachineBasicBlock.h | 6 + .../llvm/include/llvm/IR/IntrinsicsAMDGPU.td | 119 +++-- .../llvm/include/llvm/Support/X86FoldTablesUtils.h | 11 +- .../include/llvm/Target/TargetInstrPredicate.td | 34 ++ .../llvm/TargetParser/AArch64TargetParser.h | 3 +- .../llvm/include/llvm/TargetParser/Triple.h | 6 +- .../llvm/lib/Analysis/BasicAliasAnalysis.cpp | 6 +- contrib/llvm-project/llvm/lib/Analysis/Lint.cpp | 3 +- contrib/llvm-project/llvm/lib/Analysis/Loads.cpp | 9 +- .../llvm/lib/Analysis/LoopAccessAnalysis.cpp | 53 ++- .../llvm/lib/Analysis/MemorySSAUpdater.cpp | 22 +- .../llvm/lib/CodeGen/BranchFolding.cpp | 6 +- .../lib/ProfileData/Coverage/CoverageMapping.cpp | 240 ++++++++-- .../ProfileData/Coverage/CoverageMappingWriter.cpp | 10 +- .../llvm-project/llvm/lib/Support/RISCVISAInfo.cpp | 3 +- .../Target/AArch64/AArch64ExpandPseudoInsts.cpp | 6 + .../lib/Target/AArch64/AArch64FrameLowering.cpp | 6 +- .../lib/Target/AArch64/AArch64ISelLowering.cpp | 28 +- .../llvm/lib/Target/AArch64/AArch64ISelLowering.h | 4 +- .../llvm/lib/Target/AArch64/AArch64InstrInfo.cpp | 20 +- .../llvm/lib/Target/AArch64/AArch64InstrInfo.h | 3 - .../Target/AArch64/AArch64LoadStoreOptimizer.cpp | 229 ---------- .../lib/Target/AArch64/AArch64RegisterInfo.cpp | 35 ++ .../llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td | 22 + .../Target/AArch64/AArch64TargetTransformInfo.cpp | 17 +- .../llvm-project/llvm/lib/Target/AMDGPU/AMDGPU.td | 1 + .../llvm/lib/Target/AMDGPU/AMDGPUGISel.td | 24 + .../llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp | 330 ++++++++++++++ .../llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.h | 10 + .../llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp | 1 + .../Target/AMDGPU/AMDGPUInstructionSelector.cpp | 213 +++++++++ .../lib/Target/AMDGPU/AMDGPUInstructionSelector.h | 13 + .../llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp | 79 +++- .../llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.h | 1 + .../llvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp | 16 +- .../lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp | 16 + .../lib/Target/AMDGPU/AMDGPUSearchableTables.td | 16 + .../Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp | 142 +++++- .../AMDGPU/Disassembler/AMDGPUDisassembler.cpp | 34 ++ .../llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp | 19 +- .../AMDGPU/MCTargetDesc/AMDGPUInstPrinter.cpp | 47 ++ .../Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.h | 4 + .../llvm/lib/Target/AMDGPU/SIDefines.h | 3 + .../llvm/lib/Target/AMDGPU/SIFoldOperands.cpp | 1 + .../llvm/lib/Target/AMDGPU/SIISelLowering.cpp | 111 ++++- .../llvm/lib/Target/AMDGPU/SIISelLowering.h | 1 + .../llvm/lib/Target/AMDGPU/SIInstrFormats.td | 5 + .../llvm/lib/Target/AMDGPU/SIInstrInfo.h | 8 + .../llvm/lib/Target/AMDGPU/SIInstrInfo.td | 18 +- .../llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.h | 32 +- .../llvm/lib/Target/AMDGPU/SIRegisterInfo.td | 5 + .../lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp | 11 + .../llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h | 3 + .../llvm/lib/Target/AMDGPU/VOP1Instructions.td | 93 +++- .../llvm/lib/Target/AMDGPU/VOP3Instructions.td | 53 ++- .../llvm/lib/Target/AMDGPU/VOP3PInstructions.td | 500 ++++++++++++++++++++- .../llvm/lib/Target/AMDGPU/VOPInstructions.td | 32 +- .../llvm/lib/Target/ARM/ARMLowOverheadLoops.cpp | 13 +- .../LoongArch/LoongArchTargetTransformInfo.cpp | 11 +- .../llvm/lib/Target/Mips/MipsAsmPrinter.cpp | 39 -- .../llvm/lib/Target/Mips/MipsAsmPrinter.h | 2 - .../Target/PowerPC/PPCExpandAtomicPseudoInsts.cpp | 14 +- .../llvm/lib/Target/PowerPC/PPCFrameLowering.cpp | 13 +- .../llvm-project/llvm/lib/Target/RISCV/RISCV.td | 6 + .../llvm/lib/Target/RISCV/RISCVFeatures.td | 26 +- .../llvm/lib/Target/RISCV/RISCVISelLowering.cpp | 2 +- .../llvm/lib/Target/RISCV/RISCVInstrInfoZicond.td | 2 - .../lib/Target/RISCV/RISCVMacroFusion.cpp (gone) | 210 --------- .../lib/Target/RISCV/RISCVMacroFusion.h (gone) | 28 -- .../lib/Target/RISCV/RISCVMacroFusion.td (new) | 93 ++++ .../llvm/lib/Target/RISCV/RISCVSubtarget.cpp | 8 +- .../llvm/lib/Target/RISCV/RISCVSubtarget.h | 8 +- .../llvm/lib/Target/RISCV/RISCVTargetMachine.cpp | 13 +- .../lib/Target/SystemZ/SystemZFrameLowering.cpp | 12 +- .../llvm/lib/Target/X86/X86AsmPrinter.cpp | 1 - .../llvm/lib/Target/X86/X86FrameLowering.cpp | 15 +- .../llvm/lib/Target/X86/X86InstrAVX512.td | 2 +- .../llvm/lib/Target/X86/X86InstrFoldTables.cpp | 11 +- .../llvm/lib/Target/X86/X86InstrInfo.cpp | 35 +- .../llvm/lib/TargetParser/TargetParser.cpp | 1 + .../InstCombine/InstCombineLoadStoreAlloca.cpp | 3 +- .../InstCombine/InstCombineSimplifyDemanded.cpp | 3 + .../Transforms/Scalar/ConstraintElimination.cpp | 7 +- .../llvm/lib/Transforms/Scalar/JumpThreading.cpp | 13 +- .../lib/Transforms/Vectorize/LoopVectorize.cpp | 62 ++- .../llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp | 12 +- .../llvm/utils/TableGen/DAGISelMatcherEmitter.cpp | 3 +- .../llvm/utils/TableGen/PredicateExpander.cpp | 34 ++ .../llvm/utils/TableGen/PredicateExpander.h | 4 + .../llvm/utils/TableGen/X86FoldTablesEmitter.cpp | 58 +-- 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 | 3 +- usr.bin/clang/clang/clang-driver.cpp | 2 + usr.bin/clang/lld/lld-driver.cpp | 2 + usr.bin/clang/llvm-ar/llvm-ar-driver.cpp | 2 + usr.bin/clang/llvm-cxxfilt/llvm-cxxfilt-driver.cpp | 2 + usr.bin/clang/llvm-dwp/llvm-dwp-driver.cpp | 2 + usr.bin/clang/llvm-nm/llvm-nm-driver.cpp | 2 + usr.bin/clang/llvm-objcopy/llvm-objcopy-driver.cpp | 2 + usr.bin/clang/llvm-objdump/llvm-objdump-driver.cpp | 2 + .../clang/llvm-profdata/llvm-profdata-driver.cpp | 2 + usr.bin/clang/llvm-readobj/llvm-readobj-driver.cpp | 2 + usr.bin/clang/llvm-size/llvm-size-driver.cpp | 2 + .../llvm-symbolizer/llvm-symbolizer-driver.cpp | 2 + 361 files changed, 4552 insertions(+), 1284 deletions(-)
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=ddbac700c256bec42c441b75a5cb5f74e9be601f commit ddbac700c256bec42c441b75a5cb5f74e9be601f Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2024-01-28 20:34:42 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-04-06 20:14:01 +0000 Merge commit 6e4930c67508 from llvm-project (by Alexander Kornienko): Revert "[SemaCXX] Implement CWG2137 (list-initialization from objects of the same type) (#77768)" This reverts commit 924701311aa79180e86ad8ce43d253f27d25ec7d. Causes compilation errors on valid code, see https://github.com/llvm/llvm-project/pull/77768#issuecomment-1908062472. In particular, this fixes bogus "call to constructor of 'SomeType' is ambiguous" errors. PR: 276104 MFC after: 1 month contrib/llvm-project/clang/lib/Sema/SemaInit.cpp | 40 ++++++---------------- .../llvm-project/clang/lib/Sema/SemaOverload.cpp | 38 ++++++-------------- 2 files changed, 20 insertions(+), 58 deletions(-)
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=878ed4957e077721efaf90ab5b70dce86dc94f4b commit 878ed4957e077721efaf90ab5b70dce86dc94f4b Merge: 3fb2e045791e 2d835ae86572 Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2024-01-26 15:04:14 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-04-06 20:13:56 +0000 Merge llvm-project release/18.x llvmorg-18-init-18361-g22683463740e This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvm-project release/18.x llvmorg-18-init-18361-g22683463740e. PR: 276104 MFC after: 1 month contrib/llvm-project/libcxx/include/__config | 2 +- lib/clang/include/VCSVersion.inc | 6 +++--- lib/clang/include/clang/Basic/Version.inc | 6 +++--- lib/clang/include/lld/Common/Version.inc | 2 +- lib/clang/include/lldb/Version/Version.inc | 6 +++--- lib/clang/include/llvm/Config/config.h | 4 ++-- lib/clang/include/llvm/Config/llvm-config.h | 4 ++-- lib/clang/include/llvm/Support/VCSRevision.h | 2 +- 8 files changed, 16 insertions(+), 16 deletions(-)
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=3fb2e045791eb6f003205902cdc4f74702770ec6 commit 3fb2e045791eb6f003205902cdc4f74702770ec6 Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2024-01-26 15:03:20 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-04-06 20:13:54 +0000 Tentatively apply https://github.com/libcxxrt/libcxxrt/pull/27 This marks __cxa_allocate_exception, __cxa_free_exception and __cxa_init_primary_exception noexcept, to ensure compatibility with libc++'s declarations. PR: 276104 MFC after: 1 month contrib/libcxxrt/cxxabi.h | 6 +++--- contrib/libcxxrt/exception.cc | 8 ++++---- 2 files changed, 7 insertions(+), 7 deletions(-)
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=46c59ea9b61755455ff6bf9f3e7b834e1af634ea commit 46c59ea9b61755455ff6bf9f3e7b834e1af634ea Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2024-01-14 13:20:42 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-04-06 20:13:43 +0000 Redo libc++ customizations * Remove osreldate include because _LIBCPP_HAS_NO_GETS has disappeared * Instead, add direct major __FreeBSD__ check for using ::gets declaration * Mark EINTEGRITY values as FreeBSD customization * Reformat _LIBCPP_TYPE_VISIBILITY_DEFAULT customization PR: 276104 MFC after: 1 month contrib/llvm-project/libcxx/include/__config | 8 ++------ contrib/llvm-project/libcxx/include/__system_error/errc.h | 4 ++-- contrib/llvm-project/libcxx/include/cstdio | 2 +- 3 files changed, 5 insertions(+), 9 deletions(-)
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=297eecfb02bb25902531dbb5c3b9a88caf8adf29 commit 297eecfb02bb25902531dbb5c3b9a88caf8adf29 Merge: 1db9f3b21e39 950076cd18f3 Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2024-01-11 18:29:01 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-04-06 20:13:39 +0000 Merge llvm-project main llvmorg-18-init-16864-g3b3ee1f53424 This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvm-project main llvmorg-18-init-16864-g3b3ee1f53424. PR: 276104 MFC after: 1 month .../clang/include/clang/AST/DeclBase.h | 10 + .../llvm-project/clang/include/clang/AST/DeclCXX.h | 3 + .../llvm-project/clang/include/clang/AST/Stmt.h | 6 +- .../llvm-project/clang/include/clang/AST/Type.h | 3 + .../llvm-project/clang/include/clang/Basic/Attr.td | 18 + .../clang/include/clang/Basic/AttrDocs.td | 78 +++ .../include/clang/Basic/DiagnosticFrontendKinds.td | 2 +- .../include/clang/Basic/DiagnosticSemaKinds.td | 15 + .../clang/include/clang/Basic/LangOptions.def | 1 + .../clang/include/clang/Basic/TargetInfo.h | 1 + .../clang/include/clang/Basic/arm_sve.td | 22 +- .../clang/include/clang/Driver/Options.td | 18 +- .../clang/include/clang/Format/Format.h | 20 +- .../clang/include/clang/Parse/Parser.h | 24 +- .../llvm-project/clang/include/clang/Sema/Sema.h | 3 + .../clang/include/clang/Sema/TypoCorrection.h | 12 +- contrib/llvm-project/clang/lib/AST/ASTContext.cpp | 7 + contrib/llvm-project/clang/lib/AST/ASTImporter.cpp | 37 +- contrib/llvm-project/clang/lib/AST/DeclBase.cpp | 74 ++- contrib/llvm-project/clang/lib/AST/DeclCXX.cpp | 13 + contrib/llvm-project/clang/lib/AST/Expr.cpp | 83 +--- .../clang/lib/AST/Interp/ByteCodeExprGen.cpp | 7 + .../clang/lib/AST/Interp/Descriptor.cpp | 6 +- .../llvm-project/clang/lib/AST/Interp/Descriptor.h | 7 +- .../llvm-project/clang/lib/AST/Interp/Interp.cpp | 12 + .../clang/lib/AST/Interp/InterpBuiltin.cpp | 33 +- .../llvm-project/clang/lib/AST/Interp/Program.cpp | 16 +- contrib/llvm-project/clang/lib/AST/Type.cpp | 34 +- .../clang/lib/Analysis/ExprMutationAnalyzer.cpp | 355 +++++++------- .../clang/lib/Basic/Targets/AArch64.cpp | 7 + .../llvm-project/clang/lib/Basic/Targets/RISCV.cpp | 5 +- .../llvm-project/clang/lib/CodeGen/CGBuiltin.cpp | 244 +++++++++- contrib/llvm-project/clang/lib/CodeGen/CGCall.cpp | 2 + .../llvm-project/clang/lib/CodeGen/CGException.cpp | 7 +- contrib/llvm-project/clang/lib/CodeGen/CGExpr.cpp | 340 +++++++++++++- .../llvm-project/clang/lib/CodeGen/CGObjCGNU.cpp | 35 +- .../clang/lib/CodeGen/CodeGenFunction.h | 22 + .../clang/lib/CodeGen/CodeGenModule.cpp | 2 + .../clang/lib/CodeGen/CoverageMappingGen.cpp | 13 +- .../clang/lib/CodeGen/Targets/AArch64.cpp | 2 + .../clang/lib/Driver/ToolChains/Clang.cpp | 6 +- .../clang/lib/Driver/ToolChains/Flang.cpp | 57 ++- .../clang/lib/Driver/ToolChains/Flang.h | 7 + .../clang/lib/Driver/ToolChains/Gnu.cpp | 8 +- .../clang/lib/Driver/ToolChains/Linux.cpp | 8 +- contrib/llvm-project/clang/lib/Format/Format.cpp | 30 +- .../llvm-project/clang/lib/Format/FormatToken.cpp | 4 +- .../llvm-project/clang/lib/Format/FormatToken.h | 25 +- .../clang/lib/Format/TokenAnnotator.cpp | 14 +- .../clang/lib/Format/UnwrappedLineFormatter.cpp | 10 +- .../clang/lib/Format/UnwrappedLineParser.cpp | 4 +- .../clang/lib/Format/WhitespaceManager.cpp | 9 +- .../clang/lib/Format/WhitespaceManager.h | 1 + .../lib/Frontend/VerifyDiagnosticConsumer.cpp | 15 +- .../llvm-project/clang/lib/Headers/ia32intrin.h | 376 +++++++-------- .../clang/lib/Interpreter/Interpreter.cpp | 1 + contrib/llvm-project/clang/lib/Parse/ParseDecl.cpp | 8 +- contrib/llvm-project/clang/lib/Parse/ParseExpr.cpp | 26 +- .../llvm-project/clang/lib/Parse/ParseOpenACC.cpp | 65 +-- contrib/llvm-project/clang/lib/Sema/SemaDecl.cpp | 6 + .../llvm-project/clang/lib/Sema/SemaDeclAttr.cpp | 133 ++++++ contrib/llvm-project/clang/lib/Sema/SemaExpr.cpp | 16 +- .../llvm-project/clang/lib/Sema/SemaExprMember.cpp | 3 +- .../llvm-project/clang/lib/Sema/SemaOverload.cpp | 10 + contrib/llvm-project/clang/lib/Sema/SemaStmt.cpp | 2 +- .../llvm-project/clang/lib/Sema/TreeTransform.h | 20 +- .../Checkers/StdLibraryFunctionsChecker.cpp | 21 +- .../lib/StaticAnalyzer/Checkers/StreamChecker.cpp | 59 ++- .../clang/tools/clang-format/ClangFormat.cpp | 65 ++- .../compiler-rt/include/profile/InstrProfData.inc | 2 + .../lib/profile/InstrProfilingPlatformLinux.c | 9 - .../lib/sanitizer_common/sanitizer_flags.inc | 3 + .../sanitizer_symbolizer_report.cpp | 36 +- .../sanitizer_thread_arg_retval.cpp | 23 +- .../sanitizer_common/sanitizer_thread_arg_retval.h | 1 + .../lib/scudo/standalone/condition_variable.h | 2 +- contrib/llvm-project/libcxx/include/__config | 5 - .../libcxx/include/__memory/shared_ptr.h | 4 +- contrib/llvm-project/libcxx/include/cstdio | 2 +- contrib/llvm-project/libcxx/include/regex | 3 + contrib/llvm-project/libcxx/include/tuple | 2 +- contrib/llvm-project/lld/ELF/Arch/AArch64.cpp | 3 + contrib/llvm-project/lld/ELF/Arch/LoongArch.cpp | 110 ++--- contrib/llvm-project/lld/ELF/Arch/RISCV.cpp | 7 +- contrib/llvm-project/lld/ELF/InputSection.cpp | 10 +- contrib/llvm-project/lld/ELF/Target.h | 2 +- .../llvm-project/lldb/include/lldb/Core/Module.h | 6 + .../llvm-project/lldb/include/lldb/Symbol/Type.h | 4 + .../lldb/include/lldb/Utility/StreamString.h | 2 +- contrib/llvm-project/lldb/source/Core/Module.cpp | 17 + .../ExpressionParser/Clang/ClangASTImporter.cpp | 51 +- .../Language/CPlusPlus/CPlusPlusLanguage.cpp | 35 ++ .../source/Plugins/Language/CPlusPlus/LibCxx.cpp | 57 +++ .../source/Plugins/Language/CPlusPlus/LibCxx.h | 8 + .../source/Plugins/SymbolFile/DWARF/DWARFDIE.cpp | 44 +- .../Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp | 11 +- .../intel-pt/CommandObjectTraceStartIntelPT.cpp | 4 +- .../Plugins/Trace/intel-pt/DecodedThread.cpp | 32 +- .../source/Plugins/Trace/intel-pt/DecodedThread.h | 26 +- .../Plugins/Trace/intel-pt/LibiptDecoder.cpp | 4 +- .../Plugins/Trace/intel-pt/TraceCursorIntelPT.cpp | 4 +- .../Trace/intel-pt/TraceIntelPTBundleLoader.cpp | 13 +- contrib/llvm-project/lldb/source/Symbol/Type.cpp | 4 + .../lldb/source/Target/ProcessTrace.cpp | 2 + .../lldb/source/Utility/StreamString.cpp | 2 +- .../llvm-project/llvm/include/llvm/ADT/STLExtras.h | 29 +- .../llvm-project/llvm/include/llvm/ADT/StringRef.h | 4 +- .../llvm/include/llvm/Analysis/VecFuncs.def | 190 ++++---- .../llvm/BinaryFormat/ELFRelocs/AArch64.def | 1 + .../include/llvm/BinaryFormat/ELFRelocs/RISCV.def | 3 +- .../llvm/CodeGen/AssignmentTrackingAnalysis.h | 29 +- .../llvm/include/llvm/CodeGen/CodeGenPassBuilder.h | 1 + .../llvm/CodeGen/GlobalISel/CombinerHelper.h | 3 + .../llvm/CodeGen/GlobalISel/GenericMachineInstrs.h | 18 + .../include/llvm/CodeGen/GlobalISel/Localizer.h | 7 +- .../llvm/include/llvm/CodeGen/SelectionDAGISel.h | 16 + .../llvm/include/llvm/CodeGen/SelectionDAGNodes.h | 7 + .../Parallel => include/llvm/DWARFLinker}/Utils.h | 36 +- .../llvm/include/llvm/Frontend/OpenACC/ACC.td | 66 +-- .../llvm/include/llvm/IR/IntrinsicsAArch64.td | 6 +- .../llvm/include/llvm/IR/IntrinsicsNVVM.td | 10 + .../llvm/include/llvm/IR/ModuleSummaryIndex.h | 6 + .../llvm/include/llvm/IR/PatternMatch.h | 36 ++ .../llvm/include/llvm/ProfileData/InstrProf.h | 3 +- .../include/llvm/ProfileData/InstrProfData.inc | 2 + .../llvm/include/llvm/Support/RISCVISAInfo.h | 22 +- .../llvm/include/llvm/Support/TargetOpcodes.def | 3 + .../llvm/include/llvm/Target/GenericOpcodes.td | 21 + .../llvm/Target/GlobalISel/SelectionDAGCompat.td | 3 + .../llvm/include/llvm/Target/TargetPfmCounters.td | 21 + .../llvm/TargetParser/ARMTargetParserCommon.h | 1 + .../llvm/lib/Analysis/LazyValueInfo.cpp | 8 +- .../llvm/lib/Bitcode/Writer/BitcodeWriter.cpp | 17 +- .../lib/CodeGen/AssignmentTrackingAnalysis.cpp | 34 ++ .../llvm/lib/CodeGen/BranchFolding.cpp | 17 + .../llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp | 84 ++++ .../llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp | 12 + .../lib/CodeGen/GlobalISel/LegalizerHelper.cpp | 10 + .../llvm/lib/CodeGen/GlobalISel/Localizer.cpp | 55 ++- .../CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp | 9 +- .../llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp | 74 +-- .../CodeGen/SelectionDAG/LegalizeVectorTypes.cpp | 2 +- .../llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp | 12 +- .../lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp | 48 +- .../lib/CodeGen/SelectionDAG/TargetLowering.cpp | 5 +- .../lib/CodeGen/TargetLoweringObjectFileImpl.cpp | 11 +- .../llvm/lib/DWARFLinker/Classic/DWARFLinker.cpp | 15 +- .../Parallel/AcceleratorRecordsSaver.cpp | 2 +- .../Parallel/DWARFLinkerCompileUnit.cpp | 23 +- .../lib/DWARFLinker/Parallel/DWARFLinkerImpl.cpp | 2 +- .../DWARFLinker/Parallel/DebugLineSectionEmitter.h | 38 +- .../llvm-project/llvm/lib/DWARFLinker/Utils.cpp | 2 + contrib/llvm-project/llvm/lib/IR/Verifier.cpp | 11 + .../llvm/lib/MC/MCParser/ELFAsmParser.cpp | 6 +- contrib/llvm-project/llvm/lib/MC/MCSectionELF.cpp | 18 +- .../llvm-project/llvm/lib/Passes/PassBuilder.cpp | 1 + .../llvm-project/llvm/lib/Passes/PassRegistry.def | 4 +- .../llvm-project/llvm/lib/Support/RISCVISAInfo.cpp | 331 +++++++------ contrib/llvm-project/llvm/lib/TableGen/Record.cpp | 15 +- .../llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp | 5 + .../lib/Target/AArch64/AArch64ISelDAGToDAG.cpp | 4 +- .../lib/Target/AArch64/AArch64ISelLowering.cpp | 3 +- .../llvm/lib/Target/AArch64/AArch64InstrInfo.cpp | 3 + .../Target/AArch64/AArch64LoadStoreOptimizer.cpp | 64 ++- .../Target/AArch64/AArch64LoopIdiomTransform.cpp | 2 +- .../llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td | 18 +- .../Target/AArch64/AArch64TargetTransformInfo.cpp | 98 ++-- .../Target/AArch64/GISel/AArch64LegalizerInfo.cpp | 3 +- .../MCTargetDesc/AArch64ELFObjectWriter.cpp | 8 +- .../llvm/lib/Target/AArch64/SMEInstrFormats.td | 2 +- .../llvm/lib/Target/AMDGPU/AMDGPUCombine.td | 2 +- .../llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp | 12 +- .../lib/Target/AMDGPU/AMDGPULowerModuleLDSPass.cpp | 52 ++ .../Target/AMDGPU/AMDGPUPostLegalizerCombiner.cpp | 46 +- .../Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp | 43 +- .../llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp | 17 +- .../llvm/lib/Target/AMDGPU/GCNSubtarget.h | 2 + .../Target/AMDGPU/MCTargetDesc/AMDGPUMCAsmInfo.cpp | 1 - .../llvm/lib/Target/AMDGPU/SIISelLowering.cpp | 8 +- .../llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp | 5 +- .../llvm/lib/Target/AMDGPU/SIInstrInfo.cpp | 33 +- .../llvm/lib/Target/AMDGPU/SIInstrInfo.td | 33 +- .../llvm/lib/Target/AMDGPU/VOP1Instructions.td | 55 ++- .../llvm/lib/Target/AMDGPU/VOP2Instructions.td | 14 +- .../llvm/lib/Target/AMDGPU/VOPInstructions.td | 13 +- .../llvm/lib/Target/ARM/ARMISelLowering.cpp | 9 +- .../llvm/lib/Target/MSP430/MSP430ISelLowering.cpp | 13 +- .../llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp | 6 +- .../llvm/lib/Target/NVPTX/NVPTXInstrInfo.td | 3 + .../llvm/lib/Target/NVPTX/NVPTXIntrinsics.td | 13 + .../llvm/lib/Target/PowerPC/PPCISelLowering.cpp | 2 +- .../llvm/lib/Target/PowerPC/PPCInstrInfo.td | 2 +- .../lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp | 77 ++- .../RISCV/Disassembler/RISCVDisassembler.cpp | 6 +- .../lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp | 40 ++ .../RISCV/MCTargetDesc/RISCVELFObjectWriter.cpp | 2 + .../Target/RISCV/MCTargetDesc/RISCVELFStreamer.cpp | 7 + .../lib/Target/RISCV/RISCVExpandPseudoInsts.cpp | 12 +- .../llvm/lib/Target/RISCV/RISCVFeatures.td | 1 + .../llvm/lib/Target/RISCV/RISCVISelLowering.cpp | 46 +- .../llvm/lib/Target/RISCV/RISCVISelLowering.h | 6 +- .../llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp | 37 +- .../llvm/lib/Target/RISCV/RISCVInstrInfo.cpp | 17 +- .../llvm/lib/Target/RISCV/RISCVInstrInfoA.td | 140 +++--- .../llvm/lib/Target/RISCV/RISCVInstrInfoD.td | 16 +- .../lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td | 33 +- .../lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td | 38 +- .../llvm/lib/Target/RISCV/RISCVInstrInfoZa.td | 98 +++- .../llvm/lib/Target/RISCV/RISCVRegisterInfo.td | 45 +- .../lib/Target/SystemZ/SystemZISelDAGToDAG.cpp | 2 +- .../lib/Target/SystemZ/SystemZISelLowering.cpp | 7 + .../lib/Target/WebAssembly/WebAssemblyFastISel.cpp | 4 +- .../llvm/lib/Target/X86/MCTargetDesc/X86BaseInfo.h | 16 + .../llvm/lib/Target/X86/X86FlagsCopyLowering.cpp | 1 + .../llvm/lib/Target/X86/X86ISelLowering.cpp | 53 ++- .../llvm/lib/Target/X86/X86InstrArithmetic.td | 110 +++-- .../llvm/lib/Target/X86/X86InstrCompiler.td | 380 ++++++++------- .../llvm/lib/Target/X86/X86InstrMisc.td | 12 +- .../llvm/lib/Target/X86/X86PfmCounters.td | 18 + .../lib/TargetParser/ARMTargetParserCommon.cpp | 7 +- .../llvm/lib/TextAPI/InterfaceFile.cpp | 8 + .../IPO/MemProfContextDisambiguation.cpp | 521 ++++++++++++++++++--- .../Transforms/InstCombine/InstCombineAddSub.cpp | 24 + .../Transforms/InstCombine/InstCombineAndOrXor.cpp | 114 +++-- .../Transforms/InstCombine/InstCombineCalls.cpp | 4 + .../Transforms/InstCombine/InstCombineSelect.cpp | 4 +- .../Instrumentation/AddressSanitizer.cpp | 2 +- .../Instrumentation/PGOInstrumentation.cpp | 12 +- .../llvm/lib/Transforms/Scalar/LoopFlatten.cpp | 79 ++-- .../Transforms/Scalar/RewriteStatepointsForGC.cpp | 23 +- .../Scalar/SeparateConstOffsetFromGEP.cpp | 58 +-- .../Scalar/StraightLineStrengthReduce.cpp | 55 +-- .../llvm/lib/Transforms/Utils/Local.cpp | 3 +- .../llvm/lib/Transforms/Utils/SimplifyCFG.cpp | 13 +- .../lib/Transforms/Vectorize/LoopVectorize.cpp | 6 +- .../lib/Transforms/Vectorize/SLPVectorizer.cpp | 69 ++- .../llvm/utils/TableGen/CodeGenDAGPatterns.cpp | 2 +- .../llvm/utils/TableGen/DAGISelMatcherEmitter.cpp | 81 +++- .../llvm/utils/TableGen/ExegesisEmitter.cpp | 52 +- .../utils/TableGen/GlobalISelCombinerEmitter.cpp | 2 +- .../openmp/runtime/src/z_Linux_util.cpp | 2 +- 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 | 32 +- lib/libc++/Makefile | 40 +- lib/libc++/module.modulemap | 4 +- 247 files changed, 5252 insertions(+), 2361 deletions(-)
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=1db9f3b21e39176dd5b67cf8ac378633b172463e commit 1db9f3b21e39176dd5b67cf8ac378633b172463e Merge: 412fa3436f0d aca2e42c6729 Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2024-01-09 20:00:28 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-04-06 20:13:28 +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 .../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 +- .../lib/orc/executor_symbol_def.h (new) | 151 +++ .../tests/unit/executor_symbol_def_test.cpp (new) | 19 + .../unit/simple_packed_serialization_test.cpp | 20 +- .../unit/simple_packed_serialization_utils.h (new) | 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 (new) | 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 +- .../include/llvm/CodeGen/CodeGenPrepare.h (new) | 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 +- .../llvm/CodeGen/ShadowStackGCLowering.h (new) | 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 +- .../llvm/DWARFLinker/DWARFLinkerBase.h (new) | 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 +- .../lib/DWARFLinkerParallel/DWARFFile.cpp (gone) | 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 + .../AArch64/AArch64LoopIdiomTransform.cpp (new) | 828 ++++++++++++++++ .../AArch64/AArch64LoopIdiomTransform.h (new) | 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 +- .../lib/Target/AMDGPU/DSDIRInstructions.td (new) | 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 +- .../lib/Target/AMDGPU/LDSDIRInstructions.td (gone) | 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 +-- .../lib/Target/RISCV/RISCVInstrInfoZa.td (new) | 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 +- .../MacroFusionPredicatorEmitter.cpp (new) | 236 +++++ .../llvm/utils/TableGen/PredicateExpander.cpp | 8 + .../llvm/utils/TableGen/PredicateExpander.h | 1 + .../X86CompressEVEXTablesEmitter.cpp (new) | 206 ++++ .../TableGen/X86EVEX2VEXTablesEmitter.cpp (gone) | 210 ---- .../llvm/utils/TableGen/X86FoldTablesEmitter.cpp | 6 +- .../TableGen/X86ManualCompressEVEXTables.def (new) | 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(-)
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=653487bbc8006839d0895811942bb8a2fcdd5aa8 commit 653487bbc8006839d0895811942bb8a2fcdd5aa8 Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2024-01-07 16:03:13 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-04-06 20:13:24 +0000 Tentatively merge https://github.com/llvm/llvm-project/pull/77242 [libcxx] Re-include <osreldate.h> in __config for FreeBSD In 0a97720d0197 some changes were made to `__config` for assuming that `__BYTE_ORDER__` is always present. However, this deleted a `<osreldate.h>` include for FreeBSD, which is required to get the value of `__FreeBSD_version`, and that is used later in the file to determine whether `_LIBCPP_C_HAS_NO_GETS` needs to be enabled. Include `<osreldate.h>` just after the other includes used for feature detection, to fix this. Note that when FreeBSD 13 is EOLed, this can be removed, as then all supported FreeBSD versions will no longer have `gets()`. PR: 276104 MFC after: 1 month contrib/llvm-project/libcxx/include/__config | 4 ++++ 1 file changed, 4 insertions(+)
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=412fa3436f0d1fe4a7e5e3b66783aa40f599125e commit 412fa3436f0d1fe4a7e5e3b66783aa40f599125e Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2024-01-07 11:32:29 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-04-06 20:13:25 +0000 Add two FreeBSD customizations to libc++ This is intended to better support ports usage of older clang versions: * Add _LIBCPP_ENABLE_COMPILER_VERSION_CHECKS block around compiler version checks, to avoid any warnings about support. This makes some ports that use -Werror fall over. * When using clang < 15.0, avoid using a type visibility attribute on the std namespace, as older versions of clang do not support this. PR: 276104 MFC after: 1 month contrib/llvm-project/libcxx/include/__config | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=647cbc5de815c5651677bf8582797f716ec7b48d commit 647cbc5de815c5651677bf8582797f716ec7b48d Merge: edc2dc17b1f2 77dbea07356e Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2024-01-03 18:04:11 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-04-06 20:13:16 +0000 Merge llvm-project main llvmorg-18-init-16003-gfc5f51cf5af4 This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvm-project main llvmorg-18-init-16003-gfc5f51cf5af4. PR: 276104 MFC after: 1 month ObsoleteFiles.inc | 105 +- .../llvm-project/clang/include/clang/AST/Type.h | 26 - .../clang/include/clang/Basic/BuiltinsAArch64.def | 3 + .../include/clang/Basic/riscv_sifive_vector.td | 28 +- .../clang/include/clang/Basic/riscv_vector.td | 8 +- .../include/clang/Basic/riscv_vector_common.td | 2 +- .../Core/BugReporter/CommonBugCategories.h | 1 + .../include/clang/StaticAnalyzer/Core/Checker.h | 14 +- .../clang/StaticAnalyzer/Core/CheckerManager.h | 11 +- contrib/llvm-project/clang/lib/AST/Interp/Interp.h | 1 - .../clang/lib/ASTMatchers/Dynamic/Parser.cpp | 6 +- .../clang/lib/Basic/IdentifierTable.cpp | 3 +- .../clang/lib/Basic/Targets/AArch64.cpp | 3 +- .../llvm-project/clang/lib/Basic/Targets/ARM.cpp | 3 +- .../llvm-project/clang/lib/Basic/Targets/RISCV.cpp | 3 +- .../llvm-project/clang/lib/Basic/Targets/X86.cpp | 3 +- contrib/llvm-project/clang/lib/Basic/Warnings.cpp | 6 +- .../llvm-project/clang/lib/CodeGen/CGBuiltin.cpp | 20 + .../clang/lib/CodeGen/CGStmtOpenMP.cpp | 61 +- .../clang/lib/CodeGen/CodeGenAction.cpp | 3 +- .../clang/lib/CodeGen/Targets/LoongArch.cpp | 7 - contrib/llvm-project/clang/lib/Driver/Driver.cpp | 14 +- .../clang/lib/Driver/ToolChains/Arch/RISCV.cpp | 13 +- .../clang/lib/Driver/ToolChains/Arch/X86.cpp | 4 +- .../clang/lib/Driver/ToolChains/Clang.cpp | 7 +- .../clang/lib/Driver/ToolChains/CommonArgs.cpp | 23 +- .../clang/lib/Driver/ToolChains/Gnu.cpp | 12 +- .../clang/lib/Driver/ToolChains/Solaris.cpp | 3 +- .../clang/lib/Format/ContinuationIndenter.cpp | 2 +- .../clang/lib/Format/MatchFilePath.cpp | 4 +- .../clang/lib/Frontend/DependencyGraph.cpp | 3 +- .../clang/lib/Frontend/LayoutOverrideSource.cpp | 9 +- .../lib/Frontend/VerifyDiagnosticConsumer.cpp | 3 +- .../llvm-project/clang/lib/Headers/usermsrintrin.h | 21 + .../llvm-project/clang/lib/Sema/SemaChecking.cpp | 47 +- .../llvm-project/clang/lib/Sema/SemaDeclAttr.cpp | 3 +- contrib/llvm-project/clang/lib/Sema/SemaInit.cpp | 8 + contrib/llvm-project/clang/lib/Sema/SemaModule.cpp | 3 +- contrib/llvm-project/clang/lib/Sema/SemaOpenMP.cpp | 2 +- .../clang/lib/Serialization/ASTReaderDecl.cpp | 2 +- .../clang/lib/Serialization/ASTWriterDecl.cpp | 11 +- .../StaticAnalyzer/Checkers/ArrayBoundChecker.cpp | 7 +- .../Checkers/BasicObjCFoundationChecks.cpp | 2 +- .../Checkers/BlockInCriticalSectionChecker.cpp | 57 +- .../Checkers/BoolAssignmentChecker.cpp | 7 +- .../lib/StaticAnalyzer/Checkers/CStringChecker.cpp | 382 +++--- .../StaticAnalyzer/Checkers/CXXDeleteChecker.cpp | 24 +- .../Checkers/CallAndMessageChecker.cpp | 9 +- .../StaticAnalyzer/Checkers/CastSizeChecker.cpp | 6 +- .../StaticAnalyzer/Checkers/CheckObjCDealloc.cpp | 48 +- .../Checkers/CheckSecuritySyntaxOnly.cpp | 6 +- .../lib/StaticAnalyzer/Checkers/ChrootChecker.cpp | 6 +- .../lib/StaticAnalyzer/Checkers/CloneChecker.cpp | 15 +- .../StaticAnalyzer/Checkers/ConversionChecker.cpp | 7 +- .../Checkers/DebugContainerModeling.cpp | 15 +- .../Checkers/DebugIteratorModeling.cpp | 15 +- .../lib/StaticAnalyzer/Checkers/DivZeroChecker.cpp | 16 +- .../StaticAnalyzer/Checkers/DynamicTypeChecker.cpp | 10 +- .../Checkers/EnumCastOutOfRangeChecker.cpp | 8 +- .../Checkers/ExprInspectionChecker.cpp | 8 +- .../Checkers/FixedAddressChecker.cpp | 6 +- .../Checkers/InvalidatedIteratorChecker.cpp | 28 +- .../clang/lib/StaticAnalyzer/Checkers/Iterator.cpp | 14 +- .../clang/lib/StaticAnalyzer/Checkers/Iterator.h | 15 +- .../StaticAnalyzer/Checkers/IteratorModeling.cpp | 49 +- .../Checkers/IteratorRangeChecker.cpp | 20 +- .../Checkers/LocalizationChecker.cpp | 12 +- .../Checkers/MPI-Checker/MPIBugReporter.cpp | 6 +- .../Checkers/MPI-Checker/MPIBugReporter.h | 21 +- .../Checkers/MacOSKeychainAPIChecker.cpp | 22 +- .../StaticAnalyzer/Checkers/MacOSXAPIChecker.cpp | 10 +- .../Checkers/MismatchedIteratorChecker.cpp | 49 +- .../Checkers/MmapWriteExecChecker.cpp | 16 +- .../Checkers/NSAutoreleasePoolChecker.cpp | 9 +- .../Checkers/NonNullParamChecker.cpp | 21 +- .../StaticAnalyzer/Checkers/ObjCAtSyncChecker.cpp | 17 +- .../Checkers/ObjCContainersChecker.cpp | 11 +- .../Checkers/ObjCSelfInitChecker.cpp | 9 +- .../Checkers/ObjCSuperDeallocChecker.cpp | 19 +- .../lib/StaticAnalyzer/Checkers/PaddingChecker.cpp | 9 +- .../Checkers/PointerArithChecker.cpp | 12 +- .../StaticAnalyzer/Checkers/PointerSubChecker.cpp | 6 +- .../Checkers/ReturnPointerRangeChecker.cpp | 10 +- .../StaticAnalyzer/Checkers/ReturnUndefChecker.cpp | 15 +- .../Checkers/SimpleStreamChecker.cpp | 27 +- .../Checkers/StdLibraryFunctionsChecker.cpp | 16 +- .../StaticAnalyzer/Checkers/TaggedUnionModeling.h | 2 +- .../StaticAnalyzer/Checkers/TaintTesterChecker.cpp | 5 +- .../Checkers/TestAfterDivZeroChecker.cpp | 10 +- .../StaticAnalyzer/Checkers/UndefBranchChecker.cpp | 89 +- .../Checkers/UndefCapturedBlockVarChecker.cpp | 8 +- .../StaticAnalyzer/Checkers/UndefResultChecker.cpp | 8 +- .../Checkers/UndefinedArraySubscriptChecker.cpp | 7 +- .../Checkers/UndefinedAssignmentChecker.cpp | 11 +- .../UninitializedObject/UninitializedObject.h | 2 +- .../UninitializedObjectChecker.cpp | 11 +- .../lib/StaticAnalyzer/Checkers/UnixAPIChecker.cpp | 32 +- .../lib/StaticAnalyzer/Checkers/VLASizeChecker.cpp | 20 +- .../lib/StaticAnalyzer/Checkers/VforkChecker.cpp | 7 +- .../StaticAnalyzer/Core/CommonBugCategories.cpp | 1 + .../clang/lib/StaticAnalyzer/Core/Environment.cpp | 2 +- .../clang/lib/StaticAnalyzer/Core/RegionStore.cpp | 6 +- .../clang/lib/Support/RISCVVIntrinsicUtils.cpp | 2 +- .../clang/lib/Tooling/Refactoring/Lookup.cpp | 4 +- contrib/llvm-project/clang/lib/Tooling/Tooling.cpp | 4 +- .../clang/tools/clang-format/ClangFormat.cpp | 69 +- .../clang/utils/TableGen/RISCVVEmitter.cpp | 2 +- .../clang/utils/TableGen/SveEmitter.cpp | 19 + .../compiler-rt/lib/asan/asan_linux.cpp | 13 +- .../compiler-rt/lib/asan/asan_new_delete.cpp | 9 - .../compiler-rt/lib/builtins/cpu_model/x86.c | 2 +- .../llvm-project/compiler-rt/lib/builtins/fp_lib.h | 12 - .../compiler-rt/lib/builtins/int_types.h | 2 +- .../compiler-rt/lib/hwasan/hwasan_report.cpp | 11 +- .../compiler-rt/lib/memprof/memprof_linux.cpp | 1 - .../sanitizer_common_interceptors.inc | 4 +- .../lib/sanitizer_common/sanitizer_flat_map.h | 4 + .../sanitizer_common/sanitizer_freebsd.h (gone) | 137 -- .../lib/sanitizer_common/sanitizer_linux.cpp | 9 +- .../sanitizer_common/sanitizer_linux_libcdep.cpp | 8 +- .../sanitizer_platform_interceptors.h | 5 +- .../sanitizer_platform_limits_freebsd.h | 2 + .../sanitizer_platform_limits_posix.h | 1 + .../sanitizer_common/sanitizer_procmaps_bsd.cpp | 11 - .../sanitizer_common/sanitizer_stackdepotbase.h | 22 +- .../compiler-rt/lib/tsan/rtl/tsan_platform.h | 32 + .../lib/tsan/rtl/tsan_platform_linux.cpp | 8 +- contrib/llvm-project/libcxx/include/__config | 10 + .../libcxx/include/__memory/shared_ptr.h | 4 +- .../libcxx/include/__memory/unique_ptr.h | 4 - .../libcxx/include/__ranges/chunk_by_view.h | 3 +- .../libcxx/include/__ranges/drop_view.h | 7 +- .../libcxx/include/__ranges/drop_while_view.h | 3 +- .../libcxx/include/__ranges/filter_view.h | 2 +- .../libcxx/include/__ranges/movable_box.h | 62 +- .../libcxx/include/__ranges/repeat_view.h | 4 +- .../libcxx/include/__ranges/single_view.h | 4 +- .../libcxx/include/__ranges/take_while_view.h | 3 +- .../libcxx/include/__ranges/transform_view.h | 3 +- contrib/llvm-project/libcxx/include/memory | 2 +- contrib/llvm-project/lld/COFF/Driver.cpp | 3 + contrib/llvm-project/lld/COFF/Writer.cpp | 2 +- .../llvm/include/llvm/ADT/GenericUniformityImpl.h | 6 + .../llvm/include/llvm/ADT/SmallString.h | 65 +- .../llvm/include/llvm/Analysis/ConstraintSystem.h | 7 - .../include/llvm/Analysis/TargetTransformInfo.h | 22 + .../llvm/Analysis/TargetTransformInfoImpl.h | 7 + .../llvm/CodeGen/GlobalISel/CombinerHelper.h | 18 +- .../include/llvm/Frontend/OpenMP/OMPIRBuilder.h | 7 + .../llvm/include/llvm/IR/IntrinsicsAMDGPU.td | 10 +- .../include/llvm/Support/AMDHSAKernelDescriptor.h | 44 +- .../llvm/Support/X86DisassemblerDecoderCommon.h | 9 +- .../llvm/include/llvm/Target/GlobalISel/Combine.td | 15 +- .../llvm/lib/Analysis/ConstraintSystem.cpp | 10 +- .../llvm/lib/Analysis/InstructionSimplify.cpp | 32 +- .../llvm/lib/Analysis/LazyValueInfo.cpp | 163 ++- .../llvm/lib/Analysis/TargetTransformInfo.cpp | 9 + .../llvm/lib/Analysis/ValueTracking.cpp | 34 - .../llvm-project/llvm/lib/Analysis/VectorUtils.cpp | 2 + .../llvm/lib/Bitcode/Reader/BitcodeReader.cpp | 3 + .../llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp | 353 +++++- .../llvm/lib/CodeGen/MachineCopyPropagation.cpp | 42 +- .../llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp | 16 +- .../llvm/lib/CodeGen/SelectionDAG/InstrEmitter.cpp | 9 +- .../lib/CodeGen/SelectionDAG/ScheduleDAGFast.cpp | 3 +- .../lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp | 8 +- .../llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp | 4 +- .../lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp | 3 +- .../Orc/Debugging/DebugInfoSupport.cpp | 3 +- .../llvm/lib/ExecutionEngine/Orc/LLJIT.cpp | 6 +- .../llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp | 12 +- .../llvm-project/llvm/lib/FuzzMutate/FuzzerCLI.cpp | 16 +- contrib/llvm-project/llvm/lib/IR/DebugInfo.cpp | 4 + .../llvm-project/llvm/lib/MC/WasmObjectWriter.cpp | 3 +- .../llvm/lib/Object/WasmObjectFile.cpp | 21 +- .../llvm/lib/ProfileData/InstrProfReader.cpp | 2 +- .../llvm-project/llvm/lib/Support/RISCVISAInfo.cpp | 11 +- .../llvm-project/llvm/lib/Support/Windows/Path.inc | 5 +- .../lib/Target/AArch64/AArch64ISelDAGToDAG.cpp | 39 +- .../lib/Target/AArch64/AArch64ISelLowering.cpp | 59 +- .../AArch64/Disassembler/AArch64Disassembler.cpp | 2 +- .../Target/AArch64/GISel/AArch64LegalizerInfo.cpp | 14 +- .../llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp | 10 +- .../llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp | 18 +- .../llvm/lib/Target/AMDGPU/AMDGPUInstructions.td | 1 + .../lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp | 1 + .../llvm/lib/Target/AMDGPU/AMDGPURegisterBanks.td | 2 +- .../Target/AMDGPU/AMDGPUResourceUsageAnalysis.cpp | 3 +- .../lib/Target/AMDGPU/AMDGPURewriteUndefForPHI.cpp | 1 - .../lib/Target/AMDGPU/AMDGPUSearchableTables.td | 1 + .../AMDGPU/AMDGPUUnifyDivergentExitNodes.cpp | 3 - .../Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp | 9 +- .../AMDGPU/Disassembler/AMDGPUDisassembler.cpp | 57 +- .../llvm/lib/Target/AMDGPU/FLATInstructions.td | 11 +- .../AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp | 4 +- .../llvm/lib/Target/AMDGPU/R600ISelLowering.cpp | 6 +- .../llvm/lib/Target/AMDGPU/SIISelLowering.cpp | 58 +- .../llvm/lib/Target/AMDGPU/SIInstrInfo.cpp | 24 +- .../llvm/lib/Target/AMDGPU/SIInstructions.td | 10 + .../llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp | 12 +- .../llvm/lib/Target/AMDGPU/SIRegisterInfo.td | 76 +- .../lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp | 2 - .../llvm/lib/Target/AMDGPU/VOP3PInstructions.td | 22 +- .../llvm/lib/Target/ARC/ARCISelLowering.cpp | 2 +- .../llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp | 9 +- .../llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp | 28 +- .../llvm/lib/Target/ARM/ARMISelLowering.cpp | 69 +- .../llvm/lib/Target/AVR/AVRISelDAGToDAG.cpp | 2 +- .../llvm/lib/Target/AVR/AVRISelLowering.cpp | 5 +- .../llvm/lib/Target/BPF/BPFISelDAGToDAG.cpp | 4 +- .../llvm/lib/Target/CSKY/CSKYISelLowering.cpp | 4 +- .../lib/Target/Hexagon/HexagonISelDAGToDAG.cpp | 34 +- .../lib/Target/Hexagon/HexagonISelDAGToDAGHVX.cpp | 6 +- .../lib/Target/Hexagon/HexagonISelLowering.cpp | 9 +- .../lib/Target/Hexagon/HexagonISelLoweringHVX.cpp | 4 +- .../llvm/lib/Target/Lanai/LanaiISelLowering.cpp | 4 +- .../LoongArch/AsmParser/LoongArchAsmParser.cpp | 12 +- .../lib/Target/LoongArch/LoongArchISelLowering.cpp | 59 +- .../lib/Target/LoongArch/LoongArchISelLowering.h | 1 + .../lib/Target/LoongArch/LoongArchLASXInstrInfo.td | 50 +- .../lib/Target/LoongArch/LoongArchLSXInstrInfo.td | 4 +- .../MCTargetDesc/LoongArchMCCodeEmitter.cpp | 13 + .../LoongArch/MCTargetDesc/LoongArchMCExpr.cpp | 7 +- .../LoongArch/MCTargetDesc/LoongArchMCExpr.h | 8 +- .../llvm/lib/Target/M68k/M68kExpandPseudo.cpp | 10 + .../llvm/lib/Target/M68k/M68kISelLowering.cpp | 243 ++-- .../llvm/lib/Target/M68k/M68kISelLowering.h | 9 + .../llvm/lib/Target/M68k/M68kInstrArithmetic.td | 70 +- .../llvm/lib/Target/M68k/M68kInstrData.td | 3 + .../llvm/lib/Target/M68k/M68kInstrFormats.td | 20 +- .../llvm/lib/Target/M68k/M68kInstrInfo.td | 30 +- .../llvm/lib/Target/MSP430/MSP430ISelLowering.cpp | 6 +- .../llvm/lib/Target/Mips/Mips64InstrInfo.td | 12 +- .../llvm/lib/Target/Mips/MipsISelDAGToDAG.cpp | 20 + .../llvm/lib/Target/Mips/MipsISelDAGToDAG.h | 1 + .../llvm/lib/Target/Mips/MipsISelLowering.cpp | 4 +- .../lib/Target/Mips/MipsInstrCompiler.td (new) | 33 + .../llvm/lib/Target/Mips/MipsInstrInfo.td | 13 +- .../llvm/lib/Target/Mips/MipsSEISelDAGToDAG.cpp | 8 +- .../llvm/lib/Target/Mips/MipsSEISelLowering.cpp | 8 +- .../llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp | 6 +- .../llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp | 5 +- .../llvm/lib/Target/PowerPC/PPCISelLowering.cpp | 134 +- .../lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp | 45 +- .../RISCV/Disassembler/RISCVDisassembler.cpp | 31 +- .../lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp | 2 +- .../Target/RISCV/MCTargetDesc/RISCVBaseInfo.cpp | 1 - .../lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h | 14 +- .../Target/RISCV/MCTargetDesc/RISCVInstPrinter.cpp | 5 +- .../llvm/lib/Target/RISCV/RISCVCallingConv.td | 4 +- .../llvm/lib/Target/RISCV/RISCVFeatures.td | 29 +- .../llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp | 6 +- .../llvm/lib/Target/RISCV/RISCVISelLowering.cpp | 230 +++- .../llvm/lib/Target/RISCV/RISCVInsertWriteVXRM.cpp | 14 +- .../llvm/lib/Target/RISCV/RISCVInstrInfo.cpp | 11 +- .../llvm/lib/Target/RISCV/RISCVInstrInfo.td | 11 +- .../lib/Target/RISCV/RISCVInstrInfoVPseudos.td | 152 +-- .../lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td | 58 + .../llvm/lib/Target/RISCV/RISCVInstrInfoXSf.td | 83 +- .../llvm/lib/Target/RISCV/RISCVInstrInfoZc.td | 5 +- .../lib/Target/RISCV/RISCVInstrInfoZcmop.td (new) | 34 + .../Target/RISCV/RISCVInstrInfoZicfiss.td (new) | 72 ++ .../lib/Target/RISCV/RISCVInstrInfoZimop.td (new) | 59 + .../llvm/lib/Target/RISCV/RISCVProcessors.td | 3 +- .../llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp | 3 + .../llvm/lib/Target/RISCV/RISCVRegisterInfo.td | 7 + .../llvm/lib/Target/RISCV/RISCVSystemOperands.td | 55 +- .../lib/Target/RISCV/RISCVTargetTransformInfo.h | 3 +- .../llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp | 6 +- .../llvm/lib/Target/Sparc/SparcISelLowering.cpp | 4 +- .../lib/Target/SystemZ/SystemZISelLowering.cpp | 76 +- .../llvm/lib/Target/SystemZ/SystemZOperators.td | 4 +- .../llvm/lib/Target/VE/VEISelLowering.cpp | 14 +- .../llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp | 10 +- .../Target/X86/Disassembler/X86Disassembler.cpp | 6 +- .../X86/Disassembler/X86DisassemblerDecoder.h | 1 + .../llvm/lib/Target/X86/MCTargetDesc/X86BaseInfo.h | 13 +- .../X86/MCTargetDesc/X86InstPrinterCommon.cpp | 3 + .../Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp | 43 +- contrib/llvm-project/llvm/lib/Target/X86/X86.td | 11 +- .../llvm/lib/Target/X86/X86ISelDAGToDAG.cpp | 4 +- .../llvm/lib/Target/X86/X86ISelLowering.cpp | 10 +- .../llvm/lib/Target/X86/X86InsertPrefetch.cpp | 3 +- .../llvm/lib/Target/X86/X86InstrAMX.td | 68 +- .../llvm/lib/Target/X86/X86InstrAVX512.td | 11 + .../llvm/lib/Target/X86/X86InstrArithmetic.td | 1306 +++++++++----------- .../llvm/lib/Target/X86/X86InstrFormats.td | 2 + .../llvm/lib/Target/X86/X86InstrPredicates.td | 3 +- .../llvm/lib/Target/X86/X86InstrSSE.td | 94 +- .../llvm/lib/Target/X86/X86InstrSystem.td | 4 +- .../llvm/lib/Target/X86/X86InstrUtils.td | 426 ++++++- .../llvm/lib/Target/X86/X86InstrVecCompiler.td | 9 + .../llvm/lib/Target/X86/X86TargetTransformInfo.cpp | 26 +- .../llvm/lib/Target/X86/X86TargetTransformInfo.h | 5 + .../llvm/lib/Target/XCore/XCoreISelDAGToDAG.cpp | 2 +- .../llvm/lib/Target/XCore/XCoreISelLowering.cpp | 56 +- .../llvm/lib/TargetParser/ARMTargetParser.cpp | 6 +- .../llvm-project/llvm/lib/TargetParser/Host.cpp | 2 +- .../llvm-project/llvm/lib/TargetParser/Triple.cpp | 3 +- .../llvm/lib/TargetParser/X86TargetParser.cpp | 4 +- .../llvm-project/llvm/lib/TextAPI/TextStubV5.cpp | 7 +- .../llvm/lib/Transforms/Coroutines/CoroFrame.cpp | 6 +- .../llvm/lib/Transforms/IPO/FunctionAttrs.cpp | 46 +- .../Transforms/InstCombine/InstCombineAddSub.cpp | 4 +- .../Transforms/InstCombine/InstCombineAndOrXor.cpp | 14 +- .../Transforms/InstCombine/InstCombineCalls.cpp | 6 + .../Transforms/InstCombine/InstCombineCompares.cpp | 196 ++- .../Transforms/InstCombine/InstCombineInternal.h | 7 +- .../Transforms/InstCombine/InstCombineSelect.cpp | 71 +- .../InstCombine/InstructionCombining.cpp | 58 +- .../Transforms/Scalar/ConstraintElimination.cpp | 64 +- .../Transforms/Utils/CanonicalizeFreezeInLoops.cpp | 60 +- .../llvm/lib/Transforms/Utils/Local.cpp | 5 +- .../lib/Transforms/Vectorize/LoopVectorize.cpp | 63 +- .../lib/Transforms/Vectorize/SLPVectorizer.cpp | 146 ++- .../llvm/lib/Transforms/Vectorize/VPlan.h | 30 + .../llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp | 65 +- .../llvm/lib/Transforms/Vectorize/VPlanValue.h | 1 + .../llvm-project/llvm/tools/llvm-ar/llvm-ar.cpp | 3 +- .../llvm/tools/llvm-diff/llvm-diff.cpp | 3 +- .../llvm/utils/TableGen/X86DisassemblerTables.cpp | 21 +- .../llvm/utils/TableGen/X86FoldTablesEmitter.cpp | 18 +- .../llvm/utils/TableGen/X86RecognizableInstr.cpp | 37 +- .../llvm/utils/TableGen/X86RecognizableInstr.h | 4 +- lib/clang/include/Plugins/Plugins.def | 1 + lib/clang/include/VCSVersion.inc | 6 +- lib/clang/include/lld/Common/Version.inc | 2 +- lib/clang/include/llvm/Config/AsmParsers.def | 23 + lib/clang/include/llvm/Config/AsmPrinters.def | 23 + lib/clang/include/llvm/Config/Disassemblers.def | 23 + lib/clang/include/llvm/Config/TargetMCAs.def | 23 + lib/clang/include/llvm/Config/Targets.def | 22 + lib/clang/include/llvm/Support/VCSRevision.h | 2 +- lib/clang/liblldb/Makefile | 1 + lib/clang/libllvm/Makefile | 1 + 335 files changed, 5221 insertions(+), 3749 deletions(-)
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=edc2dc17b1f2dfe45dc85e6cc0ff54bca1ac8214 commit edc2dc17b1f2dfe45dc85e6cc0ff54bca1ac8214 Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2024-01-02 16:07:31 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-04-06 20:13:11 +0000 Revert commit 0e46b49de433 from llvm-project (by Matt Arsenault): Reapply "RegisterCoalescer: Add implicit-def of super register when coalescing SUBREG_TO_REG" This reverts commit c398fa009a47eb24f88383d5e911e59e70f8db86. PPC backend was fixed in 2f82662ce901c6666fceb9c6c5e0de216a1c9667 Since it causes an assertion failure building /sys/dev/fb/vga.c: https://github.com/llvm/llvm-project/issues/76416 PR: 276104 MFC after: 1 month .../llvm/lib/CodeGen/RegisterCoalescer.cpp | 51 ++++------------------ 1 file changed, 9 insertions(+), 42 deletions(-)
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=cb14a3fe5122c879eae1fb480ed7ce82a699ddb6 commit cb14a3fe5122c879eae1fb480ed7ce82a699ddb6 Merge: 3d68ee6cbdb2 99aabd70801b Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2023-12-25 17:35:41 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-04-06 20:13:06 +0000 Merge llvm-project main llvmorg-18-init-15692-g007ed0dccd6a This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvm-project main llvmorg-18-init-15692-g007ed0dccd6a. PR: 276104 MFC after: 1 month .../llvm-project/clang/include/clang/AST/Decl.h | 27 +- .../clang/include/clang/AST/DeclBase.h | 10 - .../clang/include/clang/AST/RecursiveASTVisitor.h | 7 +- .../Analysis/FlowSensitive/DataflowEnvironment.h | 80 +- .../clang/Analysis/FlowSensitive/RecordOps.h | 12 +- .../include/clang/Analysis/FlowSensitive/Value.h | 40 +- .../llvm-project/clang/include/clang/Basic/Attr.td | 18 - .../clang/include/clang/Basic/AttrDocs.td | 66 - .../clang/include/clang/Basic/DiagnosticGroups.td | 6 +- .../include/clang/Basic/DiagnosticParseKinds.td | 4 +- .../include/clang/Basic/DiagnosticSemaKinds.td | 28 +- .../clang/include/clang/Basic/LangOptions.def | 1 + .../clang/include/clang/Basic/OpenACCKinds.h | 24 + .../clang/include/clang/Basic/PlistSupport.h | 3 +- .../clang/include/clang/Basic/TargetInfo.h | 1 + .../clang/include/clang/Basic/Version.h | 3 + .../clang/include/clang/Basic/arm_sme.td | 317 + .../clang/include/clang/Basic/arm_sve.td | 1399 +-- .../clang/include/clang/Basic/riscv_vector.td | 18 +- .../clang/include/clang/Driver/Options.td | 5 +- .../include/clang/Interpreter/CodeCompletion.h | 25 +- .../clang/include/clang/Interpreter/Interpreter.h | 1 + .../llvm-project/clang/include/clang/Sema/Sema.h | 7 +- .../clang/include/clang/Sema/TypoCorrection.h | 12 +- .../clang/include/clang/Serialization/ASTReader.h | 2 + .../clang/include/clang/Serialization/ASTWriter.h | 88 +- .../include/clang/Support/RISCVVIntrinsicUtils.h | 7 +- .../clang/lib/APINotes/APINotesManager.cpp | 2 +- contrib/llvm-project/clang/lib/AST/ASTImporter.cpp | 48 +- .../clang/lib/AST/ASTStructuralEquivalence.cpp | 12 + contrib/llvm-project/clang/lib/AST/Decl.cpp | 41 +- contrib/llvm-project/clang/lib/AST/DeclBase.cpp | 74 +- contrib/llvm-project/clang/lib/AST/Expr.cpp | 83 +- .../Analysis/FlowSensitive/DataflowEnvironment.cpp | 90 +- .../Models/UncheckedOptionalAccessModel.cpp | 31 +- .../clang/lib/Analysis/FlowSensitive/RecordOps.cpp | 33 +- .../clang/lib/Analysis/FlowSensitive/Transfer.cpp | 25 +- .../FlowSensitive/TypeErasedDataflowAnalysis.cpp | 2 +- .../clang/lib/Basic/Targets/AArch64.cpp | 1 + .../llvm-project/clang/lib/Basic/Targets/ARM.cpp | 1 + .../llvm-project/clang/lib/Basic/Targets/RISCV.cpp | 4 + .../llvm-project/clang/lib/Basic/Targets/RISCV.h | 1 + contrib/llvm-project/clang/lib/Basic/Version.cpp | 18 +- contrib/llvm-project/clang/lib/Basic/Warnings.cpp | 3 +- .../llvm-project/clang/lib/CodeGen/BackendUtil.cpp | 7 +- .../llvm-project/clang/lib/CodeGen/CGBuiltin.cpp | 209 +- contrib/llvm-project/clang/lib/CodeGen/CGExpr.cpp | 129 +- .../clang/lib/CodeGen/CGExprScalar.cpp | 26 +- .../clang/lib/CodeGen/CGHLSLRuntime.cpp | 63 +- .../llvm-project/clang/lib/CodeGen/CGHLSLRuntime.h | 2 +- .../clang/lib/CodeGen/CGOpenMPRuntime.cpp | 148 +- .../clang/lib/CodeGen/CodeGenFunction.h | 16 - .../clang/lib/CodeGen/CodeGenModule.cpp | 10 +- .../clang/lib/CodeGen/Targets/AArch64.cpp | 2 + .../clang/lib/Driver/ToolChains/AIX.cpp | 6 + .../clang/lib/Driver/ToolChains/Arch/RISCV.cpp | 4 + .../clang/lib/Driver/ToolChains/Clang.cpp | 15 +- .../clang/lib/Driver/ToolChains/CommonArgs.cpp | 59 +- .../clang/lib/Driver/ToolChains/Gnu.cpp | 127 +- .../clang/lib/Format/ContinuationIndenter.cpp | 20 +- contrib/llvm-project/clang/lib/Format/Format.cpp | 8 +- .../clang/lib/Format/MatchFilePath.cpp (new) | 122 + .../clang/lib/Format/MatchFilePath.h (new) | 22 + .../clang/lib/Format/TokenAnnotator.cpp | 3 +- .../clang/lib/Format/UnwrappedLineParser.cpp | 6 +- .../clang/lib/Headers/adcintrin.h (new) | 160 + contrib/llvm-project/clang/lib/Headers/adxintrin.h | 143 +- contrib/llvm-project/clang/lib/Headers/immintrin.h | 8 +- .../clang/lib/Headers/riscv_bitmanip.h | 24 +- .../clang/lib/Interpreter/CodeCompletion.cpp | 223 +- .../clang/lib/Interpreter/Interpreter.cpp | 4 + .../llvm-project/clang/lib/Lex/PPDirectives.cpp | 22 +- .../llvm-project/clang/lib/Parse/ParseOpenACC.cpp | 92 +- .../llvm-project/clang/lib/Sema/SemaChecking.cpp | 77 +- contrib/llvm-project/clang/lib/Sema/SemaDecl.cpp | 45 +- .../llvm-project/clang/lib/Sema/SemaDeclAttr.cpp | 90 - contrib/llvm-project/clang/lib/Sema/SemaExpr.cpp | 16 +- .../llvm-project/clang/lib/Sema/SemaExprCXX.cpp | 28 +- .../llvm-project/clang/lib/Sema/SemaExprMember.cpp | 4 +- contrib/llvm-project/clang/lib/Sema/SemaInit.cpp | 214 +- contrib/llvm-project/clang/lib/Sema/SemaOpenMP.cpp | 13 + .../clang/lib/Sema/SemaRISCVVectorLookup.cpp | 19 +- contrib/llvm-project/clang/lib/Sema/SemaStmt.cpp | 7 +- .../llvm-project/clang/lib/Sema/SemaTemplate.cpp | 28 +- .../clang/lib/Serialization/ASTReaderDecl.cpp | 52 +- .../clang/lib/Serialization/ASTReaderStmt.cpp | 405 +- .../clang/lib/Serialization/ASTWriter.cpp | 15 +- .../clang/lib/Serialization/ASTWriterDecl.cpp | 574 +- .../clang/lib/Serialization/ASTWriterStmt.cpp | 241 +- .../lib/StaticAnalyzer/Checkers/StreamChecker.cpp | 86 + .../clang/lib/Support/RISCVVIntrinsicUtils.cpp | 2 +- .../clang/tools/clang-repl/ClangRepl.cpp | 24 +- .../clang/utils/TableGen/NeonEmitter.cpp | 28 + .../clang/utils/TableGen/RISCVVEmitter.cpp | 40 +- .../clang/utils/TableGen/SveEmitter.cpp | 87 + .../llvm-project/clang/utils/TableGen/TableGen.cpp | 18 + .../clang/utils/TableGen/TableGenBackends.h | 3 + .../compiler-rt/lib/asan/asan_posix.cpp | 51 +- .../compiler-rt/lib/asan/asan_rtl_x86_64.S | 10 + .../lib/builtins/cpu_model/aarch64.c (new) | 151 + .../cpu_model/aarch64/fmv/android.inc (new) | 36 + .../builtins/cpu_model/aarch64/fmv/apple.inc (new) | 69 + .../cpu_model/aarch64/fmv/freebsd.inc (new) | 27 + .../cpu_model/aarch64/fmv/fuchsia.inc (new) | 51 + .../builtins/cpu_model/aarch64/fmv/mrs.inc (new) | 196 + .../cpu_model/aarch64/fmv/sysauxv.inc (new) | 21 + .../cpu_model/aarch64/fmv/unimplemented.inc (new) | 8 + .../lib/builtins/cpu_model/aarch64/hwcap.inc (new) | 180 + .../aarch64/lse_atomics/android.inc (new) | 28 + .../aarch64/lse_atomics/freebsd.inc (new) | 5 + .../aarch64/lse_atomics/fuchsia.inc (new) | 12 + .../aarch64/lse_atomics/sysauxv.inc (new) | 6 + .../lib/builtins/cpu_model/cpu_model.h (new) | 41 + .../lib/builtins/{cpu_model.c => cpu_model/x86.c} | 692 +- .../lib/dfsan/dfsan_chained_origin_depot.cpp | 6 + .../lib/dfsan/dfsan_chained_origin_depot.h | 3 + .../compiler-rt/lib/dfsan/dfsan_custom.cpp | 12 +- .../compiler-rt/lib/hwasan/hwasan_linux.cpp | 46 +- .../compiler-rt/lib/hwasan/hwasan_report.cpp | 68 +- .../compiler-rt/lib/lsan/lsan_posix.cpp | 33 +- .../lib/msan/msan_chained_origin_depot.cpp | 8 +- .../lib/msan/msan_chained_origin_depot.h | 4 +- .../compiler-rt/lib/msan/msan_linux.cpp | 32 +- .../compiler-rt/lib/orc/macho_platform.cpp | 4 + .../lib/profile/InstrProfilingPlatformWindows.c | 10 + .../sanitizer_chained_origin_depot.cpp | 6 +- .../sanitizer_chained_origin_depot.h | 4 +- .../lib/sanitizer_common/sanitizer_stack_store.cpp | 9 +- .../lib/sanitizer_common/sanitizer_stackdepot.cpp | 8 +- .../lib/sanitizer_common/sanitizer_stackdepot.h | 4 +- .../sanitizer_common/sanitizer_stackdepotbase.h | 9 +- .../sanitizer_common/sanitizer_suppressions.cpp | 5 +- .../sanitizer_symbolizer_posix_libcdep.cpp | 27 +- .../symbolizer/sanitizer_symbolize.cpp | 6 +- .../compiler-rt/lib/scudo/standalone/combined.h | 13 - .../lib/tsan/rtl/tsan_interceptors_posix.cpp | 19 + .../libcxx/include/__algorithm/binary_search.h | 20 +- .../libcxx/include/__algorithm/comp_ref_type.h | 66 +- .../libcxx/include/__algorithm/copy_backward.h | 16 +- .../libcxx/include/__algorithm/copy_if.h | 23 +- .../libcxx/include/__algorithm/copy_move_common.h | 25 +- .../libcxx/include/__algorithm/copy_n.h | 59 +- .../libcxx/include/__algorithm/equal.h | 29 +- .../libcxx/include/__algorithm/equal_range.h | 11 +- .../llvm-project/libcxx/include/__algorithm/fill.h | 26 +- .../libcxx/include/__algorithm/fill_n.h | 20 +- .../llvm-project/libcxx/include/__algorithm/find.h | 19 + .../libcxx/include/__algorithm/find_end.h | 92 +- .../libcxx/include/__algorithm/find_first_of.h | 21 +- .../libcxx/include/__algorithm/fold.h (new) | 125 + .../libcxx/include/__algorithm/for_each_n.h | 5 +- .../libcxx/include/__algorithm/generate.h | 10 +- .../libcxx/include/__algorithm/generate_n.h | 16 +- .../libcxx/include/__algorithm/half_positive.h | 14 +- .../libcxx/include/__algorithm/in_found_result.h | 2 +- .../libcxx/include/__algorithm/in_fun_result.h | 2 +- .../libcxx/include/__algorithm/in_in_out_result.h | 14 +- .../libcxx/include/__algorithm/in_in_result.h | 6 +- .../libcxx/include/__algorithm/in_out_out_result.h | 14 +- .../libcxx/include/__algorithm/in_out_result.h | 8 +- .../libcxx/include/__algorithm/includes.h | 31 +- .../libcxx/include/__algorithm/inplace_merge.h | 304 +- .../libcxx/include/__algorithm/is_heap.h | 20 +- .../libcxx/include/__algorithm/is_heap_until.h | 56 +- .../libcxx/include/__algorithm/is_partitioned.h | 21 +- .../libcxx/include/__algorithm/is_permutation.h | 177 +- .../libcxx/include/__algorithm/is_sorted.h | 20 +- .../libcxx/include/__algorithm/is_sorted_until.h | 33 +- .../libcxx/include/__algorithm/iter_swap.h | 3 +- .../include/__algorithm/iterator_operations.h | 67 +- .../include/__algorithm/lexicographical_compare.h | 49 +- .../libcxx/include/__algorithm/lower_bound.h | 15 +- .../libcxx/include/__algorithm/make_heap.h | 16 +- .../libcxx/include/__algorithm/make_projected.h | 47 +- .../llvm-project/libcxx/include/__algorithm/max.h | 39 +- .../libcxx/include/__algorithm/max_element.h | 33 +- .../libcxx/include/__algorithm/merge.h | 65 +- .../llvm-project/libcxx/include/__algorithm/min.h | 39 +- .../libcxx/include/__algorithm/min_element.h | 23 +- .../libcxx/include/__algorithm/min_max_result.h | 2 +- .../libcxx/include/__algorithm/minmax.h | 48 +- .../libcxx/include/__algorithm/minmax_element.h | 31 +- .../libcxx/include/__algorithm/mismatch.h | 25 +- .../llvm-project/libcxx/include/__algorithm/move.h | 3 +- .../libcxx/include/__algorithm/move_backward.h | 6 +- .../libcxx/include/__algorithm/next_permutation.h | 61 +- .../libcxx/include/__algorithm/nth_element.h | 386 +- .../libcxx/include/__algorithm/partial_sort.h | 39 +- .../libcxx/include/__algorithm/partial_sort_copy.h | 94 +- .../libcxx/include/__algorithm/partition.h | 84 +- .../libcxx/include/__algorithm/partition_copy.h | 36 +- .../libcxx/include/__algorithm/partition_point.h | 34 +- .../libcxx/include/__algorithm/pop_heap.h | 18 +- .../libcxx/include/__algorithm/prev_permutation.h | 64 +- .../libcxx/include/__algorithm/push_heap.h | 24 +- .../include/__algorithm/ranges_contains.h (new) | 61 + .../libcxx/include/__algorithm/ranges_max.h | 5 +- .../libcxx/include/__algorithm/ranges_min.h | 5 +- .../libcxx/include/__algorithm/ranges_minmax.h | 5 +- .../libcxx/include/__algorithm/remove.h | 26 +- .../libcxx/include/__algorithm/remove_copy.h | 20 +- .../libcxx/include/__algorithm/remove_copy_if.h | 20 +- .../libcxx/include/__algorithm/remove_if.h | 26 +- .../libcxx/include/__algorithm/replace.h | 12 +- .../libcxx/include/__algorithm/replace_copy.h | 23 +- .../libcxx/include/__algorithm/replace_copy_if.h | 23 +- .../libcxx/include/__algorithm/replace_if.h | 12 +- .../libcxx/include/__algorithm/reverse.h | 40 +- .../libcxx/include/__algorithm/reverse_copy.h | 12 +- .../libcxx/include/__algorithm/rotate.h | 264 +- .../libcxx/include/__algorithm/rotate_copy.h | 8 +- .../libcxx/include/__algorithm/sample.h | 83 +- .../libcxx/include/__algorithm/search.h | 123 +- .../libcxx/include/__algorithm/search_n.h | 96 +- .../libcxx/include/__algorithm/set_difference.h | 2 +- .../libcxx/include/__algorithm/shift_left.h | 43 +- .../libcxx/include/__algorithm/shift_right.h | 123 +- .../libcxx/include/__algorithm/shuffle.h | 127 +- .../libcxx/include/__algorithm/sift_down.h | 141 +- .../llvm-project/libcxx/include/__algorithm/sort.h | 245 +- .../libcxx/include/__algorithm/sort_heap.h | 16 +- .../libcxx/include/__algorithm/stable_partition.h | 487 +- .../libcxx/include/__algorithm/stable_sort.h | 332 +- .../libcxx/include/__algorithm/swap_ranges.h | 9 +- .../libcxx/include/__algorithm/transform.h | 29 +- .../uniform_random_bit_generator_adaptor.h | 14 +- .../libcxx/include/__algorithm/unwrap_iter.h | 10 +- .../llvm-project/libcxx/include/__atomic/atomic.h | 812 +- .../libcxx/include/__atomic/atomic_base.h | 321 +- .../libcxx/include/__atomic/atomic_flag.h | 246 +- .../libcxx/include/__atomic/atomic_lock_free.h | 52 +- .../libcxx/include/__atomic/atomic_sync.h | 90 +- .../libcxx/include/__atomic/check_memory_order.h | 22 +- .../libcxx/include/__atomic/contention_t.h | 4 +- .../libcxx/include/__atomic/cxx_atomic_impl.h | 560 +- .../llvm-project/libcxx/include/__atomic/fence.h | 16 +- .../libcxx/include/__atomic/kill_dependency.h | 6 +- .../libcxx/include/__atomic/memory_order.h | 11 +- contrib/llvm-project/libcxx/include/__availability | 82 +- .../llvm-project/libcxx/include/__bit/bit_cast.h | 3 +- .../llvm-project/libcxx/include/__bit/bit_ceil.h | 2 +- .../llvm-project/libcxx/include/__bit/byteswap.h | 11 +- contrib/llvm-project/libcxx/include/__bit/countl.h | 84 +- contrib/llvm-project/libcxx/include/__bit/countr.h | 17 +- contrib/llvm-project/libcxx/include/__bit/endian.h | 2 +- .../llvm-project/libcxx/include/__bit/popcount.h | 15 +- .../libcxx/include/__chrono/calendar.h | 12 +- .../libcxx/include/__chrono/convert_to_timespec.h | 15 +- contrib/llvm-project/libcxx/include/__chrono/day.h | 91 +- .../libcxx/include/__chrono/duration.h | 693 +- .../libcxx/include/__chrono/file_clock.h | 24 +- .../libcxx/include/__chrono/formatter.h | 63 +- .../libcxx/include/__chrono/hh_mm_ss.h | 117 +- .../include/__chrono/high_resolution_clock.h | 3 +- .../libcxx/include/__chrono/literals.h | 24 +- .../llvm-project/libcxx/include/__chrono/month.h | 94 +- .../libcxx/include/__chrono/month_weekday.h | 104 +- .../libcxx/include/__chrono/monthday.h | 134 +- .../libcxx/include/__chrono/steady_clock.h | 18 +- .../libcxx/include/__chrono/system_clock.h | 24 +- .../libcxx/include/__chrono/time_point.h | 186 +- .../llvm-project/libcxx/include/__chrono/weekday.h | 201 +- .../llvm-project/libcxx/include/__chrono/year.h | 104 +- .../libcxx/include/__chrono/year_month.h | 102 +- .../libcxx/include/__chrono/year_month_day.h | 460 +- .../libcxx/include/__chrono/year_month_weekday.h | 369 +- .../include/__compare/common_comparison_category.h | 27 +- .../__compare/compare_partial_order_fallback.h | 68 +- .../__compare/compare_strong_order_fallback.h | 62 +- .../libcxx/include/__compare/compare_three_way.h | 19 +- .../include/__compare/compare_three_way_result.h | 23 +- .../__compare/compare_weak_order_fallback.h | 62 +- .../libcxx/include/__compare/ordering.h | 164 +- .../libcxx/include/__compare/partial_order.h | 63 +- .../libcxx/include/__compare/strong_order.h | 173 +- .../include/__compare/three_way_comparable.h | 36 +- .../libcxx/include/__compare/weak_order.h | 115 +- contrib/llvm-project/libcxx/include/__config | 4 +- .../libcxx/include/__coroutine/coroutine_handle.h | 257 +- .../libcxx/include/__coroutine/coroutine_traits.h | 9 +- .../include/__coroutine/noop_coroutine_handle.h | 103 +- .../include/__coroutine/trivial_awaitables.h | 18 +- .../libcxx/include/__debug_utils/randomize_range.h | 3 +- .../libcxx/include/__expected/expected.h | 205 +- .../libcxx/include/__filesystem/copy_options.h | 50 +- .../libcxx/include/__filesystem/directory_entry.h | 251 +- .../include/__filesystem/directory_iterator.h | 73 +- .../include/__filesystem/directory_options.h | 44 +- .../libcxx/include/__filesystem/file_status.h | 28 +- .../libcxx/include/__filesystem/file_type.h | 14 +- .../libcxx/include/__filesystem/operations.h | 224 +- .../libcxx/include/__filesystem/path.h | 652 +- .../libcxx/include/__filesystem/path_iterator.h | 50 +- .../libcxx/include/__filesystem/perm_options.h | 39 +- .../libcxx/include/__filesystem/perms.h | 56 +- .../__filesystem/recursive_directory_iterator.h | 85 +- .../libcxx/include/__filesystem/u8path.h | 48 +- .../llvm-project/libcxx/include/__format/buffer.h | 52 +- .../libcxx/include/__format/concepts.h | 2 +- .../libcxx/include/__format/format_arg.h | 32 +- .../libcxx/include/__format/format_arg_store.h | 10 +- .../libcxx/include/__format/format_args.h | 5 +- .../libcxx/include/__format/format_context.h | 72 +- .../libcxx/include/__format/format_error.h | 17 +- .../libcxx/include/__format/format_functions.h | 184 +- .../libcxx/include/__format/format_parse_context.h | 30 +- .../libcxx/include/__format/format_string.h | 20 +- .../libcxx/include/__format/formatter.h | 4 +- .../include/__format/formatter_floating_point.h | 92 +- .../libcxx/include/__format/formatter_integer.h | 37 +- .../libcxx/include/__format/formatter_integral.h | 77 +- .../libcxx/include/__format/formatter_output.h | 58 +- .../libcxx/include/__format/formatter_pointer.h | 9 +- .../libcxx/include/__format/formatter_string.h | 18 +- .../include/__format/parser_std_format_spec.h | 79 +- .../llvm-project/libcxx/include/__format/unicode.h | 10 +- .../libcxx/include/__format/write_escaped.h | 19 +- .../libcxx/include/__functional/binary_function.h | 16 +- .../libcxx/include/__functional/binary_negate.h | 25 +- .../libcxx/include/__functional/bind.h | 385 +- .../libcxx/include/__functional/bind_back.h | 34 +- .../libcxx/include/__functional/bind_front.h | 21 +- .../libcxx/include/__functional/binder1st.h | 35 +- .../libcxx/include/__functional/binder2nd.h | 35 +- .../include/__functional/boyer_moore_searcher.h | 128 +- .../libcxx/include/__functional/compose.h | 25 +- .../libcxx/include/__functional/default_searcher.h | 31 +- .../libcxx/include/__functional/function.h | 1645 ++-- .../libcxx/include/__functional/hash.h | 682 +- .../libcxx/include/__functional/identity.h | 20 +- .../libcxx/include/__functional/invoke.h | 30 +- .../libcxx/include/__functional/is_transparent.h | 3 +- .../libcxx/include/__functional/mem_fn.h | 36 +- .../libcxx/include/__functional/mem_fun_ref.h | 183 +- .../libcxx/include/__functional/not_fn.h | 25 +- .../libcxx/include/__functional/operations.h | 540 +- .../libcxx/include/__functional/perfect_forward.h | 48 +- .../__functional/pointer_to_binary_function.h | 20 +- .../__functional/pointer_to_unary_function.h | 20 +- .../include/__functional/ranges_operations.h | 24 +- .../include/__functional/reference_wrapper.h | 97 +- .../libcxx/include/__functional/unary_function.h | 12 +- .../libcxx/include/__functional/unary_negate.h | 25 +- .../libcxx/include/__functional/weak_result_type.h | 225 +- contrib/llvm-project/libcxx/include/__fwd/get.h | 48 +- contrib/llvm-project/libcxx/include/__fwd/span.h | 3 +- .../libcxx/include/__fwd/string_view.h | 8 +- .../llvm-project/libcxx/include/__fwd/subrange.h | 2 +- contrib/llvm-project/libcxx/include/__hash_table | 3216 +++---- contrib/llvm-project/libcxx/include/__ios/fpos.h | 9 +- .../libcxx/include/__iterator/access.h | 67 +- .../libcxx/include/__iterator/advance.h | 57 +- .../include/__iterator/back_insert_iterator.h | 53 +- .../libcxx/include/__iterator/common_iterator.h | 211 +- .../libcxx/include/__iterator/concepts.h | 338 +- .../libcxx/include/__iterator/counted_iterator.h | 200 +- .../llvm-project/libcxx/include/__iterator/data.h | 32 +- .../libcxx/include/__iterator/default_sentinel.h | 2 +- .../libcxx/include/__iterator/distance.h | 49 +- .../llvm-project/libcxx/include/__iterator/empty.h | 19 +- .../libcxx/include/__iterator/erase_if_container.h | 4 +- .../include/__iterator/front_insert_iterator.h | 51 +- .../include/__iterator/incrementable_traits.h | 33 +- .../include/__iterator/indirectly_comparable.h | 3 +- .../libcxx/include/__iterator/insert_iterator.h | 57 +- .../libcxx/include/__iterator/istream_iterator.h | 95 +- .../include/__iterator/istreambuf_iterator.h | 131 +- .../libcxx/include/__iterator/iter_move.h | 68 +- .../libcxx/include/__iterator/iter_swap.h | 100 +- .../libcxx/include/__iterator/iterator.h | 16 +- .../libcxx/include/__iterator/iterator_traits.h | 397 +- .../libcxx/include/__iterator/mergeable.h | 15 +- .../libcxx/include/__iterator/move_iterator.h | 419 +- .../libcxx/include/__iterator/move_sentinel.h | 21 +- .../llvm-project/libcxx/include/__iterator/next.h | 13 +- .../libcxx/include/__iterator/ostream_iterator.h | 55 +- .../include/__iterator/ostreambuf_iterator.h | 61 +- .../libcxx/include/__iterator/permutable.h | 3 +- .../llvm-project/libcxx/include/__iterator/prev.h | 13 +- .../libcxx/include/__iterator/readable_traits.h | 46 +- .../libcxx/include/__iterator/reverse_access.h | 60 +- .../libcxx/include/__iterator/reverse_iterator.h | 366 +- .../llvm-project/libcxx/include/__iterator/size.h | 32 +- .../libcxx/include/__iterator/sortable.h | 4 +- .../include/__iterator/unreachable_sentinel.h | 5 +- .../libcxx/include/__iterator/wrap_iter.h | 258 +- contrib/llvm-project/libcxx/include/__locale | 2434 +++-- .../locale_base_api/bsd_locale_defaults.h | 28 +- .../locale_base_api/bsd_locale_fallbacks.h | 144 +- .../__locale_dir/locale_base_api/locale_guard.h | 67 +- contrib/llvm-project/libcxx/include/__mbstate_t.h | 16 +- .../libcxx/include/__memory/addressof.h | 35 +- .../libcxx/include/__memory/aligned_alloc.h | 42 +- .../libcxx/include/__memory/allocate_at_least.h | 10 +- .../libcxx/include/__memory/allocation_guard.h | 98 +- .../libcxx/include/__memory/allocator.h | 331 +- .../libcxx/include/__memory/allocator_arg_t.h | 45 +- .../libcxx/include/__memory/allocator_destructor.h | 24 +- .../libcxx/include/__memory/allocator_traits.h | 379 +- .../libcxx/include/__memory/assume_aligned.h | 3 +- .../libcxx/include/__memory/auto_ptr.h | 94 +- .../include/__memory/builtin_new_allocator.h | 23 +- .../libcxx/include/__memory/compressed_pair.h | 81 +- .../libcxx/include/__memory/concepts.h | 15 +- .../libcxx/include/__memory/construct_at.h | 65 +- .../libcxx/include/__memory/destruct_n.h | 61 +- .../libcxx/include/__memory/pointer_traits.h | 174 +- .../libcxx/include/__memory/ranges_construct_at.h | 28 +- .../__memory/ranges_uninitialized_algorithms.h | 89 +- .../libcxx/include/__memory/raw_storage_iterator.h | 66 +- .../libcxx/include/__memory/shared_ptr.h | 2495 ++--- .../libcxx/include/__memory/temp_value.h | 32 +- .../libcxx/include/__memory/temporary_buffer.h | 78 +- .../include/__memory/uninitialized_algorithms.h | 461 +- .../libcxx/include/__memory/unique_ptr.h | 373 +- .../libcxx/include/__memory/uses_allocator.h | 27 +- contrib/llvm-project/libcxx/include/__node_handle | 224 +- .../libcxx/include/__numeric/accumulate.h | 28 +- .../libcxx/include/__numeric/adjacent_difference.h | 57 +- .../libcxx/include/__numeric/exclusive_scan.h | 2 +- .../libcxx/include/__numeric/gcd_lcm.h | 82 +- .../libcxx/include/__numeric/inclusive_scan.h | 9 +- .../libcxx/include/__numeric/inner_product.h | 34 +- .../llvm-project/libcxx/include/__numeric/iota.h | 10 +- .../libcxx/include/__numeric/midpoint.h | 61 +- .../libcxx/include/__numeric/partial_sum.h | 53 +- .../llvm-project/libcxx/include/__numeric/reduce.h | 8 +- .../include/__numeric/transform_exclusive_scan.h | 33 +- .../include/__numeric/transform_inclusive_scan.h | 42 +- .../libcxx/include/__numeric/transform_reduce.h | 24 +- .../include/__random/bernoulli_distribution.h | 160 +- .../include/__random/binomial_distribution.h | 291 +- .../libcxx/include/__random/cauchy_distribution.h | 194 +- .../include/__random/chi_squared_distribution.h | 161 +- .../libcxx/include/__random/clamp_to_integral.h | 22 +- .../libcxx/include/__random/discard_block_engine.h | 256 +- .../include/__random/discrete_distribution.h | 340 +- .../include/__random/exponential_distribution.h | 171 +- .../include/__random/extreme_value_distribution.h | 196 +- .../include/__random/fisher_f_distribution.h | 194 +- .../libcxx/include/__random/gamma_distribution.h | 280 +- .../libcxx/include/__random/generate_canonical.h | 28 +- .../include/__random/geometric_distribution.h | 157 +- .../include/__random/independent_bits_engine.h | 331 +- .../libcxx/include/__random/is_seed_sequence.h | 8 +- .../libcxx/include/__random/is_valid.h | 53 +- .../include/__random/linear_congruential_engine.h | 491 +- .../llvm-project/libcxx/include/__random/log2.h | 39 +- .../include/__random/lognormal_distribution.h | 189 +- .../include/__random/mersenne_twister_engine.h | 1224 ++- .../__random/negative_binomial_distribution.h | 232 +- .../libcxx/include/__random/normal_distribution.h | 278 +- .../__random/piecewise_constant_distribution.h | 508 +- .../__random/piecewise_linear_distribution.h | 537 +- .../libcxx/include/__random/poisson_distribution.h | 392 +- .../libcxx/include/__random/random_device.h | 87 +- .../llvm-project/libcxx/include/__random/ranlux.h | 2 +- .../libcxx/include/__random/seed_seq.h | 231 +- .../libcxx/include/__random/shuffle_order_engine.h | 355 +- .../include/__random/student_t_distribution.h | 169 +- .../include/__random/subtract_with_carry_engine.h | 468 +- .../include/__random/uniform_int_distribution.h | 403 +- .../__random/uniform_random_bit_generator.h | 14 +- .../include/__random/uniform_real_distribution.h | 194 +- .../libcxx/include/__random/weibull_distribution.h | 185 +- .../llvm-project/libcxx/include/__ranges/access.h | 237 +- contrib/llvm-project/libcxx/include/__ranges/all.h | 55 +- .../libcxx/include/__ranges/common_view.h | 83 +- .../libcxx/include/__ranges/concepts.h | 126 +- .../llvm-project/libcxx/include/__ranges/counted.h | 62 +- .../llvm-project/libcxx/include/__ranges/data.h | 91 +- .../libcxx/include/__ranges/drop_view.h | 303 +- .../llvm-project/libcxx/include/__ranges/empty.h | 71 +- .../libcxx/include/__ranges/empty_view.h | 40 +- .../libcxx/include/__ranges/enable_view.h | 11 +- .../libcxx/include/__ranges/filter_view.h | 381 +- .../libcxx/include/__ranges/iota_view.h | 569 +- .../libcxx/include/__ranges/istream_view.h | 3 +- .../libcxx/include/__ranges/join_view.h | 647 +- .../libcxx/include/__ranges/lazy_split_view.h | 245 +- .../include/__ranges/non_propagating_cache.h | 129 +- .../libcxx/include/__ranges/owning_view.h | 106 +- .../libcxx/include/__ranges/range_adaptor.h | 32 +- .../llvm-project/libcxx/include/__ranges/rbegin.h | 67 +- .../libcxx/include/__ranges/ref_view.h | 80 +- .../llvm-project/libcxx/include/__ranges/rend.h | 71 +- .../libcxx/include/__ranges/reverse_view.h | 297 +- .../libcxx/include/__ranges/single_view.h | 16 +- .../llvm-project/libcxx/include/__ranges/size.h | 52 +- .../libcxx/include/__ranges/subrange.h | 356 +- .../libcxx/include/__ranges/take_view.h | 194 +- .../libcxx/include/__ranges/transform_view.h | 300 +- .../libcxx/include/__ranges/view_interface.h | 94 +- .../llvm-project/libcxx/include/__ranges/views.h | 2 +- .../libcxx/include/__ranges/zip_view.h | 235 +- contrib/llvm-project/libcxx/include/__split_buffer | 604 +- .../libcxx/include/__string/char_traits.h | 1093 ++- .../libcxx/include/__system_error/errc.h | 172 +- .../libcxx/include/__thread/formatter.h | 62 +- .../libcxx/include/__thread/poll_with_backoff.h | 37 +- .../libcxx/include/__thread/this_thread.h | 63 +- .../llvm-project/libcxx/include/__thread/thread.h | 324 +- .../libcxx/include/__thread/timed_backoff_policy.h | 28 +- .../libcxx/include/__threading_support | 410 +- contrib/llvm-project/libcxx/include/__tree | 3613 ++++---- .../libcxx/include/__tuple/make_tuple_types.h | 24 +- .../libcxx/include/__tuple/sfinae_helpers.h | 136 +- .../libcxx/include/__tuple/tuple_element.h | 64 +- .../libcxx/include/__tuple/tuple_indices.h | 10 +- .../libcxx/include/__tuple/tuple_like_ext.h | 24 +- .../libcxx/include/__tuple/tuple_size.h | 47 +- .../libcxx/include/__tuple/tuple_types.h | 3 +- .../libcxx/include/__type_traits/datasizeof.h | 11 +- .../libcxx/include/__utility/as_const.h | 4 +- .../llvm-project/libcxx/include/__utility/cmp.h | 73 +- .../libcxx/include/__utility/convert_to_integral.h | 50 +- .../libcxx/include/__utility/exchange.h | 14 +- .../libcxx/include/__utility/in_place.h | 12 +- .../libcxx/include/__utility/integer_sequence.h | 104 +- .../libcxx/include/__utility/is_pointer_in_range.h | 2 +- .../llvm-project/libcxx/include/__utility/pair.h | 1162 +-- .../libcxx/include/__utility/piecewise_construct.h | 4 +- .../libcxx/include/__utility/priority_tag.h | 6 +- .../libcxx/include/__utility/rel_ops.h | 41 +- .../libcxx/include/__utility/to_underlying.h | 6 +- .../libcxx/include/__utility/unreachable.h | 4 +- .../libcxx/include/__variant/monostate.h | 2 +- .../llvm-project/libcxx/include/__verbose_abort | 4 +- contrib/llvm-project/libcxx/include/algorithm | 30 + contrib/llvm-project/libcxx/include/any | 788 +- contrib/llvm-project/libcxx/include/array | 535 +- contrib/llvm-project/libcxx/include/barrier | 356 +- contrib/llvm-project/libcxx/include/bitset | 1290 ++- contrib/llvm-project/libcxx/include/cctype | 29 +- contrib/llvm-project/libcxx/include/cmath | 173 +- contrib/llvm-project/libcxx/include/codecvt | 776 +- contrib/llvm-project/libcxx/include/complex | 1921 ++-- .../llvm-project/libcxx/include/condition_variable | 223 +- contrib/llvm-project/libcxx/include/cstddef | 52 +- contrib/llvm-project/libcxx/include/ctype.h | 28 +- contrib/llvm-project/libcxx/include/cuchar | 2 +- contrib/llvm-project/libcxx/include/deque | 3722 ++++---- contrib/llvm-project/libcxx/include/errno.h | 522 +- contrib/llvm-project/libcxx/include/expected | 1 - .../libcxx/include/experimental/__config | 22 +- .../libcxx/include/experimental/__memory | 90 +- .../include/experimental/__simd/abi_tag.h (gone) | 55 - .../include/experimental/__simd/aligned_tag.h | 13 +- .../include/experimental/__simd/declaration.h | 52 +- .../__simd/internal_declaration.h (gone) | 41 - .../libcxx/include/experimental/__simd/scalar.h | 2 +- .../libcxx/include/experimental/__simd/simd.h | 2 - .../libcxx/include/experimental/__simd/simd_mask.h | 2 - .../libcxx/include/experimental/__simd/traits.h | 15 +- .../libcxx/include/experimental/__simd/vec_ext.h | 6 +- .../libcxx/include/experimental/iterator | 69 +- .../libcxx/include/experimental/propagate_const | 305 +- .../llvm-project/libcxx/include/experimental/simd | 1 - .../libcxx/include/experimental/type_traits | 69 +- .../libcxx/include/experimental/utility | 2 +- contrib/llvm-project/libcxx/include/ext/__hash | 130 +- contrib/llvm-project/libcxx/include/ext/hash_map | 1132 +-- contrib/llvm-project/libcxx/include/ext/hash_set | 634 +- contrib/llvm-project/libcxx/include/fenv.h | 70 +- contrib/llvm-project/libcxx/include/float.h | 12 +- contrib/llvm-project/libcxx/include/forward_list | 2031 ++-- contrib/llvm-project/libcxx/include/fstream | 2095 ++--- contrib/llvm-project/libcxx/include/future | 2551 +++-- .../llvm-project/libcxx/include/initializer_list | 71 +- contrib/llvm-project/libcxx/include/inttypes.h | 10 +- contrib/llvm-project/libcxx/include/iomanip | 754 +- contrib/llvm-project/libcxx/include/ios | 953 +- contrib/llvm-project/libcxx/include/iosfwd | 65 +- contrib/llvm-project/libcxx/include/istream | 2051 ++-- contrib/llvm-project/libcxx/include/latch | 98 +- contrib/llvm-project/libcxx/include/limits | 1078 ++- contrib/llvm-project/libcxx/include/list | 2390 ++--- contrib/llvm-project/libcxx/include/locale | 6071 ++++++------ contrib/llvm-project/libcxx/include/locale.h | 2 +- contrib/llvm-project/libcxx/include/map | 2618 +++--- contrib/llvm-project/libcxx/include/math.h | 81 +- .../libcxx/include/module.modulemap.in | 4 +- contrib/llvm-project/libcxx/include/mutex | 467 +- contrib/llvm-project/libcxx/include/new | 220 +- contrib/llvm-project/libcxx/include/numbers | 93 +- contrib/llvm-project/libcxx/include/optional | 1759 ++-- contrib/llvm-project/libcxx/include/ostream | 1349 ++- contrib/llvm-project/libcxx/include/print | 14 +- contrib/llvm-project/libcxx/include/queue | 1008 +- contrib/llvm-project/libcxx/include/ranges | 2 +- contrib/llvm-project/libcxx/include/ratio | 396 +- contrib/llvm-project/libcxx/include/regex | 8356 +++++++---------- .../llvm-project/libcxx/include/scoped_allocator | 821 +- contrib/llvm-project/libcxx/include/semaphore | 193 +- contrib/llvm-project/libcxx/include/set | 1577 ++-- contrib/llvm-project/libcxx/include/span | 701 +- contrib/llvm-project/libcxx/include/sstream | 1274 ++- contrib/llvm-project/libcxx/include/stack | 349 +- contrib/llvm-project/libcxx/include/stdatomic.h | 18 +- contrib/llvm-project/libcxx/include/stdbool.h | 10 +- contrib/llvm-project/libcxx/include/stddef.h | 28 +- contrib/llvm-project/libcxx/include/stdexcept | 232 +- contrib/llvm-project/libcxx/include/stdint.h | 6 +- contrib/llvm-project/libcxx/include/stdio.h | 36 +- contrib/llvm-project/libcxx/include/stdlib.h | 86 +- contrib/llvm-project/libcxx/include/streambuf | 530 +- contrib/llvm-project/libcxx/include/string | 4686 +++++----- contrib/llvm-project/libcxx/include/string.h | 2 +- contrib/llvm-project/libcxx/include/string_view | 1135 +-- contrib/llvm-project/libcxx/include/strstream | 334 +- contrib/llvm-project/libcxx/include/thread | 2 +- contrib/llvm-project/libcxx/include/tuple | 2126 ++--- contrib/llvm-project/libcxx/include/typeindex | 65 +- contrib/llvm-project/libcxx/include/typeinfo | 242 +- contrib/llvm-project/libcxx/include/uchar.h | 12 +- contrib/llvm-project/libcxx/include/unordered_map | 3111 +++---- contrib/llvm-project/libcxx/include/unordered_set | 1953 ++-- contrib/llvm-project/libcxx/include/valarray | 4682 ++++------ contrib/llvm-project/libcxx/include/variant | 1235 +-- contrib/llvm-project/libcxx/include/vector | 3840 ++++---- contrib/llvm-project/libcxx/include/version | 6 +- contrib/llvm-project/libcxx/include/wchar.h | 157 +- contrib/llvm-project/libcxx/include/wctype.h | 43 +- .../llvm-project/libcxx/modules/std/algorithm.inc | 16 +- .../llvm-project/libcxx/modules/std/ostream.inc | 5 +- contrib/llvm-project/libcxx/src/any.cpp | 16 +- contrib/llvm-project/libcxx/src/atomic.cpp | 216 +- contrib/llvm-project/libcxx/src/barrier.cpp | 106 +- contrib/llvm-project/libcxx/src/bind.cpp | 23 +- contrib/llvm-project/libcxx/src/call_once.cpp | 62 +- contrib/llvm-project/libcxx/src/charconv.cpp | 33 +- contrib/llvm-project/libcxx/src/chrono.cpp | 118 +- .../llvm-project/libcxx/src/condition_variable.cpp | 95 +- .../libcxx/src/condition_variable_destructor.cpp | 20 +- contrib/llvm-project/libcxx/src/exception.cpp | 28 +- .../libcxx/src/filesystem/directory_entry.cpp | 9 +- .../libcxx/src/filesystem/directory_iterator.cpp | 84 +- contrib/llvm-project/libcxx/src/filesystem/error.h | 24 +- .../libcxx/src/filesystem/file_descriptor.h | 53 +- .../libcxx/src/filesystem/filesystem_clock.cpp | 20 +- .../libcxx/src/filesystem/filesystem_error.cpp | 12 +- .../libcxx/src/filesystem/int128_builtins.cpp | 14 +- .../libcxx/src/filesystem/operations.cpp | 323 +- .../llvm-project/libcxx/src/filesystem/path.cpp | 79 +- .../libcxx/src/filesystem/path_parser.h | 58 +- .../libcxx/src/filesystem/posix_compat.h | 231 +- .../libcxx/src/filesystem/time_utils.h | 164 +- contrib/llvm-project/libcxx/src/functional.cpp | 10 +- contrib/llvm-project/libcxx/src/future.cpp | 319 +- contrib/llvm-project/libcxx/src/hash.cpp | 899 +- .../libcxx/src/include/apple_availability.h | 34 +- .../libcxx/src/include/atomic_support.h | 156 +- .../llvm-project/libcxx/src/include/config_elast.h | 18 +- .../llvm-project/libcxx/src/include/refstring.h | 137 +- contrib/llvm-project/libcxx/src/include/ryu/ryu.h | 1 - .../libcxx/src/include/sso_allocator.h | 81 +- contrib/llvm-project/libcxx/src/ios.cpp | 569 +- contrib/llvm-project/libcxx/src/iostream.cpp | 165 +- contrib/llvm-project/libcxx/src/locale.cpp | 9786 +++++++++----------- contrib/llvm-project/libcxx/src/memory.cpp | 229 +- contrib/llvm-project/libcxx/src/mutex.cpp | 207 +- .../llvm-project/libcxx/src/mutex_destructor.cpp | 20 +- contrib/llvm-project/libcxx/src/optional.cpp | 14 +- contrib/llvm-project/libcxx/src/ostream.cpp (new) | 42 + contrib/llvm-project/libcxx/src/random.cpp | 181 +- contrib/llvm-project/libcxx/src/random_shuffle.cpp | 35 +- contrib/llvm-project/libcxx/src/regex.cpp | 293 +- contrib/llvm-project/libcxx/src/std_stream.h | 572 +- contrib/llvm-project/libcxx/src/string.cpp | 368 +- .../libcxx/src/support/ibm/mbsnrtowcs.cpp | 30 +- .../libcxx/src/support/ibm/wcsnrtombs.cpp | 27 +- .../libcxx/src/support/ibm/xlocale_zos.cpp | 44 +- .../src/support/runtime/exception_fallback.ipp | 139 +- .../src/support/runtime/exception_glibcxx.ipp | 18 +- .../src/support/runtime/exception_libcxxabi.ipp | 15 +- .../src/support/runtime/exception_libcxxrt.ipp | 11 +- .../libcxx/src/support/runtime/exception_msvc.ipp | 145 +- .../support/runtime/exception_pointer_cxxabi.ipp | 73 +- .../support/runtime/exception_pointer_glibcxx.ipp | 61 +- .../src/support/runtime/exception_pointer_msvc.ipp | 22 +- .../runtime/exception_pointer_unimplemented.ipp | 43 +- .../src/support/runtime/stdexcept_default.ipp | 8 +- .../src/support/runtime/stdexcept_vcruntime.ipp | 2 +- contrib/llvm-project/libcxx/src/system_error.cpp | 225 +- contrib/llvm-project/libcxx/src/thread.cpp | 222 +- contrib/llvm-project/libcxx/src/typeinfo.cpp | 30 +- contrib/llvm-project/libcxx/src/valarray.cpp | 56 +- contrib/llvm-project/libcxx/src/variant.cpp | 6 +- contrib/llvm-project/libcxx/src/vector.cpp | 8 +- contrib/llvm-project/libcxx/src/verbose_abort.cpp | 6 +- contrib/llvm-project/lld/ELF/Arch/LoongArch.cpp | 20 + contrib/llvm-project/lld/ELF/InputSection.cpp | 22 +- contrib/llvm-project/lld/MachO/InputFiles.h | 2 +- contrib/llvm-project/lld/MachO/Options.td | 2 +- .../lldb/bindings/python/python-typemaps.swig | 2 +- .../lldb/include/lldb/Core/ValueObject.h | 8 - .../lldb/include/lldb/Host/HostGetOpt.h | 4 - .../lldb/include/lldb/Utility/FileSpec.h | 19 - contrib/llvm-project/lldb/source/API/SBValue.cpp | 11 +- .../llvm-project/lldb/source/Core/ValueObject.cpp | 40 - .../lldb/source/Host/common/FileSystem.cpp | 1 - .../lldb/source/Interpreter/CommandInterpreter.cpp | 6 +- .../SymbolFile/DWARF/DWARFASTParserClang.cpp | 2 +- .../lldb/source/Target/JITLoaderList.cpp | 2 +- .../llvm-project/llvm/include/llvm/ADT/StringRef.h | 8 +- contrib/llvm-project/llvm/include/llvm/ADT/Twine.h | 2 +- .../llvm/include/llvm/Analysis/LazyValueInfo.h | 9 +- .../llvm/include/llvm/Analysis/TargetLibraryInfo.h | 10 + .../include/llvm/Analysis/TargetTransformInfo.h | 4 + .../llvm/include/llvm/Analysis/ValueLattice.h | 5 +- .../llvm/include/llvm/Analysis/ValueTracking.h | 5 + .../llvm/include/llvm/Analysis/VecFuncs.def | 2 + .../llvm/include/llvm/Analysis/VectorUtils.h | 10 + .../llvm/include/llvm/CodeGen/AccelTable.h | 8 +- .../llvm/include/llvm/CodeGen/CodeGenPassBuilder.h | 9 +- .../llvm/include/llvm/CodeGen/LowerEmuTLS.h (new) | 29 + .../include/llvm/CodeGen/MachinePassRegistry.def | 7 +- .../llvm/include/llvm/CodeGen/MacroFusion.h | 12 +- .../llvm/include/llvm/CodeGen/SelectionDAGISel.h | 2 + .../llvm/include/llvm/CodeGen/TargetLowering.h | 6 + .../llvm/CodeGen/TargetLoweringObjectFileImpl.h | 2 + .../llvm/include/llvm/Frontend/HLSL/HLSLResource.h | 27 +- .../llvm-project/llvm/include/llvm/IR/Constants.h | 7 +- .../llvm/include/llvm/IR/DiagnosticHandler.h | 1 + .../llvm/IR/GenericConvergenceVerifierImpl.h | 13 +- .../llvm/include/llvm/IR/GlobalValue.h | 4 + .../llvm/include/llvm/IR/IntrinsicInst.h | 24 + .../llvm/include/llvm/IR/IntrinsicsAMDGPU.td | 28 +- .../llvm/include/llvm/IR/IntrinsicsRISCV.td | 2 +- .../llvm/include/llvm/IR/PatternMatch.h | 26 + .../llvm-project/llvm/include/llvm/MC/MCAsmInfo.h | 3 +- .../llvm/include/llvm/MC/MCTargetOptions.h | 2 + .../llvm/include/llvm/Object/ELFObjectFile.h | 1 + .../llvm-project/llvm/include/llvm/Object/Wasm.h | 1 - .../llvm/ProfileData/Coverage/CoverageMapping.h | 2 +- .../llvm/include/llvm/ProfileData/InstrProf.h | 26 +- .../include/llvm/ProfileData/RawMemProfReader.h | 11 +- .../llvm/include/llvm/ProfileData/SampleProf.h | 4 +- .../llvm/include/llvm/Support/CommandLine.h | 27 +- .../llvm/include/llvm/Support/YAMLTraits.h | 17 +- .../llvm/include/llvm/Support/raw_ostream.h | 49 - .../include/llvm/Support/raw_socket_stream.h (new) | 66 + .../llvm/TargetParser/AArch64TargetParser.h | 9 +- .../llvm/TargetParser/ARMTargetParserCommon.h | 1 + .../llvm/include/llvm/TextAPI/DylibReader.h (new) | 48 + .../llvm/include/llvm/TextAPI/Record.h | 13 +- .../include/llvm/TextAPI/RecordVisitor.h (new) | 54 + .../llvm/include/llvm/TextAPI/RecordsSlice.h | 14 +- .../llvm/include/llvm/TextAPI/TextAPIError.h | 3 +- .../llvm/include/llvm/TextAPI/Utils.h (new) | 34 + .../llvm/include/llvm/Transforms/IPO/Attributor.h | 10 + .../llvm/Transforms/IPO/ProfiledCallGraph.h | 5 +- .../llvm/lib/Analysis/InstructionSimplify.cpp | 2 +- .../llvm/lib/Analysis/LazyValueInfo.cpp | 18 +- .../llvm/lib/Analysis/LoopAccessAnalysis.cpp | 2 +- .../llvm/lib/Analysis/MemoryDependenceAnalysis.cpp | 18 +- .../llvm/lib/Analysis/ScalarEvolution.cpp | 7 +- .../llvm/lib/Analysis/TargetLibraryInfo.cpp | 10 + .../llvm/lib/Analysis/VFABIDemangling.cpp | 4 +- .../llvm/lib/Analysis/ValueTracking.cpp | 126 +- .../llvm-project/llvm/lib/Analysis/VectorUtils.cpp | 28 + .../llvm/lib/CodeGen/AsmPrinter/AccelTable.cpp | 4 +- .../llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp | 1 + .../CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp | 62 +- .../CodeGen/LiveDebugValues/InstrRefBasedImpl.h | 45 +- .../llvm/lib/CodeGen/LiveRangeEdit.cpp | 3 +- .../llvm-project/llvm/lib/CodeGen/LowerEmuTLS.cpp | 53 +- .../llvm/lib/CodeGen/MachineInstrBundle.cpp | 6 +- .../llvm-project/llvm/lib/CodeGen/MacroFusion.cpp | 12 +- .../llvm-project/llvm/lib/CodeGen/RegAllocFast.cpp | 139 +- .../llvm/lib/CodeGen/RegisterClassInfo.cpp | 3 +- .../llvm/lib/CodeGen/RegisterCoalescer.cpp | 57 +- .../llvm/lib/CodeGen/ReplaceWithVeclib.cpp | 211 +- .../llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp | 19 +- .../llvm/lib/CodeGen/SelectionDAG/FastISel.cpp | 3 +- .../CodeGen/SelectionDAG/FunctionLoweringInfo.cpp | 3 +- .../llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp | 18 +- .../CodeGen/SelectionDAG/LegalizeFloatTypes.cpp | 23 + .../CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp | 17 + .../llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h | 2 + .../lib/CodeGen/SelectionDAG/ScheduleDAGFast.cpp | 12 +- .../llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp | 6 +- .../CodeGen/SelectionDAG/SelectionDAGBuilder.cpp | 3 +- .../lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp | 24 +- .../llvm/lib/CodeGen/ShadowStackGCLowering.cpp | 7 +- .../lib/CodeGen/TargetLoweringObjectFileImpl.cpp | 7 + .../llvm/lib/CodeGen/TargetPassConfig.cpp | 1 + .../llvm/lib/CodeGen/TwoAddressInstructionPass.cpp | 3 +- .../lib/ExecutionEngine/JITLink/MachO_arm64.cpp | 32 +- .../lib/ExecutionEngine/JITLink/MachO_x86_64.cpp | 32 +- .../llvm/lib/Frontend/HLSL/HLSLResource.cpp | 17 +- contrib/llvm-project/llvm/lib/IR/ConstantFold.cpp | 2 +- contrib/llvm-project/llvm/lib/IR/Globals.cpp | 12 +- contrib/llvm-project/llvm/lib/IR/LLVMContext.cpp | 11 +- contrib/llvm-project/llvm/lib/IR/Metadata.cpp | 2 +- contrib/llvm-project/llvm/lib/IR/Type.cpp | 2 + contrib/llvm-project/llvm/lib/IR/Verifier.cpp | 11 +- contrib/llvm-project/llvm/lib/MC/MCAsmStreamer.cpp | 5 +- contrib/llvm-project/llvm/lib/MC/MCContext.cpp | 14 +- contrib/llvm-project/llvm/lib/MC/MCExpr.cpp | 24 +- .../llvm/lib/ObjCopy/ELF/ELFObject.cpp | 2 +- .../llvm-project/llvm/lib/Object/ELFObjectFile.cpp | 69 + .../llvm/lib/Object/ModuleSymbolTable.cpp | 16 +- .../llvm/lib/Object/WasmObjectFile.cpp | 52 +- .../llvm-project/llvm/lib/Passes/PassBuilder.cpp | 1 + .../llvm-project/llvm/lib/Passes/PassRegistry.def | 1 + .../llvm/lib/ProfileData/InstrProf.cpp | 36 +- .../llvm/lib/ProfileData/InstrProfReader.cpp | 9 +- .../llvm/lib/ProfileData/RawMemProfReader.cpp | 25 +- .../llvm-project/llvm/lib/Support/CommandLine.cpp | 78 +- .../llvm-project/llvm/lib/Support/RISCVISAInfo.cpp | 83 +- contrib/llvm-project/llvm/lib/Support/Signals.cpp | 2 +- .../llvm-project/llvm/lib/Support/raw_ostream.cpp | 163 +- .../llvm/lib/Support/raw_socket_stream.cpp (new) | 179 + .../llvm/lib/Target/AArch64/AArch64.td | 19 +- .../llvm/lib/Target/AArch64/AArch64Combine.td | 11 +- .../Target/AArch64/AArch64ExpandPseudoInsts.cpp | 18 +- .../lib/Target/AArch64/AArch64ISelLowering.cpp | 11 +- .../llvm/lib/Target/AArch64/AArch64InstrFormats.td | 126 + .../llvm/lib/Target/AArch64/AArch64InstrInfo.cpp | 36 + .../llvm/lib/Target/AArch64/AArch64InstrInfo.h | 3 + .../llvm/lib/Target/AArch64/AArch64InstrInfo.td | 75 +- .../Target/AArch64/AArch64LoadStoreOptimizer.cpp | 229 + .../Target/AArch64/AArch64MachineFunctionInfo.cpp | 28 +- .../Target/AArch64/AArch64MachineFunctionInfo.h | 18 + .../llvm/lib/Target/AArch64/AArch64PointerAuth.cpp | 86 +- .../llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td | 61 +- .../llvm/lib/Target/AArch64/AArch64SchedA64FX.td | 9 +- .../lib/Target/AArch64/AArch64SchedNeoverseN2.td | 2 +- .../lib/Target/AArch64/AArch64SchedNeoverseV1.td | 2 +- .../lib/Target/AArch64/AArch64SchedNeoverseV2.td | 2 +- .../lib/Target/AArch64/AArch64SystemOperands.td | 27 + .../Target/AArch64/AsmParser/AArch64AsmParser.cpp | 47 + .../AArch64/Disassembler/AArch64Disassembler.cpp | 18 + .../AArch64/GISel/AArch64InstructionSelector.cpp | 62 - .../AArch64/GISel/AArch64PostLegalizerLowering.cpp | 21 + .../AArch64/MCTargetDesc/AArch64AsmBackend.cpp | 14 + .../MCTargetDesc/AArch64ELFObjectWriter.cpp | 4 + .../AArch64/MCTargetDesc/AArch64FixupKinds.h | 5 + .../AArch64/MCTargetDesc/AArch64MCCodeEmitter.cpp | 29 + .../llvm/lib/Target/AArch64/SMEInstrFormats.td | 26 +- .../llvm/lib/Target/AArch64/SVEInstrFormats.td | 31 + .../llvm-project/llvm/lib/Target/AMDGPU/AMDGPU.td | 4 +- .../llvm/lib/Target/AMDGPU/AMDGPUIGroupLP.cpp | 29 +- .../llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp | 37 +- .../Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp | 8 +- .../llvm/lib/Target/AMDGPU/AMDGPULibCalls.cpp | 3 +- .../llvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp | 18 + .../llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp | 7 + .../Target/AMDGPU/AMDGPUTargetTransformInfo.cpp | 8 + .../lib/Target/AMDGPU/AMDGPUTargetTransformInfo.h | 10 + .../llvm/lib/Target/AMDGPU/DSInstructions.td | 12 +- .../AMDGPU/Disassembler/AMDGPUDisassembler.cpp | 5 + .../llvm/lib/Target/AMDGPU/SIISelLowering.cpp | 21 +- .../llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp | 20 +- .../llvm/lib/Target/AMDGPU/SIInstrInfo.cpp | 79 + .../llvm/lib/Target/AMDGPU/SIInstrInfo.h | 3 + .../llvm/lib/Target/ARM/ARMFrameLowering.cpp | 33 +- .../llvm/lib/Target/ARM/ARMFrameLowering.h | 3 + .../llvm/lib/Target/ARM/ARMISelLowering.cpp | 58 + .../llvm/lib/Target/ARM/ARMISelLowering.h | 10 + .../llvm/lib/Target/ARM/ARMInstrVFP.td | 1 + .../llvm/lib/Target/ARM/ARMLoadStoreOptimizer.cpp | 6 +- .../llvm/lib/Target/DirectX/DXILResource.cpp | 92 +- .../llvm/lib/Target/DirectX/DXILResource.h | 37 +- .../DirectX/DXILWriter/DXILBitcodeWriter.cpp | 3 +- .../lib/Target/Hexagon/HexagonConstPropagation.cpp | 3 +- .../lib/Target/Hexagon/HexagonISelDAGToDAGHVX.cpp | 6 +- .../Target/Hexagon/HexagonLoopIdiomRecognition.cpp | 6 +- .../Hexagon/MCTargetDesc/HexagonMCTargetDesc.cpp | 2 +- .../LoongArch/MCTargetDesc/LoongArchAsmBackend.cpp | 78 + .../LoongArch/MCTargetDesc/LoongArchAsmBackend.h | 9 +- .../LoongArch/MCTargetDesc/LoongArchFixupKinds.h | 4 +- .../llvm/lib/Target/PowerPC/PPCISelLowering.cpp | 9 +- .../llvm/lib/Target/PowerPC/PPCInstrInfo.cpp | 8 +- .../llvm/lib/Target/PowerPC/PPCInstrInfo.td | 3 + .../lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp | 7 +- .../lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h | 9 + .../llvm/lib/Target/RISCV/RISCVFeatures.td | 86 +- .../llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp | 3 +- .../llvm/lib/Target/RISCV/RISCVISelLowering.cpp | 182 +- .../llvm/lib/Target/RISCV/RISCVISelLowering.h | 7 +- .../llvm/lib/Target/RISCV/RISCVInstrFormats.td | 9 + .../lib/Target/RISCV/RISCVInstrInfoVPseudos.td | 8 - .../lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td | 125 +- .../llvm/lib/Target/RISCV/RISCVInstrInfoXSf.td | 12 +- .../llvm/lib/Target/RISCV/RISCVInstrInfoZvk.td | 2 +- .../llvm/lib/Target/RISCV/RISCVMacroFusion.cpp | 82 +- .../llvm/lib/Target/RISCV/RISCVProcessors.td | 27 +- .../llvm/lib/Target/RISCV/RISCVSchedSiFive7.td | 1 + .../llvm/lib/Target/RISCV/RISCVSubtarget.h | 18 +- .../lib/Target/RISCV/RISCVTargetTransformInfo.h | 2 +- .../llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp | 4 +- .../llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp | 6 +- .../llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp | 6 +- .../llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp | 2 +- .../llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.h | 2 +- .../llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp | 2 +- .../SystemZ/MCTargetDesc/SystemZMCAsmInfo.cpp | 1 + .../llvm/lib/Target/SystemZ/SystemZAsmPrinter.cpp | 35 +- .../lib/Target/SystemZ/SystemZFrameLowering.cpp | 6 + .../lib/Target/SystemZ/SystemZISelDAGToDAG.cpp | 3 +- .../lib/Target/SystemZ/SystemZISelLowering.cpp | 10 + .../llvm/lib/Target/SystemZ/SystemZISelLowering.h | 8 +- .../llvm-project/llvm/lib/Target/TargetMachine.cpp | 4 +- .../llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp | 36 +- .../Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp | 2 +- .../llvm/lib/Target/X86/X86FastISel.cpp | 7 +- .../llvm/lib/Target/X86/X86FloatingPoint.cpp | 3 +- .../llvm/lib/Target/X86/X86ISelDAGToDAG.cpp | 31 +- .../llvm/lib/Target/X86/X86ISelLowering.cpp | 36 +- .../llvm/lib/Target/X86/X86InsertPrefetch.cpp | 6 +- .../llvm/lib/Target/X86/X86InstrAMX.td | 30 +- .../llvm/lib/Target/X86/X86InstrAVX512.td | 1082 +-- .../llvm/lib/Target/X86/X86InstrArithmetic.td | 1457 ++- .../llvm/lib/Target/X86/X86InstrAsmAlias.td | 13 + .../llvm/lib/Target/X86/X86InstrCompiler.td | 17 + .../llvm/lib/Target/X86/X86InstrFPStack.td | 8 +- .../llvm/lib/Target/X86/X86InstrFormats.td | 7 +- .../llvm/lib/Target/X86/X86InstrInfo.cpp | 8 +- .../llvm-project/llvm/lib/Target/X86/X86InstrKL.td | 22 +- .../llvm/lib/Target/X86/X86InstrMMX.td | 24 +- .../llvm/lib/Target/X86/X86InstrMisc.td | 211 +- .../llvm/lib/Target/X86/X86InstrRAOINT.td | 8 +- .../llvm/lib/Target/X86/X86InstrSGX.td | 6 +- .../llvm/lib/Target/X86/X86InstrSNP.td | 12 +- .../llvm/lib/Target/X86/X86InstrSSE.td | 952 +- .../llvm/lib/Target/X86/X86InstrShiftRotate.td | 28 +- .../llvm/lib/Target/X86/X86InstrSystem.td | 141 +- .../llvm/lib/Target/X86/X86InstrTBM.td | 4 +- .../llvm/lib/Target/X86/X86InstrTDX.td | 14 +- .../llvm/lib/Target/X86/X86InstrTSX.td | 4 +- .../llvm/lib/Target/X86/X86InstrUtils.td | 284 +- .../llvm/lib/Target/X86/X86InstrVMX.td | 38 +- .../llvm/lib/Target/X86/X86InstrXOP.td | 28 +- .../llvm/lib/Target/X86/X86MacroFusion.cpp | 3 +- .../llvm/lib/Target/X86/X86Subtarget.cpp | 9 +- .../lib/TargetParser/ARMTargetParserCommon.cpp | 6 +- .../llvm-project/llvm/lib/TargetParser/Host.cpp | 52 +- .../llvm-project/llvm/lib/TargetParser/Triple.cpp | 15 +- .../lib/TextAPI/BinaryReader/DylibReader.cpp (new) | 429 + .../llvm/lib/TextAPI/RecordVisitor.cpp (new) | 65 + .../llvm-project/llvm/lib/TextAPI/RecordsSlice.cpp | 120 +- .../llvm-project/llvm/lib/TextAPI/Utils.cpp (new) | 40 + .../lib/ToolDrivers/llvm-dlltool/DlltoolDriver.cpp | 2 +- .../lib/Transforms/IPO/AttributorAttributes.cpp | 53 +- .../llvm/lib/Transforms/IPO/OpenMPOpt.cpp | 18 +- .../llvm/lib/Transforms/IPO/SampleProfile.cpp | 13 +- .../Transforms/InstCombine/InstCombineAndOrXor.cpp | 49 +- .../Transforms/InstCombine/InstCombineCalls.cpp | 59 +- .../Transforms/InstCombine/InstCombineInternal.h | 17 +- .../InstCombine/InstCombineMulDivRem.cpp | 7 + .../Transforms/InstCombine/InstCombineSelect.cpp | 4 +- .../InstCombine/InstCombineSimplifyDemanded.cpp | 134 +- .../InstCombine/InstCombineVectorOps.cpp | 44 +- .../InstCombine/InstructionCombining.cpp | 106 +- .../Instrumentation/AddressSanitizer.cpp | 2 +- .../lib/Transforms/Instrumentation/MemProfiler.cpp | 2 +- .../Instrumentation/SanitizerCoverage.cpp | 2 +- .../lib/Transforms/Scalar/ConstantHoisting.cpp | 5 +- .../Transforms/Scalar/ConstraintElimination.cpp | 75 +- .../Scalar/CorrelatedValuePropagation.cpp | 6 +- .../lib/Transforms/Scalar/DFAJumpThreading.cpp | 2 +- .../llvm/lib/Transforms/Scalar/GVN.cpp | 2 +- .../llvm/lib/Transforms/Scalar/LoopFlatten.cpp | 5 +- .../lib/Transforms/Scalar/LoopStrengthReduce.cpp | 2 +- .../llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp | 9 +- .../Transforms/Scalar/RewriteStatepointsForGC.cpp | 2 +- .../llvm/lib/Transforms/Scalar/SROA.cpp | 1 + .../llvm/lib/Transforms/Utils/DXILUpgrade.cpp | 12 + .../lib/Transforms/Utils/FunctionComparator.cpp | 25 + .../lib/Transforms/Utils/MemoryTaggingSupport.cpp | 2 +- .../llvm/lib/Transforms/Utils/SimplifyCFG.cpp | 8 +- .../llvm/lib/Transforms/Utils/SimplifyIndVar.cpp | 7 +- .../lib/Transforms/Vectorize/SLPVectorizer.cpp | 123 +- contrib/llvm-project/llvm/tools/llc/llc.cpp | 17 +- .../llvm/tools/llvm-cov/SourceCoverageViewHTML.cpp | 24 +- contrib/llvm-project/llvm/tools/llvm-dwp/Opts.td | 11 +- .../llvm-project/llvm/tools/llvm-dwp/llvm-dwp.cpp | 20 +- .../llvm/tools/llvm-objdump/ObjdumpOpts.td | 3 + .../llvm/tools/llvm-objdump/XCOFFDump.cpp | 1 + .../llvm/tools/llvm-objdump/XCOFFDump.h | 1 + .../llvm/tools/llvm-objdump/llvm-objdump.cpp | 189 +- .../llvm/tools/llvm-profdata/llvm-profdata.cpp | 29 +- .../llvm/tools/llvm-readobj/ELFDumper.cpp | 295 +- .../llvm/utils/TableGen/AsmMatcherEmitter.cpp | 8 +- .../llvm/utils/TableGen/AsmWriterEmitter.cpp | 4 + .../llvm/utils/TableGen/DAGISelMatcherEmitter.cpp | 33 +- .../llvm/utils/TableGen/X86FoldTablesEmitter.cpp | 6 +- lib/clang/headers/Makefile | 1 + lib/clang/include/VCSVersion.inc | 6 +- lib/clang/include/clang/Config/config.h | 6 + lib/clang/include/lld/Common/Version.inc | 2 +- lib/clang/include/llvm/Support/VCSRevision.h | 2 +- lib/clang/libclang/Makefile | 64 +- lib/clang/libllvm/Makefile | 4 + lib/clang/libllvmminimal/Makefile | 1 + lib/libc++/Makefile | 5 +- lib/libcompiler_rt/Makefile.inc | 67 +- tools/build/mk/OptionalObsoleteFiles.inc | 1 + 1000 files changed, 80116 insertions(+), 92136 deletions(-)
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=3d68ee6cbdb244de9fab1df8a2525d2fa592571e commit 3d68ee6cbdb244de9fab1df8a2525d2fa592571e Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2023-12-21 22:30:02 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-04-06 20:12:49 +0000 Tentatively apply https://github.com/llvm/llvm-project/pull/76175 This fixes libsa including compiler-rt builtins. PR: 276104 MFC after: 1 month contrib/llvm-project/compiler-rt/lib/builtins/int_types.h | 2 -- 1 file changed, 2 deletions(-)
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=f4d93b67611f6f8b19db7bac6b0973b2ef0cfcb6 commit f4d93b67611f6f8b19db7bac6b0973b2ef0cfcb6 Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2024-04-07 00:07:38 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-04-07 00:07:38 +0000 Fix arm64 build after llvm 18.1.3 upgrade Apparently clang 18 has become more strict about using floating point registers in inline assembly when -mgeneral-regs-only is used. This causes sys/arm64/arm64/vfp.c to fail to compile, with "error: instruction requires: fp-armv8", and "error: expected readable system register". To fix it, similar to other files compiled for arm64, disable -mgeneral-regs-only for this particular file. PR: 276104 MFC after: 1 month sys/conf/files.arm64 | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=61e482f2fcd53bbc7fd3d4cc8b7df79d5d57d75c commit 61e482f2fcd53bbc7fd3d4cc8b7df79d5d57d75c Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2024-04-07 09:23:06 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-04-07 09:23:06 +0000 Fix arm64 build after llvm 18.1.3 upgrade (take 2) Instead of compiling the whole sys/arm64/arm64/vfp.c file without -mgeneral-regs-only, which might have unwanted side effects, add ".arch_extension fp" / ".arch_extension nofp" pairs to the inline assembly. PR: 276104 Suggested by: andrew MFC after: 1 month sys/arm64/arm64/vfp.c | 4 ++++ sys/conf/files.arm64 | 3 +-- 2 files changed, 5 insertions(+), 2 deletions(-)
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=b811dac2115a6ada606c03d7d823a95d11c5f3c9 commit b811dac2115a6ada606c03d7d823a95d11c5f3c9 Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2024-04-07 17:56:03 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-04-07 17:58:52 +0000 Fix GENERIC-KASAN kernel build for amd64 Work around https://github.com/llvm/llvm-project/issues/87923, which leads to an assertion failure compiling several kernel source files with asan enabled. PR: 276104 MFC after: 1 month sys/conf/kern.pre.mk | 5 +++++ 1 file changed, 5 insertions(+)
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=2e226748a961329471f5b51483318b94c8735f34 commit 2e226748a961329471f5b51483318b94c8735f34 Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2024-04-07 18:21:01 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-04-07 18:21:01 +0000 libcompiler_rt Makefile.inc: don't build bfloat16 support for gcc < 13 Older versions of gcc produce "error: unknown type name '__bf16'". PR: 276104 MFC after: 1 month lib/libcompiler_rt/Makefile.inc | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-)
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=d00b9344bb10a9a35b02df33475bec951dfccd78 commit d00b9344bb10a9a35b02df33475bec951dfccd78 Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2024-04-07 18:16:50 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-04-07 18:16:52 +0000 libcompiler_rt Makefile.inc: remove debugging messages PR: 276104 MFC after: 1 month lib/libcompiler_rt/Makefile.inc | 7 ------- 1 file changed, 7 deletions(-)
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=4c983a2886877a855ac3a2836b15d80356fbb8d4 commit 4c983a2886877a855ac3a2836b15d80356fbb8d4 Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2024-04-07 19:45:51 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-04-07 19:45:51 +0000 libcompiler_rt Makefile.inc: include bsd.compiler.mk to fix build Apparently libgcc_s has always included libcompiler_rt's Makefile.inc without first including bsd.compiler.mk, even though Makefile.inc used COMPILER_TYPE already. It looks like we were just lucky that the expression was not malformed. PR: 276104 Reported by: Herbert J. Skuhra <herbert@gojira.at> MFC after: 1 month lib/libcompiler_rt/Makefile.inc | 1 + 1 file changed, 1 insertion(+)
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=442d351bd242d14b1c0bb67cd048ac022f2e82ad commit 442d351bd242d14b1c0bb67cd048ac022f2e82ad Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2024-04-10 22:10:07 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-04-10 22:10:13 +0000 libllvm: add missed tlbgen headers and sources for BPF target Noticed by: vishwin PR: 276104 MFC after: 1 month lib/clang/libllvm/Makefile | 7 +++++++ 1 file changed, 7 insertions(+)
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=2365f012951e5f0333cf31c690f668299c86b30e commit 2365f012951e5f0333cf31c690f668299c86b30e Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2024-04-13 08:44:26 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-04-13 08:45:15 +0000 Revert commit 925a11a5f221 from llvm-project (by Nikolas Klauser): [libc++] Simplify is_convertible GCC 13 has added __is_convertible(), so we don't need to keep the fallback implementation around. Reviewed By: #libc, Mordante Spies: Mordante, libcxx-commits Differential Revision: https://reviews.llvm.org/D157939 This should allow buildworld with gcc 12 to work again. PR: 276104 MFC after: 1 month .../libcxx/include/__type_traits/is_convertible.h | 79 +++++++++++++++++++++- 1 file changed, 78 insertions(+), 1 deletion(-)
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=8b181c2fbaa8c6b32e5510ef6e3a6d364ff4710e commit 8b181c2fbaa8c6b32e5510ef6e3a6d364ff4710e Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2024-04-14 17:38:42 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-04-14 17:40:12 +0000 sanitizers: mark __elf_aux_vector as weak, to allow linking without libsys After libsys was introduced, linking sanitized programs started failing with: # c++ -fsanitize=address main.cc ld: error: undefined symbol: __elf_aux_vector >>> referenced by sanitizer_linux_libcdep.cpp:950 (/usr/src/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp:950) >>> sanitizer_linux_libcdep.o:(__sanitizer::ReExec()) in archive /usr/lib/clang/17/lib/freebsd/libclang_rt.asan-x86_64.a c++: error: linker command failed with exit code 1 (use -v to see invocation) Mark __elf_aux_vector as weak in the internal sanitizer declaration, so the linker will accept it at link time. The dynamic linker will then take care of the symbol at run time. Suggestion by: brooks PR: 276104, 277393 MFC after: 1 month .../compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=514c98ba14a0f590891844d1a6bec0ac4de54489 commit 514c98ba14a0f590891844d1a6bec0ac4de54489 Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2024-04-15 16:24:39 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-04-15 16:30:29 +0000 Merge commit 37b7207651b4 from llvm-project (by zhongyunde@huawei.com): [SimplifyCFG] Fix crash when there is unreachable large index (#88616) The large case index out of scope is dead code, but it is still be created for TableContents in SwitchLookupTable::SwitchLookupTable, so make sure the table size after growing should not get smaller. Fix https://github.com/llvm/llvm-project/issues/88607 This should fix "Assertion failed: (idx < size()), function operator[]" when building the science/dynare port. PR: 276104, 278320 Reported by: yuri MFC after: 1 month contrib/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=f276adc148433d009d198c2ebccdd3303377e237 commit f276adc148433d009d198c2ebccdd3303377e237 Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2024-04-17 20:20:47 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-04-17 20:20:47 +0000 libcompiler_rt Makefile.inc: update _Float16/__bf16 checks Clang supports __bf16 for riscv from version 18.0 onwards, so update the checks for it. While here, rewrite the checks so they are hopefully more readable, and also handle gcc a little better. In addition, define COMPILER_RT_HAS_FLOAT16 and COMPILER_RT_HAS_BFLOAT16 when these features should be available, since there are some parts in compiler-rt that check for these defines. PR: 276104 MFC after: 1 month lib/libcompiler_rt/Makefile.inc | 33 ++++++++++++++++++++++++++++----- 1 file changed, 28 insertions(+), 5 deletions(-)
A commit in branch stable/14 references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=7c41358a2b0a2e70a2b61ec347354f3452e4d2f3 commit 7c41358a2b0a2e70a2b61ec347354f3452e4d2f3 Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2024-04-06 20:15:21 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-04-20 10:04:35 +0000 Bump __FreeBSD_version for llvm 18.1.3 merge PR: 276104 MFC after: 1 month (cherry picked from commit 0192eda105b367d4670205547e8e830e3716bea3) sys/sys/param.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
A commit in branch stable/14 references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=40d5cf3f394d72b9c6a9ce69cebd95d168b1fa72 commit 40d5cf3f394d72b9c6a9ce69cebd95d168b1fa72 Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2024-04-15 16:24:39 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-04-20 10:03:26 +0000 Merge commit 37b7207651b4 from llvm-project (by zhongyunde@huawei.com): [SimplifyCFG] Fix crash when there is unreachable large index (#88616) The large case index out of scope is dead code, but it is still be created for TableContents in SwitchLookupTable::SwitchLookupTable, so make sure the table size after growing should not get smaller. Fix https://github.com/llvm/llvm-project/issues/88607 This should fix "Assertion failed: (idx < size()), function operator[]" when building the science/dynare port. PR: 276104, 278320 Reported by: yuri MFC after: 1 month (cherry picked from commit 514c98ba14a0f590891844d1a6bec0ac4de54489) contrib/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
A commit in branch stable/14 references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=47020df00dd821a8102cfd7358408de0ed9b6f39 commit 47020df00dd821a8102cfd7358408de0ed9b6f39 Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2024-04-17 20:20:47 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-04-20 10:03:26 +0000 libcompiler_rt Makefile.inc: update _Float16/__bf16 checks Clang supports __bf16 for riscv from version 18.0 onwards, so update the checks for it. While here, rewrite the checks so they are hopefully more readable, and also handle gcc a little better. In addition, define COMPILER_RT_HAS_FLOAT16 and COMPILER_RT_HAS_BFLOAT16 when these features should be available, since there are some parts in compiler-rt that check for these defines. PR: 276104 MFC after: 1 month (cherry picked from commit f276adc148433d009d198c2ebccdd3303377e237) lib/libcompiler_rt/Makefile.inc | 33 ++++++++++++++++++++++++++++----- 1 file changed, 28 insertions(+), 5 deletions(-)
A commit in branch stable/14 references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=924cf780a23a6c01638ee9865dcd63eb21c72b4a commit 924cf780a23a6c01638ee9865dcd63eb21c72b4a Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2024-04-07 17:56:03 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-04-20 10:03:25 +0000 Fix GENERIC-KASAN kernel build for amd64 Work around https://github.com/llvm/llvm-project/issues/87923, which leads to an assertion failure compiling several kernel source files with asan enabled. PR: 276104 MFC after: 1 month (cherry picked from commit b811dac2115a6ada606c03d7d823a95d11c5f3c9) sys/conf/kern.pre.mk | 5 +++++ 1 file changed, 5 insertions(+)
A commit in branch stable/14 references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=329e66dd048ea64e06aff7dd3d5c5bf679e4af25 commit 329e66dd048ea64e06aff7dd3d5c5bf679e4af25 Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2024-04-07 18:16:50 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-04-20 10:03:25 +0000 libcompiler_rt Makefile.inc: remove debugging messages PR: 276104 MFC after: 1 month (cherry picked from commit d00b9344bb10a9a35b02df33475bec951dfccd78) lib/libcompiler_rt/Makefile.inc | 7 ------- 1 file changed, 7 deletions(-)
A commit in branch stable/14 references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=89ef2b34ab7333699641b7f8763633a51ee166a0 commit 89ef2b34ab7333699641b7f8763633a51ee166a0 Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2024-04-07 19:45:51 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-04-20 10:03:25 +0000 libcompiler_rt Makefile.inc: include bsd.compiler.mk to fix build Apparently libgcc_s has always included libcompiler_rt's Makefile.inc without first including bsd.compiler.mk, even though Makefile.inc used COMPILER_TYPE already. It looks like we were just lucky that the expression was not malformed. PR: 276104 Reported by: Herbert J. Skuhra <herbert@gojira.at> MFC after: 1 month (cherry picked from commit 4c983a2886877a855ac3a2836b15d80356fbb8d4) lib/libcompiler_rt/Makefile.inc | 1 + 1 file changed, 1 insertion(+)
A commit in branch stable/14 references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=18590ac4f0355175003baefa711fcb47f041f24e commit 18590ac4f0355175003baefa711fcb47f041f24e Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2024-04-14 17:38:42 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-04-20 10:03:26 +0000 sanitizers: mark __elf_aux_vector as weak, to allow linking without libsys After libsys was introduced, linking sanitized programs started failing with: # c++ -fsanitize=address main.cc ld: error: undefined symbol: __elf_aux_vector >>> referenced by sanitizer_linux_libcdep.cpp:950 (/usr/src/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp:950) >>> sanitizer_linux_libcdep.o:(__sanitizer::ReExec()) in archive /usr/lib/clang/17/lib/freebsd/libclang_rt.asan-x86_64.a c++: error: linker command failed with exit code 1 (use -v to see invocation) Mark __elf_aux_vector as weak in the internal sanitizer declaration, so the linker will accept it at link time. The dynamic linker will then take care of the symbol at run time. Suggestion by: brooks PR: 276104, 277393 MFC after: 1 month (cherry picked from commit 8b181c2fbaa8c6b32e5510ef6e3a6d364ff4710e) .../compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
A commit in branch stable/14 references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=c9eafe97961631c6d1135b294eb04993144d7d6b commit c9eafe97961631c6d1135b294eb04993144d7d6b Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2024-04-05 22:02:56 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-04-19 21:14:17 +0000 Merge llvm-project release/18.x llvmorg-18.1.3-0-gc13b7485b879 This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvm-project release/18.x llvmorg-18.1.3-0-gc13b7485b879. PR: 276104 MFC after: 1 month (cherry picked from commit 439352ac8257c8419cb4a662abb7f260f31f9932) .../clang/include/clang/AST/DeclBase.h | 10 ++ .../clang/include/clang/Sema/ScopeInfo.h | 4 +- .../clang/include/clang/Serialization/ASTReader.h | 7 -- contrib/llvm-project/clang/lib/AST/Decl.cpp | 2 +- contrib/llvm-project/clang/lib/AST/DeclBase.cpp | 5 + contrib/llvm-project/clang/lib/Basic/Module.cpp | 7 +- .../llvm-project/clang/lib/CodeGen/BackendUtil.cpp | 32 ++--- contrib/llvm-project/clang/lib/CodeGen/CGDecl.cpp | 43 ++++--- .../clang/lib/Driver/ToolChains/WebAssembly.cpp | 27 ++++- .../clang/lib/Driver/ToolChains/WebAssembly.h | 2 +- .../llvm-project/clang/lib/Headers/__stddef_null.h | 2 +- .../clang/lib/Headers/__stddef_nullptr_t.h | 7 +- .../clang/lib/Headers/__stddef_offsetof.h | 7 +- .../clang/lib/Headers/__stddef_ptrdiff_t.h | 7 +- .../clang/lib/Headers/__stddef_rsize_t.h | 7 +- .../clang/lib/Headers/__stddef_size_t.h | 7 +- .../clang/lib/Headers/__stddef_unreachable.h | 7 +- .../clang/lib/Headers/__stddef_wchar_t.h | 7 +- .../llvm-project/clang/lib/Headers/larchintrin.h | 2 +- .../clang/lib/Headers/module.modulemap | 20 ++-- contrib/llvm-project/clang/lib/Lex/ModuleMap.cpp | 9 +- contrib/llvm-project/clang/lib/Sema/SemaDecl.cpp | 73 +++++++----- .../llvm-project/clang/lib/Sema/SemaOverload.cpp | 22 +++- .../llvm-project/clang/lib/Sema/SemaTemplate.cpp | 22 +++- .../clang/lib/Serialization/ASTReader.cpp | 2 +- .../clang/lib/Serialization/ASTReaderDecl.cpp | 8 +- .../clang/lib/Serialization/ASTWriter.cpp | 2 +- .../clang/lib/Serialization/ASTWriterDecl.cpp | 8 +- .../clang/lib/StaticAnalyzer/Core/CallEvent.cpp | 2 +- .../llvm-project/compiler-rt/lib/builtins/divtc3.c | 2 +- .../llvm-project/compiler-rt/lib/builtins/fp_lib.h | 41 ++++--- .../compiler-rt/lib/builtins/int_types.h | 8 +- .../llvm-project/compiler-rt/lib/builtins/multc3.c | 2 +- contrib/llvm-project/compiler-rt/lib/msan/msan.cpp | 2 +- contrib/llvm-project/compiler-rt/lib/msan/msan.h | 35 ++++-- .../compiler-rt/lib/msan/msan_allocator.cpp | 3 + .../compiler-rt/lib/msan/msan_linux.cpp | 67 ++++++++--- .../lib/tsan/rtl/tsan_interceptors_posix.cpp | 43 +++---- contrib/llvm-project/libcxx/include/__availability | 7 +- .../llvm-project/libcxx/modules/modules.json.in | 2 +- contrib/llvm-project/lld/COFF/DLL.cpp | 2 +- contrib/llvm-project/lld/ELF/Arch/LoongArch.cpp | 22 ++++ contrib/llvm-project/lld/ELF/Arch/PPC64.cpp | 3 +- contrib/llvm-project/lld/ELF/Arch/RISCV.cpp | 2 + contrib/llvm-project/lld/ELF/Arch/X86_64.cpp | 7 +- contrib/llvm-project/lld/ELF/Writer.cpp | 3 + contrib/llvm-project/lld/docs/ReleaseNotes.rst | 5 + .../llvm/include/llvm/Analysis/VectorUtils.h | 5 + .../llvm/include/llvm/BinaryFormat/COFF.h | 5 +- .../llvm-project/llvm/include/llvm/Object/COFF.h | 41 +++++++ .../llvm/include/llvm/Object/COFFImportFile.h | 35 +++++- .../llvm/include/llvm/Support/FormattedStream.h | 51 ++++++-- .../llvm/include/llvm/Target/TargetSchedule.td | 2 +- .../llvm/lib/Analysis/ValueTracking.cpp | 2 + .../llvm-project/llvm/lib/Analysis/VectorUtils.cpp | 25 ++++ .../llvm/lib/MC/MCParser/AsmParser.cpp | 4 +- .../llvm-project/llvm/lib/Object/ArchiveWriter.cpp | 11 ++ .../llvm/lib/Object/COFFImportFile.cpp | 114 +++++++++++++----- .../llvm/lib/Support/FormattedStream.cpp | 3 + .../Target/AArch64/AArch64Arm64ECCallLowering.cpp | 57 ++++++--- .../lib/Target/AArch64/AArch64CallingConvention.td | 3 + .../lib/Target/AArch64/AArch64ISelLowering.cpp | 10 +- .../llvm/lib/Target/AArch64/AArch64MCInstLower.cpp | 2 + .../lib/Target/AArch64/Utils/AArch64BaseInfo.h | 28 ----- .../llvm/lib/Target/ARM/ARMFrameLowering.cpp | 11 +- .../llvm/lib/Target/ARM/ARMFrameLowering.h | 4 + .../llvm/lib/Target/ARM/ARMLoadStoreOptimizer.cpp | 23 ++-- .../llvm/lib/Target/AVR/AVRInstrInfo.td | 2 +- .../lib/Target/LoongArch/LoongArchISelLowering.cpp | 9 +- .../lib/Target/LoongArch/LoongArchISelLowering.h | 2 + .../lib/Target/LoongArch/LoongArchTargetMachine.h | 5 + .../Mips/MCTargetDesc/MipsTargetStreamer.cpp | 12 +- .../llvm/lib/Target/Mips/MipsExpandPseudo.cpp | 60 ++++++++-- .../llvm/lib/Target/PowerPC/PPCFrameLowering.cpp | 6 - .../llvm/lib/Target/PowerPC/PPCISelLowering.cpp | 1 + .../llvm/lib/Target/RISCV/RISCVISelLowering.cpp | 20 ++-- .../lib/Target/RISCV/RISCVTargetTransformInfo.cpp | 3 + .../lib/Target/SystemZ/SystemZISelLowering.cpp | 34 ++++++ .../llvm/lib/Target/X86/X86ISelLowering.cpp | 11 +- .../llvm/lib/Target/X86/X86InstrVecCompiler.td | 3 + .../llvm/lib/Target/X86/X86TargetTransformInfo.cpp | 4 + .../llvm/lib/Transforms/IPO/ArgumentPromotion.cpp | 6 +- .../Transforms/InstCombine/InstCombineCalls.cpp | 13 ++- .../Transforms/InstCombine/InstCombineCasts.cpp | 4 +- .../Transforms/InstCombine/InstCombineCompares.cpp | 7 ++ .../Transforms/InstCombine/InstCombineSelect.cpp | 9 +- .../InstCombine/InstructionCombining.cpp | 1 + .../Transforms/Instrumentation/ThreadSanitizer.cpp | 9 +- .../lib/Transforms/Scalar/DeadStoreElimination.cpp | 31 ++++- .../llvm/lib/Transforms/Scalar/SROA.cpp | 80 ++++++++----- .../llvm-project/llvm/tools/llvm-mc/llvm-mc.cpp | 5 - .../llvm/tools/llvm-objdump/llvm-objdump.cpp | 7 -- .../llvm/tools/llvm-readobj/COFFImportDumper.cpp | 6 + .../TableGen/MacroFusionPredicatorEmitter.cpp | 12 +- contrib/llvm-project/openmp/runtime/src/kmp.h | 8 +- .../openmp/runtime/src/kmp_affinity.cpp | 129 +++++++++++++++++++-- .../llvm-project/openmp/runtime/src/kmp_affinity.h | 73 +++++++++++- contrib/llvm-project/openmp/runtime/src/kmp_lock.h | 3 +- contrib/llvm-project/openmp/runtime/src/kmp_os.h | 3 +- .../openmp/runtime/src/z_Linux_util.cpp | 37 +++++- lib/clang/include/VCSVersion.inc | 6 +- lib/clang/include/clang/Basic/Version.inc | 6 +- lib/clang/include/lld/Common/Version.inc | 2 +- lib/clang/include/lldb/Version/Version.inc | 6 +- lib/clang/include/llvm/Config/config.h | 4 +- lib/clang/include/llvm/Config/llvm-config.h | 4 +- lib/clang/include/llvm/Support/VCSRevision.h | 2 +- 107 files changed, 1266 insertions(+), 431 deletions(-)
A commit in branch stable/14 references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=f0e05595a1b47554cdbfcb84f33d03b921d375de commit f0e05595a1b47554cdbfcb84f33d03b921d375de Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2024-04-07 09:23:06 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-04-20 10:03:25 +0000 Fix arm64 build after llvm 18.1.3 upgrade (take 2) Instead of compiling the whole sys/arm64/arm64/vfp.c file without -mgeneral-regs-only, which might have unwanted side effects, add ".arch_extension fp" / ".arch_extension nofp" pairs to the inline assembly. PR: 276104 Suggested by: andrew MFC after: 1 month (cherry picked from commit 61e482f2fcd53bbc7fd3d4cc8b7df79d5d57d75c) sys/arm64/arm64/vfp.c | 4 ++++ sys/conf/files.arm64 | 3 +-- 2 files changed, 5 insertions(+), 2 deletions(-)
A commit in branch stable/14 references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=24c907849352847965a34db43bb5eeec5358145c commit 24c907849352847965a34db43bb5eeec5358145c Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2024-04-07 18:21:01 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-04-20 10:03:25 +0000 libcompiler_rt Makefile.inc: don't build bfloat16 support for gcc < 13 Older versions of gcc produce "error: unknown type name '__bf16'". PR: 276104 MFC after: 1 month (cherry picked from commit 2e226748a961329471f5b51483318b94c8735f34) lib/libcompiler_rt/Makefile.inc | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-)
A commit in branch stable/14 references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=fcfb38a25f074c3677e9c672a6c4550b3430bd04 commit fcfb38a25f074c3677e9c672a6c4550b3430bd04 Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2024-04-13 08:44:26 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-04-20 10:03:26 +0000 Revert commit 925a11a5f221 from llvm-project (by Nikolas Klauser): [libc++] Simplify is_convertible GCC 13 has added __is_convertible(), so we don't need to keep the fallback implementation around. Reviewed By: #libc, Mordante Spies: Mordante, libcxx-commits Differential Revision: https://reviews.llvm.org/D157939 This should allow buildworld with gcc 12 to work again. PR: 276104 MFC after: 1 month (cherry picked from commit 2365f012951e5f0333cf31c690f668299c86b30e) .../libcxx/include/__type_traits/is_convertible.h | 79 +++++++++++++++++++++- 1 file changed, 78 insertions(+), 1 deletion(-)
A commit in branch stable/14 references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=ca40ad0cb4420c8a8a6c045f6f004ca55c96ca31 commit ca40ad0cb4420c8a8a6c045f6f004ca55c96ca31 Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2024-04-10 22:10:07 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-04-20 10:03:25 +0000 libllvm: add missed tlbgen headers and sources for BPF target Noticed by: vishwin PR: 276104 MFC after: 1 month (cherry picked from commit 442d351bd242d14b1c0bb67cd048ac022f2e82ad) lib/clang/libllvm/Makefile | 7 +++++++ 1 file changed, 7 insertions(+)
A commit in branch stable/14 references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=4b8be30b443fbe9beeb0d9264b78d9d0575ab164 commit 4b8be30b443fbe9beeb0d9264b78d9d0575ab164 Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2024-02-20 18:57:23 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-04-19 21:14:16 +0000 Merge llvm-project release/18.x llvmorg-18.1.0-rc2-53-gc7b0a6ecd442 This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvm-project release/18.x llvmorg-18.1.0-rc2-53-gc7b0a6ecd442. PR: 276104 MFC after: 1 month (cherry picked from commit 74626c16ff489c0d64cf2843dfd522e7c544f3ce) .../clang/include/clang/Basic/arm_sme.td | 28 +- .../clang/include/clang/Driver/Options.td | 12 + .../clang/lib/Basic/Targets/AArch64.cpp | 9 +- .../clang/lib/Driver/ToolChains/Arch/Sparc.cpp | 81 +++ .../clang/lib/Format/UnwrappedLineParser.cpp | 2 +- contrib/llvm-project/clang/lib/Sema/SemaExpr.cpp | 2 +- .../clang/tools/clang-format/ClangFormat.cpp | 49 +- .../compiler-rt/lib/dfsan/dfsan_custom.cpp | 203 ++----- .../compiler-rt/lib/dfsan/done_abilist.txt | 6 + .../lib/dfsan/libc_ubuntu1404_abilist.txt | 5 + .../lib/profile/InstrProfilingPlatformAIX.c | 4 +- contrib/llvm-project/libcxx/include/print | 14 +- .../libcxx/modules/CMakeLists.txt.in (new) | 88 +++ .../llvm-project/libcxx/modules/std/ostream.inc | 4 +- contrib/llvm-project/libcxx/src/print.cpp | 25 +- contrib/llvm-project/lld/COFF/Driver.cpp | 10 +- contrib/llvm-project/lld/ELF/Arch/LoongArch.cpp | 156 +++++- contrib/llvm-project/lld/ELF/Arch/RISCV.cpp | 29 +- .../llvm-project/lld/ELF/Arch/SystemZ.cpp (new) | 607 +++++++++++++++++++++ contrib/llvm-project/lld/ELF/Driver.cpp | 3 +- contrib/llvm-project/lld/ELF/InputFiles.cpp | 2 + contrib/llvm-project/lld/ELF/InputSection.cpp | 14 +- contrib/llvm-project/lld/ELF/InputSection.h | 24 +- contrib/llvm-project/lld/ELF/Relocations.cpp | 27 +- contrib/llvm-project/lld/ELF/Relocations.h | 3 + contrib/llvm-project/lld/ELF/ScriptParser.cpp | 1 + contrib/llvm-project/lld/ELF/SyntheticSections.cpp | 3 + contrib/llvm-project/lld/ELF/Target.cpp | 2 + contrib/llvm-project/lld/ELF/Target.h | 4 + contrib/llvm-project/lld/ELF/Writer.cpp | 4 +- contrib/llvm-project/lld/docs/ReleaseNotes.rst | 53 +- .../llvm/include/llvm/BinaryFormat/ELF.h | 1 + .../llvm/lib/Analysis/ValueTracking.cpp | 7 +- .../lib/CodeGen/GlobalISel/LegalizerHelper.cpp | 2 + .../llvm/lib/CodeGen/RegisterCoalescer.cpp | 27 +- .../llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp | 2 +- .../lib/Target/AArch64/AArch64ISelLowering.cpp | 11 +- .../lib/Target/AArch64/AArch64RegisterInfo.cpp | 4 + .../Target/AArch64/GISel/AArch64LegalizerInfo.cpp | 5 +- .../lib/Target/Mips/AsmParser/MipsAsmParser.cpp | 7 +- .../llvm/lib/Target/RISCV/RISCVISelLowering.cpp | 98 ++-- .../llvm/lib/Target/RISCV/RISCVInstrInfo.cpp | 3 +- .../llvm-project/llvm/lib/Target/Sparc/Sparc.td | 14 + .../llvm/lib/Target/Sparc/SparcISelLowering.cpp | 43 ++ .../llvm/lib/Target/Sparc/SparcRegisterInfo.cpp | 14 +- .../llvm/lib/Target/Sparc/SparcRegisterInfo.h | 1 + .../llvm/lib/Target/Sparc/SparcRegisterInfo.td | 4 + .../llvm/lib/Target/Sparc/SparcSubtarget.cpp | 1 + .../llvm/lib/Target/Sparc/SparcSubtarget.h | 10 + .../llvm/lib/Target/X86/X86ISelLowering.cpp | 10 +- .../llvm/lib/Transforms/IPO/LowerTypeTests.cpp | 28 +- .../lib/Transforms/Vectorize/SLPVectorizer.cpp | 14 +- contrib/llvm-project/openmp/runtime/src/kmp.h | 7 +- .../openmp/runtime/src/kmp_csupport.cpp | 5 +- .../openmp/runtime/src/kmp_gsupport.cpp | 2 +- .../llvm-project/openmp/runtime/src/kmp_lock.cpp | 6 +- contrib/llvm-project/openmp/runtime/src/kmp_lock.h | 17 +- .../openmp/runtime/src/kmp_settings.cpp | 5 + lib/clang/include/VCSVersion.inc | 6 +- lib/clang/include/lld/Common/Version.inc | 2 +- lib/clang/include/llvm/Support/VCSRevision.h | 2 +- usr.bin/clang/lld/Makefile | 1 + 62 files changed, 1481 insertions(+), 352 deletions(-)
A commit in branch stable/14 references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=471f3ba460906d3bca33d0bff87d0e73a9f93e9c commit 471f3ba460906d3bca33d0bff87d0e73a9f93e9c Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2024-03-10 12:37:50 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-04-19 21:14:17 +0000 Merge llvm-project release/18.x llvmorg-18.1.1-0-gdba2a75e9c7e This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvm-project release/18.x llvmorg-18.1.1-0-gdba2a75e9c7e. PR: 276104 MFC after: 1 month (cherry picked from commit 4c2d3b022a1d543dbbff75a0c53e8d3d7242216d) .../llvm-project/clang/include/clang/Sema/Sema.h | 4 +- .../clang/lib/Basic/Targets/AArch64.cpp | 1 - .../llvm-project/clang/lib/Basic/Targets/Mips.h | 4 +- .../llvm-project/clang/lib/CodeGen/CodeGenPGO.cpp | 11 +- contrib/llvm-project/clang/lib/Sema/SemaExpr.cpp | 4 +- contrib/llvm-project/libcxx/include/csetjmp | 8 +- .../llvm/include/llvm/ADT/iterator_range.h | 4 +- .../llvm/include/llvm/IR/Attributes.td | 28 +- .../llvm/TargetParser/AArch64TargetParser.h | 8 +- contrib/llvm-project/llvm/lib/Analysis/Loads.cpp | 6 +- contrib/llvm-project/llvm/lib/IR/Attributes.cpp | 5 + .../llvm/lib/Target/AArch64/AArch64.td | 27 + .../llvm/lib/Target/AArch64/AArch64SchedA53.td | 2 +- .../llvm/lib/Target/AArch64/AArch64SchedA57.td | 2 +- .../llvm/lib/Target/AArch64/AArch64SchedA64FX.td | 3 +- .../Target/AArch64/AArch64SchedAmpere1B.td (new) | 1149 ++++++++++++++++++++ .../llvm/lib/Target/AArch64/AArch64SchedCyclone.td | 2 +- .../lib/Target/AArch64/AArch64SchedExynosM3.td | 2 +- .../lib/Target/AArch64/AArch64SchedExynosM4.td | 2 +- .../lib/Target/AArch64/AArch64SchedExynosM5.td | 2 +- .../llvm/lib/Target/AArch64/AArch64SchedFalkor.td | 2 +- .../llvm/lib/Target/AArch64/AArch64SchedKryo.td | 2 +- .../lib/Target/AArch64/AArch64SchedNeoverseN1.td | 2 +- .../lib/Target/AArch64/AArch64SchedNeoverseN2.td | 2 +- .../lib/Target/AArch64/AArch64SchedNeoverseV1.td | 3 +- .../lib/Target/AArch64/AArch64SchedNeoverseV2.td | 3 +- .../llvm/lib/Target/AArch64/AArch64SchedTSV110.td | 2 +- .../lib/Target/AArch64/AArch64SchedThunderX.td | 2 +- .../lib/Target/AArch64/AArch64SchedThunderX2T99.td | 2 +- .../Target/AArch64/AArch64SchedThunderX3T110.td | 2 +- .../llvm/lib/Target/AArch64/AArch64Subtarget.cpp | 1 + .../llvm/lib/Target/AArch64/AArch64Subtarget.h | 1 + .../lib/Target/Mips/AsmParser/MipsAsmParser.cpp | 78 +- .../llvm/lib/Target/Mips/MipsISelLowering.cpp | 10 +- .../lib/Target/SystemZ/SystemZISelLowering.cpp | 5 +- .../llvm-project/llvm/lib/TargetParser/Host.cpp | 1 + .../llvm/lib/Transforms/Utils/FlattenCFG.cpp | 14 +- .../llvm/lib/Transforms/Utils/Local.cpp | 8 +- .../llvm/tools/llvm-cov/SourceCoverageView.cpp | 2 +- .../llvm/tools/llvm-cov/SourceCoverageViewHTML.cpp | 9 +- .../llvm/tools/llvm-cov/SourceCoverageViewText.cpp | 3 +- .../llvm/tools/llvm-readobj/ObjDumper.cpp | 26 +- .../llvm/tools/llvm-readobj/ObjDumper.h | 4 +- .../llvm-project/llvm/tools/llvm-readobj/Opts.td | 2 + .../llvm/tools/llvm-readobj/llvm-readobj.cpp | 6 +- .../llvm/utils/TableGen/Attributes.cpp | 6 +- lib/clang/include/VCSVersion.inc | 6 +- lib/clang/include/clang/Basic/Version.inc | 6 +- lib/clang/include/lld/Common/Version.inc | 2 +- lib/clang/include/lldb/Version/Version.inc | 6 +- lib/clang/include/llvm/Config/config.h | 4 +- lib/clang/include/llvm/Config/llvm-config.h | 4 +- lib/clang/include/llvm/Support/VCSRevision.h | 2 +- lib/clang/liblldb/LLDBWrapLua.cpp | 162 +-- 54 files changed, 1501 insertions(+), 163 deletions(-)
A commit in branch stable/14 references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=ab1bf989a94495472d91845e83b725d7c20aef5e commit ab1bf989a94495472d91845e83b725d7c20aef5e Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2024-03-19 13:07:27 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-04-19 21:14:17 +0000 Revert commit 6255157d24e2 from llvm-project (by Dimitry Andric): [libc++] Re-enable std::pair trivial copy constructor for FreeBSD >= 14 After many years of using the really old std::pair ABI which did not yet have a trivial copy constructor, FreeBSD 14 and later will finally get rid of it. Only use the old ABI for FreeBSD 13 and earlier. Note: on the FreeBSD side, we will bump our libc++.so version for this, and keep an old compatibility library in a separate package. Differential Revision: https://reviews.llvm.org/D126462 This ABI change can cause crashes when binaries compiled against older libc++ versions are run against binaries compiled against this libc++ version. For example, lang/ldc uses a precompiled bootstrap ldc2 binary that was compiled against the old libc++, but also links against libLLVM-15.so. If libLLVM-15.so is compiled against the new libc++ version, the ABI mismatch results in segfaults or even stack overflows. Note: we can only re-enable the std::pair trivial copy constructors again when the official libc++ ABI version is bumped to 2. PR: 276104 MFC after: 1 month (cherry picked from commit ce4f1f49e036fd806b534decfe38020dae32a384) contrib/llvm-project/libcxx/include/__config | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
A commit in branch stable/14 references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=16bdd01787d1fad424b774b6d36ce17817143ff4 commit 16bdd01787d1fad424b774b6d36ce17817143ff4 Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2024-03-21 20:50:26 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-04-19 21:14:17 +0000 Merge commit f5f3d5d6534f from llvm-project (by Qizhi Hu): [Clang][Sema] Fix a crash in lambda instantiation (#85565) Fix https://github.com/llvm/llvm-project/issues/85343 When build lambda expression in lambda instantiation, `ThisType` is required in `Sema::CheckCXXThisCapture` to build `this` capture. Set `this` type by import `Sema::CXXThisScopeRAII` and it will be used later in lambda expression transformation. Co-authored-by: huqizhi <836744285@qq.com> This fixes 'Assertion failed: (!isNull() && "Cannot retrieve a NULL type pointer"), function getCommonPtr" when building the x11-wm/wayfire port. PR: 276104 MFC after: 1 month (cherry picked from commit 49a6e426df84eff1ae54905a02f66910a6a177d3) contrib/llvm-project/clang/lib/Sema/TreeTransform.h | 10 ++++++++++ 1 file changed, 10 insertions(+)
A commit in branch stable/14 references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=8e3e0a4774e1407ee08eb12b2690fc9b3977a32e commit 8e3e0a4774e1407ee08eb12b2690fc9b3977a32e Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2024-02-21 10:24:23 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-04-19 21:14:16 +0000 Merge llvm-project release/18.x llvmorg-18.1.0-rc3-0-g6c90f8dd5463 This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvm-project release/18.x llvmorg-18.1.0-rc3-0-g6c90f8dd5463. PR: 276104 MFC after: 1 month (cherry picked from commit 56727255ad47072ec2cc81b4ae728a099697b0e4) .../clang/lib/Serialization/ASTReaderDecl.cpp | 10 +- .../clang/lib/Serialization/ASTWriter.cpp | 6 +- .../clang/lib/Serialization/ASTWriterDecl.cpp | 15 +- .../compiler-rt/lib/profile/InstrProfilingFile.c | 3 + .../llvm/include/llvm/Analysis/ScalarEvolution.h | 7 + .../llvm/lib/Analysis/ScalarEvolution.cpp | 62 ++++ .../llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp | 37 +- .../InstCombine/InstructionCombining.cpp | 6 +- .../Transforms/Utils/ScalarEvolutionExpander.cpp | 57 +-- .../llvm/lib/Transforms/Utils/SimplifyIndVar.cpp | 18 +- .../llvm/tools/llvm-objcopy/ObjcopyOptions.cpp | 2 + .../llvm/tools/llvm-objdump/ELFDump.cpp | 3 + .../llvm/tools/llvm-readobj/ELFDumper.cpp | 1 + .../openmp/runtime/src/z_AIX_asm.S (new) | 410 +++++++++++++++++++++ lib/clang/include/VCSVersion.inc | 6 +- lib/clang/include/lld/Common/Version.inc | 2 +- lib/clang/include/llvm/Support/VCSRevision.h | 2 +- 17 files changed, 558 insertions(+), 89 deletions(-)
A commit in branch stable/14 references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=3f37aa84be749be0963b388a02cdc58b4f1c7246 commit 3f37aa84be749be0963b388a02cdc58b4f1c7246 Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2024-01-26 15:03:20 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-04-19 21:14:14 +0000 Tentatively apply https://github.com/libcxxrt/libcxxrt/pull/27 This marks __cxa_allocate_exception, __cxa_free_exception and __cxa_init_primary_exception noexcept, to ensure compatibility with libc++'s declarations. PR: 276104 MFC after: 1 month (cherry picked from commit 3fb2e045791eb6f003205902cdc4f74702770ec6) contrib/libcxxrt/cxxabi.h | 6 +++--- contrib/libcxxrt/exception.cc | 8 ++++---- 2 files changed, 7 insertions(+), 7 deletions(-)
A commit in branch stable/14 references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=905954429d1f6ccebb287379b66e1b58051be889 commit 905954429d1f6ccebb287379b66e1b58051be889 Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2024-02-05 11:41:51 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-04-19 21:14:15 +0000 [libc++] Rename __bit_reference template parameter to avoid conflict As of 4d20cfcf4eb08217ed37c4d4c38dc395d7a66d26, `__bit_reference` contains a template `__fill_n` with a bool `_FillValue` parameter. Unfortunately there is a relatively widely used piece of scientific software called NetCDF, which exposes a (C) macro `_FillValue` in its public headers. When building the NetCDF C++ bindings, this quickly leads to compilation errors when the macro interferes with the template in `__bit_reference`. Rename the parameter to `_FillVal` to avoid the conflict. PR: 276104 MFC after: 1 month (cherry picked from commit 868ee3f2855615016ba87c14b9444c18a2e1ba30) contrib/llvm-project/libcxx/include/__bit_reference | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-)
A commit in branch stable/14 references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=f8981b8ce216ab440cfb6497f5a672519e0b5880 commit f8981b8ce216ab440cfb6497f5a672519e0b5880 Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2024-01-28 20:34:42 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-04-19 21:14:15 +0000 Merge commit 6e4930c67508 from llvm-project (by Alexander Kornienko): Revert "[SemaCXX] Implement CWG2137 (list-initialization from objects of the same type) (#77768)" This reverts commit 924701311aa79180e86ad8ce43d253f27d25ec7d. Causes compilation errors on valid code, see https://github.com/llvm/llvm-project/pull/77768#issuecomment-1908062472. In particular, this fixes bogus "call to constructor of 'SomeType' is ambiguous" errors. PR: 276104 MFC after: 1 month (cherry picked from commit ddbac700c256bec42c441b75a5cb5f74e9be601f) contrib/llvm-project/clang/lib/Sema/SemaInit.cpp | 40 ++++++---------------- .../llvm-project/clang/lib/Sema/SemaOverload.cpp | 38 ++++++-------------- 2 files changed, 20 insertions(+), 58 deletions(-)
A commit in branch stable/14 references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=3f2e8ce1cfdd2f41cd69da9166d3ecb0d299ad4d commit 3f2e8ce1cfdd2f41cd69da9166d3ecb0d299ad4d Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2024-01-26 15:04:14 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-04-19 21:14:14 +0000 Merge llvm-project release/18.x llvmorg-18-init-18361-g22683463740e This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvm-project release/18.x llvmorg-18-init-18361-g22683463740e. PR: 276104 MFC after: 1 month (cherry picked from commit 878ed4957e077721efaf90ab5b70dce86dc94f4b) contrib/llvm-project/libcxx/include/__config | 2 +- lib/clang/include/VCSVersion.inc | 6 +++--- lib/clang/include/clang/Basic/Version.inc | 6 +++--- lib/clang/include/lld/Common/Version.inc | 2 +- lib/clang/include/lldb/Version/Version.inc | 6 +++--- lib/clang/include/llvm/Config/config.h | 4 ++-- lib/clang/include/llvm/Config/llvm-config.h | 4 ++-- lib/clang/include/llvm/Support/VCSRevision.h | 2 +- 8 files changed, 16 insertions(+), 16 deletions(-)
A commit in branch stable/14 references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=b9d9368bac6cf937f457507e98e875e56b1dd077 commit b9d9368bac6cf937f457507e98e875e56b1dd077 Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2024-02-07 14:58:02 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-04-19 21:14:15 +0000 Merge llvm-project release/18.x llvmorg-18.1.0-rc2-0-gc6c86965d967 This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvm-project release/18.x llvmorg-18.1.0-rc2-0-gc6c86965d967. PR: 276104 MFC after: 1 month (cherry picked from commit b3edf4467982447620505a28fc82e38a414c07dc) .../llvm-project/clang/include/clang/AST/Type.h | 3 + .../clang/include/clang/Basic/AttrDocs.td | 5 +- .../clang/include/clang/Basic/BuiltinsAMDGPU.def | 62 +++ .../clang/include/clang/Basic/CodeGenOptions.def | 3 + .../include/clang/Basic/DiagnosticCommonKinds.td | 2 +- .../clang/include/clang/Basic/DiagnosticDocs.td | 9 + .../include/clang/Basic/DiagnosticSemaKinds.td | 6 + .../clang/include/clang/Basic/LangOptions.def | 1 + .../clang/include/clang/Driver/Options.td | 13 + .../clang/include/clang/Format/Format.h | 43 +- .../clang/include/clang/Lex/Preprocessor.h | 11 +- .../llvm-project/clang/include/clang/Sema/Lookup.h | 3 +- .../clang/include/clang/Serialization/ASTReader.h | 6 + contrib/llvm-project/clang/lib/AST/ASTContext.cpp | 20 +- .../llvm-project/clang/lib/AST/ExprConstant.cpp | 9 +- .../llvm-project/clang/lib/AST/ItaniumMangle.cpp | 25 +- .../llvm-project/clang/lib/AST/JSONNodeDumper.cpp | 3 + contrib/llvm-project/clang/lib/AST/ODRHash.cpp | 49 +- .../llvm-project/clang/lib/AST/TemplateBase.cpp | 3 +- .../llvm-project/clang/lib/AST/TextNodeDumper.cpp | 3 + contrib/llvm-project/clang/lib/AST/Type.cpp | 15 +- contrib/llvm-project/clang/lib/AST/TypePrinter.cpp | 2 + .../clang/lib/Basic/Targets/AArch64.cpp | 23 + .../llvm-project/clang/lib/Basic/Targets/AArch64.h | 1 + .../llvm-project/clang/lib/CodeGen/BackendUtil.cpp | 1 + .../llvm-project/clang/lib/CodeGen/CGBuiltin.cpp | 177 +++++++- contrib/llvm-project/clang/lib/CodeGen/CGExpr.cpp | 17 +- .../clang/lib/CodeGen/CoverageMappingGen.cpp | 6 +- .../clang/lib/CodeGen/Targets/RISCV.cpp | 21 +- contrib/llvm-project/clang/lib/Driver/Driver.cpp | 6 +- .../clang/lib/Driver/ToolChains/Clang.cpp | 15 + .../clang/lib/Driver/ToolChains/CommonArgs.cpp | 52 +++ .../clang/lib/Driver/ToolChains/CommonArgs.h | 3 + contrib/llvm-project/clang/lib/Format/Format.cpp | 23 +- .../clang/lib/Format/TokenAnnotator.cpp | 11 +- .../llvm-project/clang/lib/Lex/PPDirectives.cpp | 2 +- .../llvm-project/clang/lib/Lex/PPExpressions.cpp | 4 +- .../llvm-project/clang/lib/Sema/SemaChecking.cpp | 55 ++- .../llvm-project/clang/lib/Sema/SemaConcept.cpp | 8 +- contrib/llvm-project/clang/lib/Sema/SemaDecl.cpp | 3 +- contrib/llvm-project/clang/lib/Sema/SemaExpr.cpp | 6 +- .../llvm-project/clang/lib/Sema/SemaOverload.cpp | 44 +- .../llvm-project/clang/lib/Sema/SemaTemplate.cpp | 44 +- contrib/llvm-project/clang/lib/Sema/SemaType.cpp | 21 +- .../clang/lib/Serialization/ASTReader.cpp | 3 + .../clang/lib/Serialization/ASTReaderDecl.cpp | 38 +- .../clang/lib/Serialization/ASTWriter.cpp | 8 +- .../clang/lib/Serialization/ASTWriterDecl.cpp | 13 +- .../clang/lib/StaticAnalyzer/Core/Environment.cpp | 8 +- .../compiler-rt/lib/builtins/i386/chkstk.S | 2 - .../compiler-rt/lib/builtins/x86_64/chkstk.S | 2 - .../lib/profile/InstrProfilingPlatformWindows.c | 2 +- .../sanitizer_symbolizer_report.cpp | 4 +- .../libcxx/include/__algorithm/copy_move_common.h | 5 + .../libcxx/include/__algorithm/equal.h | 5 + .../libcxx/include/__algorithm/equal_range.h | 5 + .../llvm-project/libcxx/include/__algorithm/fold.h | 5 + .../libcxx/include/__algorithm/in_found_result.h | 5 + .../libcxx/include/__algorithm/in_fun_result.h | 5 + .../libcxx/include/__algorithm/in_in_out_result.h | 5 + .../libcxx/include/__algorithm/in_in_result.h | 5 + .../libcxx/include/__algorithm/in_out_out_result.h | 5 + .../libcxx/include/__algorithm/includes.h | 5 + .../libcxx/include/__algorithm/next_permutation.h | 5 + .../libcxx/include/__algorithm/nth_element.h | 5 + .../libcxx/include/__algorithm/partial_sort.h | 5 + .../libcxx/include/__algorithm/partial_sort_copy.h | 5 + .../libcxx/include/__algorithm/partition.h | 5 + .../libcxx/include/__algorithm/prev_permutation.h | 5 + .../include/__algorithm/pstl_any_all_none_of.h | 5 + .../pstl_backends/cpu_backends/transform_reduce.h | 5 + .../libcxx/include/__algorithm/pstl_copy.h | 5 + .../libcxx/include/__algorithm/pstl_count.h | 5 + .../libcxx/include/__algorithm/pstl_equal.h | 5 + .../libcxx/include/__algorithm/pstl_fill.h | 5 + .../libcxx/include/__algorithm/pstl_find.h | 5 + .../libcxx/include/__algorithm/pstl_for_each.h | 5 + .../libcxx/include/__algorithm/pstl_generate.h | 5 + .../include/__algorithm/pstl_is_partitioned.h | 5 + .../libcxx/include/__algorithm/pstl_merge.h | 5 + .../libcxx/include/__algorithm/pstl_move.h | 5 + .../libcxx/include/__algorithm/pstl_replace.h | 5 + .../libcxx/include/__algorithm/pstl_rotate_copy.h | 5 + .../libcxx/include/__algorithm/pstl_sort.h | 5 + .../libcxx/include/__algorithm/pstl_stable_sort.h | 5 + .../libcxx/include/__algorithm/pstl_transform.h | 5 + .../libcxx/include/__algorithm/ranges_all_of.h | 5 + .../libcxx/include/__algorithm/ranges_any_of.h | 5 + .../include/__algorithm/ranges_binary_search.h | 5 + .../libcxx/include/__algorithm/ranges_clamp.h | 5 + .../libcxx/include/__algorithm/ranges_contains.h | 5 + .../libcxx/include/__algorithm/ranges_copy.h | 5 + .../include/__algorithm/ranges_copy_backward.h | 5 + .../libcxx/include/__algorithm/ranges_copy_if.h | 5 + .../libcxx/include/__algorithm/ranges_copy_n.h | 5 + .../libcxx/include/__algorithm/ranges_count.h | 5 + .../libcxx/include/__algorithm/ranges_count_if.h | 5 + .../libcxx/include/__algorithm/ranges_ends_with.h | 5 + .../libcxx/include/__algorithm/ranges_equal.h | 5 + .../include/__algorithm/ranges_equal_range.h | 5 + .../libcxx/include/__algorithm/ranges_fill.h | 5 + .../libcxx/include/__algorithm/ranges_fill_n.h | 5 + .../libcxx/include/__algorithm/ranges_find.h | 5 + .../libcxx/include/__algorithm/ranges_find_end.h | 5 + .../include/__algorithm/ranges_find_first_of.h | 5 + .../libcxx/include/__algorithm/ranges_find_if.h | 5 + .../include/__algorithm/ranges_find_if_not.h | 5 + .../libcxx/include/__algorithm/ranges_for_each.h | 5 + .../libcxx/include/__algorithm/ranges_for_each_n.h | 5 + .../libcxx/include/__algorithm/ranges_generate.h | 5 + .../libcxx/include/__algorithm/ranges_generate_n.h | 5 + .../libcxx/include/__algorithm/ranges_includes.h | 5 + .../include/__algorithm/ranges_inplace_merge.h | 5 + .../libcxx/include/__algorithm/ranges_is_heap.h | 5 + .../include/__algorithm/ranges_is_heap_until.h | 5 + .../include/__algorithm/ranges_is_partitioned.h | 5 + .../include/__algorithm/ranges_is_permutation.h | 5 + .../libcxx/include/__algorithm/ranges_is_sorted.h | 5 + .../include/__algorithm/ranges_is_sorted_until.h | 5 + .../include/__algorithm/ranges_iterator_concept.h | 5 + .../__algorithm/ranges_lexicographical_compare.h | 5 + .../include/__algorithm/ranges_lower_bound.h | 5 + .../libcxx/include/__algorithm/ranges_make_heap.h | 5 + .../include/__algorithm/ranges_max_element.h | 5 + .../libcxx/include/__algorithm/ranges_merge.h | 5 + .../include/__algorithm/ranges_min_element.h | 5 + .../include/__algorithm/ranges_minmax_element.h | 5 + .../libcxx/include/__algorithm/ranges_mismatch.h | 5 + .../libcxx/include/__algorithm/ranges_move.h | 5 + .../include/__algorithm/ranges_move_backward.h | 5 + .../include/__algorithm/ranges_next_permutation.h | 5 + .../libcxx/include/__algorithm/ranges_none_of.h | 5 + .../include/__algorithm/ranges_nth_element.h | 5 + .../include/__algorithm/ranges_partial_sort.h | 5 + .../include/__algorithm/ranges_partial_sort_copy.h | 5 + .../libcxx/include/__algorithm/ranges_partition.h | 5 + .../include/__algorithm/ranges_partition_copy.h | 5 + .../include/__algorithm/ranges_partition_point.h | 5 + .../libcxx/include/__algorithm/ranges_pop_heap.h | 5 + .../include/__algorithm/ranges_prev_permutation.h | 5 + .../libcxx/include/__algorithm/ranges_push_heap.h | 5 + .../libcxx/include/__algorithm/ranges_remove.h | 5 + .../include/__algorithm/ranges_remove_copy.h | 5 + .../include/__algorithm/ranges_remove_copy_if.h | 5 + .../libcxx/include/__algorithm/ranges_remove_if.h | 5 + .../libcxx/include/__algorithm/ranges_replace.h | 5 + .../include/__algorithm/ranges_replace_copy.h | 5 + .../include/__algorithm/ranges_replace_copy_if.h | 5 + .../libcxx/include/__algorithm/ranges_replace_if.h | 5 + .../include/__algorithm/ranges_reverse_copy.h | 5 + .../libcxx/include/__algorithm/ranges_rotate.h | 5 + .../include/__algorithm/ranges_rotate_copy.h | 5 + .../libcxx/include/__algorithm/ranges_sample.h | 5 + .../libcxx/include/__algorithm/ranges_search_n.h | 5 + .../include/__algorithm/ranges_set_difference.h | 6 + .../include/__algorithm/ranges_set_intersection.h | 6 + .../__algorithm/ranges_set_symmetric_difference.h | 6 + .../libcxx/include/__algorithm/ranges_set_union.h | 5 + .../libcxx/include/__algorithm/ranges_shuffle.h | 5 + .../libcxx/include/__algorithm/ranges_sort.h | 5 + .../libcxx/include/__algorithm/ranges_sort_heap.h | 5 + .../include/__algorithm/ranges_stable_partition.h | 5 + .../include/__algorithm/ranges_stable_sort.h | 5 + .../include/__algorithm/ranges_starts_with.h | 5 + .../include/__algorithm/ranges_swap_ranges.h | 5 + .../libcxx/include/__algorithm/ranges_transform.h | 5 + .../libcxx/include/__algorithm/ranges_unique.h | 5 + .../include/__algorithm/ranges_unique_copy.h | 5 + .../libcxx/include/__algorithm/remove.h | 5 + .../libcxx/include/__algorithm/remove_if.h | 5 + .../libcxx/include/__algorithm/reverse.h | 5 + .../libcxx/include/__algorithm/rotate.h | 5 + .../libcxx/include/__algorithm/set_difference.h | 5 + .../libcxx/include/__algorithm/set_intersection.h | 5 + .../include/__algorithm/set_symmetric_difference.h | 5 + .../libcxx/include/__algorithm/set_union.h | 5 + .../libcxx/include/__algorithm/shift_left.h | 5 + .../libcxx/include/__algorithm/shift_right.h | 5 + .../llvm-project/libcxx/include/__algorithm/sort.h | 5 + .../libcxx/include/__algorithm/sort_heap.h | 5 + .../libcxx/include/__algorithm/stable_partition.h | 5 + .../libcxx/include/__algorithm/stable_sort.h | 5 + .../libcxx/include/__algorithm/swap_ranges.h | 5 + .../libcxx/include/__algorithm/unique.h | 5 + .../libcxx/include/__algorithm/unique_copy.h | 5 + .../libcxx/include/__algorithm/unwrap_iter.h | 2 +- .../libcxx/include/__algorithm/unwrap_range.h | 5 + contrib/llvm-project/libcxx/include/__config | 9 +- .../include/__filesystem/directory_iterator.h | 5 + .../libcxx/include/__filesystem/path.h | 5 + .../__filesystem/recursive_directory_iterator.h | 5 + .../libcxx/include/__format/format_arg.h | 5 + .../libcxx/include/__format/format_context.h | 5 + .../libcxx/include/__format/format_functions.h | 5 + .../libcxx/include/__format/formatter_output.h | 5 + .../libcxx/include/__format/write_escaped.h | 5 + .../libcxx/include/__functional/function.h | 5 + .../include/__iterator/cpp17_iterator_concepts.h | 5 + .../libcxx/include/__iterator/iterator_with_data.h | 5 + .../__memory/ranges_uninitialized_algorithms.h | 5 + .../libcxx/include/__memory/raw_storage_iterator.h | 5 + .../libcxx/include/__memory/shared_ptr.h | 5 + .../include/__memory/uninitialized_algorithms.h | 5 + .../libcxx/include/__mutex/once_flag.h | 5 + .../libcxx/include/__numeric/pstl_reduce.h | 5 + .../include/__numeric/pstl_transform_reduce.h | 5 + .../llvm-project/libcxx/include/__numeric/reduce.h | 5 + .../include/__numeric/saturation_arithmetic.h | 5 + .../libcxx/include/__numeric/transform_reduce.h | 5 + .../llvm-project/libcxx/include/__ranges/counted.h | 5 + .../libcxx/include/__ranges/drop_while_view.h | 5 + .../libcxx/include/__ranges/elements_view.h | 5 + .../libcxx/include/__ranges/filter_view.h | 5 + .../libcxx/include/__ranges/iota_view.h | 5 + .../libcxx/include/__ranges/join_view.h | 5 + .../libcxx/include/__ranges/lazy_split_view.h | 5 + .../libcxx/include/__ranges/repeat_view.h | 5 + .../libcxx/include/__ranges/reverse_view.h | 5 + .../libcxx/include/__ranges/single_view.h | 5 + .../libcxx/include/__ranges/split_view.h | 5 + .../libcxx/include/__ranges/take_while_view.h | 5 + .../libcxx/include/__ranges/transform_view.h | 5 + .../llvm-project/libcxx/include/__thread/jthread.h | 5 + .../llvm-project/libcxx/include/__thread/thread.h | 5 + contrib/llvm-project/libcxx/include/array | 5 + .../llvm-project/libcxx/include/condition_variable | 5 + .../libcxx/include/experimental/iterator | 5 + contrib/llvm-project/libcxx/include/future | 5 + contrib/llvm-project/libcxx/include/ios | 5 + contrib/llvm-project/libcxx/include/map | 5 + contrib/llvm-project/libcxx/include/ostream | 5 + contrib/llvm-project/libcxx/include/queue | 5 + contrib/llvm-project/libcxx/include/set | 5 + contrib/llvm-project/libcxx/include/stack | 5 + contrib/llvm-project/libcxx/include/string | 7 +- contrib/llvm-project/libcxx/include/strstream | 5 + contrib/llvm-project/libcxx/include/unordered_map | 5 + contrib/llvm-project/libcxx/include/unordered_set | 5 + contrib/llvm-project/libcxx/include/version | 14 +- contrib/llvm-project/libcxx/modules/std/atomic.inc | 2 + contrib/llvm-project/libcxx/modules/std/iosfwd.inc | 2 + contrib/llvm-project/libcxx/modules/std/string.inc | 4 + .../libcxx/modules/std/string_view.inc | 2 + contrib/llvm-project/lld/ELF/Arch/RISCV.cpp | 199 ++++++-- contrib/llvm-project/lld/ELF/InputFiles.cpp | 7 +- contrib/llvm-project/lld/ELF/InputSection.cpp | 13 +- contrib/llvm-project/lld/ELF/Relocations.cpp | 50 ++- contrib/llvm-project/lld/ELF/Writer.cpp | 12 +- contrib/llvm-project/lld/docs/ReleaseNotes.rst | 62 +++ .../llvm/include/llvm/Analysis/AliasAnalysis.h | 7 + .../include/llvm/Analysis/BasicAliasAnalysis.h | 14 +- .../include/llvm/Analysis/BranchProbabilityInfo.h | 13 +- .../llvm/include/llvm/Analysis/Loads.h | 12 +- .../llvm/include/llvm/Analysis/VecFuncs.def | 18 +- .../llvm/include/llvm/CodeGen/LivePhysRegs.h | 11 +- .../llvm/include/llvm/CodeGen/MachineBasicBlock.h | 6 + .../llvm/include/llvm/IR/IntrinsicsAMDGPU.td | 119 +++-- .../llvm/include/llvm/Support/X86FoldTablesUtils.h | 11 +- .../include/llvm/Target/TargetInstrPredicate.td | 34 ++ .../llvm/TargetParser/AArch64TargetParser.h | 3 +- .../llvm/include/llvm/TargetParser/Triple.h | 6 +- .../llvm/lib/Analysis/BasicAliasAnalysis.cpp | 6 +- contrib/llvm-project/llvm/lib/Analysis/Lint.cpp | 3 +- contrib/llvm-project/llvm/lib/Analysis/Loads.cpp | 9 +- .../llvm/lib/Analysis/LoopAccessAnalysis.cpp | 53 ++- .../llvm/lib/Analysis/MemorySSAUpdater.cpp | 22 +- .../llvm/lib/CodeGen/BranchFolding.cpp | 6 +- .../lib/ProfileData/Coverage/CoverageMapping.cpp | 240 ++++++++-- .../ProfileData/Coverage/CoverageMappingWriter.cpp | 10 +- .../llvm-project/llvm/lib/Support/RISCVISAInfo.cpp | 3 +- .../Target/AArch64/AArch64ExpandPseudoInsts.cpp | 6 + .../lib/Target/AArch64/AArch64FrameLowering.cpp | 6 +- .../lib/Target/AArch64/AArch64ISelLowering.cpp | 28 +- .../llvm/lib/Target/AArch64/AArch64ISelLowering.h | 4 +- .../llvm/lib/Target/AArch64/AArch64InstrInfo.cpp | 20 +- .../llvm/lib/Target/AArch64/AArch64InstrInfo.h | 3 - .../Target/AArch64/AArch64LoadStoreOptimizer.cpp | 229 ---------- .../lib/Target/AArch64/AArch64RegisterInfo.cpp | 35 ++ .../llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td | 22 + .../Target/AArch64/AArch64TargetTransformInfo.cpp | 17 +- .../llvm-project/llvm/lib/Target/AMDGPU/AMDGPU.td | 1 + .../llvm/lib/Target/AMDGPU/AMDGPUGISel.td | 24 + .../llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp | 330 ++++++++++++++ .../llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.h | 10 + .../llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp | 1 + .../Target/AMDGPU/AMDGPUInstructionSelector.cpp | 213 +++++++++ .../lib/Target/AMDGPU/AMDGPUInstructionSelector.h | 13 + .../llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp | 79 +++- .../llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.h | 1 + .../llvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp | 16 +- .../lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp | 16 + .../lib/Target/AMDGPU/AMDGPUSearchableTables.td | 16 + .../Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp | 142 +++++- .../AMDGPU/Disassembler/AMDGPUDisassembler.cpp | 34 ++ .../llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp | 19 +- .../AMDGPU/MCTargetDesc/AMDGPUInstPrinter.cpp | 47 ++ .../Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.h | 4 + .../llvm/lib/Target/AMDGPU/SIDefines.h | 3 + .../llvm/lib/Target/AMDGPU/SIFoldOperands.cpp | 1 + .../llvm/lib/Target/AMDGPU/SIISelLowering.cpp | 111 ++++- .../llvm/lib/Target/AMDGPU/SIISelLowering.h | 1 + .../llvm/lib/Target/AMDGPU/SIInstrFormats.td | 5 + .../llvm/lib/Target/AMDGPU/SIInstrInfo.h | 8 + .../llvm/lib/Target/AMDGPU/SIInstrInfo.td | 18 +- .../llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.h | 32 +- .../llvm/lib/Target/AMDGPU/SIRegisterInfo.td | 5 + .../lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp | 11 + .../llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h | 3 + .../llvm/lib/Target/AMDGPU/VOP1Instructions.td | 93 +++- .../llvm/lib/Target/AMDGPU/VOP3Instructions.td | 53 ++- .../llvm/lib/Target/AMDGPU/VOP3PInstructions.td | 500 ++++++++++++++++++++- .../llvm/lib/Target/AMDGPU/VOPInstructions.td | 32 +- .../llvm/lib/Target/ARM/ARMLowOverheadLoops.cpp | 13 +- .../LoongArch/LoongArchTargetTransformInfo.cpp | 11 +- .../llvm/lib/Target/Mips/MipsAsmPrinter.cpp | 39 -- .../llvm/lib/Target/Mips/MipsAsmPrinter.h | 2 - .../Target/PowerPC/PPCExpandAtomicPseudoInsts.cpp | 14 +- .../llvm/lib/Target/PowerPC/PPCFrameLowering.cpp | 13 +- .../llvm-project/llvm/lib/Target/RISCV/RISCV.td | 6 + .../llvm/lib/Target/RISCV/RISCVFeatures.td | 26 +- .../llvm/lib/Target/RISCV/RISCVISelLowering.cpp | 2 +- .../llvm/lib/Target/RISCV/RISCVInstrInfoZicond.td | 2 - .../lib/Target/RISCV/RISCVMacroFusion.cpp (gone) | 210 --------- .../lib/Target/RISCV/RISCVMacroFusion.h (gone) | 28 -- .../lib/Target/RISCV/RISCVMacroFusion.td (new) | 93 ++++ .../llvm/lib/Target/RISCV/RISCVSubtarget.cpp | 8 +- .../llvm/lib/Target/RISCV/RISCVSubtarget.h | 8 +- .../llvm/lib/Target/RISCV/RISCVTargetMachine.cpp | 13 +- .../lib/Target/SystemZ/SystemZFrameLowering.cpp | 12 +- .../llvm/lib/Target/X86/X86AsmPrinter.cpp | 1 - .../llvm/lib/Target/X86/X86FrameLowering.cpp | 15 +- .../llvm/lib/Target/X86/X86InstrAVX512.td | 2 +- .../llvm/lib/Target/X86/X86InstrFoldTables.cpp | 11 +- .../llvm/lib/Target/X86/X86InstrInfo.cpp | 35 +- .../llvm/lib/TargetParser/TargetParser.cpp | 1 + .../InstCombine/InstCombineLoadStoreAlloca.cpp | 3 +- .../InstCombine/InstCombineSimplifyDemanded.cpp | 3 + .../Transforms/Scalar/ConstraintElimination.cpp | 7 +- .../llvm/lib/Transforms/Scalar/JumpThreading.cpp | 13 +- .../lib/Transforms/Vectorize/LoopVectorize.cpp | 62 ++- .../llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp | 12 +- .../llvm/utils/TableGen/DAGISelMatcherEmitter.cpp | 3 +- .../llvm/utils/TableGen/PredicateExpander.cpp | 34 ++ .../llvm/utils/TableGen/PredicateExpander.h | 4 + .../llvm/utils/TableGen/X86FoldTablesEmitter.cpp | 58 +-- 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 | 3 +- usr.bin/clang/clang/clang-driver.cpp | 2 + usr.bin/clang/lld/lld-driver.cpp | 2 + usr.bin/clang/llvm-ar/llvm-ar-driver.cpp | 2 + usr.bin/clang/llvm-cxxfilt/llvm-cxxfilt-driver.cpp | 2 + usr.bin/clang/llvm-dwp/llvm-dwp-driver.cpp | 2 + usr.bin/clang/llvm-nm/llvm-nm-driver.cpp | 2 + usr.bin/clang/llvm-objcopy/llvm-objcopy-driver.cpp | 2 + usr.bin/clang/llvm-objdump/llvm-objdump-driver.cpp | 2 + .../clang/llvm-profdata/llvm-profdata-driver.cpp | 2 + usr.bin/clang/llvm-readobj/llvm-readobj-driver.cpp | 2 + usr.bin/clang/llvm-size/llvm-size-driver.cpp | 2 + .../llvm-symbolizer/llvm-symbolizer-driver.cpp | 2 + 361 files changed, 4552 insertions(+), 1284 deletions(-)
A commit in branch stable/14 references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=c8734e140f632b76ff5e638afcde7258bd688d2f commit c8734e140f632b76ff5e638afcde7258bd688d2f Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2024-01-14 13:20:42 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-04-19 21:14:12 +0000 Redo libc++ customizations * Remove osreldate include because _LIBCPP_HAS_NO_GETS has disappeared * Instead, add direct major __FreeBSD__ check for using ::gets declaration * Mark EINTEGRITY values as FreeBSD customization * Reformat _LIBCPP_TYPE_VISIBILITY_DEFAULT customization PR: 276104 MFC after: 1 month (cherry picked from commit 46c59ea9b61755455ff6bf9f3e7b834e1af634ea) contrib/llvm-project/libcxx/include/__config | 8 ++------ contrib/llvm-project/libcxx/include/__system_error/errc.h | 4 ++-- contrib/llvm-project/libcxx/include/cstdio | 2 +- 3 files changed, 5 insertions(+), 9 deletions(-)
A commit in branch stable/14 references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=6c20abcd5625af907434441af2abcf626ab4c18b commit 6c20abcd5625af907434441af2abcf626ab4c18b Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2024-01-11 18:29:01 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-04-19 21:14:12 +0000 Merge llvm-project main llvmorg-18-init-16864-g3b3ee1f53424 This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvm-project main llvmorg-18-init-16864-g3b3ee1f53424. PR: 276104 MFC after: 1 month (cherry picked from commit 297eecfb02bb25902531dbb5c3b9a88caf8adf29) .../clang/include/clang/AST/DeclBase.h | 10 + .../llvm-project/clang/include/clang/AST/DeclCXX.h | 3 + .../llvm-project/clang/include/clang/AST/Stmt.h | 6 +- .../llvm-project/clang/include/clang/AST/Type.h | 3 + .../llvm-project/clang/include/clang/Basic/Attr.td | 18 + .../clang/include/clang/Basic/AttrDocs.td | 78 +++ .../include/clang/Basic/DiagnosticFrontendKinds.td | 2 +- .../include/clang/Basic/DiagnosticSemaKinds.td | 15 + .../clang/include/clang/Basic/LangOptions.def | 1 + .../clang/include/clang/Basic/TargetInfo.h | 1 + .../clang/include/clang/Basic/arm_sve.td | 22 +- .../clang/include/clang/Driver/Options.td | 18 +- .../clang/include/clang/Format/Format.h | 20 +- .../clang/include/clang/Parse/Parser.h | 24 +- .../llvm-project/clang/include/clang/Sema/Sema.h | 3 + .../clang/include/clang/Sema/TypoCorrection.h | 12 +- contrib/llvm-project/clang/lib/AST/ASTContext.cpp | 7 + contrib/llvm-project/clang/lib/AST/ASTImporter.cpp | 37 +- contrib/llvm-project/clang/lib/AST/DeclBase.cpp | 74 ++- contrib/llvm-project/clang/lib/AST/DeclCXX.cpp | 13 + contrib/llvm-project/clang/lib/AST/Expr.cpp | 83 +--- .../clang/lib/AST/Interp/ByteCodeExprGen.cpp | 7 + .../clang/lib/AST/Interp/Descriptor.cpp | 6 +- .../llvm-project/clang/lib/AST/Interp/Descriptor.h | 7 +- .../llvm-project/clang/lib/AST/Interp/Interp.cpp | 12 + .../clang/lib/AST/Interp/InterpBuiltin.cpp | 33 +- .../llvm-project/clang/lib/AST/Interp/Program.cpp | 16 +- contrib/llvm-project/clang/lib/AST/Type.cpp | 34 +- .../clang/lib/Analysis/ExprMutationAnalyzer.cpp | 355 +++++++------- .../clang/lib/Basic/Targets/AArch64.cpp | 7 + .../llvm-project/clang/lib/Basic/Targets/RISCV.cpp | 5 +- .../llvm-project/clang/lib/CodeGen/CGBuiltin.cpp | 244 +++++++++- contrib/llvm-project/clang/lib/CodeGen/CGCall.cpp | 2 + .../llvm-project/clang/lib/CodeGen/CGException.cpp | 7 +- contrib/llvm-project/clang/lib/CodeGen/CGExpr.cpp | 340 +++++++++++++- .../llvm-project/clang/lib/CodeGen/CGObjCGNU.cpp | 35 +- .../clang/lib/CodeGen/CodeGenFunction.h | 22 + .../clang/lib/CodeGen/CodeGenModule.cpp | 2 + .../clang/lib/CodeGen/CoverageMappingGen.cpp | 13 +- .../clang/lib/CodeGen/Targets/AArch64.cpp | 2 + .../clang/lib/Driver/ToolChains/Clang.cpp | 6 +- .../clang/lib/Driver/ToolChains/Flang.cpp | 57 ++- .../clang/lib/Driver/ToolChains/Flang.h | 7 + .../clang/lib/Driver/ToolChains/Gnu.cpp | 8 +- .../clang/lib/Driver/ToolChains/Linux.cpp | 8 +- contrib/llvm-project/clang/lib/Format/Format.cpp | 30 +- .../llvm-project/clang/lib/Format/FormatToken.cpp | 4 +- .../llvm-project/clang/lib/Format/FormatToken.h | 25 +- .../clang/lib/Format/TokenAnnotator.cpp | 14 +- .../clang/lib/Format/UnwrappedLineFormatter.cpp | 10 +- .../clang/lib/Format/UnwrappedLineParser.cpp | 4 +- .../clang/lib/Format/WhitespaceManager.cpp | 9 +- .../clang/lib/Format/WhitespaceManager.h | 1 + .../lib/Frontend/VerifyDiagnosticConsumer.cpp | 15 +- .../llvm-project/clang/lib/Headers/ia32intrin.h | 376 +++++++-------- .../clang/lib/Interpreter/Interpreter.cpp | 1 + contrib/llvm-project/clang/lib/Parse/ParseDecl.cpp | 8 +- contrib/llvm-project/clang/lib/Parse/ParseExpr.cpp | 26 +- .../llvm-project/clang/lib/Parse/ParseOpenACC.cpp | 65 +-- contrib/llvm-project/clang/lib/Sema/SemaDecl.cpp | 6 + .../llvm-project/clang/lib/Sema/SemaDeclAttr.cpp | 133 ++++++ contrib/llvm-project/clang/lib/Sema/SemaExpr.cpp | 16 +- .../llvm-project/clang/lib/Sema/SemaExprMember.cpp | 3 +- .../llvm-project/clang/lib/Sema/SemaOverload.cpp | 10 + contrib/llvm-project/clang/lib/Sema/SemaStmt.cpp | 2 +- .../llvm-project/clang/lib/Sema/TreeTransform.h | 20 +- .../Checkers/StdLibraryFunctionsChecker.cpp | 21 +- .../lib/StaticAnalyzer/Checkers/StreamChecker.cpp | 59 ++- .../clang/tools/clang-format/ClangFormat.cpp | 65 ++- .../compiler-rt/include/profile/InstrProfData.inc | 2 + .../lib/profile/InstrProfilingPlatformLinux.c | 9 - .../lib/sanitizer_common/sanitizer_flags.inc | 3 + .../sanitizer_symbolizer_report.cpp | 36 +- .../sanitizer_thread_arg_retval.cpp | 23 +- .../sanitizer_common/sanitizer_thread_arg_retval.h | 1 + .../lib/scudo/standalone/condition_variable.h | 2 +- contrib/llvm-project/libcxx/include/__config | 5 - .../libcxx/include/__memory/shared_ptr.h | 4 +- contrib/llvm-project/libcxx/include/cstdio | 2 +- contrib/llvm-project/libcxx/include/regex | 3 + contrib/llvm-project/libcxx/include/tuple | 2 +- contrib/llvm-project/lld/ELF/Arch/AArch64.cpp | 3 + contrib/llvm-project/lld/ELF/Arch/LoongArch.cpp | 110 ++--- contrib/llvm-project/lld/ELF/Arch/RISCV.cpp | 7 +- contrib/llvm-project/lld/ELF/InputSection.cpp | 10 +- contrib/llvm-project/lld/ELF/Target.h | 2 +- .../llvm-project/lldb/include/lldb/Core/Module.h | 6 + .../llvm-project/lldb/include/lldb/Symbol/Type.h | 4 + .../lldb/include/lldb/Utility/StreamString.h | 2 +- contrib/llvm-project/lldb/source/Core/Module.cpp | 17 + .../ExpressionParser/Clang/ClangASTImporter.cpp | 51 +- .../Language/CPlusPlus/CPlusPlusLanguage.cpp | 35 ++ .../source/Plugins/Language/CPlusPlus/LibCxx.cpp | 57 +++ .../source/Plugins/Language/CPlusPlus/LibCxx.h | 8 + .../source/Plugins/SymbolFile/DWARF/DWARFDIE.cpp | 44 +- .../Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp | 11 +- .../intel-pt/CommandObjectTraceStartIntelPT.cpp | 4 +- .../Plugins/Trace/intel-pt/DecodedThread.cpp | 32 +- .../source/Plugins/Trace/intel-pt/DecodedThread.h | 26 +- .../Plugins/Trace/intel-pt/LibiptDecoder.cpp | 4 +- .../Plugins/Trace/intel-pt/TraceCursorIntelPT.cpp | 4 +- .../Trace/intel-pt/TraceIntelPTBundleLoader.cpp | 13 +- contrib/llvm-project/lldb/source/Symbol/Type.cpp | 4 + .../lldb/source/Target/ProcessTrace.cpp | 2 + .../lldb/source/Utility/StreamString.cpp | 2 +- .../llvm-project/llvm/include/llvm/ADT/STLExtras.h | 29 +- .../llvm-project/llvm/include/llvm/ADT/StringRef.h | 4 +- .../llvm/include/llvm/Analysis/VecFuncs.def | 190 ++++---- .../llvm/BinaryFormat/ELFRelocs/AArch64.def | 1 + .../include/llvm/BinaryFormat/ELFRelocs/RISCV.def | 3 +- .../llvm/CodeGen/AssignmentTrackingAnalysis.h | 29 +- .../llvm/include/llvm/CodeGen/CodeGenPassBuilder.h | 1 + .../llvm/CodeGen/GlobalISel/CombinerHelper.h | 3 + .../llvm/CodeGen/GlobalISel/GenericMachineInstrs.h | 18 + .../include/llvm/CodeGen/GlobalISel/Localizer.h | 7 +- .../llvm/include/llvm/CodeGen/SelectionDAGISel.h | 16 + .../llvm/include/llvm/CodeGen/SelectionDAGNodes.h | 7 + .../Parallel => include/llvm/DWARFLinker}/Utils.h | 36 +- .../llvm/include/llvm/Frontend/OpenACC/ACC.td | 66 +-- .../llvm/include/llvm/IR/IntrinsicsAArch64.td | 6 +- .../llvm/include/llvm/IR/IntrinsicsNVVM.td | 10 + .../llvm/include/llvm/IR/ModuleSummaryIndex.h | 6 + .../llvm/include/llvm/IR/PatternMatch.h | 36 ++ .../llvm/include/llvm/ProfileData/InstrProf.h | 3 +- .../include/llvm/ProfileData/InstrProfData.inc | 2 + .../llvm/include/llvm/Support/RISCVISAInfo.h | 22 +- .../llvm/include/llvm/Support/TargetOpcodes.def | 3 + .../llvm/include/llvm/Target/GenericOpcodes.td | 21 + .../llvm/Target/GlobalISel/SelectionDAGCompat.td | 3 + .../llvm/include/llvm/Target/TargetPfmCounters.td | 21 + .../llvm/TargetParser/ARMTargetParserCommon.h | 1 + .../llvm/lib/Analysis/LazyValueInfo.cpp | 8 +- .../llvm/lib/Bitcode/Writer/BitcodeWriter.cpp | 17 +- .../lib/CodeGen/AssignmentTrackingAnalysis.cpp | 34 ++ .../llvm/lib/CodeGen/BranchFolding.cpp | 17 + .../llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp | 84 ++++ .../llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp | 12 + .../lib/CodeGen/GlobalISel/LegalizerHelper.cpp | 10 + .../llvm/lib/CodeGen/GlobalISel/Localizer.cpp | 55 ++- .../CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp | 9 +- .../llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp | 74 +-- .../CodeGen/SelectionDAG/LegalizeVectorTypes.cpp | 2 +- .../llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp | 12 +- .../lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp | 48 +- .../lib/CodeGen/SelectionDAG/TargetLowering.cpp | 5 +- .../lib/CodeGen/TargetLoweringObjectFileImpl.cpp | 11 +- .../llvm/lib/DWARFLinker/Classic/DWARFLinker.cpp | 15 +- .../Parallel/AcceleratorRecordsSaver.cpp | 2 +- .../Parallel/DWARFLinkerCompileUnit.cpp | 23 +- .../lib/DWARFLinker/Parallel/DWARFLinkerImpl.cpp | 2 +- .../DWARFLinker/Parallel/DebugLineSectionEmitter.h | 38 +- .../llvm-project/llvm/lib/DWARFLinker/Utils.cpp | 2 + contrib/llvm-project/llvm/lib/IR/Verifier.cpp | 11 + .../llvm/lib/MC/MCParser/ELFAsmParser.cpp | 6 +- contrib/llvm-project/llvm/lib/MC/MCSectionELF.cpp | 18 +- .../llvm-project/llvm/lib/Passes/PassBuilder.cpp | 1 + .../llvm-project/llvm/lib/Passes/PassRegistry.def | 4 +- .../llvm-project/llvm/lib/Support/RISCVISAInfo.cpp | 331 +++++++------ contrib/llvm-project/llvm/lib/TableGen/Record.cpp | 15 +- .../llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp | 5 + .../lib/Target/AArch64/AArch64ISelDAGToDAG.cpp | 4 +- .../lib/Target/AArch64/AArch64ISelLowering.cpp | 3 +- .../llvm/lib/Target/AArch64/AArch64InstrInfo.cpp | 3 + .../Target/AArch64/AArch64LoadStoreOptimizer.cpp | 64 ++- .../Target/AArch64/AArch64LoopIdiomTransform.cpp | 2 +- .../llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td | 18 +- .../Target/AArch64/AArch64TargetTransformInfo.cpp | 98 ++-- .../Target/AArch64/GISel/AArch64LegalizerInfo.cpp | 3 +- .../MCTargetDesc/AArch64ELFObjectWriter.cpp | 8 +- .../llvm/lib/Target/AArch64/SMEInstrFormats.td | 2 +- .../llvm/lib/Target/AMDGPU/AMDGPUCombine.td | 2 +- .../llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp | 12 +- .../lib/Target/AMDGPU/AMDGPULowerModuleLDSPass.cpp | 52 ++ .../Target/AMDGPU/AMDGPUPostLegalizerCombiner.cpp | 46 +- .../Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp | 43 +- .../llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp | 17 +- .../llvm/lib/Target/AMDGPU/GCNSubtarget.h | 2 + .../Target/AMDGPU/MCTargetDesc/AMDGPUMCAsmInfo.cpp | 1 - .../llvm/lib/Target/AMDGPU/SIISelLowering.cpp | 8 +- .../llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp | 5 +- .../llvm/lib/Target/AMDGPU/SIInstrInfo.cpp | 33 +- .../llvm/lib/Target/AMDGPU/SIInstrInfo.td | 33 +- .../llvm/lib/Target/AMDGPU/VOP1Instructions.td | 55 ++- .../llvm/lib/Target/AMDGPU/VOP2Instructions.td | 14 +- .../llvm/lib/Target/AMDGPU/VOPInstructions.td | 13 +- .../llvm/lib/Target/ARM/ARMISelLowering.cpp | 9 +- .../llvm/lib/Target/MSP430/MSP430ISelLowering.cpp | 13 +- .../llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp | 6 +- .../llvm/lib/Target/NVPTX/NVPTXInstrInfo.td | 3 + .../llvm/lib/Target/NVPTX/NVPTXIntrinsics.td | 13 + .../llvm/lib/Target/PowerPC/PPCISelLowering.cpp | 2 +- .../llvm/lib/Target/PowerPC/PPCInstrInfo.td | 2 +- .../lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp | 77 ++- .../RISCV/Disassembler/RISCVDisassembler.cpp | 6 +- .../lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp | 40 ++ .../RISCV/MCTargetDesc/RISCVELFObjectWriter.cpp | 2 + .../Target/RISCV/MCTargetDesc/RISCVELFStreamer.cpp | 7 + .../lib/Target/RISCV/RISCVExpandPseudoInsts.cpp | 12 +- .../llvm/lib/Target/RISCV/RISCVFeatures.td | 1 + .../llvm/lib/Target/RISCV/RISCVISelLowering.cpp | 46 +- .../llvm/lib/Target/RISCV/RISCVISelLowering.h | 6 +- .../llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp | 37 +- .../llvm/lib/Target/RISCV/RISCVInstrInfo.cpp | 17 +- .../llvm/lib/Target/RISCV/RISCVInstrInfoA.td | 140 +++--- .../llvm/lib/Target/RISCV/RISCVInstrInfoD.td | 16 +- .../lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td | 33 +- .../lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td | 38 +- .../llvm/lib/Target/RISCV/RISCVInstrInfoZa.td | 98 +++- .../llvm/lib/Target/RISCV/RISCVRegisterInfo.td | 45 +- .../lib/Target/SystemZ/SystemZISelDAGToDAG.cpp | 2 +- .../lib/Target/SystemZ/SystemZISelLowering.cpp | 7 + .../lib/Target/WebAssembly/WebAssemblyFastISel.cpp | 4 +- .../llvm/lib/Target/X86/MCTargetDesc/X86BaseInfo.h | 16 + .../llvm/lib/Target/X86/X86FlagsCopyLowering.cpp | 1 + .../llvm/lib/Target/X86/X86ISelLowering.cpp | 53 ++- .../llvm/lib/Target/X86/X86InstrArithmetic.td | 110 +++-- .../llvm/lib/Target/X86/X86InstrCompiler.td | 380 ++++++++------- .../llvm/lib/Target/X86/X86InstrMisc.td | 12 +- .../llvm/lib/Target/X86/X86PfmCounters.td | 18 + .../lib/TargetParser/ARMTargetParserCommon.cpp | 7 +- .../llvm/lib/TextAPI/InterfaceFile.cpp | 8 + .../IPO/MemProfContextDisambiguation.cpp | 521 ++++++++++++++++++--- .../Transforms/InstCombine/InstCombineAddSub.cpp | 24 + .../Transforms/InstCombine/InstCombineAndOrXor.cpp | 114 +++-- .../Transforms/InstCombine/InstCombineCalls.cpp | 4 + .../Transforms/InstCombine/InstCombineSelect.cpp | 4 +- .../Instrumentation/AddressSanitizer.cpp | 2 +- .../Instrumentation/PGOInstrumentation.cpp | 12 +- .../llvm/lib/Transforms/Scalar/LoopFlatten.cpp | 79 ++-- .../Transforms/Scalar/RewriteStatepointsForGC.cpp | 23 +- .../Scalar/SeparateConstOffsetFromGEP.cpp | 58 +-- .../Scalar/StraightLineStrengthReduce.cpp | 55 +-- .../llvm/lib/Transforms/Utils/Local.cpp | 3 +- .../llvm/lib/Transforms/Utils/SimplifyCFG.cpp | 13 +- .../lib/Transforms/Vectorize/LoopVectorize.cpp | 6 +- .../lib/Transforms/Vectorize/SLPVectorizer.cpp | 69 ++- .../llvm/utils/TableGen/CodeGenDAGPatterns.cpp | 2 +- .../llvm/utils/TableGen/DAGISelMatcherEmitter.cpp | 81 +++- .../llvm/utils/TableGen/ExegesisEmitter.cpp | 52 +- .../utils/TableGen/GlobalISelCombinerEmitter.cpp | 2 +- .../openmp/runtime/src/z_Linux_util.cpp | 2 +- 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 | 32 +- lib/libc++/Makefile | 40 +- lib/libc++/module.modulemap | 4 +- 247 files changed, 5252 insertions(+), 2361 deletions(-)
A commit in branch stable/14 references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=bf13152d9e61246e5a5f494e5cd02bd55cccea80 commit bf13152d9e61246e5a5f494e5cd02bd55cccea80 Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2024-02-05 09:16:17 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-04-19 21:14:15 +0000 Merge commit 5f4ee5a2dfa9 from llvm-project (by Shanzhi): [Clang][AST] Fix a crash on attaching doc comments (#78716) This crash is basically caused by calling `ASTContext::getRawCommentForDeclNoCacheImp` with its input arguments `RepresentativeLocForDecl` and `CommentsInTheFile` refering to different files. A reduced reproducer is provided in this patch. After the source locations for instantiations of funtion template are corrected in the commit 256a0b298c68b89688b80350b034daf2f7785b67, the variable `CommitsInThisFile` in the function `ASTContext::attachCommentsToJustParsedDecls` would refer to the source file rather than the header file for implicit function template instantiation. Therefore, in the first loop in `ASTContext::attachCommentsToJustParsedDecls`, `D` should also be adjusted for relevant scenarios like the second loop. Fixes #67979 Fixes #68524 Fixes #70550 This should fix a segfault when compiling graphics/gdal. PR: 276104 MFC after: 1 month (cherry picked from commit dc36515b628331e03ac8c23a6749f7f3eb1ebec8) contrib/llvm-project/clang/lib/AST/ASTContext.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-)
A commit in branch stable/14 references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=7adf29b6244fe016ef869f287a66048195f9af29 commit 7adf29b6244fe016ef869f287a66048195f9af29 Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2024-01-07 11:32:29 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-04-19 21:14:10 +0000 Add two FreeBSD customizations to libc++ This is intended to better support ports usage of older clang versions: * Add _LIBCPP_ENABLE_COMPILER_VERSION_CHECKS block around compiler version checks, to avoid any warnings about support. This makes some ports that use -Werror fall over. * When using clang < 15.0, avoid using a type visibility attribute on the std namespace, as older versions of clang do not support this. PR: 276104 MFC after: 1 month (cherry picked from commit 412fa3436f0d1fe4a7e5e3b66783aa40f599125e) contrib/llvm-project/libcxx/include/__config | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)
A commit in branch stable/14 references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=cdc20ff6a7f12464aed70d9b6e67ea07da9f0399 commit cdc20ff6a7f12464aed70d9b6e67ea07da9f0399 Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2024-01-09 20:00:28 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-04-19 21:14:10 +0000 Merge llvm-project main llvmorg-18-init-16595-g7c00a5be5cde This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvm-project main llvmorg-18-init-16595-g7c00a5be5cde. PR: 276104 MFC after: 1 month (cherry picked from commit 1db9f3b21e39176dd5b67cf8ac378633b172463e) .../llvm-project/clang/include/clang/AST/Attr.h | 1 + .../llvm-project/clang/include/clang/AST/DeclCXX.h | 8 + .../clang/include/clang/AST/TextNodeDumper.h | 2 + .../llvm-project/clang/include/clang/AST/Type.h | 2 + .../clang/Analysis/Analyses/UnsafeBufferUsage.h | 2 +- .../Analysis/Analyses/UnsafeBufferUsageGadgets.def | 1 + .../clang/include/clang/Analysis/CFG.h | 4 +- .../llvm-project/clang/include/clang/Basic/Attr.td | 23 + .../clang/include/clang/Basic/AttrDocs.td | 35 +- .../clang/include/clang/Basic/CodeGenOptions.def | 1 + .../include/clang/Basic/DiagnosticCommonKinds.td | 3 + .../include/clang/Basic/DiagnosticDriverKinds.td | 3 + .../include/clang/Basic/DiagnosticParseKinds.td | 2 + .../include/clang/Basic/DiagnosticSemaKinds.td | 14 +- .../clang/include/clang/Basic/ObjCRuntime.h | 28 +- .../clang/include/clang/Basic/OpenACCKinds.h | 39 +- .../clang/include/clang/Basic/arm_sve.td | 115 ++- .../clang/include/clang/Basic/arm_sve_sme_incl.td | 1 + .../include/clang/Basic/riscv_sifive_vector.td | 10 +- .../clang/include/clang/Driver/Options.td | 12 +- .../llvm-project/clang/include/clang/Sema/Sema.h | 15 +- .../clang/include/clang/Sema/Template.h | 1 + contrib/llvm-project/clang/lib/AST/ASTContext.cpp | 23 +- contrib/llvm-project/clang/lib/AST/ASTImporter.cpp | 39 +- .../clang/lib/AST/ASTStructuralEquivalence.cpp | 13 +- .../clang/lib/AST/ComputeDependence.cpp | 2 + contrib/llvm-project/clang/lib/AST/Decl.cpp | 2 +- contrib/llvm-project/clang/lib/AST/DeclBase.cpp | 50 +- .../llvm-project/clang/lib/AST/FormatString.cpp | 1 - .../llvm-project/clang/lib/AST/Interp/Interp.cpp | 4 +- contrib/llvm-project/clang/lib/AST/Interp/Interp.h | 6 - .../llvm-project/clang/lib/AST/TextNodeDumper.cpp | 10 + contrib/llvm-project/clang/lib/AST/Type.cpp | 7 + .../clang/lib/Analysis/PathDiagnostic.cpp | 7 +- .../clang/lib/Analysis/UnsafeBufferUsage.cpp | 38 +- .../llvm-project/clang/lib/Basic/Targets/ARM.cpp | 64 ++ contrib/llvm-project/clang/lib/Basic/Targets/ARM.h | 13 + contrib/llvm-project/clang/lib/Basic/Targets/AVR.h | 4 +- .../llvm-project/clang/lib/Basic/Targets/RISCV.cpp | 23 +- .../llvm-project/clang/lib/Basic/Targets/X86.cpp | 3 + contrib/llvm-project/clang/lib/CodeGen/CGClass.cpp | 6 +- .../clang/lib/CodeGen/CGExprScalar.cpp | 61 +- .../llvm-project/clang/lib/CodeGen/CGObjCGNU.cpp | 2 + contrib/llvm-project/clang/lib/CodeGen/CGStmt.cpp | 14 +- .../clang/lib/CodeGen/CodeGenFunction.cpp | 98 +- .../clang/lib/CodeGen/CodeGenFunction.h | 58 +- .../clang/lib/CodeGen/CodeGenModule.cpp | 4 + .../llvm-project/clang/lib/CodeGen/CodeGenPGO.cpp | 263 ++++- .../llvm-project/clang/lib/CodeGen/CodeGenPGO.h | 14 +- .../clang/lib/CodeGen/CoverageMappingGen.cpp | 405 +++++++- .../clang/lib/CodeGen/CoverageMappingGen.h | 12 +- .../llvm-project/clang/lib/CodeGen/Targets/X86.cpp | 3 + contrib/llvm-project/clang/lib/Driver/Driver.cpp | 11 + .../clang/lib/Driver/ToolChains/Arch/Mips.cpp | 8 +- .../clang/lib/Driver/ToolChains/Arch/RISCV.cpp | 6 +- .../clang/lib/Driver/ToolChains/BareMetal.cpp | 5 +- .../clang/lib/Driver/ToolChains/Clang.cpp | 11 + .../clang/lib/Driver/ToolChains/Gnu.cpp | 9 + .../clang/lib/Driver/ToolChains/MinGW.cpp | 25 +- .../clang/lib/Format/TokenAnnotator.cpp | 8 + contrib/llvm-project/clang/lib/Headers/arm_acle.h | 59 ++ .../clang/lib/Headers/llvm_libc_wrappers/stdio.h | 34 +- contrib/llvm-project/clang/lib/Lex/ModuleMap.cpp | 4 +- contrib/llvm-project/clang/lib/Parse/ParseDecl.cpp | 3 +- .../llvm-project/clang/lib/Parse/ParseDeclCXX.cpp | 2 + .../llvm-project/clang/lib/Parse/ParseOpenACC.cpp | 129 ++- .../clang/lib/Sema/AnalysisBasedWarnings.cpp | 16 +- .../llvm-project/clang/lib/Sema/SemaChecking.cpp | 23 +- .../llvm-project/clang/lib/Sema/SemaConcept.cpp | 17 +- contrib/llvm-project/clang/lib/Sema/SemaDecl.cpp | 94 +- .../llvm-project/clang/lib/Sema/SemaDeclAttr.cpp | 19 + contrib/llvm-project/clang/lib/Sema/SemaExpr.cpp | 44 +- contrib/llvm-project/clang/lib/Sema/SemaInit.cpp | 55 +- contrib/llvm-project/clang/lib/Sema/SemaOpenMP.cpp | 56 +- .../llvm-project/clang/lib/Sema/SemaOverload.cpp | 90 +- .../clang/lib/Sema/SemaTemplateDeduction.cpp | 11 + .../clang/lib/Sema/SemaTemplateInstantiate.cpp | 79 +- .../llvm-project/clang/lib/Sema/TreeTransform.h | 78 +- .../Checkers/StdLibraryFunctionsChecker.cpp | 20 +- .../lib/StaticAnalyzer/Checkers/StreamChecker.cpp | 1 + contrib/llvm-project/clang/lib/Tooling/Tooling.cpp | 8 +- .../clang/utils/TableGen/ClangASTNodesEmitter.cpp | 103 +- .../clang/utils/TableGen/SveEmitter.cpp | 3 + .../llvm-project/clang/utils/TableGen/TableGen.cpp | 3 +- .../clang/utils/TableGen/TableGenBackends.h | 10 +- .../compiler-rt/lib/asan/asan_suppressions.cpp | 7 +- .../compiler-rt/lib/hwasan/hwasan_report.cpp | 6 +- .../compiler-rt/lib/lsan/lsan_common.cpp | 7 +- contrib/llvm-project/compiler-rt/lib/msan/msan.h | 34 +- .../compiler-rt/lib/msan/msan_allocator.cpp | 40 +- .../compiler-rt/lib/msan/msan_new_delete.cpp | 26 +- .../lib/orc/executor_symbol_def.h (new) | 151 +++ .../tests/unit/executor_symbol_def_test.cpp (new) | 19 + .../unit/simple_packed_serialization_test.cpp | 20 +- .../unit/simple_packed_serialization_utils.h (new) | 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 (new) | 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 +- .../include/llvm/CodeGen/CodeGenPrepare.h (new) | 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 +- .../llvm/CodeGen/ShadowStackGCLowering.h (new) | 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 +- .../llvm/DWARFLinker/DWARFLinkerBase.h (new) | 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 +- .../lib/DWARFLinkerParallel/DWARFFile.cpp (gone) | 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 + .../AArch64/AArch64LoopIdiomTransform.cpp (new) | 828 ++++++++++++++++ .../AArch64/AArch64LoopIdiomTransform.h (new) | 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 +- .../lib/Target/AMDGPU/DSDIRInstructions.td (new) | 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 +- .../lib/Target/AMDGPU/LDSDIRInstructions.td (gone) | 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 +-- .../lib/Target/RISCV/RISCVInstrInfoZa.td (new) | 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 +- .../MacroFusionPredicatorEmitter.cpp (new) | 236 +++++ .../llvm/utils/TableGen/PredicateExpander.cpp | 8 + .../llvm/utils/TableGen/PredicateExpander.h | 1 + .../X86CompressEVEXTablesEmitter.cpp (new) | 206 ++++ .../TableGen/X86EVEX2VEXTablesEmitter.cpp (gone) | 210 ---- .../llvm/utils/TableGen/X86FoldTablesEmitter.cpp | 6 +- .../TableGen/X86ManualCompressEVEXTables.def (new) | 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(-)
A commit in branch stable/14 references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=7a0ffb5e054a644a21b6de36a8f1ae51b223eed0 commit 7a0ffb5e054a644a21b6de36a8f1ae51b223eed0 Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2024-01-07 16:03:13 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-04-19 21:14:10 +0000 Tentatively merge https://github.com/llvm/llvm-project/pull/77242 [libcxx] Re-include <osreldate.h> in __config for FreeBSD In 0a97720d0197 some changes were made to `__config` for assuming that `__BYTE_ORDER__` is always present. However, this deleted a `<osreldate.h>` include for FreeBSD, which is required to get the value of `__FreeBSD_version`, and that is used later in the file to determine whether `_LIBCPP_C_HAS_NO_GETS` needs to be enabled. Include `<osreldate.h>` just after the other includes used for feature detection, to fix this. Note that when FreeBSD 13 is EOLed, this can be removed, as then all supported FreeBSD versions will no longer have `gets()`. PR: 276104 MFC after: 1 month (cherry picked from commit 653487bbc8006839d0895811942bb8a2fcdd5aa8) contrib/llvm-project/libcxx/include/__config | 4 ++++ 1 file changed, 4 insertions(+)
A commit in branch stable/14 references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=de8261c4acc05c067efbbc8dbcbe7a72b439adef commit de8261c4acc05c067efbbc8dbcbe7a72b439adef Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2024-01-03 18:04:11 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-04-19 21:13:53 +0000 Merge llvm-project main llvmorg-18-init-16003-gfc5f51cf5af4 This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvm-project main llvmorg-18-init-16003-gfc5f51cf5af4. PR: 276104 MFC after: 1 month (cherry picked from commit 647cbc5de815c5651677bf8582797f716ec7b48d) ObsoleteFiles.inc | 105 +- .../llvm-project/clang/include/clang/AST/Type.h | 26 - .../clang/include/clang/Basic/BuiltinsAArch64.def | 3 + .../include/clang/Basic/riscv_sifive_vector.td | 28 +- .../clang/include/clang/Basic/riscv_vector.td | 8 +- .../include/clang/Basic/riscv_vector_common.td | 2 +- .../Core/BugReporter/CommonBugCategories.h | 1 + .../include/clang/StaticAnalyzer/Core/Checker.h | 14 +- .../clang/StaticAnalyzer/Core/CheckerManager.h | 11 +- contrib/llvm-project/clang/lib/AST/Interp/Interp.h | 1 - .../clang/lib/ASTMatchers/Dynamic/Parser.cpp | 6 +- .../clang/lib/Basic/IdentifierTable.cpp | 3 +- .../clang/lib/Basic/Targets/AArch64.cpp | 3 +- .../llvm-project/clang/lib/Basic/Targets/ARM.cpp | 3 +- .../llvm-project/clang/lib/Basic/Targets/RISCV.cpp | 3 +- .../llvm-project/clang/lib/Basic/Targets/X86.cpp | 3 +- contrib/llvm-project/clang/lib/Basic/Warnings.cpp | 6 +- .../llvm-project/clang/lib/CodeGen/CGBuiltin.cpp | 20 + .../clang/lib/CodeGen/CGStmtOpenMP.cpp | 61 +- .../clang/lib/CodeGen/CodeGenAction.cpp | 3 +- .../clang/lib/CodeGen/Targets/LoongArch.cpp | 7 - contrib/llvm-project/clang/lib/Driver/Driver.cpp | 14 +- .../clang/lib/Driver/ToolChains/Arch/RISCV.cpp | 13 +- .../clang/lib/Driver/ToolChains/Arch/X86.cpp | 4 +- .../clang/lib/Driver/ToolChains/Clang.cpp | 7 +- .../clang/lib/Driver/ToolChains/CommonArgs.cpp | 23 +- .../clang/lib/Driver/ToolChains/Gnu.cpp | 12 +- .../clang/lib/Driver/ToolChains/Solaris.cpp | 3 +- .../clang/lib/Format/ContinuationIndenter.cpp | 2 +- .../clang/lib/Format/MatchFilePath.cpp | 4 +- .../clang/lib/Frontend/DependencyGraph.cpp | 3 +- .../clang/lib/Frontend/LayoutOverrideSource.cpp | 9 +- .../lib/Frontend/VerifyDiagnosticConsumer.cpp | 3 +- .../llvm-project/clang/lib/Headers/usermsrintrin.h | 21 + .../llvm-project/clang/lib/Sema/SemaChecking.cpp | 47 +- .../llvm-project/clang/lib/Sema/SemaDeclAttr.cpp | 3 +- contrib/llvm-project/clang/lib/Sema/SemaInit.cpp | 8 + contrib/llvm-project/clang/lib/Sema/SemaModule.cpp | 3 +- contrib/llvm-project/clang/lib/Sema/SemaOpenMP.cpp | 2 +- .../clang/lib/Serialization/ASTReaderDecl.cpp | 2 +- .../clang/lib/Serialization/ASTWriterDecl.cpp | 11 +- .../StaticAnalyzer/Checkers/ArrayBoundChecker.cpp | 7 +- .../Checkers/BasicObjCFoundationChecks.cpp | 2 +- .../Checkers/BlockInCriticalSectionChecker.cpp | 57 +- .../Checkers/BoolAssignmentChecker.cpp | 7 +- .../lib/StaticAnalyzer/Checkers/CStringChecker.cpp | 382 +++--- .../StaticAnalyzer/Checkers/CXXDeleteChecker.cpp | 24 +- .../Checkers/CallAndMessageChecker.cpp | 9 +- .../StaticAnalyzer/Checkers/CastSizeChecker.cpp | 6 +- .../StaticAnalyzer/Checkers/CheckObjCDealloc.cpp | 48 +- .../Checkers/CheckSecuritySyntaxOnly.cpp | 6 +- .../lib/StaticAnalyzer/Checkers/ChrootChecker.cpp | 6 +- .../lib/StaticAnalyzer/Checkers/CloneChecker.cpp | 15 +- .../StaticAnalyzer/Checkers/ConversionChecker.cpp | 7 +- .../Checkers/DebugContainerModeling.cpp | 15 +- .../Checkers/DebugIteratorModeling.cpp | 15 +- .../lib/StaticAnalyzer/Checkers/DivZeroChecker.cpp | 16 +- .../StaticAnalyzer/Checkers/DynamicTypeChecker.cpp | 10 +- .../Checkers/EnumCastOutOfRangeChecker.cpp | 8 +- .../Checkers/ExprInspectionChecker.cpp | 8 +- .../Checkers/FixedAddressChecker.cpp | 6 +- .../Checkers/InvalidatedIteratorChecker.cpp | 28 +- .../clang/lib/StaticAnalyzer/Checkers/Iterator.cpp | 14 +- .../clang/lib/StaticAnalyzer/Checkers/Iterator.h | 15 +- .../StaticAnalyzer/Checkers/IteratorModeling.cpp | 49 +- .../Checkers/IteratorRangeChecker.cpp | 20 +- .../Checkers/LocalizationChecker.cpp | 12 +- .../Checkers/MPI-Checker/MPIBugReporter.cpp | 6 +- .../Checkers/MPI-Checker/MPIBugReporter.h | 21 +- .../Checkers/MacOSKeychainAPIChecker.cpp | 22 +- .../StaticAnalyzer/Checkers/MacOSXAPIChecker.cpp | 10 +- .../Checkers/MismatchedIteratorChecker.cpp | 49 +- .../Checkers/MmapWriteExecChecker.cpp | 16 +- .../Checkers/NSAutoreleasePoolChecker.cpp | 9 +- .../Checkers/NonNullParamChecker.cpp | 21 +- .../StaticAnalyzer/Checkers/ObjCAtSyncChecker.cpp | 17 +- .../Checkers/ObjCContainersChecker.cpp | 11 +- .../Checkers/ObjCSelfInitChecker.cpp | 9 +- .../Checkers/ObjCSuperDeallocChecker.cpp | 19 +- .../lib/StaticAnalyzer/Checkers/PaddingChecker.cpp | 9 +- .../Checkers/PointerArithChecker.cpp | 12 +- .../StaticAnalyzer/Checkers/PointerSubChecker.cpp | 6 +- .../Checkers/ReturnPointerRangeChecker.cpp | 10 +- .../StaticAnalyzer/Checkers/ReturnUndefChecker.cpp | 15 +- .../Checkers/SimpleStreamChecker.cpp | 27 +- .../Checkers/StdLibraryFunctionsChecker.cpp | 16 +- .../StaticAnalyzer/Checkers/TaggedUnionModeling.h | 2 +- .../StaticAnalyzer/Checkers/TaintTesterChecker.cpp | 5 +- .../Checkers/TestAfterDivZeroChecker.cpp | 10 +- .../StaticAnalyzer/Checkers/UndefBranchChecker.cpp | 89 +- .../Checkers/UndefCapturedBlockVarChecker.cpp | 8 +- .../StaticAnalyzer/Checkers/UndefResultChecker.cpp | 8 +- .../Checkers/UndefinedArraySubscriptChecker.cpp | 7 +- .../Checkers/UndefinedAssignmentChecker.cpp | 11 +- .../UninitializedObject/UninitializedObject.h | 2 +- .../UninitializedObjectChecker.cpp | 11 +- .../lib/StaticAnalyzer/Checkers/UnixAPIChecker.cpp | 32 +- .../lib/StaticAnalyzer/Checkers/VLASizeChecker.cpp | 20 +- .../lib/StaticAnalyzer/Checkers/VforkChecker.cpp | 7 +- .../StaticAnalyzer/Core/CommonBugCategories.cpp | 1 + .../clang/lib/StaticAnalyzer/Core/Environment.cpp | 2 +- .../clang/lib/StaticAnalyzer/Core/RegionStore.cpp | 6 +- .../clang/lib/Support/RISCVVIntrinsicUtils.cpp | 2 +- .../clang/lib/Tooling/Refactoring/Lookup.cpp | 4 +- contrib/llvm-project/clang/lib/Tooling/Tooling.cpp | 4 +- .../clang/tools/clang-format/ClangFormat.cpp | 69 +- .../clang/utils/TableGen/RISCVVEmitter.cpp | 2 +- .../clang/utils/TableGen/SveEmitter.cpp | 19 + .../compiler-rt/lib/asan/asan_linux.cpp | 13 +- .../compiler-rt/lib/asan/asan_new_delete.cpp | 9 - .../compiler-rt/lib/builtins/cpu_model/x86.c | 2 +- .../llvm-project/compiler-rt/lib/builtins/fp_lib.h | 12 - .../compiler-rt/lib/builtins/int_types.h | 2 +- .../compiler-rt/lib/hwasan/hwasan_report.cpp | 11 +- .../compiler-rt/lib/memprof/memprof_linux.cpp | 1 - .../sanitizer_common_interceptors.inc | 4 +- .../lib/sanitizer_common/sanitizer_flat_map.h | 4 + .../sanitizer_common/sanitizer_freebsd.h (gone) | 137 -- .../lib/sanitizer_common/sanitizer_linux.cpp | 9 +- .../sanitizer_common/sanitizer_linux_libcdep.cpp | 8 +- .../sanitizer_platform_interceptors.h | 5 +- .../sanitizer_platform_limits_freebsd.h | 2 + .../sanitizer_platform_limits_posix.h | 1 + .../sanitizer_common/sanitizer_procmaps_bsd.cpp | 11 - .../sanitizer_common/sanitizer_stackdepotbase.h | 22 +- .../compiler-rt/lib/tsan/rtl/tsan_platform.h | 32 + .../lib/tsan/rtl/tsan_platform_linux.cpp | 8 +- contrib/llvm-project/libcxx/include/__config | 10 + .../libcxx/include/__memory/shared_ptr.h | 4 +- .../libcxx/include/__memory/unique_ptr.h | 4 - .../libcxx/include/__ranges/chunk_by_view.h | 3 +- .../libcxx/include/__ranges/drop_view.h | 7 +- .../libcxx/include/__ranges/drop_while_view.h | 3 +- .../libcxx/include/__ranges/filter_view.h | 2 +- .../libcxx/include/__ranges/movable_box.h | 62 +- .../libcxx/include/__ranges/repeat_view.h | 4 +- .../libcxx/include/__ranges/single_view.h | 4 +- .../libcxx/include/__ranges/take_while_view.h | 3 +- .../libcxx/include/__ranges/transform_view.h | 3 +- contrib/llvm-project/libcxx/include/memory | 2 +- contrib/llvm-project/lld/COFF/Driver.cpp | 3 + contrib/llvm-project/lld/COFF/Writer.cpp | 2 +- .../llvm/include/llvm/ADT/GenericUniformityImpl.h | 6 + .../llvm/include/llvm/ADT/SmallString.h | 65 +- .../llvm/include/llvm/Analysis/ConstraintSystem.h | 7 - .../include/llvm/Analysis/TargetTransformInfo.h | 22 + .../llvm/Analysis/TargetTransformInfoImpl.h | 7 + .../llvm/CodeGen/GlobalISel/CombinerHelper.h | 18 +- .../include/llvm/Frontend/OpenMP/OMPIRBuilder.h | 7 + .../llvm/include/llvm/IR/IntrinsicsAMDGPU.td | 10 +- .../include/llvm/Support/AMDHSAKernelDescriptor.h | 44 +- .../llvm/Support/X86DisassemblerDecoderCommon.h | 9 +- .../llvm/include/llvm/Target/GlobalISel/Combine.td | 15 +- .../llvm/lib/Analysis/ConstraintSystem.cpp | 10 +- .../llvm/lib/Analysis/InstructionSimplify.cpp | 32 +- .../llvm/lib/Analysis/LazyValueInfo.cpp | 163 ++- .../llvm/lib/Analysis/TargetTransformInfo.cpp | 9 + .../llvm/lib/Analysis/ValueTracking.cpp | 34 - .../llvm-project/llvm/lib/Analysis/VectorUtils.cpp | 2 + .../llvm/lib/Bitcode/Reader/BitcodeReader.cpp | 3 + .../llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp | 353 +++++- .../llvm/lib/CodeGen/MachineCopyPropagation.cpp | 42 +- .../llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp | 16 +- .../llvm/lib/CodeGen/SelectionDAG/InstrEmitter.cpp | 9 +- .../lib/CodeGen/SelectionDAG/ScheduleDAGFast.cpp | 3 +- .../lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp | 8 +- .../llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp | 4 +- .../lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp | 3 +- .../Orc/Debugging/DebugInfoSupport.cpp | 3 +- .../llvm/lib/ExecutionEngine/Orc/LLJIT.cpp | 6 +- .../llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp | 12 +- .../llvm-project/llvm/lib/FuzzMutate/FuzzerCLI.cpp | 16 +- contrib/llvm-project/llvm/lib/IR/DebugInfo.cpp | 4 + .../llvm-project/llvm/lib/MC/WasmObjectWriter.cpp | 3 +- .../llvm/lib/Object/WasmObjectFile.cpp | 21 +- .../llvm/lib/ProfileData/InstrProfReader.cpp | 2 +- .../llvm-project/llvm/lib/Support/RISCVISAInfo.cpp | 11 +- .../llvm-project/llvm/lib/Support/Windows/Path.inc | 5 +- .../lib/Target/AArch64/AArch64ISelDAGToDAG.cpp | 39 +- .../lib/Target/AArch64/AArch64ISelLowering.cpp | 59 +- .../AArch64/Disassembler/AArch64Disassembler.cpp | 2 +- .../Target/AArch64/GISel/AArch64LegalizerInfo.cpp | 14 +- .../llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp | 10 +- .../llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp | 18 +- .../llvm/lib/Target/AMDGPU/AMDGPUInstructions.td | 1 + .../lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp | 1 + .../llvm/lib/Target/AMDGPU/AMDGPURegisterBanks.td | 2 +- .../Target/AMDGPU/AMDGPUResourceUsageAnalysis.cpp | 3 +- .../lib/Target/AMDGPU/AMDGPURewriteUndefForPHI.cpp | 1 - .../lib/Target/AMDGPU/AMDGPUSearchableTables.td | 1 + .../AMDGPU/AMDGPUUnifyDivergentExitNodes.cpp | 3 - .../Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp | 9 +- .../AMDGPU/Disassembler/AMDGPUDisassembler.cpp | 57 +- .../llvm/lib/Target/AMDGPU/FLATInstructions.td | 11 +- .../AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp | 4 +- .../llvm/lib/Target/AMDGPU/R600ISelLowering.cpp | 6 +- .../llvm/lib/Target/AMDGPU/SIISelLowering.cpp | 58 +- .../llvm/lib/Target/AMDGPU/SIInstrInfo.cpp | 24 +- .../llvm/lib/Target/AMDGPU/SIInstructions.td | 10 + .../llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp | 12 +- .../llvm/lib/Target/AMDGPU/SIRegisterInfo.td | 76 +- .../lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp | 2 - .../llvm/lib/Target/AMDGPU/VOP3PInstructions.td | 22 +- .../llvm/lib/Target/ARC/ARCISelLowering.cpp | 2 +- .../llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp | 9 +- .../llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp | 28 +- .../llvm/lib/Target/ARM/ARMISelLowering.cpp | 69 +- .../llvm/lib/Target/AVR/AVRISelDAGToDAG.cpp | 2 +- .../llvm/lib/Target/AVR/AVRISelLowering.cpp | 5 +- .../llvm/lib/Target/BPF/BPFISelDAGToDAG.cpp | 4 +- .../llvm/lib/Target/CSKY/CSKYISelLowering.cpp | 4 +- .../lib/Target/Hexagon/HexagonISelDAGToDAG.cpp | 34 +- .../lib/Target/Hexagon/HexagonISelDAGToDAGHVX.cpp | 6 +- .../lib/Target/Hexagon/HexagonISelLowering.cpp | 9 +- .../lib/Target/Hexagon/HexagonISelLoweringHVX.cpp | 4 +- .../llvm/lib/Target/Lanai/LanaiISelLowering.cpp | 4 +- .../LoongArch/AsmParser/LoongArchAsmParser.cpp | 12 +- .../lib/Target/LoongArch/LoongArchISelLowering.cpp | 59 +- .../lib/Target/LoongArch/LoongArchISelLowering.h | 1 + .../lib/Target/LoongArch/LoongArchLASXInstrInfo.td | 50 +- .../lib/Target/LoongArch/LoongArchLSXInstrInfo.td | 4 +- .../MCTargetDesc/LoongArchMCCodeEmitter.cpp | 13 + .../LoongArch/MCTargetDesc/LoongArchMCExpr.cpp | 7 +- .../LoongArch/MCTargetDesc/LoongArchMCExpr.h | 8 +- .../llvm/lib/Target/M68k/M68kExpandPseudo.cpp | 10 + .../llvm/lib/Target/M68k/M68kISelLowering.cpp | 243 ++-- .../llvm/lib/Target/M68k/M68kISelLowering.h | 9 + .../llvm/lib/Target/M68k/M68kInstrArithmetic.td | 70 +- .../llvm/lib/Target/M68k/M68kInstrData.td | 3 + .../llvm/lib/Target/M68k/M68kInstrFormats.td | 20 +- .../llvm/lib/Target/M68k/M68kInstrInfo.td | 30 +- .../llvm/lib/Target/MSP430/MSP430ISelLowering.cpp | 6 +- .../llvm/lib/Target/Mips/Mips64InstrInfo.td | 12 +- .../llvm/lib/Target/Mips/MipsISelDAGToDAG.cpp | 20 + .../llvm/lib/Target/Mips/MipsISelDAGToDAG.h | 1 + .../llvm/lib/Target/Mips/MipsISelLowering.cpp | 4 +- .../lib/Target/Mips/MipsInstrCompiler.td (new) | 33 + .../llvm/lib/Target/Mips/MipsInstrInfo.td | 13 +- .../llvm/lib/Target/Mips/MipsSEISelDAGToDAG.cpp | 8 +- .../llvm/lib/Target/Mips/MipsSEISelLowering.cpp | 8 +- .../llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp | 6 +- .../llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp | 5 +- .../llvm/lib/Target/PowerPC/PPCISelLowering.cpp | 134 +- .../lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp | 45 +- .../RISCV/Disassembler/RISCVDisassembler.cpp | 31 +- .../lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp | 2 +- .../Target/RISCV/MCTargetDesc/RISCVBaseInfo.cpp | 1 - .../lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h | 14 +- .../Target/RISCV/MCTargetDesc/RISCVInstPrinter.cpp | 5 +- .../llvm/lib/Target/RISCV/RISCVCallingConv.td | 4 +- .../llvm/lib/Target/RISCV/RISCVFeatures.td | 29 +- .../llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp | 6 +- .../llvm/lib/Target/RISCV/RISCVISelLowering.cpp | 230 +++- .../llvm/lib/Target/RISCV/RISCVInsertWriteVXRM.cpp | 14 +- .../llvm/lib/Target/RISCV/RISCVInstrInfo.cpp | 11 +- .../llvm/lib/Target/RISCV/RISCVInstrInfo.td | 11 +- .../lib/Target/RISCV/RISCVInstrInfoVPseudos.td | 152 +-- .../lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td | 58 + .../llvm/lib/Target/RISCV/RISCVInstrInfoXSf.td | 83 +- .../llvm/lib/Target/RISCV/RISCVInstrInfoZc.td | 5 +- .../lib/Target/RISCV/RISCVInstrInfoZcmop.td (new) | 34 + .../Target/RISCV/RISCVInstrInfoZicfiss.td (new) | 72 ++ .../lib/Target/RISCV/RISCVInstrInfoZimop.td (new) | 59 + .../llvm/lib/Target/RISCV/RISCVProcessors.td | 3 +- .../llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp | 3 + .../llvm/lib/Target/RISCV/RISCVRegisterInfo.td | 7 + .../llvm/lib/Target/RISCV/RISCVSystemOperands.td | 55 +- .../lib/Target/RISCV/RISCVTargetTransformInfo.h | 3 +- .../llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp | 6 +- .../llvm/lib/Target/Sparc/SparcISelLowering.cpp | 4 +- .../lib/Target/SystemZ/SystemZISelLowering.cpp | 76 +- .../llvm/lib/Target/SystemZ/SystemZOperators.td | 4 +- .../llvm/lib/Target/VE/VEISelLowering.cpp | 14 +- .../llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp | 10 +- .../Target/X86/Disassembler/X86Disassembler.cpp | 6 +- .../X86/Disassembler/X86DisassemblerDecoder.h | 1 + .../llvm/lib/Target/X86/MCTargetDesc/X86BaseInfo.h | 13 +- .../X86/MCTargetDesc/X86InstPrinterCommon.cpp | 3 + .../Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp | 43 +- contrib/llvm-project/llvm/lib/Target/X86/X86.td | 11 +- .../llvm/lib/Target/X86/X86ISelDAGToDAG.cpp | 4 +- .../llvm/lib/Target/X86/X86ISelLowering.cpp | 10 +- .../llvm/lib/Target/X86/X86InsertPrefetch.cpp | 3 +- .../llvm/lib/Target/X86/X86InstrAMX.td | 68 +- .../llvm/lib/Target/X86/X86InstrAVX512.td | 11 + .../llvm/lib/Target/X86/X86InstrArithmetic.td | 1306 +++++++++----------- .../llvm/lib/Target/X86/X86InstrFormats.td | 2 + .../llvm/lib/Target/X86/X86InstrPredicates.td | 3 +- .../llvm/lib/Target/X86/X86InstrSSE.td | 94 +- .../llvm/lib/Target/X86/X86InstrSystem.td | 4 +- .../llvm/lib/Target/X86/X86InstrUtils.td | 426 ++++++- .../llvm/lib/Target/X86/X86InstrVecCompiler.td | 9 + .../llvm/lib/Target/X86/X86TargetTransformInfo.cpp | 26 +- .../llvm/lib/Target/X86/X86TargetTransformInfo.h | 5 + .../llvm/lib/Target/XCore/XCoreISelDAGToDAG.cpp | 2 +- .../llvm/lib/Target/XCore/XCoreISelLowering.cpp | 56 +- .../llvm/lib/TargetParser/ARMTargetParser.cpp | 6 +- .../llvm-project/llvm/lib/TargetParser/Host.cpp | 2 +- .../llvm-project/llvm/lib/TargetParser/Triple.cpp | 3 +- .../llvm/lib/TargetParser/X86TargetParser.cpp | 4 +- .../llvm-project/llvm/lib/TextAPI/TextStubV5.cpp | 7 +- .../llvm/lib/Transforms/Coroutines/CoroFrame.cpp | 6 +- .../llvm/lib/Transforms/IPO/FunctionAttrs.cpp | 46 +- .../Transforms/InstCombine/InstCombineAddSub.cpp | 4 +- .../Transforms/InstCombine/InstCombineAndOrXor.cpp | 14 +- .../Transforms/InstCombine/InstCombineCalls.cpp | 6 + .../Transforms/InstCombine/InstCombineCompares.cpp | 196 ++- .../Transforms/InstCombine/InstCombineInternal.h | 7 +- .../Transforms/InstCombine/InstCombineSelect.cpp | 71 +- .../InstCombine/InstructionCombining.cpp | 58 +- .../Transforms/Scalar/ConstraintElimination.cpp | 64 +- .../Transforms/Utils/CanonicalizeFreezeInLoops.cpp | 60 +- .../llvm/lib/Transforms/Utils/Local.cpp | 5 +- .../lib/Transforms/Vectorize/LoopVectorize.cpp | 63 +- .../lib/Transforms/Vectorize/SLPVectorizer.cpp | 146 ++- .../llvm/lib/Transforms/Vectorize/VPlan.h | 30 + .../llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp | 65 +- .../llvm/lib/Transforms/Vectorize/VPlanValue.h | 1 + .../llvm-project/llvm/tools/llvm-ar/llvm-ar.cpp | 3 +- .../llvm/tools/llvm-diff/llvm-diff.cpp | 3 +- .../llvm/utils/TableGen/X86DisassemblerTables.cpp | 21 +- .../llvm/utils/TableGen/X86FoldTablesEmitter.cpp | 18 +- .../llvm/utils/TableGen/X86RecognizableInstr.cpp | 37 +- .../llvm/utils/TableGen/X86RecognizableInstr.h | 4 +- lib/clang/include/Plugins/Plugins.def | 1 + lib/clang/include/VCSVersion.inc | 6 +- lib/clang/include/lld/Common/Version.inc | 2 +- lib/clang/include/llvm/Config/AsmParsers.def | 23 + lib/clang/include/llvm/Config/AsmPrinters.def | 23 + lib/clang/include/llvm/Config/Disassemblers.def | 23 + lib/clang/include/llvm/Config/TargetMCAs.def | 23 + lib/clang/include/llvm/Config/Targets.def | 22 + lib/clang/include/llvm/Support/VCSRevision.h | 2 +- lib/clang/liblldb/Makefile | 1 + lib/clang/libllvm/Makefile | 1 + 335 files changed, 5221 insertions(+), 3749 deletions(-)
A commit in branch stable/14 references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=7e83d42fa4164d54298ae7263fe44bddfe156536 commit 7e83d42fa4164d54298ae7263fe44bddfe156536 Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2024-01-02 16:07:31 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-04-19 21:12:23 +0000 Revert commit 0e46b49de433 from llvm-project (by Matt Arsenault): Reapply "RegisterCoalescer: Add implicit-def of super register when coalescing SUBREG_TO_REG" This reverts commit c398fa009a47eb24f88383d5e911e59e70f8db86. PPC backend was fixed in 2f82662ce901c6666fceb9c6c5e0de216a1c9667 Since it causes an assertion failure building /sys/dev/fb/vga.c: https://github.com/llvm/llvm-project/issues/76416 PR: 276104 MFC after: 1 month (cherry picked from commit edc2dc17b1f2dfe45dc85e6cc0ff54bca1ac8214) .../llvm/lib/CodeGen/RegisterCoalescer.cpp | 51 ++++------------------ 1 file changed, 9 insertions(+), 42 deletions(-)
A commit in branch stable/14 references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=e710425beb3de4adcf4d601da2f224503f876b6d commit e710425beb3de4adcf4d601da2f224503f876b6d Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2023-12-25 17:35:41 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-04-19 21:12:22 +0000 Merge llvm-project main llvmorg-18-init-15692-g007ed0dccd6a This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvm-project main llvmorg-18-init-15692-g007ed0dccd6a. PR: 276104 MFC after: 1 month (cherry picked from commit cb14a3fe5122c879eae1fb480ed7ce82a699ddb6) .../llvm-project/clang/include/clang/AST/Decl.h | 27 +- .../clang/include/clang/AST/DeclBase.h | 10 - .../clang/include/clang/AST/RecursiveASTVisitor.h | 7 +- .../Analysis/FlowSensitive/DataflowEnvironment.h | 80 +- .../clang/Analysis/FlowSensitive/RecordOps.h | 12 +- .../include/clang/Analysis/FlowSensitive/Value.h | 40 +- .../llvm-project/clang/include/clang/Basic/Attr.td | 18 - .../clang/include/clang/Basic/AttrDocs.td | 66 - .../clang/include/clang/Basic/DiagnosticGroups.td | 6 +- .../include/clang/Basic/DiagnosticParseKinds.td | 4 +- .../include/clang/Basic/DiagnosticSemaKinds.td | 28 +- .../clang/include/clang/Basic/LangOptions.def | 1 + .../clang/include/clang/Basic/OpenACCKinds.h | 24 + .../clang/include/clang/Basic/PlistSupport.h | 3 +- .../clang/include/clang/Basic/TargetInfo.h | 1 + .../clang/include/clang/Basic/Version.h | 3 + .../clang/include/clang/Basic/arm_sme.td | 317 + .../clang/include/clang/Basic/arm_sve.td | 1399 +-- .../clang/include/clang/Basic/riscv_vector.td | 18 +- .../clang/include/clang/Driver/Options.td | 5 +- .../include/clang/Interpreter/CodeCompletion.h | 25 +- .../clang/include/clang/Interpreter/Interpreter.h | 1 + .../llvm-project/clang/include/clang/Sema/Sema.h | 7 +- .../clang/include/clang/Sema/TypoCorrection.h | 12 +- .../clang/include/clang/Serialization/ASTReader.h | 2 + .../clang/include/clang/Serialization/ASTWriter.h | 88 +- .../include/clang/Support/RISCVVIntrinsicUtils.h | 7 +- .../clang/lib/APINotes/APINotesManager.cpp | 2 +- contrib/llvm-project/clang/lib/AST/ASTImporter.cpp | 48 +- .../clang/lib/AST/ASTStructuralEquivalence.cpp | 12 + contrib/llvm-project/clang/lib/AST/Decl.cpp | 41 +- contrib/llvm-project/clang/lib/AST/DeclBase.cpp | 74 +- contrib/llvm-project/clang/lib/AST/Expr.cpp | 83 +- .../Analysis/FlowSensitive/DataflowEnvironment.cpp | 90 +- .../Models/UncheckedOptionalAccessModel.cpp | 31 +- .../clang/lib/Analysis/FlowSensitive/RecordOps.cpp | 33 +- .../clang/lib/Analysis/FlowSensitive/Transfer.cpp | 25 +- .../FlowSensitive/TypeErasedDataflowAnalysis.cpp | 2 +- .../clang/lib/Basic/Targets/AArch64.cpp | 1 + .../llvm-project/clang/lib/Basic/Targets/ARM.cpp | 1 + .../llvm-project/clang/lib/Basic/Targets/RISCV.cpp | 4 + .../llvm-project/clang/lib/Basic/Targets/RISCV.h | 1 + contrib/llvm-project/clang/lib/Basic/Version.cpp | 18 +- contrib/llvm-project/clang/lib/Basic/Warnings.cpp | 3 +- .../llvm-project/clang/lib/CodeGen/BackendUtil.cpp | 7 +- .../llvm-project/clang/lib/CodeGen/CGBuiltin.cpp | 209 +- contrib/llvm-project/clang/lib/CodeGen/CGExpr.cpp | 129 +- .../clang/lib/CodeGen/CGExprScalar.cpp | 26 +- .../clang/lib/CodeGen/CGHLSLRuntime.cpp | 63 +- .../llvm-project/clang/lib/CodeGen/CGHLSLRuntime.h | 2 +- .../clang/lib/CodeGen/CGOpenMPRuntime.cpp | 148 +- .../clang/lib/CodeGen/CodeGenFunction.h | 16 - .../clang/lib/CodeGen/CodeGenModule.cpp | 10 +- .../clang/lib/CodeGen/Targets/AArch64.cpp | 2 + .../clang/lib/Driver/ToolChains/AIX.cpp | 6 + .../clang/lib/Driver/ToolChains/Arch/RISCV.cpp | 4 + .../clang/lib/Driver/ToolChains/Clang.cpp | 15 +- .../clang/lib/Driver/ToolChains/CommonArgs.cpp | 59 +- .../clang/lib/Driver/ToolChains/Gnu.cpp | 127 +- .../clang/lib/Format/ContinuationIndenter.cpp | 20 +- contrib/llvm-project/clang/lib/Format/Format.cpp | 8 +- .../clang/lib/Format/MatchFilePath.cpp (new) | 122 + .../clang/lib/Format/MatchFilePath.h (new) | 22 + .../clang/lib/Format/TokenAnnotator.cpp | 3 +- .../clang/lib/Format/UnwrappedLineParser.cpp | 6 +- .../clang/lib/Headers/adcintrin.h (new) | 160 + contrib/llvm-project/clang/lib/Headers/adxintrin.h | 143 +- contrib/llvm-project/clang/lib/Headers/immintrin.h | 8 +- .../clang/lib/Headers/riscv_bitmanip.h | 24 +- .../clang/lib/Interpreter/CodeCompletion.cpp | 223 +- .../clang/lib/Interpreter/Interpreter.cpp | 4 + .../llvm-project/clang/lib/Lex/PPDirectives.cpp | 22 +- .../llvm-project/clang/lib/Parse/ParseOpenACC.cpp | 92 +- .../llvm-project/clang/lib/Sema/SemaChecking.cpp | 77 +- contrib/llvm-project/clang/lib/Sema/SemaDecl.cpp | 45 +- .../llvm-project/clang/lib/Sema/SemaDeclAttr.cpp | 90 - contrib/llvm-project/clang/lib/Sema/SemaExpr.cpp | 16 +- .../llvm-project/clang/lib/Sema/SemaExprCXX.cpp | 28 +- .../llvm-project/clang/lib/Sema/SemaExprMember.cpp | 4 +- contrib/llvm-project/clang/lib/Sema/SemaInit.cpp | 214 +- contrib/llvm-project/clang/lib/Sema/SemaOpenMP.cpp | 13 + .../clang/lib/Sema/SemaRISCVVectorLookup.cpp | 19 +- contrib/llvm-project/clang/lib/Sema/SemaStmt.cpp | 7 +- .../llvm-project/clang/lib/Sema/SemaTemplate.cpp | 28 +- .../clang/lib/Serialization/ASTReaderDecl.cpp | 52 +- .../clang/lib/Serialization/ASTReaderStmt.cpp | 405 +- .../clang/lib/Serialization/ASTWriter.cpp | 15 +- .../clang/lib/Serialization/ASTWriterDecl.cpp | 574 +- .../clang/lib/Serialization/ASTWriterStmt.cpp | 241 +- .../lib/StaticAnalyzer/Checkers/StreamChecker.cpp | 86 + .../clang/lib/Support/RISCVVIntrinsicUtils.cpp | 2 +- .../clang/tools/clang-repl/ClangRepl.cpp | 24 +- .../clang/utils/TableGen/NeonEmitter.cpp | 28 + .../clang/utils/TableGen/RISCVVEmitter.cpp | 40 +- .../clang/utils/TableGen/SveEmitter.cpp | 87 + .../llvm-project/clang/utils/TableGen/TableGen.cpp | 18 + .../clang/utils/TableGen/TableGenBackends.h | 3 + .../compiler-rt/lib/asan/asan_posix.cpp | 51 +- .../compiler-rt/lib/asan/asan_rtl_x86_64.S | 10 + .../lib/builtins/cpu_model/aarch64.c (new) | 151 + .../cpu_model/aarch64/fmv/android.inc (new) | 36 + .../builtins/cpu_model/aarch64/fmv/apple.inc (new) | 69 + .../cpu_model/aarch64/fmv/freebsd.inc (new) | 27 + .../cpu_model/aarch64/fmv/fuchsia.inc (new) | 51 + .../builtins/cpu_model/aarch64/fmv/mrs.inc (new) | 196 + .../cpu_model/aarch64/fmv/sysauxv.inc (new) | 21 + .../cpu_model/aarch64/fmv/unimplemented.inc (new) | 8 + .../lib/builtins/cpu_model/aarch64/hwcap.inc (new) | 180 + .../aarch64/lse_atomics/android.inc (new) | 28 + .../aarch64/lse_atomics/freebsd.inc (new) | 5 + .../aarch64/lse_atomics/fuchsia.inc (new) | 12 + .../aarch64/lse_atomics/sysauxv.inc (new) | 6 + .../lib/builtins/cpu_model/cpu_model.h (new) | 41 + .../lib/builtins/{cpu_model.c => cpu_model/x86.c} | 692 +- .../lib/dfsan/dfsan_chained_origin_depot.cpp | 6 + .../lib/dfsan/dfsan_chained_origin_depot.h | 3 + .../compiler-rt/lib/dfsan/dfsan_custom.cpp | 12 +- .../compiler-rt/lib/hwasan/hwasan_linux.cpp | 46 +- .../compiler-rt/lib/hwasan/hwasan_report.cpp | 68 +- .../compiler-rt/lib/lsan/lsan_posix.cpp | 33 +- .../lib/msan/msan_chained_origin_depot.cpp | 8 +- .../lib/msan/msan_chained_origin_depot.h | 4 +- .../compiler-rt/lib/msan/msan_linux.cpp | 32 +- .../compiler-rt/lib/orc/macho_platform.cpp | 4 + .../lib/profile/InstrProfilingPlatformWindows.c | 10 + .../sanitizer_chained_origin_depot.cpp | 6 +- .../sanitizer_chained_origin_depot.h | 4 +- .../lib/sanitizer_common/sanitizer_stack_store.cpp | 9 +- .../lib/sanitizer_common/sanitizer_stackdepot.cpp | 8 +- .../lib/sanitizer_common/sanitizer_stackdepot.h | 4 +- .../sanitizer_common/sanitizer_stackdepotbase.h | 9 +- .../sanitizer_common/sanitizer_suppressions.cpp | 5 +- .../sanitizer_symbolizer_posix_libcdep.cpp | 27 +- .../symbolizer/sanitizer_symbolize.cpp | 6 +- .../compiler-rt/lib/scudo/standalone/combined.h | 13 - .../lib/tsan/rtl/tsan_interceptors_posix.cpp | 19 + .../libcxx/include/__algorithm/binary_search.h | 20 +- .../libcxx/include/__algorithm/comp_ref_type.h | 66 +- .../libcxx/include/__algorithm/copy_backward.h | 16 +- .../libcxx/include/__algorithm/copy_if.h | 23 +- .../libcxx/include/__algorithm/copy_move_common.h | 25 +- .../libcxx/include/__algorithm/copy_n.h | 59 +- .../libcxx/include/__algorithm/equal.h | 29 +- .../libcxx/include/__algorithm/equal_range.h | 11 +- .../llvm-project/libcxx/include/__algorithm/fill.h | 26 +- .../libcxx/include/__algorithm/fill_n.h | 20 +- .../llvm-project/libcxx/include/__algorithm/find.h | 19 + .../libcxx/include/__algorithm/find_end.h | 92 +- .../libcxx/include/__algorithm/find_first_of.h | 21 +- .../libcxx/include/__algorithm/fold.h (new) | 125 + .../libcxx/include/__algorithm/for_each_n.h | 5 +- .../libcxx/include/__algorithm/generate.h | 10 +- .../libcxx/include/__algorithm/generate_n.h | 16 +- .../libcxx/include/__algorithm/half_positive.h | 14 +- .../libcxx/include/__algorithm/in_found_result.h | 2 +- .../libcxx/include/__algorithm/in_fun_result.h | 2 +- .../libcxx/include/__algorithm/in_in_out_result.h | 14 +- .../libcxx/include/__algorithm/in_in_result.h | 6 +- .../libcxx/include/__algorithm/in_out_out_result.h | 14 +- .../libcxx/include/__algorithm/in_out_result.h | 8 +- .../libcxx/include/__algorithm/includes.h | 31 +- .../libcxx/include/__algorithm/inplace_merge.h | 304 +- .../libcxx/include/__algorithm/is_heap.h | 20 +- .../libcxx/include/__algorithm/is_heap_until.h | 56 +- .../libcxx/include/__algorithm/is_partitioned.h | 21 +- .../libcxx/include/__algorithm/is_permutation.h | 177 +- .../libcxx/include/__algorithm/is_sorted.h | 20 +- .../libcxx/include/__algorithm/is_sorted_until.h | 33 +- .../libcxx/include/__algorithm/iter_swap.h | 3 +- .../include/__algorithm/iterator_operations.h | 67 +- .../include/__algorithm/lexicographical_compare.h | 49 +- .../libcxx/include/__algorithm/lower_bound.h | 15 +- .../libcxx/include/__algorithm/make_heap.h | 16 +- .../libcxx/include/__algorithm/make_projected.h | 47 +- .../llvm-project/libcxx/include/__algorithm/max.h | 39 +- .../libcxx/include/__algorithm/max_element.h | 33 +- .../libcxx/include/__algorithm/merge.h | 65 +- .../llvm-project/libcxx/include/__algorithm/min.h | 39 +- .../libcxx/include/__algorithm/min_element.h | 23 +- .../libcxx/include/__algorithm/min_max_result.h | 2 +- .../libcxx/include/__algorithm/minmax.h | 48 +- .../libcxx/include/__algorithm/minmax_element.h | 31 +- .../libcxx/include/__algorithm/mismatch.h | 25 +- .../llvm-project/libcxx/include/__algorithm/move.h | 3 +- .../libcxx/include/__algorithm/move_backward.h | 6 +- .../libcxx/include/__algorithm/next_permutation.h | 61 +- .../libcxx/include/__algorithm/nth_element.h | 386 +- .../libcxx/include/__algorithm/partial_sort.h | 39 +- .../libcxx/include/__algorithm/partial_sort_copy.h | 94 +- .../libcxx/include/__algorithm/partition.h | 84 +- .../libcxx/include/__algorithm/partition_copy.h | 36 +- .../libcxx/include/__algorithm/partition_point.h | 34 +- .../libcxx/include/__algorithm/pop_heap.h | 18 +- .../libcxx/include/__algorithm/prev_permutation.h | 64 +- .../libcxx/include/__algorithm/push_heap.h | 24 +- .../include/__algorithm/ranges_contains.h (new) | 61 + .../libcxx/include/__algorithm/ranges_max.h | 5 +- .../libcxx/include/__algorithm/ranges_min.h | 5 +- .../libcxx/include/__algorithm/ranges_minmax.h | 5 +- .../libcxx/include/__algorithm/remove.h | 26 +- .../libcxx/include/__algorithm/remove_copy.h | 20 +- .../libcxx/include/__algorithm/remove_copy_if.h | 20 +- .../libcxx/include/__algorithm/remove_if.h | 26 +- .../libcxx/include/__algorithm/replace.h | 12 +- .../libcxx/include/__algorithm/replace_copy.h | 23 +- .../libcxx/include/__algorithm/replace_copy_if.h | 23 +- .../libcxx/include/__algorithm/replace_if.h | 12 +- .../libcxx/include/__algorithm/reverse.h | 40 +- .../libcxx/include/__algorithm/reverse_copy.h | 12 +- .../libcxx/include/__algorithm/rotate.h | 264 +- .../libcxx/include/__algorithm/rotate_copy.h | 8 +- .../libcxx/include/__algorithm/sample.h | 83 +- .../libcxx/include/__algorithm/search.h | 123 +- .../libcxx/include/__algorithm/search_n.h | 96 +- .../libcxx/include/__algorithm/set_difference.h | 2 +- .../libcxx/include/__algorithm/shift_left.h | 43 +- .../libcxx/include/__algorithm/shift_right.h | 123 +- .../libcxx/include/__algorithm/shuffle.h | 127 +- .../libcxx/include/__algorithm/sift_down.h | 141 +- .../llvm-project/libcxx/include/__algorithm/sort.h | 245 +- .../libcxx/include/__algorithm/sort_heap.h | 16 +- .../libcxx/include/__algorithm/stable_partition.h | 487 +- .../libcxx/include/__algorithm/stable_sort.h | 332 +- .../libcxx/include/__algorithm/swap_ranges.h | 9 +- .../libcxx/include/__algorithm/transform.h | 29 +- .../uniform_random_bit_generator_adaptor.h | 14 +- .../libcxx/include/__algorithm/unwrap_iter.h | 10 +- .../llvm-project/libcxx/include/__atomic/atomic.h | 812 +- .../libcxx/include/__atomic/atomic_base.h | 321 +- .../libcxx/include/__atomic/atomic_flag.h | 246 +- .../libcxx/include/__atomic/atomic_lock_free.h | 52 +- .../libcxx/include/__atomic/atomic_sync.h | 90 +- .../libcxx/include/__atomic/check_memory_order.h | 22 +- .../libcxx/include/__atomic/contention_t.h | 4 +- .../libcxx/include/__atomic/cxx_atomic_impl.h | 560 +- .../llvm-project/libcxx/include/__atomic/fence.h | 16 +- .../libcxx/include/__atomic/kill_dependency.h | 6 +- .../libcxx/include/__atomic/memory_order.h | 11 +- contrib/llvm-project/libcxx/include/__availability | 82 +- .../llvm-project/libcxx/include/__bit/bit_cast.h | 3 +- .../llvm-project/libcxx/include/__bit/bit_ceil.h | 2 +- .../llvm-project/libcxx/include/__bit/byteswap.h | 11 +- contrib/llvm-project/libcxx/include/__bit/countl.h | 84 +- contrib/llvm-project/libcxx/include/__bit/countr.h | 17 +- contrib/llvm-project/libcxx/include/__bit/endian.h | 2 +- .../llvm-project/libcxx/include/__bit/popcount.h | 15 +- .../libcxx/include/__chrono/calendar.h | 12 +- .../libcxx/include/__chrono/convert_to_timespec.h | 15 +- contrib/llvm-project/libcxx/include/__chrono/day.h | 91 +- .../libcxx/include/__chrono/duration.h | 693 +- .../libcxx/include/__chrono/file_clock.h | 24 +- .../libcxx/include/__chrono/formatter.h | 63 +- .../libcxx/include/__chrono/hh_mm_ss.h | 117 +- .../include/__chrono/high_resolution_clock.h | 3 +- .../libcxx/include/__chrono/literals.h | 24 +- .../llvm-project/libcxx/include/__chrono/month.h | 94 +- .../libcxx/include/__chrono/month_weekday.h | 104 +- .../libcxx/include/__chrono/monthday.h | 134 +- .../libcxx/include/__chrono/steady_clock.h | 18 +- .../libcxx/include/__chrono/system_clock.h | 24 +- .../libcxx/include/__chrono/time_point.h | 186 +- .../llvm-project/libcxx/include/__chrono/weekday.h | 201 +- .../llvm-project/libcxx/include/__chrono/year.h | 104 +- .../libcxx/include/__chrono/year_month.h | 102 +- .../libcxx/include/__chrono/year_month_day.h | 460 +- .../libcxx/include/__chrono/year_month_weekday.h | 369 +- .../include/__compare/common_comparison_category.h | 27 +- .../__compare/compare_partial_order_fallback.h | 68 +- .../__compare/compare_strong_order_fallback.h | 62 +- .../libcxx/include/__compare/compare_three_way.h | 19 +- .../include/__compare/compare_three_way_result.h | 23 +- .../__compare/compare_weak_order_fallback.h | 62 +- .../libcxx/include/__compare/ordering.h | 164 +- .../libcxx/include/__compare/partial_order.h | 63 +- .../libcxx/include/__compare/strong_order.h | 173 +- .../include/__compare/three_way_comparable.h | 36 +- .../libcxx/include/__compare/weak_order.h | 115 +- contrib/llvm-project/libcxx/include/__config | 4 +- .../libcxx/include/__coroutine/coroutine_handle.h | 257 +- .../libcxx/include/__coroutine/coroutine_traits.h | 9 +- .../include/__coroutine/noop_coroutine_handle.h | 103 +- .../include/__coroutine/trivial_awaitables.h | 18 +- .../libcxx/include/__debug_utils/randomize_range.h | 3 +- .../libcxx/include/__expected/expected.h | 205 +- .../libcxx/include/__filesystem/copy_options.h | 50 +- .../libcxx/include/__filesystem/directory_entry.h | 251 +- .../include/__filesystem/directory_iterator.h | 73 +- .../include/__filesystem/directory_options.h | 44 +- .../libcxx/include/__filesystem/file_status.h | 28 +- .../libcxx/include/__filesystem/file_type.h | 14 +- .../libcxx/include/__filesystem/operations.h | 224 +- .../libcxx/include/__filesystem/path.h | 652 +- .../libcxx/include/__filesystem/path_iterator.h | 50 +- .../libcxx/include/__filesystem/perm_options.h | 39 +- .../libcxx/include/__filesystem/perms.h | 56 +- .../__filesystem/recursive_directory_iterator.h | 85 +- .../libcxx/include/__filesystem/u8path.h | 48 +- .../llvm-project/libcxx/include/__format/buffer.h | 52 +- .../libcxx/include/__format/concepts.h | 2 +- .../libcxx/include/__format/format_arg.h | 32 +- .../libcxx/include/__format/format_arg_store.h | 10 +- .../libcxx/include/__format/format_args.h | 5 +- .../libcxx/include/__format/format_context.h | 72 +- .../libcxx/include/__format/format_error.h | 17 +- .../libcxx/include/__format/format_functions.h | 184 +- .../libcxx/include/__format/format_parse_context.h | 30 +- .../libcxx/include/__format/format_string.h | 20 +- .../libcxx/include/__format/formatter.h | 4 +- .../include/__format/formatter_floating_point.h | 92 +- .../libcxx/include/__format/formatter_integer.h | 37 +- .../libcxx/include/__format/formatter_integral.h | 77 +- .../libcxx/include/__format/formatter_output.h | 58 +- .../libcxx/include/__format/formatter_pointer.h | 9 +- .../libcxx/include/__format/formatter_string.h | 18 +- .../include/__format/parser_std_format_spec.h | 79 +- .../llvm-project/libcxx/include/__format/unicode.h | 10 +- .../libcxx/include/__format/write_escaped.h | 19 +- .../libcxx/include/__functional/binary_function.h | 16 +- .../libcxx/include/__functional/binary_negate.h | 25 +- .../libcxx/include/__functional/bind.h | 385 +- .../libcxx/include/__functional/bind_back.h | 34 +- .../libcxx/include/__functional/bind_front.h | 21 +- .../libcxx/include/__functional/binder1st.h | 35 +- .../libcxx/include/__functional/binder2nd.h | 35 +- .../include/__functional/boyer_moore_searcher.h | 128 +- .../libcxx/include/__functional/compose.h | 25 +- .../libcxx/include/__functional/default_searcher.h | 31 +- .../libcxx/include/__functional/function.h | 1645 ++-- .../libcxx/include/__functional/hash.h | 682 +- .../libcxx/include/__functional/identity.h | 20 +- .../libcxx/include/__functional/invoke.h | 30 +- .../libcxx/include/__functional/is_transparent.h | 3 +- .../libcxx/include/__functional/mem_fn.h | 36 +- .../libcxx/include/__functional/mem_fun_ref.h | 183 +- .../libcxx/include/__functional/not_fn.h | 25 +- .../libcxx/include/__functional/operations.h | 540 +- .../libcxx/include/__functional/perfect_forward.h | 48 +- .../__functional/pointer_to_binary_function.h | 20 +- .../__functional/pointer_to_unary_function.h | 20 +- .../include/__functional/ranges_operations.h | 24 +- .../include/__functional/reference_wrapper.h | 97 +- .../libcxx/include/__functional/unary_function.h | 12 +- .../libcxx/include/__functional/unary_negate.h | 25 +- .../libcxx/include/__functional/weak_result_type.h | 225 +- contrib/llvm-project/libcxx/include/__fwd/get.h | 48 +- contrib/llvm-project/libcxx/include/__fwd/span.h | 3 +- .../libcxx/include/__fwd/string_view.h | 8 +- .../llvm-project/libcxx/include/__fwd/subrange.h | 2 +- contrib/llvm-project/libcxx/include/__hash_table | 3216 +++---- contrib/llvm-project/libcxx/include/__ios/fpos.h | 9 +- .../libcxx/include/__iterator/access.h | 67 +- .../libcxx/include/__iterator/advance.h | 57 +- .../include/__iterator/back_insert_iterator.h | 53 +- .../libcxx/include/__iterator/common_iterator.h | 211 +- .../libcxx/include/__iterator/concepts.h | 338 +- .../libcxx/include/__iterator/counted_iterator.h | 200 +- .../llvm-project/libcxx/include/__iterator/data.h | 32 +- .../libcxx/include/__iterator/default_sentinel.h | 2 +- .../libcxx/include/__iterator/distance.h | 49 +- .../llvm-project/libcxx/include/__iterator/empty.h | 19 +- .../libcxx/include/__iterator/erase_if_container.h | 4 +- .../include/__iterator/front_insert_iterator.h | 51 +- .../include/__iterator/incrementable_traits.h | 33 +- .../include/__iterator/indirectly_comparable.h | 3 +- .../libcxx/include/__iterator/insert_iterator.h | 57 +- .../libcxx/include/__iterator/istream_iterator.h | 95 +- .../include/__iterator/istreambuf_iterator.h | 131 +- .../libcxx/include/__iterator/iter_move.h | 68 +- .../libcxx/include/__iterator/iter_swap.h | 100 +- .../libcxx/include/__iterator/iterator.h | 16 +- .../libcxx/include/__iterator/iterator_traits.h | 397 +- .../libcxx/include/__iterator/mergeable.h | 15 +- .../libcxx/include/__iterator/move_iterator.h | 419 +- .../libcxx/include/__iterator/move_sentinel.h | 21 +- .../llvm-project/libcxx/include/__iterator/next.h | 13 +- .../libcxx/include/__iterator/ostream_iterator.h | 55 +- .../include/__iterator/ostreambuf_iterator.h | 61 +- .../libcxx/include/__iterator/permutable.h | 3 +- .../llvm-project/libcxx/include/__iterator/prev.h | 13 +- .../libcxx/include/__iterator/readable_traits.h | 46 +- .../libcxx/include/__iterator/reverse_access.h | 60 +- .../libcxx/include/__iterator/reverse_iterator.h | 366 +- .../llvm-project/libcxx/include/__iterator/size.h | 32 +- .../libcxx/include/__iterator/sortable.h | 4 +- .../include/__iterator/unreachable_sentinel.h | 5 +- .../libcxx/include/__iterator/wrap_iter.h | 258 +- contrib/llvm-project/libcxx/include/__locale | 2434 +++-- .../locale_base_api/bsd_locale_defaults.h | 28 +- .../locale_base_api/bsd_locale_fallbacks.h | 144 +- .../__locale_dir/locale_base_api/locale_guard.h | 67 +- contrib/llvm-project/libcxx/include/__mbstate_t.h | 16 +- .../libcxx/include/__memory/addressof.h | 35 +- .../libcxx/include/__memory/aligned_alloc.h | 42 +- .../libcxx/include/__memory/allocate_at_least.h | 10 +- .../libcxx/include/__memory/allocation_guard.h | 98 +- .../libcxx/include/__memory/allocator.h | 331 +- .../libcxx/include/__memory/allocator_arg_t.h | 45 +- .../libcxx/include/__memory/allocator_destructor.h | 24 +- .../libcxx/include/__memory/allocator_traits.h | 379 +- .../libcxx/include/__memory/assume_aligned.h | 3 +- .../libcxx/include/__memory/auto_ptr.h | 94 +- .../include/__memory/builtin_new_allocator.h | 23 +- .../libcxx/include/__memory/compressed_pair.h | 81 +- .../libcxx/include/__memory/concepts.h | 15 +- .../libcxx/include/__memory/construct_at.h | 65 +- .../libcxx/include/__memory/destruct_n.h | 61 +- .../libcxx/include/__memory/pointer_traits.h | 174 +- .../libcxx/include/__memory/ranges_construct_at.h | 28 +- .../__memory/ranges_uninitialized_algorithms.h | 89 +- .../libcxx/include/__memory/raw_storage_iterator.h | 66 +- .../libcxx/include/__memory/shared_ptr.h | 2495 ++--- .../libcxx/include/__memory/temp_value.h | 32 +- .../libcxx/include/__memory/temporary_buffer.h | 78 +- .../include/__memory/uninitialized_algorithms.h | 461 +- .../libcxx/include/__memory/unique_ptr.h | 373 +- .../libcxx/include/__memory/uses_allocator.h | 27 +- contrib/llvm-project/libcxx/include/__node_handle | 224 +- .../libcxx/include/__numeric/accumulate.h | 28 +- .../libcxx/include/__numeric/adjacent_difference.h | 57 +- .../libcxx/include/__numeric/exclusive_scan.h | 2 +- .../libcxx/include/__numeric/gcd_lcm.h | 82 +- .../libcxx/include/__numeric/inclusive_scan.h | 9 +- .../libcxx/include/__numeric/inner_product.h | 34 +- .../llvm-project/libcxx/include/__numeric/iota.h | 10 +- .../libcxx/include/__numeric/midpoint.h | 61 +- .../libcxx/include/__numeric/partial_sum.h | 53 +- .../llvm-project/libcxx/include/__numeric/reduce.h | 8 +- .../include/__numeric/transform_exclusive_scan.h | 33 +- .../include/__numeric/transform_inclusive_scan.h | 42 +- .../libcxx/include/__numeric/transform_reduce.h | 24 +- .../include/__random/bernoulli_distribution.h | 160 +- .../include/__random/binomial_distribution.h | 291 +- .../libcxx/include/__random/cauchy_distribution.h | 194 +- .../include/__random/chi_squared_distribution.h | 161 +- .../libcxx/include/__random/clamp_to_integral.h | 22 +- .../libcxx/include/__random/discard_block_engine.h | 256 +- .../include/__random/discrete_distribution.h | 340 +- .../include/__random/exponential_distribution.h | 171 +- .../include/__random/extreme_value_distribution.h | 196 +- .../include/__random/fisher_f_distribution.h | 194 +- .../libcxx/include/__random/gamma_distribution.h | 280 +- .../libcxx/include/__random/generate_canonical.h | 28 +- .../include/__random/geometric_distribution.h | 157 +- .../include/__random/independent_bits_engine.h | 331 +- .../libcxx/include/__random/is_seed_sequence.h | 8 +- .../libcxx/include/__random/is_valid.h | 53 +- .../include/__random/linear_congruential_engine.h | 491 +- .../llvm-project/libcxx/include/__random/log2.h | 39 +- .../include/__random/lognormal_distribution.h | 189 +- .../include/__random/mersenne_twister_engine.h | 1224 ++- .../__random/negative_binomial_distribution.h | 232 +- .../libcxx/include/__random/normal_distribution.h | 278 +- .../__random/piecewise_constant_distribution.h | 508 +- .../__random/piecewise_linear_distribution.h | 537 +- .../libcxx/include/__random/poisson_distribution.h | 392 +- .../libcxx/include/__random/random_device.h | 87 +- .../llvm-project/libcxx/include/__random/ranlux.h | 2 +- .../libcxx/include/__random/seed_seq.h | 231 +- .../libcxx/include/__random/shuffle_order_engine.h | 355 +- .../include/__random/student_t_distribution.h | 169 +- .../include/__random/subtract_with_carry_engine.h | 468 +- .../include/__random/uniform_int_distribution.h | 403 +- .../__random/uniform_random_bit_generator.h | 14 +- .../include/__random/uniform_real_distribution.h | 194 +- .../libcxx/include/__random/weibull_distribution.h | 185 +- .../llvm-project/libcxx/include/__ranges/access.h | 237 +- contrib/llvm-project/libcxx/include/__ranges/all.h | 55 +- .../libcxx/include/__ranges/common_view.h | 83 +- .../libcxx/include/__ranges/concepts.h | 126 +- .../llvm-project/libcxx/include/__ranges/counted.h | 62 +- .../llvm-project/libcxx/include/__ranges/data.h | 91 +- .../libcxx/include/__ranges/drop_view.h | 303 +- .../llvm-project/libcxx/include/__ranges/empty.h | 71 +- .../libcxx/include/__ranges/empty_view.h | 40 +- .../libcxx/include/__ranges/enable_view.h | 11 +- .../libcxx/include/__ranges/filter_view.h | 381 +- .../libcxx/include/__ranges/iota_view.h | 569 +- .../libcxx/include/__ranges/istream_view.h | 3 +- .../libcxx/include/__ranges/join_view.h | 647 +- .../libcxx/include/__ranges/lazy_split_view.h | 245 +- .../include/__ranges/non_propagating_cache.h | 129 +- .../libcxx/include/__ranges/owning_view.h | 106 +- .../libcxx/include/__ranges/range_adaptor.h | 32 +- .../llvm-project/libcxx/include/__ranges/rbegin.h | 67 +- .../libcxx/include/__ranges/ref_view.h | 80 +- .../llvm-project/libcxx/include/__ranges/rend.h | 71 +- .../libcxx/include/__ranges/reverse_view.h | 297 +- .../libcxx/include/__ranges/single_view.h | 16 +- .../llvm-project/libcxx/include/__ranges/size.h | 52 +- .../libcxx/include/__ranges/subrange.h | 356 +- .../libcxx/include/__ranges/take_view.h | 194 +- .../libcxx/include/__ranges/transform_view.h | 300 +- .../libcxx/include/__ranges/view_interface.h | 94 +- .../llvm-project/libcxx/include/__ranges/views.h | 2 +- .../libcxx/include/__ranges/zip_view.h | 235 +- contrib/llvm-project/libcxx/include/__split_buffer | 604 +- .../libcxx/include/__string/char_traits.h | 1093 ++- .../libcxx/include/__system_error/errc.h | 172 +- .../libcxx/include/__thread/formatter.h | 62 +- .../libcxx/include/__thread/poll_with_backoff.h | 37 +- .../libcxx/include/__thread/this_thread.h | 63 +- .../llvm-project/libcxx/include/__thread/thread.h | 324 +- .../libcxx/include/__thread/timed_backoff_policy.h | 28 +- .../libcxx/include/__threading_support | 410 +- contrib/llvm-project/libcxx/include/__tree | 3613 ++++---- .../libcxx/include/__tuple/make_tuple_types.h | 24 +- .../libcxx/include/__tuple/sfinae_helpers.h | 136 +- .../libcxx/include/__tuple/tuple_element.h | 64 +- .../libcxx/include/__tuple/tuple_indices.h | 10 +- .../libcxx/include/__tuple/tuple_like_ext.h | 24 +- .../libcxx/include/__tuple/tuple_size.h | 47 +- .../libcxx/include/__tuple/tuple_types.h | 3 +- .../libcxx/include/__type_traits/datasizeof.h | 11 +- .../libcxx/include/__utility/as_const.h | 4 +- .../llvm-project/libcxx/include/__utility/cmp.h | 73 +- .../libcxx/include/__utility/convert_to_integral.h | 50 +- .../libcxx/include/__utility/exchange.h | 14 +- .../libcxx/include/__utility/in_place.h | 12 +- .../libcxx/include/__utility/integer_sequence.h | 104 +- .../libcxx/include/__utility/is_pointer_in_range.h | 2 +- .../llvm-project/libcxx/include/__utility/pair.h | 1162 +-- .../libcxx/include/__utility/piecewise_construct.h | 4 +- .../libcxx/include/__utility/priority_tag.h | 6 +- .../libcxx/include/__utility/rel_ops.h | 41 +- .../libcxx/include/__utility/to_underlying.h | 6 +- .../libcxx/include/__utility/unreachable.h | 4 +- .../libcxx/include/__variant/monostate.h | 2 +- .../llvm-project/libcxx/include/__verbose_abort | 4 +- contrib/llvm-project/libcxx/include/algorithm | 30 + contrib/llvm-project/libcxx/include/any | 788 +- contrib/llvm-project/libcxx/include/array | 535 +- contrib/llvm-project/libcxx/include/barrier | 356 +- contrib/llvm-project/libcxx/include/bitset | 1290 ++- contrib/llvm-project/libcxx/include/cctype | 29 +- contrib/llvm-project/libcxx/include/cmath | 173 +- contrib/llvm-project/libcxx/include/codecvt | 776 +- contrib/llvm-project/libcxx/include/complex | 1921 ++-- .../llvm-project/libcxx/include/condition_variable | 223 +- contrib/llvm-project/libcxx/include/cstddef | 52 +- contrib/llvm-project/libcxx/include/ctype.h | 28 +- contrib/llvm-project/libcxx/include/cuchar | 2 +- contrib/llvm-project/libcxx/include/deque | 3722 ++++---- contrib/llvm-project/libcxx/include/errno.h | 522 +- contrib/llvm-project/libcxx/include/expected | 1 - .../libcxx/include/experimental/__config | 22 +- .../libcxx/include/experimental/__memory | 90 +- .../include/experimental/__simd/abi_tag.h (gone) | 55 - .../include/experimental/__simd/aligned_tag.h | 13 +- .../include/experimental/__simd/declaration.h | 52 +- .../__simd/internal_declaration.h (gone) | 41 - .../libcxx/include/experimental/__simd/scalar.h | 2 +- .../libcxx/include/experimental/__simd/simd.h | 2 - .../libcxx/include/experimental/__simd/simd_mask.h | 2 - .../libcxx/include/experimental/__simd/traits.h | 15 +- .../libcxx/include/experimental/__simd/vec_ext.h | 6 +- .../libcxx/include/experimental/iterator | 69 +- .../libcxx/include/experimental/propagate_const | 305 +- .../llvm-project/libcxx/include/experimental/simd | 1 - .../libcxx/include/experimental/type_traits | 69 +- .../libcxx/include/experimental/utility | 2 +- contrib/llvm-project/libcxx/include/ext/__hash | 130 +- contrib/llvm-project/libcxx/include/ext/hash_map | 1132 +-- contrib/llvm-project/libcxx/include/ext/hash_set | 634 +- contrib/llvm-project/libcxx/include/fenv.h | 70 +- contrib/llvm-project/libcxx/include/float.h | 12 +- contrib/llvm-project/libcxx/include/forward_list | 2031 ++-- contrib/llvm-project/libcxx/include/fstream | 2095 ++--- contrib/llvm-project/libcxx/include/future | 2551 +++-- .../llvm-project/libcxx/include/initializer_list | 71 +- contrib/llvm-project/libcxx/include/inttypes.h | 10 +- contrib/llvm-project/libcxx/include/iomanip | 754 +- contrib/llvm-project/libcxx/include/ios | 953 +- contrib/llvm-project/libcxx/include/iosfwd | 65 +- contrib/llvm-project/libcxx/include/istream | 2051 ++-- contrib/llvm-project/libcxx/include/latch | 98 +- contrib/llvm-project/libcxx/include/limits | 1078 ++- contrib/llvm-project/libcxx/include/list | 2390 ++--- contrib/llvm-project/libcxx/include/locale | 6071 ++++++------ contrib/llvm-project/libcxx/include/locale.h | 2 +- contrib/llvm-project/libcxx/include/map | 2618 +++--- contrib/llvm-project/libcxx/include/math.h | 81 +- .../libcxx/include/module.modulemap.in | 4 +- contrib/llvm-project/libcxx/include/mutex | 467 +- contrib/llvm-project/libcxx/include/new | 220 +- contrib/llvm-project/libcxx/include/numbers | 93 +- contrib/llvm-project/libcxx/include/optional | 1759 ++-- contrib/llvm-project/libcxx/include/ostream | 1349 ++- contrib/llvm-project/libcxx/include/print | 14 +- contrib/llvm-project/libcxx/include/queue | 1008 +- contrib/llvm-project/libcxx/include/ranges | 2 +- contrib/llvm-project/libcxx/include/ratio | 396 +- contrib/llvm-project/libcxx/include/regex | 8356 +++++++---------- .../llvm-project/libcxx/include/scoped_allocator | 821 +- contrib/llvm-project/libcxx/include/semaphore | 193 +- contrib/llvm-project/libcxx/include/set | 1577 ++-- contrib/llvm-project/libcxx/include/span | 701 +- contrib/llvm-project/libcxx/include/sstream | 1274 ++- contrib/llvm-project/libcxx/include/stack | 349 +- contrib/llvm-project/libcxx/include/stdatomic.h | 18 +- contrib/llvm-project/libcxx/include/stdbool.h | 10 +- contrib/llvm-project/libcxx/include/stddef.h | 28 +- contrib/llvm-project/libcxx/include/stdexcept | 232 +- contrib/llvm-project/libcxx/include/stdint.h | 6 +- contrib/llvm-project/libcxx/include/stdio.h | 36 +- contrib/llvm-project/libcxx/include/stdlib.h | 86 +- contrib/llvm-project/libcxx/include/streambuf | 530 +- contrib/llvm-project/libcxx/include/string | 4686 +++++----- contrib/llvm-project/libcxx/include/string.h | 2 +- contrib/llvm-project/libcxx/include/string_view | 1135 +-- contrib/llvm-project/libcxx/include/strstream | 334 +- contrib/llvm-project/libcxx/include/thread | 2 +- contrib/llvm-project/libcxx/include/tuple | 2126 ++--- contrib/llvm-project/libcxx/include/typeindex | 65 +- contrib/llvm-project/libcxx/include/typeinfo | 242 +- contrib/llvm-project/libcxx/include/uchar.h | 12 +- contrib/llvm-project/libcxx/include/unordered_map | 3111 +++---- contrib/llvm-project/libcxx/include/unordered_set | 1953 ++-- contrib/llvm-project/libcxx/include/valarray | 4682 ++++------ contrib/llvm-project/libcxx/include/variant | 1235 +-- contrib/llvm-project/libcxx/include/vector | 3840 ++++---- contrib/llvm-project/libcxx/include/version | 6 +- contrib/llvm-project/libcxx/include/wchar.h | 157 +- contrib/llvm-project/libcxx/include/wctype.h | 43 +- .../llvm-project/libcxx/modules/std/algorithm.inc | 16 +- .../llvm-project/libcxx/modules/std/ostream.inc | 5 +- contrib/llvm-project/libcxx/src/any.cpp | 16 +- contrib/llvm-project/libcxx/src/atomic.cpp | 216 +- contrib/llvm-project/libcxx/src/barrier.cpp | 106 +- contrib/llvm-project/libcxx/src/bind.cpp | 23 +- contrib/llvm-project/libcxx/src/call_once.cpp | 62 +- contrib/llvm-project/libcxx/src/charconv.cpp | 33 +- contrib/llvm-project/libcxx/src/chrono.cpp | 118 +- .../llvm-project/libcxx/src/condition_variable.cpp | 95 +- .../libcxx/src/condition_variable_destructor.cpp | 20 +- contrib/llvm-project/libcxx/src/exception.cpp | 28 +- .../libcxx/src/filesystem/directory_entry.cpp | 9 +- .../libcxx/src/filesystem/directory_iterator.cpp | 84 +- contrib/llvm-project/libcxx/src/filesystem/error.h | 24 +- .../libcxx/src/filesystem/file_descriptor.h | 53 +- .../libcxx/src/filesystem/filesystem_clock.cpp | 20 +- .../libcxx/src/filesystem/filesystem_error.cpp | 12 +- .../libcxx/src/filesystem/int128_builtins.cpp | 14 +- .../libcxx/src/filesystem/operations.cpp | 323 +- .../llvm-project/libcxx/src/filesystem/path.cpp | 79 +- .../libcxx/src/filesystem/path_parser.h | 58 +- .../libcxx/src/filesystem/posix_compat.h | 231 +- .../libcxx/src/filesystem/time_utils.h | 164 +- contrib/llvm-project/libcxx/src/functional.cpp | 10 +- contrib/llvm-project/libcxx/src/future.cpp | 319 +- contrib/llvm-project/libcxx/src/hash.cpp | 899 +- .../libcxx/src/include/apple_availability.h | 34 +- .../libcxx/src/include/atomic_support.h | 156 +- .../llvm-project/libcxx/src/include/config_elast.h | 18 +- .../llvm-project/libcxx/src/include/refstring.h | 137 +- contrib/llvm-project/libcxx/src/include/ryu/ryu.h | 1 - .../libcxx/src/include/sso_allocator.h | 81 +- contrib/llvm-project/libcxx/src/ios.cpp | 569 +- contrib/llvm-project/libcxx/src/iostream.cpp | 165 +- contrib/llvm-project/libcxx/src/locale.cpp | 9786 +++++++++----------- contrib/llvm-project/libcxx/src/memory.cpp | 229 +- contrib/llvm-project/libcxx/src/mutex.cpp | 207 +- .../llvm-project/libcxx/src/mutex_destructor.cpp | 20 +- contrib/llvm-project/libcxx/src/optional.cpp | 14 +- contrib/llvm-project/libcxx/src/ostream.cpp (new) | 42 + contrib/llvm-project/libcxx/src/random.cpp | 181 +- contrib/llvm-project/libcxx/src/random_shuffle.cpp | 35 +- contrib/llvm-project/libcxx/src/regex.cpp | 293 +- contrib/llvm-project/libcxx/src/std_stream.h | 572 +- contrib/llvm-project/libcxx/src/string.cpp | 368 +- .../libcxx/src/support/ibm/mbsnrtowcs.cpp | 30 +- .../libcxx/src/support/ibm/wcsnrtombs.cpp | 27 +- .../libcxx/src/support/ibm/xlocale_zos.cpp | 44 +- .../src/support/runtime/exception_fallback.ipp | 139 +- .../src/support/runtime/exception_glibcxx.ipp | 18 +- .../src/support/runtime/exception_libcxxabi.ipp | 15 +- .../src/support/runtime/exception_libcxxrt.ipp | 11 +- .../libcxx/src/support/runtime/exception_msvc.ipp | 145 +- .../support/runtime/exception_pointer_cxxabi.ipp | 73 +- .../support/runtime/exception_pointer_glibcxx.ipp | 61 +- .../src/support/runtime/exception_pointer_msvc.ipp | 22 +- .../runtime/exception_pointer_unimplemented.ipp | 43 +- .../src/support/runtime/stdexcept_default.ipp | 8 +- .../src/support/runtime/stdexcept_vcruntime.ipp | 2 +- contrib/llvm-project/libcxx/src/system_error.cpp | 225 +- contrib/llvm-project/libcxx/src/thread.cpp | 222 +- contrib/llvm-project/libcxx/src/typeinfo.cpp | 30 +- contrib/llvm-project/libcxx/src/valarray.cpp | 56 +- contrib/llvm-project/libcxx/src/variant.cpp | 6 +- contrib/llvm-project/libcxx/src/vector.cpp | 8 +- contrib/llvm-project/libcxx/src/verbose_abort.cpp | 6 +- contrib/llvm-project/lld/ELF/Arch/LoongArch.cpp | 20 + contrib/llvm-project/lld/ELF/InputSection.cpp | 22 +- contrib/llvm-project/lld/MachO/InputFiles.h | 2 +- contrib/llvm-project/lld/MachO/Options.td | 2 +- .../lldb/bindings/python/python-typemaps.swig | 2 +- .../lldb/include/lldb/Core/ValueObject.h | 8 - .../lldb/include/lldb/Host/HostGetOpt.h | 4 - .../lldb/include/lldb/Utility/FileSpec.h | 19 - contrib/llvm-project/lldb/source/API/SBValue.cpp | 11 +- .../llvm-project/lldb/source/Core/ValueObject.cpp | 40 - .../lldb/source/Host/common/FileSystem.cpp | 1 - .../lldb/source/Interpreter/CommandInterpreter.cpp | 6 +- .../SymbolFile/DWARF/DWARFASTParserClang.cpp | 2 +- .../lldb/source/Target/JITLoaderList.cpp | 2 +- .../llvm-project/llvm/include/llvm/ADT/StringRef.h | 8 +- contrib/llvm-project/llvm/include/llvm/ADT/Twine.h | 2 +- .../llvm/include/llvm/Analysis/LazyValueInfo.h | 9 +- .../llvm/include/llvm/Analysis/TargetLibraryInfo.h | 10 + .../include/llvm/Analysis/TargetTransformInfo.h | 4 + .../llvm/include/llvm/Analysis/ValueLattice.h | 5 +- .../llvm/include/llvm/Analysis/ValueTracking.h | 5 + .../llvm/include/llvm/Analysis/VecFuncs.def | 2 + .../llvm/include/llvm/Analysis/VectorUtils.h | 10 + .../llvm/include/llvm/CodeGen/AccelTable.h | 8 +- .../llvm/include/llvm/CodeGen/CodeGenPassBuilder.h | 9 +- .../llvm/include/llvm/CodeGen/LowerEmuTLS.h (new) | 29 + .../include/llvm/CodeGen/MachinePassRegistry.def | 7 +- .../llvm/include/llvm/CodeGen/MacroFusion.h | 12 +- .../llvm/include/llvm/CodeGen/SelectionDAGISel.h | 2 + .../llvm/include/llvm/CodeGen/TargetLowering.h | 6 + .../llvm/CodeGen/TargetLoweringObjectFileImpl.h | 2 + .../llvm/include/llvm/Frontend/HLSL/HLSLResource.h | 27 +- .../llvm-project/llvm/include/llvm/IR/Constants.h | 7 +- .../llvm/include/llvm/IR/DiagnosticHandler.h | 1 + .../llvm/IR/GenericConvergenceVerifierImpl.h | 13 +- .../llvm/include/llvm/IR/GlobalValue.h | 4 + .../llvm/include/llvm/IR/IntrinsicInst.h | 24 + .../llvm/include/llvm/IR/IntrinsicsAMDGPU.td | 28 +- .../llvm/include/llvm/IR/IntrinsicsRISCV.td | 2 +- .../llvm/include/llvm/IR/PatternMatch.h | 26 + .../llvm-project/llvm/include/llvm/MC/MCAsmInfo.h | 3 +- .../llvm/include/llvm/MC/MCTargetOptions.h | 2 + .../llvm/include/llvm/Object/ELFObjectFile.h | 1 + .../llvm-project/llvm/include/llvm/Object/Wasm.h | 1 - .../llvm/ProfileData/Coverage/CoverageMapping.h | 2 +- .../llvm/include/llvm/ProfileData/InstrProf.h | 26 +- .../include/llvm/ProfileData/RawMemProfReader.h | 11 +- .../llvm/include/llvm/ProfileData/SampleProf.h | 4 +- .../llvm/include/llvm/Support/CommandLine.h | 27 +- .../llvm/include/llvm/Support/YAMLTraits.h | 17 +- .../llvm/include/llvm/Support/raw_ostream.h | 49 - .../include/llvm/Support/raw_socket_stream.h (new) | 66 + .../llvm/TargetParser/AArch64TargetParser.h | 9 +- .../llvm/TargetParser/ARMTargetParserCommon.h | 1 + .../llvm/include/llvm/TextAPI/DylibReader.h (new) | 48 + .../llvm/include/llvm/TextAPI/Record.h | 13 +- .../include/llvm/TextAPI/RecordVisitor.h (new) | 54 + .../llvm/include/llvm/TextAPI/RecordsSlice.h | 14 +- .../llvm/include/llvm/TextAPI/TextAPIError.h | 3 +- .../llvm/include/llvm/TextAPI/Utils.h (new) | 34 + .../llvm/include/llvm/Transforms/IPO/Attributor.h | 10 + .../llvm/Transforms/IPO/ProfiledCallGraph.h | 5 +- .../llvm/lib/Analysis/InstructionSimplify.cpp | 2 +- .../llvm/lib/Analysis/LazyValueInfo.cpp | 18 +- .../llvm/lib/Analysis/LoopAccessAnalysis.cpp | 2 +- .../llvm/lib/Analysis/MemoryDependenceAnalysis.cpp | 18 +- .../llvm/lib/Analysis/ScalarEvolution.cpp | 7 +- .../llvm/lib/Analysis/TargetLibraryInfo.cpp | 10 + .../llvm/lib/Analysis/VFABIDemangling.cpp | 4 +- .../llvm/lib/Analysis/ValueTracking.cpp | 126 +- .../llvm-project/llvm/lib/Analysis/VectorUtils.cpp | 28 + .../llvm/lib/CodeGen/AsmPrinter/AccelTable.cpp | 4 +- .../llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp | 1 + .../CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp | 62 +- .../CodeGen/LiveDebugValues/InstrRefBasedImpl.h | 45 +- .../llvm/lib/CodeGen/LiveRangeEdit.cpp | 3 +- .../llvm-project/llvm/lib/CodeGen/LowerEmuTLS.cpp | 53 +- .../llvm/lib/CodeGen/MachineInstrBundle.cpp | 6 +- .../llvm-project/llvm/lib/CodeGen/MacroFusion.cpp | 12 +- .../llvm-project/llvm/lib/CodeGen/RegAllocFast.cpp | 139 +- .../llvm/lib/CodeGen/RegisterClassInfo.cpp | 3 +- .../llvm/lib/CodeGen/RegisterCoalescer.cpp | 57 +- .../llvm/lib/CodeGen/ReplaceWithVeclib.cpp | 211 +- .../llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp | 19 +- .../llvm/lib/CodeGen/SelectionDAG/FastISel.cpp | 3 +- .../CodeGen/SelectionDAG/FunctionLoweringInfo.cpp | 3 +- .../llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp | 18 +- .../CodeGen/SelectionDAG/LegalizeFloatTypes.cpp | 23 + .../CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp | 17 + .../llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h | 2 + .../lib/CodeGen/SelectionDAG/ScheduleDAGFast.cpp | 12 +- .../llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp | 6 +- .../CodeGen/SelectionDAG/SelectionDAGBuilder.cpp | 3 +- .../lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp | 24 +- .../llvm/lib/CodeGen/ShadowStackGCLowering.cpp | 7 +- .../lib/CodeGen/TargetLoweringObjectFileImpl.cpp | 7 + .../llvm/lib/CodeGen/TargetPassConfig.cpp | 1 + .../llvm/lib/CodeGen/TwoAddressInstructionPass.cpp | 3 +- .../lib/ExecutionEngine/JITLink/MachO_arm64.cpp | 32 +- .../lib/ExecutionEngine/JITLink/MachO_x86_64.cpp | 32 +- .../llvm/lib/Frontend/HLSL/HLSLResource.cpp | 17 +- contrib/llvm-project/llvm/lib/IR/ConstantFold.cpp | 2 +- contrib/llvm-project/llvm/lib/IR/Globals.cpp | 12 +- contrib/llvm-project/llvm/lib/IR/LLVMContext.cpp | 11 +- contrib/llvm-project/llvm/lib/IR/Metadata.cpp | 2 +- contrib/llvm-project/llvm/lib/IR/Type.cpp | 2 + contrib/llvm-project/llvm/lib/IR/Verifier.cpp | 11 +- contrib/llvm-project/llvm/lib/MC/MCAsmStreamer.cpp | 5 +- contrib/llvm-project/llvm/lib/MC/MCContext.cpp | 14 +- contrib/llvm-project/llvm/lib/MC/MCExpr.cpp | 24 +- .../llvm/lib/ObjCopy/ELF/ELFObject.cpp | 2 +- .../llvm-project/llvm/lib/Object/ELFObjectFile.cpp | 69 + .../llvm/lib/Object/ModuleSymbolTable.cpp | 16 +- .../llvm/lib/Object/WasmObjectFile.cpp | 52 +- .../llvm-project/llvm/lib/Passes/PassBuilder.cpp | 1 + .../llvm-project/llvm/lib/Passes/PassRegistry.def | 1 + .../llvm/lib/ProfileData/InstrProf.cpp | 36 +- .../llvm/lib/ProfileData/InstrProfReader.cpp | 9 +- .../llvm/lib/ProfileData/RawMemProfReader.cpp | 25 +- .../llvm-project/llvm/lib/Support/CommandLine.cpp | 78 +- .../llvm-project/llvm/lib/Support/RISCVISAInfo.cpp | 83 +- contrib/llvm-project/llvm/lib/Support/Signals.cpp | 2 +- .../llvm-project/llvm/lib/Support/raw_ostream.cpp | 163 +- .../llvm/lib/Support/raw_socket_stream.cpp (new) | 179 + .../llvm/lib/Target/AArch64/AArch64.td | 19 +- .../llvm/lib/Target/AArch64/AArch64Combine.td | 11 +- .../Target/AArch64/AArch64ExpandPseudoInsts.cpp | 18 +- .../lib/Target/AArch64/AArch64ISelLowering.cpp | 11 +- .../llvm/lib/Target/AArch64/AArch64InstrFormats.td | 126 + .../llvm/lib/Target/AArch64/AArch64InstrInfo.cpp | 36 + .../llvm/lib/Target/AArch64/AArch64InstrInfo.h | 3 + .../llvm/lib/Target/AArch64/AArch64InstrInfo.td | 75 +- .../Target/AArch64/AArch64LoadStoreOptimizer.cpp | 229 + .../Target/AArch64/AArch64MachineFunctionInfo.cpp | 28 +- .../Target/AArch64/AArch64MachineFunctionInfo.h | 18 + .../llvm/lib/Target/AArch64/AArch64PointerAuth.cpp | 86 +- .../llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td | 61 +- .../llvm/lib/Target/AArch64/AArch64SchedA64FX.td | 9 +- .../lib/Target/AArch64/AArch64SchedNeoverseN2.td | 2 +- .../lib/Target/AArch64/AArch64SchedNeoverseV1.td | 2 +- .../lib/Target/AArch64/AArch64SchedNeoverseV2.td | 2 +- .../lib/Target/AArch64/AArch64SystemOperands.td | 27 + .../Target/AArch64/AsmParser/AArch64AsmParser.cpp | 47 + .../AArch64/Disassembler/AArch64Disassembler.cpp | 18 + .../AArch64/GISel/AArch64InstructionSelector.cpp | 62 - .../AArch64/GISel/AArch64PostLegalizerLowering.cpp | 21 + .../AArch64/MCTargetDesc/AArch64AsmBackend.cpp | 14 + .../MCTargetDesc/AArch64ELFObjectWriter.cpp | 4 + .../AArch64/MCTargetDesc/AArch64FixupKinds.h | 5 + .../AArch64/MCTargetDesc/AArch64MCCodeEmitter.cpp | 29 + .../llvm/lib/Target/AArch64/SMEInstrFormats.td | 26 +- .../llvm/lib/Target/AArch64/SVEInstrFormats.td | 31 + .../llvm-project/llvm/lib/Target/AMDGPU/AMDGPU.td | 4 +- .../llvm/lib/Target/AMDGPU/AMDGPUIGroupLP.cpp | 29 +- .../llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp | 37 +- .../Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp | 8 +- .../llvm/lib/Target/AMDGPU/AMDGPULibCalls.cpp | 3 +- .../llvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp | 18 + .../llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp | 7 + .../Target/AMDGPU/AMDGPUTargetTransformInfo.cpp | 8 + .../lib/Target/AMDGPU/AMDGPUTargetTransformInfo.h | 10 + .../llvm/lib/Target/AMDGPU/DSInstructions.td | 12 +- .../AMDGPU/Disassembler/AMDGPUDisassembler.cpp | 5 + .../llvm/lib/Target/AMDGPU/SIISelLowering.cpp | 21 +- .../llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp | 20 +- .../llvm/lib/Target/AMDGPU/SIInstrInfo.cpp | 79 + .../llvm/lib/Target/AMDGPU/SIInstrInfo.h | 3 + .../llvm/lib/Target/ARM/ARMFrameLowering.cpp | 33 +- .../llvm/lib/Target/ARM/ARMFrameLowering.h | 3 + .../llvm/lib/Target/ARM/ARMISelLowering.cpp | 58 + .../llvm/lib/Target/ARM/ARMISelLowering.h | 10 + .../llvm/lib/Target/ARM/ARMInstrVFP.td | 1 + .../llvm/lib/Target/ARM/ARMLoadStoreOptimizer.cpp | 6 +- .../llvm/lib/Target/DirectX/DXILResource.cpp | 92 +- .../llvm/lib/Target/DirectX/DXILResource.h | 37 +- .../DirectX/DXILWriter/DXILBitcodeWriter.cpp | 3 +- .../lib/Target/Hexagon/HexagonConstPropagation.cpp | 3 +- .../lib/Target/Hexagon/HexagonISelDAGToDAGHVX.cpp | 6 +- .../Target/Hexagon/HexagonLoopIdiomRecognition.cpp | 6 +- .../Hexagon/MCTargetDesc/HexagonMCTargetDesc.cpp | 2 +- .../LoongArch/MCTargetDesc/LoongArchAsmBackend.cpp | 78 + .../LoongArch/MCTargetDesc/LoongArchAsmBackend.h | 9 +- .../LoongArch/MCTargetDesc/LoongArchFixupKinds.h | 4 +- .../llvm/lib/Target/PowerPC/PPCISelLowering.cpp | 9 +- .../llvm/lib/Target/PowerPC/PPCInstrInfo.cpp | 8 +- .../llvm/lib/Target/PowerPC/PPCInstrInfo.td | 3 + .../lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp | 7 +- .../lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h | 9 + .../llvm/lib/Target/RISCV/RISCVFeatures.td | 86 +- .../llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp | 3 +- .../llvm/lib/Target/RISCV/RISCVISelLowering.cpp | 182 +- .../llvm/lib/Target/RISCV/RISCVISelLowering.h | 7 +- .../llvm/lib/Target/RISCV/RISCVInstrFormats.td | 9 + .../lib/Target/RISCV/RISCVInstrInfoVPseudos.td | 8 - .../lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td | 125 +- .../llvm/lib/Target/RISCV/RISCVInstrInfoXSf.td | 12 +- .../llvm/lib/Target/RISCV/RISCVInstrInfoZvk.td | 2 +- .../llvm/lib/Target/RISCV/RISCVMacroFusion.cpp | 82 +- .../llvm/lib/Target/RISCV/RISCVProcessors.td | 27 +- .../llvm/lib/Target/RISCV/RISCVSchedSiFive7.td | 1 + .../llvm/lib/Target/RISCV/RISCVSubtarget.h | 18 +- .../lib/Target/RISCV/RISCVTargetTransformInfo.h | 2 +- .../llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp | 4 +- .../llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp | 6 +- .../llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp | 6 +- .../llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp | 2 +- .../llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.h | 2 +- .../llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp | 2 +- .../SystemZ/MCTargetDesc/SystemZMCAsmInfo.cpp | 1 + .../llvm/lib/Target/SystemZ/SystemZAsmPrinter.cpp | 35 +- .../lib/Target/SystemZ/SystemZFrameLowering.cpp | 6 + .../lib/Target/SystemZ/SystemZISelDAGToDAG.cpp | 3 +- .../lib/Target/SystemZ/SystemZISelLowering.cpp | 10 + .../llvm/lib/Target/SystemZ/SystemZISelLowering.h | 8 +- .../llvm-project/llvm/lib/Target/TargetMachine.cpp | 4 +- .../llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp | 36 +- .../Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp | 2 +- .../llvm/lib/Target/X86/X86FastISel.cpp | 7 +- .../llvm/lib/Target/X86/X86FloatingPoint.cpp | 3 +- .../llvm/lib/Target/X86/X86ISelDAGToDAG.cpp | 31 +- .../llvm/lib/Target/X86/X86ISelLowering.cpp | 36 +- .../llvm/lib/Target/X86/X86InsertPrefetch.cpp | 6 +- .../llvm/lib/Target/X86/X86InstrAMX.td | 30 +- .../llvm/lib/Target/X86/X86InstrAVX512.td | 1082 +-- .../llvm/lib/Target/X86/X86InstrArithmetic.td | 1457 ++- .../llvm/lib/Target/X86/X86InstrAsmAlias.td | 13 + .../llvm/lib/Target/X86/X86InstrCompiler.td | 17 + .../llvm/lib/Target/X86/X86InstrFPStack.td | 8 +- .../llvm/lib/Target/X86/X86InstrFormats.td | 7 +- .../llvm/lib/Target/X86/X86InstrInfo.cpp | 8 +- .../llvm-project/llvm/lib/Target/X86/X86InstrKL.td | 22 +- .../llvm/lib/Target/X86/X86InstrMMX.td | 24 +- .../llvm/lib/Target/X86/X86InstrMisc.td | 211 +- .../llvm/lib/Target/X86/X86InstrRAOINT.td | 8 +- .../llvm/lib/Target/X86/X86InstrSGX.td | 6 +- .../llvm/lib/Target/X86/X86InstrSNP.td | 12 +- .../llvm/lib/Target/X86/X86InstrSSE.td | 952 +- .../llvm/lib/Target/X86/X86InstrShiftRotate.td | 28 +- .../llvm/lib/Target/X86/X86InstrSystem.td | 141 +- .../llvm/lib/Target/X86/X86InstrTBM.td | 4 +- .../llvm/lib/Target/X86/X86InstrTDX.td | 14 +- .../llvm/lib/Target/X86/X86InstrTSX.td | 4 +- .../llvm/lib/Target/X86/X86InstrUtils.td | 284 +- .../llvm/lib/Target/X86/X86InstrVMX.td | 38 +- .../llvm/lib/Target/X86/X86InstrXOP.td | 28 +- .../llvm/lib/Target/X86/X86MacroFusion.cpp | 3 +- .../llvm/lib/Target/X86/X86Subtarget.cpp | 9 +- .../lib/TargetParser/ARMTargetParserCommon.cpp | 6 +- .../llvm-project/llvm/lib/TargetParser/Host.cpp | 52 +- .../llvm-project/llvm/lib/TargetParser/Triple.cpp | 15 +- .../lib/TextAPI/BinaryReader/DylibReader.cpp (new) | 429 + .../llvm/lib/TextAPI/RecordVisitor.cpp (new) | 65 + .../llvm-project/llvm/lib/TextAPI/RecordsSlice.cpp | 120 +- .../llvm-project/llvm/lib/TextAPI/Utils.cpp (new) | 40 + .../lib/ToolDrivers/llvm-dlltool/DlltoolDriver.cpp | 2 +- .../lib/Transforms/IPO/AttributorAttributes.cpp | 53 +- .../llvm/lib/Transforms/IPO/OpenMPOpt.cpp | 18 +- .../llvm/lib/Transforms/IPO/SampleProfile.cpp | 13 +- .../Transforms/InstCombine/InstCombineAndOrXor.cpp | 49 +- .../Transforms/InstCombine/InstCombineCalls.cpp | 59 +- .../Transforms/InstCombine/InstCombineInternal.h | 17 +- .../InstCombine/InstCombineMulDivRem.cpp | 7 + .../Transforms/InstCombine/InstCombineSelect.cpp | 4 +- .../InstCombine/InstCombineSimplifyDemanded.cpp | 134 +- .../InstCombine/InstCombineVectorOps.cpp | 44 +- .../InstCombine/InstructionCombining.cpp | 106 +- .../Instrumentation/AddressSanitizer.cpp | 2 +- .../lib/Transforms/Instrumentation/MemProfiler.cpp | 2 +- .../Instrumentation/SanitizerCoverage.cpp | 2 +- .../lib/Transforms/Scalar/ConstantHoisting.cpp | 5 +- .../Transforms/Scalar/ConstraintElimination.cpp | 75 +- .../Scalar/CorrelatedValuePropagation.cpp | 6 +- .../lib/Transforms/Scalar/DFAJumpThreading.cpp | 2 +- .../llvm/lib/Transforms/Scalar/GVN.cpp | 2 +- .../llvm/lib/Transforms/Scalar/LoopFlatten.cpp | 5 +- .../lib/Transforms/Scalar/LoopStrengthReduce.cpp | 2 +- .../llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp | 9 +- .../Transforms/Scalar/RewriteStatepointsForGC.cpp | 2 +- .../llvm/lib/Transforms/Scalar/SROA.cpp | 1 + .../llvm/lib/Transforms/Utils/DXILUpgrade.cpp | 12 + .../lib/Transforms/Utils/FunctionComparator.cpp | 25 + .../lib/Transforms/Utils/MemoryTaggingSupport.cpp | 2 +- .../llvm/lib/Transforms/Utils/SimplifyCFG.cpp | 8 +- .../llvm/lib/Transforms/Utils/SimplifyIndVar.cpp | 7 +- .../lib/Transforms/Vectorize/SLPVectorizer.cpp | 123 +- contrib/llvm-project/llvm/tools/llc/llc.cpp | 17 +- .../llvm/tools/llvm-cov/SourceCoverageViewHTML.cpp | 24 +- contrib/llvm-project/llvm/tools/llvm-dwp/Opts.td | 11 +- .../llvm-project/llvm/tools/llvm-dwp/llvm-dwp.cpp | 20 +- .../llvm/tools/llvm-objdump/ObjdumpOpts.td | 3 + .../llvm/tools/llvm-objdump/XCOFFDump.cpp | 1 + .../llvm/tools/llvm-objdump/XCOFFDump.h | 1 + .../llvm/tools/llvm-objdump/llvm-objdump.cpp | 189 +- .../llvm/tools/llvm-profdata/llvm-profdata.cpp | 29 +- .../llvm/tools/llvm-readobj/ELFDumper.cpp | 295 +- .../llvm/utils/TableGen/AsmMatcherEmitter.cpp | 8 +- .../llvm/utils/TableGen/AsmWriterEmitter.cpp | 4 + .../llvm/utils/TableGen/DAGISelMatcherEmitter.cpp | 33 +- .../llvm/utils/TableGen/X86FoldTablesEmitter.cpp | 6 +- lib/clang/headers/Makefile | 1 + lib/clang/include/VCSVersion.inc | 6 +- lib/clang/include/clang/Config/config.h | 6 + lib/clang/include/lld/Common/Version.inc | 2 +- lib/clang/include/llvm/Support/VCSRevision.h | 2 +- lib/clang/libclang/Makefile | 64 +- lib/clang/libllvm/Makefile | 4 + lib/clang/libllvmminimal/Makefile | 1 + lib/libc++/Makefile | 5 +- lib/libcompiler_rt/Makefile.inc | 67 +- tools/build/mk/OptionalObsoleteFiles.inc | 1 + 1000 files changed, 80116 insertions(+), 92136 deletions(-)
A commit in branch stable/14 references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=1bc094c4a0e74dba87a5eb98cf138426a19f702d commit 1bc094c4a0e74dba87a5eb98cf138426a19f702d Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2023-12-21 22:30:02 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-04-19 21:12:21 +0000 Tentatively apply https://github.com/llvm/llvm-project/pull/76175 This fixes libsa including compiler-rt builtins. PR: 276104 MFC after: 1 month (cherry picked from commit 3d68ee6cbdb244de9fab1df8a2525d2fa592571e) contrib/llvm-project/compiler-rt/lib/builtins/int_types.h | 2 -- 1 file changed, 2 deletions(-)
A commit in branch stable/14 references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=c7c33b213a8a7f3203015809def9ae25fa77d8d1 commit c7c33b213a8a7f3203015809def9ae25fa77d8d1 Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2024-04-07 00:07:38 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-04-20 10:03:24 +0000 Fix arm64 build after llvm 18.1.3 upgrade Apparently clang 18 has become more strict about using floating point registers in inline assembly when -mgeneral-regs-only is used. This causes sys/arm64/arm64/vfp.c to fail to compile, with "error: instruction requires: fp-armv8", and "error: expected readable system register". To fix it, similar to other files compiled for arm64, disable -mgeneral-regs-only for this particular file. PR: 276104 MFC after: 1 month (cherry picked from commit f4d93b67611f6f8b19db7bac6b0973b2ef0cfcb6) sys/conf/files.arm64 | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
A commit in branch stable/13 references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=50fd2fbec96c46961addac790c10c1d49d3673f9 commit 50fd2fbec96c46961addac790c10c1d49d3673f9 Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2024-04-17 20:20:47 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-04-20 10:29:10 +0000 libcompiler_rt Makefile.inc: update _Float16/__bf16 checks Clang supports __bf16 for riscv from version 18.0 onwards, so update the checks for it. While here, rewrite the checks so they are hopefully more readable, and also handle gcc a little better. In addition, define COMPILER_RT_HAS_FLOAT16 and COMPILER_RT_HAS_BFLOAT16 when these features should be available, since there are some parts in compiler-rt that check for these defines. PR: 276104 MFC after: 1 month (cherry picked from commit f276adc148433d009d198c2ebccdd3303377e237) lib/libcompiler_rt/Makefile.inc | 33 ++++++++++++++++++++++++++++----- 1 file changed, 28 insertions(+), 5 deletions(-)
A commit in branch stable/13 references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=5b763c0e1f30583f8447a0818e2a72498d2e2bc3 commit 5b763c0e1f30583f8447a0818e2a72498d2e2bc3 Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2024-04-15 16:24:39 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-04-20 10:29:10 +0000 Merge commit 37b7207651b4 from llvm-project (by zhongyunde@huawei.com): [SimplifyCFG] Fix crash when there is unreachable large index (#88616) The large case index out of scope is dead code, but it is still be created for TableContents in SwitchLookupTable::SwitchLookupTable, so make sure the table size after growing should not get smaller. Fix https://github.com/llvm/llvm-project/issues/88607 This should fix "Assertion failed: (idx < size()), function operator[]" when building the science/dynare port. PR: 276104, 278320 Reported by: yuri MFC after: 1 month (cherry picked from commit 514c98ba14a0f590891844d1a6bec0ac4de54489) contrib/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
A commit in branch stable/13 references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=667a595fee5ef5663752d585c980d72aeeb7792b commit 667a595fee5ef5663752d585c980d72aeeb7792b Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2024-04-20 10:28:47 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-04-20 10:29:10 +0000 tau32-ddk.c: suppress warning about ignored attributes This driver is heavily obfuscated, and causes a -Werror warning with clang 18 now: sys/dev/ce/tau32-ddk.c:358:10: error: 'const' attribute on function returning 'void'; attribute ignored [-Werror,-Wignored-attributes] 358 | ((const))nvqbt(void){__asm __volatile("repe; nop; repe; nop;" | ^ Supress the warning since the driver can never be fixed. Direct commit to stable/13, since the driver has been removed in 14.x and later. PR: 276104 sys/conf/files.i386 | 2 +- sys/modules/ce/Makefile | 1 + 2 files changed, 2 insertions(+), 1 deletion(-)
A commit in branch stable/13 references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=e2e4022725aca1f7a1a698e241f926bcac506049 commit e2e4022725aca1f7a1a698e241f926bcac506049 Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2024-04-07 18:21:01 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-04-20 10:29:09 +0000 libcompiler_rt Makefile.inc: don't build bfloat16 support for gcc < 13 Older versions of gcc produce "error: unknown type name '__bf16'". PR: 276104 MFC after: 1 month (cherry picked from commit 2e226748a961329471f5b51483318b94c8735f34) lib/libcompiler_rt/Makefile.inc | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-)
A commit in branch stable/13 references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=3f0f6c9806695c4ac32294f6f117b59aae0ea94a commit 3f0f6c9806695c4ac32294f6f117b59aae0ea94a Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2024-04-10 22:10:07 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-04-20 10:29:09 +0000 libllvm: add missed tlbgen headers and sources for BPF target Noticed by: vishwin PR: 276104 MFC after: 1 month (cherry picked from commit 442d351bd242d14b1c0bb67cd048ac022f2e82ad) lib/clang/libllvm/Makefile | 7 +++++++ 1 file changed, 7 insertions(+)
A commit in branch stable/13 references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=bf7e13e690c32a86fa2cb4aa31343c935dc6cdcb commit bf7e13e690c32a86fa2cb4aa31343c935dc6cdcb Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2024-04-14 17:38:42 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-04-20 10:29:10 +0000 sanitizers: mark __elf_aux_vector as weak, to allow linking without libsys After libsys was introduced, linking sanitized programs started failing with: # c++ -fsanitize=address main.cc ld: error: undefined symbol: __elf_aux_vector >>> referenced by sanitizer_linux_libcdep.cpp:950 (/usr/src/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp:950) >>> sanitizer_linux_libcdep.o:(__sanitizer::ReExec()) in archive /usr/lib/clang/17/lib/freebsd/libclang_rt.asan-x86_64.a c++: error: linker command failed with exit code 1 (use -v to see invocation) Mark __elf_aux_vector as weak in the internal sanitizer declaration, so the linker will accept it at link time. The dynamic linker will then take care of the symbol at run time. Suggestion by: brooks PR: 276104, 277393 MFC after: 1 month (cherry picked from commit 8b181c2fbaa8c6b32e5510ef6e3a6d364ff4710e) .../compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
A commit in branch stable/13 references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=7334d08a3ad434152c451a9dab6c8f7ddb8cf62e commit 7334d08a3ad434152c451a9dab6c8f7ddb8cf62e Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2024-04-07 19:45:51 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-04-20 10:29:09 +0000 libcompiler_rt Makefile.inc: include bsd.compiler.mk to fix build Apparently libgcc_s has always included libcompiler_rt's Makefile.inc without first including bsd.compiler.mk, even though Makefile.inc used COMPILER_TYPE already. It looks like we were just lucky that the expression was not malformed. PR: 276104 Reported by: Herbert J. Skuhra <herbert@gojira.at> MFC after: 1 month (cherry picked from commit 4c983a2886877a855ac3a2836b15d80356fbb8d4) lib/libcompiler_rt/Makefile.inc | 1 + 1 file changed, 1 insertion(+)
A commit in branch stable/13 references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=70ab6e9b180dd7ed0cce5c9c69dd3348099b63bd commit 70ab6e9b180dd7ed0cce5c9c69dd3348099b63bd Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2024-04-13 08:44:26 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-04-20 10:29:10 +0000 Revert commit 925a11a5f221 from llvm-project (by Nikolas Klauser): [libc++] Simplify is_convertible GCC 13 has added __is_convertible(), so we don't need to keep the fallback implementation around. Reviewed By: #libc, Mordante Spies: Mordante, libcxx-commits Differential Revision: https://reviews.llvm.org/D157939 This should allow buildworld with gcc 12 to work again. PR: 276104 MFC after: 1 month (cherry picked from commit 2365f012951e5f0333cf31c690f668299c86b30e) .../libcxx/include/__type_traits/is_convertible.h | 79 +++++++++++++++++++++- 1 file changed, 78 insertions(+), 1 deletion(-)
A commit in branch stable/13 references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=5018444b289d7bf730d543e60e4e9c21409cb848 commit 5018444b289d7bf730d543e60e4e9c21409cb848 Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2024-04-07 18:16:50 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-04-20 10:29:09 +0000 libcompiler_rt Makefile.inc: remove debugging messages PR: 276104 MFC after: 1 month (cherry picked from commit d00b9344bb10a9a35b02df33475bec951dfccd78) lib/libcompiler_rt/Makefile.inc | 7 ------- 1 file changed, 7 deletions(-)
A commit in branch stable/13 references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=8e0b0a282739fadcc6cdec8bf1d8080c50f22bd0 commit 8e0b0a282739fadcc6cdec8bf1d8080c50f22bd0 Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2024-03-21 20:50:26 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-04-19 21:24:48 +0000 Merge commit f5f3d5d6534f from llvm-project (by Qizhi Hu): [Clang][Sema] Fix a crash in lambda instantiation (#85565) Fix https://github.com/llvm/llvm-project/issues/85343 When build lambda expression in lambda instantiation, `ThisType` is required in `Sema::CheckCXXThisCapture` to build `this` capture. Set `this` type by import `Sema::CXXThisScopeRAII` and it will be used later in lambda expression transformation. Co-authored-by: huqizhi <836744285@qq.com> This fixes 'Assertion failed: (!isNull() && "Cannot retrieve a NULL type pointer"), function getCommonPtr" when building the x11-wm/wayfire port. PR: 276104 MFC after: 1 month (cherry picked from commit 49a6e426df84eff1ae54905a02f66910a6a177d3) contrib/llvm-project/clang/lib/Sema/TreeTransform.h | 10 ++++++++++ 1 file changed, 10 insertions(+)
A commit in branch stable/13 references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=b09953d54d755297cf5c14f69c315bd4148d4153 commit b09953d54d755297cf5c14f69c315bd4148d4153 Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2024-03-10 12:37:50 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-04-19 21:24:47 +0000 Merge llvm-project release/18.x llvmorg-18.1.1-0-gdba2a75e9c7e This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvm-project release/18.x llvmorg-18.1.1-0-gdba2a75e9c7e. PR: 276104 MFC after: 1 month (cherry picked from commit 4c2d3b022a1d543dbbff75a0c53e8d3d7242216d) .../llvm-project/clang/include/clang/Sema/Sema.h | 4 +- .../clang/lib/Basic/Targets/AArch64.cpp | 1 - .../llvm-project/clang/lib/Basic/Targets/Mips.h | 4 +- .../llvm-project/clang/lib/CodeGen/CodeGenPGO.cpp | 11 +- contrib/llvm-project/clang/lib/Sema/SemaExpr.cpp | 4 +- contrib/llvm-project/libcxx/include/csetjmp | 8 +- .../llvm/include/llvm/ADT/iterator_range.h | 4 +- .../llvm/include/llvm/IR/Attributes.td | 28 +- .../llvm/TargetParser/AArch64TargetParser.h | 8 +- contrib/llvm-project/llvm/lib/Analysis/Loads.cpp | 6 +- contrib/llvm-project/llvm/lib/IR/Attributes.cpp | 5 + .../llvm/lib/Target/AArch64/AArch64.td | 27 + .../llvm/lib/Target/AArch64/AArch64SchedA53.td | 2 +- .../llvm/lib/Target/AArch64/AArch64SchedA57.td | 2 +- .../llvm/lib/Target/AArch64/AArch64SchedA64FX.td | 3 +- .../Target/AArch64/AArch64SchedAmpere1B.td (new) | 1149 ++++++++++++++++++++ .../llvm/lib/Target/AArch64/AArch64SchedCyclone.td | 2 +- .../lib/Target/AArch64/AArch64SchedExynosM3.td | 2 +- .../lib/Target/AArch64/AArch64SchedExynosM4.td | 2 +- .../lib/Target/AArch64/AArch64SchedExynosM5.td | 2 +- .../llvm/lib/Target/AArch64/AArch64SchedFalkor.td | 2 +- .../llvm/lib/Target/AArch64/AArch64SchedKryo.td | 2 +- .../lib/Target/AArch64/AArch64SchedNeoverseN1.td | 2 +- .../lib/Target/AArch64/AArch64SchedNeoverseN2.td | 2 +- .../lib/Target/AArch64/AArch64SchedNeoverseV1.td | 3 +- .../lib/Target/AArch64/AArch64SchedNeoverseV2.td | 3 +- .../llvm/lib/Target/AArch64/AArch64SchedTSV110.td | 2 +- .../lib/Target/AArch64/AArch64SchedThunderX.td | 2 +- .../lib/Target/AArch64/AArch64SchedThunderX2T99.td | 2 +- .../Target/AArch64/AArch64SchedThunderX3T110.td | 2 +- .../llvm/lib/Target/AArch64/AArch64Subtarget.cpp | 1 + .../llvm/lib/Target/AArch64/AArch64Subtarget.h | 1 + .../lib/Target/Mips/AsmParser/MipsAsmParser.cpp | 78 +- .../llvm/lib/Target/Mips/MipsISelLowering.cpp | 10 +- .../lib/Target/SystemZ/SystemZISelLowering.cpp | 5 +- .../llvm-project/llvm/lib/TargetParser/Host.cpp | 1 + .../llvm/lib/Transforms/Utils/FlattenCFG.cpp | 14 +- .../llvm/lib/Transforms/Utils/Local.cpp | 8 +- .../llvm/tools/llvm-cov/SourceCoverageView.cpp | 2 +- .../llvm/tools/llvm-cov/SourceCoverageViewHTML.cpp | 9 +- .../llvm/tools/llvm-cov/SourceCoverageViewText.cpp | 3 +- .../llvm/tools/llvm-readobj/ObjDumper.cpp | 26 +- .../llvm/tools/llvm-readobj/ObjDumper.h | 4 +- .../llvm-project/llvm/tools/llvm-readobj/Opts.td | 2 + .../llvm/tools/llvm-readobj/llvm-readobj.cpp | 6 +- .../llvm/utils/TableGen/Attributes.cpp | 6 +- lib/clang/include/VCSVersion.inc | 6 +- lib/clang/include/clang/Basic/Version.inc | 6 +- lib/clang/include/lld/Common/Version.inc | 2 +- lib/clang/include/lldb/Version/Version.inc | 6 +- lib/clang/include/llvm/Config/config.h | 4 +- lib/clang/include/llvm/Config/llvm-config.h | 4 +- lib/clang/include/llvm/Support/VCSRevision.h | 2 +- lib/clang/liblldb/LLDBWrapLua.cpp | 162 +-- 54 files changed, 1501 insertions(+), 163 deletions(-)
A commit in branch stable/13 references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=0764680cf8fdcd53b781a54c1a697bddedb075da commit 0764680cf8fdcd53b781a54c1a697bddedb075da Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2024-04-07 09:23:06 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-04-20 10:29:09 +0000 Fix arm64 build after llvm 18.1.3 upgrade (take 2) Instead of compiling the whole sys/arm64/arm64/vfp.c file without -mgeneral-regs-only, which might have unwanted side effects, add ".arch_extension fp" / ".arch_extension nofp" pairs to the inline assembly. PR: 276104 Suggested by: andrew MFC after: 1 month (cherry picked from commit 61e482f2fcd53bbc7fd3d4cc8b7df79d5d57d75c) sys/arm64/arm64/vfp.c | 4 ++++ sys/conf/files.arm64 | 3 +-- 2 files changed, 5 insertions(+), 2 deletions(-)
A commit in branch stable/13 references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=89cc83362f4d4d5733a2a7446b0b4be63596e09c commit 89cc83362f4d4d5733a2a7446b0b4be63596e09c Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2024-04-07 17:56:03 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-04-20 10:29:09 +0000 Fix GENERIC-KASAN kernel build for amd64 Work around https://github.com/llvm/llvm-project/issues/87923, which leads to an assertion failure compiling several kernel source files with asan enabled. PR: 276104 MFC after: 1 month (cherry picked from commit b811dac2115a6ada606c03d7d823a95d11c5f3c9) sys/conf/kern.pre.mk | 7 +++++++ 1 file changed, 7 insertions(+)
A commit in branch stable/13 references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=3a287a03cf4a1ff66b247b4ac880b9a8914faacf commit 3a287a03cf4a1ff66b247b4ac880b9a8914faacf Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2024-04-05 22:02:56 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-04-19 21:24:48 +0000 Merge llvm-project release/18.x llvmorg-18.1.3-0-gc13b7485b879 This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvm-project release/18.x llvmorg-18.1.3-0-gc13b7485b879. PR: 276104 MFC after: 1 month (cherry picked from commit 439352ac8257c8419cb4a662abb7f260f31f9932) .../clang/include/clang/AST/DeclBase.h | 10 ++ .../clang/include/clang/Sema/ScopeInfo.h | 4 +- .../clang/include/clang/Serialization/ASTReader.h | 7 -- contrib/llvm-project/clang/lib/AST/Decl.cpp | 2 +- contrib/llvm-project/clang/lib/AST/DeclBase.cpp | 5 + contrib/llvm-project/clang/lib/Basic/Module.cpp | 7 +- .../llvm-project/clang/lib/CodeGen/BackendUtil.cpp | 32 ++--- contrib/llvm-project/clang/lib/CodeGen/CGDecl.cpp | 43 ++++--- .../clang/lib/Driver/ToolChains/WebAssembly.cpp | 27 ++++- .../clang/lib/Driver/ToolChains/WebAssembly.h | 2 +- .../llvm-project/clang/lib/Headers/__stddef_null.h | 2 +- .../clang/lib/Headers/__stddef_nullptr_t.h | 7 +- .../clang/lib/Headers/__stddef_offsetof.h | 7 +- .../clang/lib/Headers/__stddef_ptrdiff_t.h | 7 +- .../clang/lib/Headers/__stddef_rsize_t.h | 7 +- .../clang/lib/Headers/__stddef_size_t.h | 7 +- .../clang/lib/Headers/__stddef_unreachable.h | 7 +- .../clang/lib/Headers/__stddef_wchar_t.h | 7 +- .../llvm-project/clang/lib/Headers/larchintrin.h | 2 +- .../clang/lib/Headers/module.modulemap | 20 ++-- contrib/llvm-project/clang/lib/Lex/ModuleMap.cpp | 9 +- contrib/llvm-project/clang/lib/Sema/SemaDecl.cpp | 73 +++++++----- .../llvm-project/clang/lib/Sema/SemaOverload.cpp | 22 +++- .../llvm-project/clang/lib/Sema/SemaTemplate.cpp | 22 +++- .../clang/lib/Serialization/ASTReader.cpp | 2 +- .../clang/lib/Serialization/ASTReaderDecl.cpp | 8 +- .../clang/lib/Serialization/ASTWriter.cpp | 2 +- .../clang/lib/Serialization/ASTWriterDecl.cpp | 8 +- .../clang/lib/StaticAnalyzer/Core/CallEvent.cpp | 2 +- .../llvm-project/compiler-rt/lib/builtins/divtc3.c | 2 +- .../llvm-project/compiler-rt/lib/builtins/fp_lib.h | 41 ++++--- .../compiler-rt/lib/builtins/int_types.h | 8 +- .../llvm-project/compiler-rt/lib/builtins/multc3.c | 2 +- contrib/llvm-project/compiler-rt/lib/msan/msan.cpp | 2 +- contrib/llvm-project/compiler-rt/lib/msan/msan.h | 35 ++++-- .../compiler-rt/lib/msan/msan_allocator.cpp | 3 + .../compiler-rt/lib/msan/msan_linux.cpp | 67 ++++++++--- .../lib/tsan/rtl/tsan_interceptors_posix.cpp | 43 +++---- contrib/llvm-project/libcxx/include/__availability | 7 +- .../llvm-project/libcxx/modules/modules.json.in | 2 +- contrib/llvm-project/lld/COFF/DLL.cpp | 2 +- contrib/llvm-project/lld/ELF/Arch/LoongArch.cpp | 22 ++++ contrib/llvm-project/lld/ELF/Arch/PPC64.cpp | 3 +- contrib/llvm-project/lld/ELF/Arch/RISCV.cpp | 2 + contrib/llvm-project/lld/ELF/Arch/X86_64.cpp | 7 +- contrib/llvm-project/lld/ELF/Writer.cpp | 3 + contrib/llvm-project/lld/docs/ReleaseNotes.rst | 5 + .../llvm/include/llvm/Analysis/VectorUtils.h | 5 + .../llvm/include/llvm/BinaryFormat/COFF.h | 5 +- .../llvm-project/llvm/include/llvm/Object/COFF.h | 41 +++++++ .../llvm/include/llvm/Object/COFFImportFile.h | 35 +++++- .../llvm/include/llvm/Support/FormattedStream.h | 51 ++++++-- .../llvm/include/llvm/Target/TargetSchedule.td | 2 +- .../llvm/lib/Analysis/ValueTracking.cpp | 2 + .../llvm-project/llvm/lib/Analysis/VectorUtils.cpp | 25 ++++ .../llvm/lib/MC/MCParser/AsmParser.cpp | 4 +- .../llvm-project/llvm/lib/Object/ArchiveWriter.cpp | 11 ++ .../llvm/lib/Object/COFFImportFile.cpp | 114 +++++++++++++----- .../llvm/lib/Support/FormattedStream.cpp | 3 + .../Target/AArch64/AArch64Arm64ECCallLowering.cpp | 57 ++++++--- .../lib/Target/AArch64/AArch64CallingConvention.td | 3 + .../lib/Target/AArch64/AArch64ISelLowering.cpp | 10 +- .../llvm/lib/Target/AArch64/AArch64MCInstLower.cpp | 2 + .../lib/Target/AArch64/Utils/AArch64BaseInfo.h | 28 ----- .../llvm/lib/Target/ARM/ARMFrameLowering.cpp | 11 +- .../llvm/lib/Target/ARM/ARMFrameLowering.h | 4 + .../llvm/lib/Target/ARM/ARMLoadStoreOptimizer.cpp | 23 ++-- .../llvm/lib/Target/AVR/AVRInstrInfo.td | 2 +- .../lib/Target/LoongArch/LoongArchISelLowering.cpp | 9 +- .../lib/Target/LoongArch/LoongArchISelLowering.h | 2 + .../lib/Target/LoongArch/LoongArchTargetMachine.h | 5 + .../Mips/MCTargetDesc/MipsTargetStreamer.cpp | 12 +- .../llvm/lib/Target/Mips/MipsExpandPseudo.cpp | 60 ++++++++-- .../llvm/lib/Target/PowerPC/PPCFrameLowering.cpp | 6 - .../llvm/lib/Target/PowerPC/PPCISelLowering.cpp | 1 + .../llvm/lib/Target/RISCV/RISCVISelLowering.cpp | 20 ++-- .../lib/Target/RISCV/RISCVTargetTransformInfo.cpp | 3 + .../lib/Target/SystemZ/SystemZISelLowering.cpp | 34 ++++++ .../llvm/lib/Target/X86/X86ISelLowering.cpp | 11 +- .../llvm/lib/Target/X86/X86InstrVecCompiler.td | 3 + .../llvm/lib/Target/X86/X86TargetTransformInfo.cpp | 4 + .../llvm/lib/Transforms/IPO/ArgumentPromotion.cpp | 6 +- .../Transforms/InstCombine/InstCombineCalls.cpp | 13 ++- .../Transforms/InstCombine/InstCombineCasts.cpp | 4 +- .../Transforms/InstCombine/InstCombineCompares.cpp | 7 ++ .../Transforms/InstCombine/InstCombineSelect.cpp | 9 +- .../InstCombine/InstructionCombining.cpp | 1 + .../Transforms/Instrumentation/ThreadSanitizer.cpp | 9 +- .../lib/Transforms/Scalar/DeadStoreElimination.cpp | 31 ++++- .../llvm/lib/Transforms/Scalar/SROA.cpp | 80 ++++++++----- .../llvm-project/llvm/tools/llvm-mc/llvm-mc.cpp | 5 - .../llvm/tools/llvm-objdump/llvm-objdump.cpp | 7 -- .../llvm/tools/llvm-readobj/COFFImportDumper.cpp | 6 + .../TableGen/MacroFusionPredicatorEmitter.cpp | 12 +- contrib/llvm-project/openmp/runtime/src/kmp.h | 8 +- .../openmp/runtime/src/kmp_affinity.cpp | 129 +++++++++++++++++++-- .../llvm-project/openmp/runtime/src/kmp_affinity.h | 73 +++++++++++- contrib/llvm-project/openmp/runtime/src/kmp_lock.h | 3 +- contrib/llvm-project/openmp/runtime/src/kmp_os.h | 3 +- .../openmp/runtime/src/z_Linux_util.cpp | 37 +++++- lib/clang/include/VCSVersion.inc | 6 +- lib/clang/include/clang/Basic/Version.inc | 6 +- lib/clang/include/lld/Common/Version.inc | 2 +- lib/clang/include/lldb/Version/Version.inc | 6 +- lib/clang/include/llvm/Config/config.h | 4 +- lib/clang/include/llvm/Config/llvm-config.h | 4 +- lib/clang/include/llvm/Support/VCSRevision.h | 2 +- 107 files changed, 1266 insertions(+), 431 deletions(-)
A commit in branch stable/13 references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=7b86b92ec1bdfad552ece3eaa28bd8d28dff9a82 commit 7b86b92ec1bdfad552ece3eaa28bd8d28dff9a82 Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2024-04-07 00:07:38 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-04-20 10:29:09 +0000 Fix arm64 build after llvm 18.1.3 upgrade Apparently clang 18 has become more strict about using floating point registers in inline assembly when -mgeneral-regs-only is used. This causes sys/arm64/arm64/vfp.c to fail to compile, with "error: instruction requires: fp-armv8", and "error: expected readable system register". To fix it, similar to other files compiled for arm64, disable -mgeneral-regs-only for this particular file. PR: 276104 MFC after: 1 month (cherry picked from commit f4d93b67611f6f8b19db7bac6b0973b2ef0cfcb6) sys/conf/files.arm64 | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
A commit in branch stable/13 references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=64816cf50d5e571e64f5d8a4143f05192788d09b commit 64816cf50d5e571e64f5d8a4143f05192788d09b Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2024-03-19 13:07:27 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-04-19 21:24:48 +0000 Revert commit 6255157d24e2 from llvm-project (by Dimitry Andric): [libc++] Re-enable std::pair trivial copy constructor for FreeBSD >= 14 After many years of using the really old std::pair ABI which did not yet have a trivial copy constructor, FreeBSD 14 and later will finally get rid of it. Only use the old ABI for FreeBSD 13 and earlier. Note: on the FreeBSD side, we will bump our libc++.so version for this, and keep an old compatibility library in a separate package. Differential Revision: https://reviews.llvm.org/D126462 This ABI change can cause crashes when binaries compiled against older libc++ versions are run against binaries compiled against this libc++ version. For example, lang/ldc uses a precompiled bootstrap ldc2 binary that was compiled against the old libc++, but also links against libLLVM-15.so. If libLLVM-15.so is compiled against the new libc++ version, the ABI mismatch results in segfaults or even stack overflows. Note: we can only re-enable the std::pair trivial copy constructors again when the official libc++ ABI version is bumped to 2. PR: 276104 MFC after: 1 month (cherry picked from commit ce4f1f49e036fd806b534decfe38020dae32a384) contrib/llvm-project/libcxx/include/__config | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
A commit in branch stable/13 references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=206cf542ef75ae895d82cb518e8de81b8a403d85 commit 206cf542ef75ae895d82cb518e8de81b8a403d85 Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2024-01-26 15:03:20 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-04-19 21:24:45 +0000 Tentatively apply https://github.com/libcxxrt/libcxxrt/pull/27 This marks __cxa_allocate_exception, __cxa_free_exception and __cxa_init_primary_exception noexcept, to ensure compatibility with libc++'s declarations. PR: 276104 MFC after: 1 month (cherry picked from commit 3fb2e045791eb6f003205902cdc4f74702770ec6) contrib/libcxxrt/cxxabi.h | 6 +++--- contrib/libcxxrt/exception.cc | 8 ++++---- 2 files changed, 7 insertions(+), 7 deletions(-)
A commit in branch stable/13 references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=7032a435215851c26dbcef63f5a4d1c1526e9ab9 commit 7032a435215851c26dbcef63f5a4d1c1526e9ab9 Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2024-02-21 10:24:23 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-04-19 21:24:47 +0000 Merge llvm-project release/18.x llvmorg-18.1.0-rc3-0-g6c90f8dd5463 This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvm-project release/18.x llvmorg-18.1.0-rc3-0-g6c90f8dd5463. PR: 276104 MFC after: 1 month (cherry picked from commit 56727255ad47072ec2cc81b4ae728a099697b0e4) .../clang/lib/Serialization/ASTReaderDecl.cpp | 10 +- .../clang/lib/Serialization/ASTWriter.cpp | 6 +- .../clang/lib/Serialization/ASTWriterDecl.cpp | 15 +- .../compiler-rt/lib/profile/InstrProfilingFile.c | 3 + .../llvm/include/llvm/Analysis/ScalarEvolution.h | 7 + .../llvm/lib/Analysis/ScalarEvolution.cpp | 62 ++++ .../llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp | 37 +- .../InstCombine/InstructionCombining.cpp | 6 +- .../Transforms/Utils/ScalarEvolutionExpander.cpp | 57 +-- .../llvm/lib/Transforms/Utils/SimplifyIndVar.cpp | 18 +- .../llvm/tools/llvm-objcopy/ObjcopyOptions.cpp | 2 + .../llvm/tools/llvm-objdump/ELFDump.cpp | 3 + .../llvm/tools/llvm-readobj/ELFDumper.cpp | 1 + .../openmp/runtime/src/z_AIX_asm.S (new) | 410 +++++++++++++++++++++ lib/clang/include/VCSVersion.inc | 6 +- lib/clang/include/lld/Common/Version.inc | 2 +- lib/clang/include/llvm/Support/VCSRevision.h | 2 +- 17 files changed, 558 insertions(+), 89 deletions(-)
A commit in branch stable/13 references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=6c596be66539299d553c77acf94db2bed63a6fc5 commit 6c596be66539299d553c77acf94db2bed63a6fc5 Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2024-02-05 09:16:17 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-04-19 21:24:46 +0000 Merge commit 5f4ee5a2dfa9 from llvm-project (by Shanzhi): [Clang][AST] Fix a crash on attaching doc comments (#78716) This crash is basically caused by calling `ASTContext::getRawCommentForDeclNoCacheImp` with its input arguments `RepresentativeLocForDecl` and `CommentsInTheFile` refering to different files. A reduced reproducer is provided in this patch. After the source locations for instantiations of funtion template are corrected in the commit 256a0b298c68b89688b80350b034daf2f7785b67, the variable `CommitsInThisFile` in the function `ASTContext::attachCommentsToJustParsedDecls` would refer to the source file rather than the header file for implicit function template instantiation. Therefore, in the first loop in `ASTContext::attachCommentsToJustParsedDecls`, `D` should also be adjusted for relevant scenarios like the second loop. Fixes #67979 Fixes #68524 Fixes #70550 This should fix a segfault when compiling graphics/gdal. PR: 276104 MFC after: 1 month (cherry picked from commit dc36515b628331e03ac8c23a6749f7f3eb1ebec8) contrib/llvm-project/clang/lib/AST/ASTContext.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-)
A commit in branch stable/13 references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=c80674ff65c5ff9f2a844e4ed6fe7e5f935f6e4c commit c80674ff65c5ff9f2a844e4ed6fe7e5f935f6e4c Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2024-02-20 18:57:23 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-04-19 21:24:47 +0000 Merge llvm-project release/18.x llvmorg-18.1.0-rc2-53-gc7b0a6ecd442 This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvm-project release/18.x llvmorg-18.1.0-rc2-53-gc7b0a6ecd442. PR: 276104 MFC after: 1 month (cherry picked from commit 74626c16ff489c0d64cf2843dfd522e7c544f3ce) .../clang/include/clang/Basic/arm_sme.td | 28 +- .../clang/include/clang/Driver/Options.td | 12 + .../clang/lib/Basic/Targets/AArch64.cpp | 9 +- .../clang/lib/Driver/ToolChains/Arch/Sparc.cpp | 81 +++ .../clang/lib/Format/UnwrappedLineParser.cpp | 2 +- contrib/llvm-project/clang/lib/Sema/SemaExpr.cpp | 2 +- .../clang/tools/clang-format/ClangFormat.cpp | 49 +- .../compiler-rt/lib/dfsan/dfsan_custom.cpp | 203 ++----- .../compiler-rt/lib/dfsan/done_abilist.txt | 6 + .../lib/dfsan/libc_ubuntu1404_abilist.txt | 5 + .../lib/profile/InstrProfilingPlatformAIX.c | 4 +- contrib/llvm-project/libcxx/include/print | 14 +- .../libcxx/modules/CMakeLists.txt.in (new) | 88 +++ .../llvm-project/libcxx/modules/std/ostream.inc | 4 +- contrib/llvm-project/libcxx/src/print.cpp | 25 +- contrib/llvm-project/lld/COFF/Driver.cpp | 10 +- contrib/llvm-project/lld/ELF/Arch/LoongArch.cpp | 156 +++++- contrib/llvm-project/lld/ELF/Arch/RISCV.cpp | 29 +- .../llvm-project/lld/ELF/Arch/SystemZ.cpp (new) | 607 +++++++++++++++++++++ contrib/llvm-project/lld/ELF/Driver.cpp | 3 +- contrib/llvm-project/lld/ELF/InputFiles.cpp | 2 + contrib/llvm-project/lld/ELF/InputSection.cpp | 14 +- contrib/llvm-project/lld/ELF/InputSection.h | 24 +- contrib/llvm-project/lld/ELF/Relocations.cpp | 27 +- contrib/llvm-project/lld/ELF/Relocations.h | 3 + contrib/llvm-project/lld/ELF/ScriptParser.cpp | 1 + contrib/llvm-project/lld/ELF/SyntheticSections.cpp | 3 + contrib/llvm-project/lld/ELF/Target.cpp | 2 + contrib/llvm-project/lld/ELF/Target.h | 4 + contrib/llvm-project/lld/ELF/Writer.cpp | 4 +- contrib/llvm-project/lld/docs/ReleaseNotes.rst | 53 +- .../llvm/include/llvm/BinaryFormat/ELF.h | 1 + .../llvm/lib/Analysis/ValueTracking.cpp | 7 +- .../lib/CodeGen/GlobalISel/LegalizerHelper.cpp | 2 + .../llvm/lib/CodeGen/RegisterCoalescer.cpp | 27 +- .../llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp | 2 +- .../lib/Target/AArch64/AArch64ISelLowering.cpp | 11 +- .../lib/Target/AArch64/AArch64RegisterInfo.cpp | 4 + .../Target/AArch64/GISel/AArch64LegalizerInfo.cpp | 5 +- .../lib/Target/Mips/AsmParser/MipsAsmParser.cpp | 7 +- .../llvm/lib/Target/RISCV/RISCVISelLowering.cpp | 98 ++-- .../llvm/lib/Target/RISCV/RISCVInstrInfo.cpp | 3 +- .../llvm-project/llvm/lib/Target/Sparc/Sparc.td | 14 + .../llvm/lib/Target/Sparc/SparcISelLowering.cpp | 43 ++ .../llvm/lib/Target/Sparc/SparcRegisterInfo.cpp | 14 +- .../llvm/lib/Target/Sparc/SparcRegisterInfo.h | 1 + .../llvm/lib/Target/Sparc/SparcRegisterInfo.td | 4 + .../llvm/lib/Target/Sparc/SparcSubtarget.cpp | 1 + .../llvm/lib/Target/Sparc/SparcSubtarget.h | 10 + .../llvm/lib/Target/X86/X86ISelLowering.cpp | 10 +- .../llvm/lib/Transforms/IPO/LowerTypeTests.cpp | 28 +- .../lib/Transforms/Vectorize/SLPVectorizer.cpp | 14 +- contrib/llvm-project/openmp/runtime/src/kmp.h | 7 +- .../openmp/runtime/src/kmp_csupport.cpp | 5 +- .../openmp/runtime/src/kmp_gsupport.cpp | 2 +- .../llvm-project/openmp/runtime/src/kmp_lock.cpp | 6 +- contrib/llvm-project/openmp/runtime/src/kmp_lock.h | 17 +- .../openmp/runtime/src/kmp_settings.cpp | 5 + lib/clang/include/VCSVersion.inc | 6 +- lib/clang/include/lld/Common/Version.inc | 2 +- lib/clang/include/llvm/Support/VCSRevision.h | 2 +- usr.bin/clang/lld/Makefile | 1 + 62 files changed, 1481 insertions(+), 352 deletions(-)
A commit in branch stable/13 references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=83e37ae556b23e8e91169c618618d28d83ddb61b commit 83e37ae556b23e8e91169c618618d28d83ddb61b Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2024-02-07 14:58:02 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-04-19 21:24:46 +0000 Merge llvm-project release/18.x llvmorg-18.1.0-rc2-0-gc6c86965d967 This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvm-project release/18.x llvmorg-18.1.0-rc2-0-gc6c86965d967. PR: 276104 MFC after: 1 month (cherry picked from commit b3edf4467982447620505a28fc82e38a414c07dc) .../llvm-project/clang/include/clang/AST/Type.h | 3 + .../clang/include/clang/Basic/AttrDocs.td | 5 +- .../clang/include/clang/Basic/BuiltinsAMDGPU.def | 62 +++ .../clang/include/clang/Basic/CodeGenOptions.def | 3 + .../include/clang/Basic/DiagnosticCommonKinds.td | 2 +- .../clang/include/clang/Basic/DiagnosticDocs.td | 9 + .../include/clang/Basic/DiagnosticSemaKinds.td | 6 + .../clang/include/clang/Basic/LangOptions.def | 1 + .../clang/include/clang/Driver/Options.td | 13 + .../clang/include/clang/Format/Format.h | 43 +- .../clang/include/clang/Lex/Preprocessor.h | 11 +- .../llvm-project/clang/include/clang/Sema/Lookup.h | 3 +- .../clang/include/clang/Serialization/ASTReader.h | 6 + contrib/llvm-project/clang/lib/AST/ASTContext.cpp | 20 +- .../llvm-project/clang/lib/AST/ExprConstant.cpp | 9 +- .../llvm-project/clang/lib/AST/ItaniumMangle.cpp | 25 +- .../llvm-project/clang/lib/AST/JSONNodeDumper.cpp | 3 + contrib/llvm-project/clang/lib/AST/ODRHash.cpp | 49 +- .../llvm-project/clang/lib/AST/TemplateBase.cpp | 3 +- .../llvm-project/clang/lib/AST/TextNodeDumper.cpp | 3 + contrib/llvm-project/clang/lib/AST/Type.cpp | 15 +- contrib/llvm-project/clang/lib/AST/TypePrinter.cpp | 2 + .../clang/lib/Basic/Targets/AArch64.cpp | 23 + .../llvm-project/clang/lib/Basic/Targets/AArch64.h | 1 + .../llvm-project/clang/lib/CodeGen/BackendUtil.cpp | 1 + .../llvm-project/clang/lib/CodeGen/CGBuiltin.cpp | 177 +++++++- contrib/llvm-project/clang/lib/CodeGen/CGExpr.cpp | 17 +- .../clang/lib/CodeGen/CoverageMappingGen.cpp | 6 +- .../clang/lib/CodeGen/Targets/RISCV.cpp | 21 +- contrib/llvm-project/clang/lib/Driver/Driver.cpp | 6 +- .../clang/lib/Driver/ToolChains/Clang.cpp | 15 + .../clang/lib/Driver/ToolChains/CommonArgs.cpp | 52 +++ .../clang/lib/Driver/ToolChains/CommonArgs.h | 3 + contrib/llvm-project/clang/lib/Format/Format.cpp | 23 +- .../clang/lib/Format/TokenAnnotator.cpp | 11 +- .../llvm-project/clang/lib/Lex/PPDirectives.cpp | 2 +- .../llvm-project/clang/lib/Lex/PPExpressions.cpp | 4 +- .../llvm-project/clang/lib/Sema/SemaChecking.cpp | 55 ++- .../llvm-project/clang/lib/Sema/SemaConcept.cpp | 8 +- contrib/llvm-project/clang/lib/Sema/SemaDecl.cpp | 3 +- contrib/llvm-project/clang/lib/Sema/SemaExpr.cpp | 6 +- .../llvm-project/clang/lib/Sema/SemaOverload.cpp | 44 +- .../llvm-project/clang/lib/Sema/SemaTemplate.cpp | 44 +- contrib/llvm-project/clang/lib/Sema/SemaType.cpp | 21 +- .../clang/lib/Serialization/ASTReader.cpp | 3 + .../clang/lib/Serialization/ASTReaderDecl.cpp | 38 +- .../clang/lib/Serialization/ASTWriter.cpp | 8 +- .../clang/lib/Serialization/ASTWriterDecl.cpp | 13 +- .../clang/lib/StaticAnalyzer/Core/Environment.cpp | 8 +- .../compiler-rt/lib/builtins/i386/chkstk.S | 2 - .../compiler-rt/lib/builtins/x86_64/chkstk.S | 2 - .../lib/profile/InstrProfilingPlatformWindows.c | 2 +- .../sanitizer_symbolizer_report.cpp | 4 +- .../libcxx/include/__algorithm/copy_move_common.h | 5 + .../libcxx/include/__algorithm/equal.h | 5 + .../libcxx/include/__algorithm/equal_range.h | 5 + .../llvm-project/libcxx/include/__algorithm/fold.h | 5 + .../libcxx/include/__algorithm/in_found_result.h | 5 + .../libcxx/include/__algorithm/in_fun_result.h | 5 + .../libcxx/include/__algorithm/in_in_out_result.h | 5 + .../libcxx/include/__algorithm/in_in_result.h | 5 + .../libcxx/include/__algorithm/in_out_out_result.h | 5 + .../libcxx/include/__algorithm/includes.h | 5 + .../libcxx/include/__algorithm/next_permutation.h | 5 + .../libcxx/include/__algorithm/nth_element.h | 5 + .../libcxx/include/__algorithm/partial_sort.h | 5 + .../libcxx/include/__algorithm/partial_sort_copy.h | 5 + .../libcxx/include/__algorithm/partition.h | 5 + .../libcxx/include/__algorithm/prev_permutation.h | 5 + .../include/__algorithm/pstl_any_all_none_of.h | 5 + .../pstl_backends/cpu_backends/transform_reduce.h | 5 + .../libcxx/include/__algorithm/pstl_copy.h | 5 + .../libcxx/include/__algorithm/pstl_count.h | 5 + .../libcxx/include/__algorithm/pstl_equal.h | 5 + .../libcxx/include/__algorithm/pstl_fill.h | 5 + .../libcxx/include/__algorithm/pstl_find.h | 5 + .../libcxx/include/__algorithm/pstl_for_each.h | 5 + .../libcxx/include/__algorithm/pstl_generate.h | 5 + .../include/__algorithm/pstl_is_partitioned.h | 5 + .../libcxx/include/__algorithm/pstl_merge.h | 5 + .../libcxx/include/__algorithm/pstl_move.h | 5 + .../libcxx/include/__algorithm/pstl_replace.h | 5 + .../libcxx/include/__algorithm/pstl_rotate_copy.h | 5 + .../libcxx/include/__algorithm/pstl_sort.h | 5 + .../libcxx/include/__algorithm/pstl_stable_sort.h | 5 + .../libcxx/include/__algorithm/pstl_transform.h | 5 + .../libcxx/include/__algorithm/ranges_all_of.h | 5 + .../libcxx/include/__algorithm/ranges_any_of.h | 5 + .../include/__algorithm/ranges_binary_search.h | 5 + .../libcxx/include/__algorithm/ranges_clamp.h | 5 + .../libcxx/include/__algorithm/ranges_contains.h | 5 + .../libcxx/include/__algorithm/ranges_copy.h | 5 + .../include/__algorithm/ranges_copy_backward.h | 5 + .../libcxx/include/__algorithm/ranges_copy_if.h | 5 + .../libcxx/include/__algorithm/ranges_copy_n.h | 5 + .../libcxx/include/__algorithm/ranges_count.h | 5 + .../libcxx/include/__algorithm/ranges_count_if.h | 5 + .../libcxx/include/__algorithm/ranges_ends_with.h | 5 + .../libcxx/include/__algorithm/ranges_equal.h | 5 + .../include/__algorithm/ranges_equal_range.h | 5 + .../libcxx/include/__algorithm/ranges_fill.h | 5 + .../libcxx/include/__algorithm/ranges_fill_n.h | 5 + .../libcxx/include/__algorithm/ranges_find.h | 5 + .../libcxx/include/__algorithm/ranges_find_end.h | 5 + .../include/__algorithm/ranges_find_first_of.h | 5 + .../libcxx/include/__algorithm/ranges_find_if.h | 5 + .../include/__algorithm/ranges_find_if_not.h | 5 + .../libcxx/include/__algorithm/ranges_for_each.h | 5 + .../libcxx/include/__algorithm/ranges_for_each_n.h | 5 + .../libcxx/include/__algorithm/ranges_generate.h | 5 + .../libcxx/include/__algorithm/ranges_generate_n.h | 5 + .../libcxx/include/__algorithm/ranges_includes.h | 5 + .../include/__algorithm/ranges_inplace_merge.h | 5 + .../libcxx/include/__algorithm/ranges_is_heap.h | 5 + .../include/__algorithm/ranges_is_heap_until.h | 5 + .../include/__algorithm/ranges_is_partitioned.h | 5 + .../include/__algorithm/ranges_is_permutation.h | 5 + .../libcxx/include/__algorithm/ranges_is_sorted.h | 5 + .../include/__algorithm/ranges_is_sorted_until.h | 5 + .../include/__algorithm/ranges_iterator_concept.h | 5 + .../__algorithm/ranges_lexicographical_compare.h | 5 + .../include/__algorithm/ranges_lower_bound.h | 5 + .../libcxx/include/__algorithm/ranges_make_heap.h | 5 + .../include/__algorithm/ranges_max_element.h | 5 + .../libcxx/include/__algorithm/ranges_merge.h | 5 + .../include/__algorithm/ranges_min_element.h | 5 + .../include/__algorithm/ranges_minmax_element.h | 5 + .../libcxx/include/__algorithm/ranges_mismatch.h | 5 + .../libcxx/include/__algorithm/ranges_move.h | 5 + .../include/__algorithm/ranges_move_backward.h | 5 + .../include/__algorithm/ranges_next_permutation.h | 5 + .../libcxx/include/__algorithm/ranges_none_of.h | 5 + .../include/__algorithm/ranges_nth_element.h | 5 + .../include/__algorithm/ranges_partial_sort.h | 5 + .../include/__algorithm/ranges_partial_sort_copy.h | 5 + .../libcxx/include/__algorithm/ranges_partition.h | 5 + .../include/__algorithm/ranges_partition_copy.h | 5 + .../include/__algorithm/ranges_partition_point.h | 5 + .../libcxx/include/__algorithm/ranges_pop_heap.h | 5 + .../include/__algorithm/ranges_prev_permutation.h | 5 + .../libcxx/include/__algorithm/ranges_push_heap.h | 5 + .../libcxx/include/__algorithm/ranges_remove.h | 5 + .../include/__algorithm/ranges_remove_copy.h | 5 + .../include/__algorithm/ranges_remove_copy_if.h | 5 + .../libcxx/include/__algorithm/ranges_remove_if.h | 5 + .../libcxx/include/__algorithm/ranges_replace.h | 5 + .../include/__algorithm/ranges_replace_copy.h | 5 + .../include/__algorithm/ranges_replace_copy_if.h | 5 + .../libcxx/include/__algorithm/ranges_replace_if.h | 5 + .../include/__algorithm/ranges_reverse_copy.h | 5 + .../libcxx/include/__algorithm/ranges_rotate.h | 5 + .../include/__algorithm/ranges_rotate_copy.h | 5 + .../libcxx/include/__algorithm/ranges_sample.h | 5 + .../libcxx/include/__algorithm/ranges_search_n.h | 5 + .../include/__algorithm/ranges_set_difference.h | 6 + .../include/__algorithm/ranges_set_intersection.h | 6 + .../__algorithm/ranges_set_symmetric_difference.h | 6 + .../libcxx/include/__algorithm/ranges_set_union.h | 5 + .../libcxx/include/__algorithm/ranges_shuffle.h | 5 + .../libcxx/include/__algorithm/ranges_sort.h | 5 + .../libcxx/include/__algorithm/ranges_sort_heap.h | 5 + .../include/__algorithm/ranges_stable_partition.h | 5 + .../include/__algorithm/ranges_stable_sort.h | 5 + .../include/__algorithm/ranges_starts_with.h | 5 + .../include/__algorithm/ranges_swap_ranges.h | 5 + .../libcxx/include/__algorithm/ranges_transform.h | 5 + .../libcxx/include/__algorithm/ranges_unique.h | 5 + .../include/__algorithm/ranges_unique_copy.h | 5 + .../libcxx/include/__algorithm/remove.h | 5 + .../libcxx/include/__algorithm/remove_if.h | 5 + .../libcxx/include/__algorithm/reverse.h | 5 + .../libcxx/include/__algorithm/rotate.h | 5 + .../libcxx/include/__algorithm/set_difference.h | 5 + .../libcxx/include/__algorithm/set_intersection.h | 5 + .../include/__algorithm/set_symmetric_difference.h | 5 + .../libcxx/include/__algorithm/set_union.h | 5 + .../libcxx/include/__algorithm/shift_left.h | 5 + .../libcxx/include/__algorithm/shift_right.h | 5 + .../llvm-project/libcxx/include/__algorithm/sort.h | 5 + .../libcxx/include/__algorithm/sort_heap.h | 5 + .../libcxx/include/__algorithm/stable_partition.h | 5 + .../libcxx/include/__algorithm/stable_sort.h | 5 + .../libcxx/include/__algorithm/swap_ranges.h | 5 + .../libcxx/include/__algorithm/unique.h | 5 + .../libcxx/include/__algorithm/unique_copy.h | 5 + .../libcxx/include/__algorithm/unwrap_iter.h | 2 +- .../libcxx/include/__algorithm/unwrap_range.h | 5 + contrib/llvm-project/libcxx/include/__config | 9 +- .../include/__filesystem/directory_iterator.h | 5 + .../libcxx/include/__filesystem/path.h | 5 + .../__filesystem/recursive_directory_iterator.h | 5 + .../libcxx/include/__format/format_arg.h | 5 + .../libcxx/include/__format/format_context.h | 5 + .../libcxx/include/__format/format_functions.h | 5 + .../libcxx/include/__format/formatter_output.h | 5 + .../libcxx/include/__format/write_escaped.h | 5 + .../libcxx/include/__functional/function.h | 5 + .../include/__iterator/cpp17_iterator_concepts.h | 5 + .../libcxx/include/__iterator/iterator_with_data.h | 5 + .../__memory/ranges_uninitialized_algorithms.h | 5 + .../libcxx/include/__memory/raw_storage_iterator.h | 5 + .../libcxx/include/__memory/shared_ptr.h | 5 + .../include/__memory/uninitialized_algorithms.h | 5 + .../libcxx/include/__mutex/once_flag.h | 5 + .../libcxx/include/__numeric/pstl_reduce.h | 5 + .../include/__numeric/pstl_transform_reduce.h | 5 + .../llvm-project/libcxx/include/__numeric/reduce.h | 5 + .../include/__numeric/saturation_arithmetic.h | 5 + .../libcxx/include/__numeric/transform_reduce.h | 5 + .../llvm-project/libcxx/include/__ranges/counted.h | 5 + .../libcxx/include/__ranges/drop_while_view.h | 5 + .../libcxx/include/__ranges/elements_view.h | 5 + .../libcxx/include/__ranges/filter_view.h | 5 + .../libcxx/include/__ranges/iota_view.h | 5 + .../libcxx/include/__ranges/join_view.h | 5 + .../libcxx/include/__ranges/lazy_split_view.h | 5 + .../libcxx/include/__ranges/repeat_view.h | 5 + .../libcxx/include/__ranges/reverse_view.h | 5 + .../libcxx/include/__ranges/single_view.h | 5 + .../libcxx/include/__ranges/split_view.h | 5 + .../libcxx/include/__ranges/take_while_view.h | 5 + .../libcxx/include/__ranges/transform_view.h | 5 + .../llvm-project/libcxx/include/__thread/jthread.h | 5 + .../llvm-project/libcxx/include/__thread/thread.h | 5 + contrib/llvm-project/libcxx/include/array | 5 + .../llvm-project/libcxx/include/condition_variable | 5 + .../libcxx/include/experimental/iterator | 5 + contrib/llvm-project/libcxx/include/future | 5 + contrib/llvm-project/libcxx/include/ios | 5 + contrib/llvm-project/libcxx/include/map | 5 + contrib/llvm-project/libcxx/include/ostream | 5 + contrib/llvm-project/libcxx/include/queue | 5 + contrib/llvm-project/libcxx/include/set | 5 + contrib/llvm-project/libcxx/include/stack | 5 + contrib/llvm-project/libcxx/include/string | 7 +- contrib/llvm-project/libcxx/include/strstream | 5 + contrib/llvm-project/libcxx/include/unordered_map | 5 + contrib/llvm-project/libcxx/include/unordered_set | 5 + contrib/llvm-project/libcxx/include/version | 14 +- contrib/llvm-project/libcxx/modules/std/atomic.inc | 2 + contrib/llvm-project/libcxx/modules/std/iosfwd.inc | 2 + contrib/llvm-project/libcxx/modules/std/string.inc | 4 + .../libcxx/modules/std/string_view.inc | 2 + contrib/llvm-project/lld/ELF/Arch/RISCV.cpp | 199 ++++++-- contrib/llvm-project/lld/ELF/InputFiles.cpp | 7 +- contrib/llvm-project/lld/ELF/InputSection.cpp | 13 +- contrib/llvm-project/lld/ELF/Relocations.cpp | 50 ++- contrib/llvm-project/lld/ELF/Writer.cpp | 12 +- contrib/llvm-project/lld/docs/ReleaseNotes.rst | 62 +++ .../llvm/include/llvm/Analysis/AliasAnalysis.h | 7 + .../include/llvm/Analysis/BasicAliasAnalysis.h | 14 +- .../include/llvm/Analysis/BranchProbabilityInfo.h | 13 +- .../llvm/include/llvm/Analysis/Loads.h | 12 +- .../llvm/include/llvm/Analysis/VecFuncs.def | 18 +- .../llvm/include/llvm/CodeGen/LivePhysRegs.h | 11 +- .../llvm/include/llvm/CodeGen/MachineBasicBlock.h | 6 + .../llvm/include/llvm/IR/IntrinsicsAMDGPU.td | 119 +++-- .../llvm/include/llvm/Support/X86FoldTablesUtils.h | 11 +- .../include/llvm/Target/TargetInstrPredicate.td | 34 ++ .../llvm/TargetParser/AArch64TargetParser.h | 3 +- .../llvm/include/llvm/TargetParser/Triple.h | 6 +- .../llvm/lib/Analysis/BasicAliasAnalysis.cpp | 6 +- contrib/llvm-project/llvm/lib/Analysis/Lint.cpp | 3 +- contrib/llvm-project/llvm/lib/Analysis/Loads.cpp | 9 +- .../llvm/lib/Analysis/LoopAccessAnalysis.cpp | 53 ++- .../llvm/lib/Analysis/MemorySSAUpdater.cpp | 22 +- .../llvm/lib/CodeGen/BranchFolding.cpp | 6 +- .../lib/ProfileData/Coverage/CoverageMapping.cpp | 240 ++++++++-- .../ProfileData/Coverage/CoverageMappingWriter.cpp | 10 +- .../llvm-project/llvm/lib/Support/RISCVISAInfo.cpp | 3 +- .../Target/AArch64/AArch64ExpandPseudoInsts.cpp | 6 + .../lib/Target/AArch64/AArch64FrameLowering.cpp | 6 +- .../lib/Target/AArch64/AArch64ISelLowering.cpp | 28 +- .../llvm/lib/Target/AArch64/AArch64ISelLowering.h | 4 +- .../llvm/lib/Target/AArch64/AArch64InstrInfo.cpp | 20 +- .../llvm/lib/Target/AArch64/AArch64InstrInfo.h | 3 - .../Target/AArch64/AArch64LoadStoreOptimizer.cpp | 229 ---------- .../lib/Target/AArch64/AArch64RegisterInfo.cpp | 35 ++ .../llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td | 22 + .../Target/AArch64/AArch64TargetTransformInfo.cpp | 17 +- .../llvm-project/llvm/lib/Target/AMDGPU/AMDGPU.td | 1 + .../llvm/lib/Target/AMDGPU/AMDGPUGISel.td | 24 + .../llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp | 330 ++++++++++++++ .../llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.h | 10 + .../llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp | 1 + .../Target/AMDGPU/AMDGPUInstructionSelector.cpp | 213 +++++++++ .../lib/Target/AMDGPU/AMDGPUInstructionSelector.h | 13 + .../llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp | 79 +++- .../llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.h | 1 + .../llvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp | 16 +- .../lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp | 16 + .../lib/Target/AMDGPU/AMDGPUSearchableTables.td | 16 + .../Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp | 142 +++++- .../AMDGPU/Disassembler/AMDGPUDisassembler.cpp | 34 ++ .../llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp | 19 +- .../AMDGPU/MCTargetDesc/AMDGPUInstPrinter.cpp | 47 ++ .../Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.h | 4 + .../llvm/lib/Target/AMDGPU/SIDefines.h | 3 + .../llvm/lib/Target/AMDGPU/SIFoldOperands.cpp | 1 + .../llvm/lib/Target/AMDGPU/SIISelLowering.cpp | 111 ++++- .../llvm/lib/Target/AMDGPU/SIISelLowering.h | 1 + .../llvm/lib/Target/AMDGPU/SIInstrFormats.td | 5 + .../llvm/lib/Target/AMDGPU/SIInstrInfo.h | 8 + .../llvm/lib/Target/AMDGPU/SIInstrInfo.td | 18 +- .../llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.h | 32 +- .../llvm/lib/Target/AMDGPU/SIRegisterInfo.td | 5 + .../lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp | 11 + .../llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h | 3 + .../llvm/lib/Target/AMDGPU/VOP1Instructions.td | 93 +++- .../llvm/lib/Target/AMDGPU/VOP3Instructions.td | 53 ++- .../llvm/lib/Target/AMDGPU/VOP3PInstructions.td | 500 ++++++++++++++++++++- .../llvm/lib/Target/AMDGPU/VOPInstructions.td | 32 +- .../llvm/lib/Target/ARM/ARMLowOverheadLoops.cpp | 13 +- .../LoongArch/LoongArchTargetTransformInfo.cpp | 11 +- .../llvm/lib/Target/Mips/MipsAsmPrinter.cpp | 39 -- .../llvm/lib/Target/Mips/MipsAsmPrinter.h | 2 - .../Target/PowerPC/PPCExpandAtomicPseudoInsts.cpp | 14 +- .../llvm/lib/Target/PowerPC/PPCFrameLowering.cpp | 13 +- .../llvm-project/llvm/lib/Target/RISCV/RISCV.td | 6 + .../llvm/lib/Target/RISCV/RISCVFeatures.td | 26 +- .../llvm/lib/Target/RISCV/RISCVISelLowering.cpp | 2 +- .../llvm/lib/Target/RISCV/RISCVInstrInfoZicond.td | 2 - .../lib/Target/RISCV/RISCVMacroFusion.cpp (gone) | 210 --------- .../lib/Target/RISCV/RISCVMacroFusion.h (gone) | 28 -- .../lib/Target/RISCV/RISCVMacroFusion.td (new) | 93 ++++ .../llvm/lib/Target/RISCV/RISCVSubtarget.cpp | 8 +- .../llvm/lib/Target/RISCV/RISCVSubtarget.h | 8 +- .../llvm/lib/Target/RISCV/RISCVTargetMachine.cpp | 13 +- .../lib/Target/SystemZ/SystemZFrameLowering.cpp | 12 +- .../llvm/lib/Target/X86/X86AsmPrinter.cpp | 1 - .../llvm/lib/Target/X86/X86FrameLowering.cpp | 15 +- .../llvm/lib/Target/X86/X86InstrAVX512.td | 2 +- .../llvm/lib/Target/X86/X86InstrFoldTables.cpp | 11 +- .../llvm/lib/Target/X86/X86InstrInfo.cpp | 35 +- .../llvm/lib/TargetParser/TargetParser.cpp | 1 + .../InstCombine/InstCombineLoadStoreAlloca.cpp | 3 +- .../InstCombine/InstCombineSimplifyDemanded.cpp | 3 + .../Transforms/Scalar/ConstraintElimination.cpp | 7 +- .../llvm/lib/Transforms/Scalar/JumpThreading.cpp | 13 +- .../lib/Transforms/Vectorize/LoopVectorize.cpp | 62 ++- .../llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp | 12 +- .../llvm/utils/TableGen/DAGISelMatcherEmitter.cpp | 3 +- .../llvm/utils/TableGen/PredicateExpander.cpp | 34 ++ .../llvm/utils/TableGen/PredicateExpander.h | 4 + .../llvm/utils/TableGen/X86FoldTablesEmitter.cpp | 58 +-- 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 | 3 +- usr.bin/clang/clang/clang-driver.cpp | 2 + usr.bin/clang/lld/lld-driver.cpp | 2 + usr.bin/clang/llvm-ar/llvm-ar-driver.cpp | 2 + usr.bin/clang/llvm-cxxfilt/llvm-cxxfilt-driver.cpp | 2 + usr.bin/clang/llvm-dwp/llvm-dwp-driver.cpp | 2 + usr.bin/clang/llvm-nm/llvm-nm-driver.cpp | 2 + usr.bin/clang/llvm-objcopy/llvm-objcopy-driver.cpp | 2 + usr.bin/clang/llvm-objdump/llvm-objdump-driver.cpp | 2 + .../clang/llvm-profdata/llvm-profdata-driver.cpp | 2 + usr.bin/clang/llvm-readobj/llvm-readobj-driver.cpp | 2 + usr.bin/clang/llvm-size/llvm-size-driver.cpp | 2 + .../llvm-symbolizer/llvm-symbolizer-driver.cpp | 2 + 361 files changed, 4552 insertions(+), 1284 deletions(-)
A commit in branch stable/13 references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=af050415f0c5d1d2d0a22a45a7a8c964902399f7 commit af050415f0c5d1d2d0a22a45a7a8c964902399f7 Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2024-02-05 11:41:51 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-04-19 21:24:46 +0000 [libc++] Rename __bit_reference template parameter to avoid conflict As of 4d20cfcf4eb08217ed37c4d4c38dc395d7a66d26, `__bit_reference` contains a template `__fill_n` with a bool `_FillValue` parameter. Unfortunately there is a relatively widely used piece of scientific software called NetCDF, which exposes a (C) macro `_FillValue` in its public headers. When building the NetCDF C++ bindings, this quickly leads to compilation errors when the macro interferes with the template in `__bit_reference`. Rename the parameter to `_FillVal` to avoid the conflict. PR: 276104 MFC after: 1 month (cherry picked from commit 868ee3f2855615016ba87c14b9444c18a2e1ba30) contrib/llvm-project/libcxx/include/__bit_reference | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-)
A commit in branch stable/13 references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=a1f98ae0a8cd6e032065e2b615f9dc2ed1520011 commit a1f98ae0a8cd6e032065e2b615f9dc2ed1520011 Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2024-01-26 15:04:14 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-04-19 21:24:45 +0000 Merge llvm-project release/18.x llvmorg-18-init-18361-g22683463740e This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvm-project release/18.x llvmorg-18-init-18361-g22683463740e. PR: 276104 MFC after: 1 month (cherry picked from commit 878ed4957e077721efaf90ab5b70dce86dc94f4b) contrib/llvm-project/libcxx/include/__config | 2 +- lib/clang/include/VCSVersion.inc | 6 +++--- lib/clang/include/clang/Basic/Version.inc | 6 +++--- lib/clang/include/lld/Common/Version.inc | 2 +- lib/clang/include/lldb/Version/Version.inc | 6 +++--- lib/clang/include/llvm/Config/config.h | 4 ++-- lib/clang/include/llvm/Config/llvm-config.h | 4 ++-- lib/clang/include/llvm/Support/VCSRevision.h | 2 +- 8 files changed, 16 insertions(+), 16 deletions(-)
A commit in branch stable/13 references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=3731f53de15670dda105c051325295188df05c64 commit 3731f53de15670dda105c051325295188df05c64 Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2024-01-28 20:34:42 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-04-19 21:24:45 +0000 Merge commit 6e4930c67508 from llvm-project (by Alexander Kornienko): Revert "[SemaCXX] Implement CWG2137 (list-initialization from objects of the same type) (#77768)" This reverts commit 924701311aa79180e86ad8ce43d253f27d25ec7d. Causes compilation errors on valid code, see https://github.com/llvm/llvm-project/pull/77768#issuecomment-1908062472. In particular, this fixes bogus "call to constructor of 'SomeType' is ambiguous" errors. PR: 276104 MFC after: 1 month (cherry picked from commit ddbac700c256bec42c441b75a5cb5f74e9be601f) contrib/llvm-project/clang/lib/Sema/SemaInit.cpp | 40 ++++++---------------- .../llvm-project/clang/lib/Sema/SemaOverload.cpp | 38 ++++++-------------- 2 files changed, 20 insertions(+), 58 deletions(-)
A commit in branch stable/13 references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=412542983a5ba62902141a8a7e155cceb9196a66 commit 412542983a5ba62902141a8a7e155cceb9196a66 Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2024-01-14 13:20:42 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-04-19 21:24:43 +0000 Redo libc++ customizations * Remove osreldate include because _LIBCPP_HAS_NO_GETS has disappeared * Instead, add direct major __FreeBSD__ check for using ::gets declaration * Mark EINTEGRITY values as FreeBSD customization * Reformat _LIBCPP_TYPE_VISIBILITY_DEFAULT customization PR: 276104 MFC after: 1 month (cherry picked from commit 46c59ea9b61755455ff6bf9f3e7b834e1af634ea) contrib/llvm-project/libcxx/include/__config | 8 ++------ contrib/llvm-project/libcxx/include/__system_error/errc.h | 4 ++-- contrib/llvm-project/libcxx/include/cstdio | 2 +- 3 files changed, 5 insertions(+), 9 deletions(-)
A commit in branch stable/13 references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=055e875e6077ed1eb2256c3ab5de59a3f6fbce18 commit 055e875e6077ed1eb2256c3ab5de59a3f6fbce18 Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2024-04-06 20:15:21 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-04-20 10:29:10 +0000 Bump __FreeBSD_version for llvm 18.1.3 merge PR: 276104 MFC after: 1 month (cherry picked from commit 0192eda105b367d4670205547e8e830e3716bea3) sys/sys/param.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
A commit in branch stable/13 references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=92d4d6f1f60e5d9cb2c7e0dd5d632987e54741e8 commit 92d4d6f1f60e5d9cb2c7e0dd5d632987e54741e8 Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2024-01-02 16:07:31 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-04-19 21:23:59 +0000 Revert commit 0e46b49de433 from llvm-project (by Matt Arsenault): Reapply "RegisterCoalescer: Add implicit-def of super register when coalescing SUBREG_TO_REG" This reverts commit c398fa009a47eb24f88383d5e911e59e70f8db86. PPC backend was fixed in 2f82662ce901c6666fceb9c6c5e0de216a1c9667 Since it causes an assertion failure building /sys/dev/fb/vga.c: https://github.com/llvm/llvm-project/issues/76416 PR: 276104 MFC after: 1 month (cherry picked from commit edc2dc17b1f2dfe45dc85e6cc0ff54bca1ac8214) .../llvm/lib/CodeGen/RegisterCoalescer.cpp | 51 ++++------------------ 1 file changed, 9 insertions(+), 42 deletions(-)
A commit in branch stable/13 references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=15ce79bc8b1f02ad1dbab2f2d7f6806b4801c09b commit 15ce79bc8b1f02ad1dbab2f2d7f6806b4801c09b Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2024-01-07 16:03:13 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-04-19 21:24:41 +0000 Tentatively merge https://github.com/llvm/llvm-project/pull/77242 [libcxx] Re-include <osreldate.h> in __config for FreeBSD In 0a97720d0197 some changes were made to `__config` for assuming that `__BYTE_ORDER__` is always present. However, this deleted a `<osreldate.h>` include for FreeBSD, which is required to get the value of `__FreeBSD_version`, and that is used later in the file to determine whether `_LIBCPP_C_HAS_NO_GETS` needs to be enabled. Include `<osreldate.h>` just after the other includes used for feature detection, to fix this. Note that when FreeBSD 13 is EOLed, this can be removed, as then all supported FreeBSD versions will no longer have `gets()`. PR: 276104 MFC after: 1 month (cherry picked from commit 653487bbc8006839d0895811942bb8a2fcdd5aa8) contrib/llvm-project/libcxx/include/__config | 4 ++++ 1 file changed, 4 insertions(+)
A commit in branch stable/13 references this bug: 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 +- .../lib/orc/executor_symbol_def.h (new) | 151 +++ .../tests/unit/executor_symbol_def_test.cpp (new) | 19 + .../unit/simple_packed_serialization_test.cpp | 20 +- .../unit/simple_packed_serialization_utils.h (new) | 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 (new) | 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 +- .../include/llvm/CodeGen/CodeGenPrepare.h (new) | 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 +- .../llvm/CodeGen/ShadowStackGCLowering.h (new) | 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 +- .../llvm/DWARFLinker/DWARFLinkerBase.h (new) | 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 +- .../lib/DWARFLinkerParallel/DWARFFile.cpp (gone) | 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 + .../AArch64/AArch64LoopIdiomTransform.cpp (new) | 828 ++++++++++++++++ .../AArch64/AArch64LoopIdiomTransform.h (new) | 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 +- .../lib/Target/AMDGPU/DSDIRInstructions.td (new) | 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 +- .../lib/Target/AMDGPU/LDSDIRInstructions.td (gone) | 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 +-- .../lib/Target/RISCV/RISCVInstrInfoZa.td (new) | 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 +- .../MacroFusionPredicatorEmitter.cpp (new) | 236 +++++ .../llvm/utils/TableGen/PredicateExpander.cpp | 8 + .../llvm/utils/TableGen/PredicateExpander.h | 1 + .../X86CompressEVEXTablesEmitter.cpp (new) | 206 ++++ .../TableGen/X86EVEX2VEXTablesEmitter.cpp (gone) | 210 ---- .../llvm/utils/TableGen/X86FoldTablesEmitter.cpp | 6 +- .../TableGen/X86ManualCompressEVEXTables.def (new) | 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(-)
A commit in branch stable/13 references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=335f7960dc37e3f149c0d795909e2d3948c4a554 commit 335f7960dc37e3f149c0d795909e2d3948c4a554 Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2024-01-07 11:32:29 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-04-19 21:24:41 +0000 Add two FreeBSD customizations to libc++ This is intended to better support ports usage of older clang versions: * Add _LIBCPP_ENABLE_COMPILER_VERSION_CHECKS block around compiler version checks, to avoid any warnings about support. This makes some ports that use -Werror fall over. * When using clang < 15.0, avoid using a type visibility attribute on the std namespace, as older versions of clang do not support this. PR: 276104 MFC after: 1 month (cherry picked from commit 412fa3436f0d1fe4a7e5e3b66783aa40f599125e) contrib/llvm-project/libcxx/include/__config | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)
A commit in branch stable/13 references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=0c85e2760f6b5016c16d29f8c2f63f3ba2cf5298 commit 0c85e2760f6b5016c16d29f8c2f63f3ba2cf5298 Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2024-01-03 18:04:11 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-04-19 21:24:24 +0000 Merge llvm-project main llvmorg-18-init-16003-gfc5f51cf5af4 This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvm-project main llvmorg-18-init-16003-gfc5f51cf5af4. PR: 276104 MFC after: 1 month (cherry picked from commit 647cbc5de815c5651677bf8582797f716ec7b48d) ObsoleteFiles.inc | 105 +- .../llvm-project/clang/include/clang/AST/Type.h | 26 - .../clang/include/clang/Basic/BuiltinsAArch64.def | 3 + .../include/clang/Basic/riscv_sifive_vector.td | 28 +- .../clang/include/clang/Basic/riscv_vector.td | 8 +- .../include/clang/Basic/riscv_vector_common.td | 2 +- .../Core/BugReporter/CommonBugCategories.h | 1 + .../include/clang/StaticAnalyzer/Core/Checker.h | 14 +- .../clang/StaticAnalyzer/Core/CheckerManager.h | 11 +- contrib/llvm-project/clang/lib/AST/Interp/Interp.h | 1 - .../clang/lib/ASTMatchers/Dynamic/Parser.cpp | 6 +- .../clang/lib/Basic/IdentifierTable.cpp | 3 +- .../clang/lib/Basic/Targets/AArch64.cpp | 3 +- .../llvm-project/clang/lib/Basic/Targets/ARM.cpp | 3 +- .../llvm-project/clang/lib/Basic/Targets/RISCV.cpp | 3 +- .../llvm-project/clang/lib/Basic/Targets/X86.cpp | 3 +- contrib/llvm-project/clang/lib/Basic/Warnings.cpp | 6 +- .../llvm-project/clang/lib/CodeGen/CGBuiltin.cpp | 20 + .../clang/lib/CodeGen/CGStmtOpenMP.cpp | 61 +- .../clang/lib/CodeGen/CodeGenAction.cpp | 3 +- .../clang/lib/CodeGen/Targets/LoongArch.cpp | 7 - contrib/llvm-project/clang/lib/Driver/Driver.cpp | 14 +- .../clang/lib/Driver/ToolChains/Arch/RISCV.cpp | 13 +- .../clang/lib/Driver/ToolChains/Arch/X86.cpp | 4 +- .../clang/lib/Driver/ToolChains/Clang.cpp | 7 +- .../clang/lib/Driver/ToolChains/CommonArgs.cpp | 23 +- .../clang/lib/Driver/ToolChains/Gnu.cpp | 12 +- .../clang/lib/Driver/ToolChains/Solaris.cpp | 3 +- .../clang/lib/Format/ContinuationIndenter.cpp | 2 +- .../clang/lib/Format/MatchFilePath.cpp | 4 +- .../clang/lib/Frontend/DependencyGraph.cpp | 3 +- .../clang/lib/Frontend/LayoutOverrideSource.cpp | 9 +- .../lib/Frontend/VerifyDiagnosticConsumer.cpp | 3 +- .../llvm-project/clang/lib/Headers/usermsrintrin.h | 21 + .../llvm-project/clang/lib/Sema/SemaChecking.cpp | 47 +- .../llvm-project/clang/lib/Sema/SemaDeclAttr.cpp | 3 +- contrib/llvm-project/clang/lib/Sema/SemaInit.cpp | 8 + contrib/llvm-project/clang/lib/Sema/SemaModule.cpp | 3 +- contrib/llvm-project/clang/lib/Sema/SemaOpenMP.cpp | 2 +- .../clang/lib/Serialization/ASTReaderDecl.cpp | 2 +- .../clang/lib/Serialization/ASTWriterDecl.cpp | 11 +- .../StaticAnalyzer/Checkers/ArrayBoundChecker.cpp | 7 +- .../Checkers/BasicObjCFoundationChecks.cpp | 2 +- .../Checkers/BlockInCriticalSectionChecker.cpp | 57 +- .../Checkers/BoolAssignmentChecker.cpp | 7 +- .../lib/StaticAnalyzer/Checkers/CStringChecker.cpp | 382 +++--- .../StaticAnalyzer/Checkers/CXXDeleteChecker.cpp | 24 +- .../Checkers/CallAndMessageChecker.cpp | 9 +- .../StaticAnalyzer/Checkers/CastSizeChecker.cpp | 6 +- .../StaticAnalyzer/Checkers/CheckObjCDealloc.cpp | 48 +- .../Checkers/CheckSecuritySyntaxOnly.cpp | 6 +- .../lib/StaticAnalyzer/Checkers/ChrootChecker.cpp | 6 +- .../lib/StaticAnalyzer/Checkers/CloneChecker.cpp | 15 +- .../StaticAnalyzer/Checkers/ConversionChecker.cpp | 7 +- .../Checkers/DebugContainerModeling.cpp | 15 +- .../Checkers/DebugIteratorModeling.cpp | 15 +- .../lib/StaticAnalyzer/Checkers/DivZeroChecker.cpp | 16 +- .../StaticAnalyzer/Checkers/DynamicTypeChecker.cpp | 10 +- .../Checkers/EnumCastOutOfRangeChecker.cpp | 8 +- .../Checkers/ExprInspectionChecker.cpp | 8 +- .../Checkers/FixedAddressChecker.cpp | 6 +- .../Checkers/InvalidatedIteratorChecker.cpp | 28 +- .../clang/lib/StaticAnalyzer/Checkers/Iterator.cpp | 14 +- .../clang/lib/StaticAnalyzer/Checkers/Iterator.h | 15 +- .../StaticAnalyzer/Checkers/IteratorModeling.cpp | 49 +- .../Checkers/IteratorRangeChecker.cpp | 20 +- .../Checkers/LocalizationChecker.cpp | 12 +- .../Checkers/MPI-Checker/MPIBugReporter.cpp | 6 +- .../Checkers/MPI-Checker/MPIBugReporter.h | 21 +- .../Checkers/MacOSKeychainAPIChecker.cpp | 22 +- .../StaticAnalyzer/Checkers/MacOSXAPIChecker.cpp | 10 +- .../Checkers/MismatchedIteratorChecker.cpp | 49 +- .../Checkers/MmapWriteExecChecker.cpp | 16 +- .../Checkers/NSAutoreleasePoolChecker.cpp | 9 +- .../Checkers/NonNullParamChecker.cpp | 21 +- .../StaticAnalyzer/Checkers/ObjCAtSyncChecker.cpp | 17 +- .../Checkers/ObjCContainersChecker.cpp | 11 +- .../Checkers/ObjCSelfInitChecker.cpp | 9 +- .../Checkers/ObjCSuperDeallocChecker.cpp | 19 +- .../lib/StaticAnalyzer/Checkers/PaddingChecker.cpp | 9 +- .../Checkers/PointerArithChecker.cpp | 12 +- .../StaticAnalyzer/Checkers/PointerSubChecker.cpp | 6 +- .../Checkers/ReturnPointerRangeChecker.cpp | 10 +- .../StaticAnalyzer/Checkers/ReturnUndefChecker.cpp | 15 +- .../Checkers/SimpleStreamChecker.cpp | 27 +- .../Checkers/StdLibraryFunctionsChecker.cpp | 16 +- .../StaticAnalyzer/Checkers/TaggedUnionModeling.h | 2 +- .../StaticAnalyzer/Checkers/TaintTesterChecker.cpp | 5 +- .../Checkers/TestAfterDivZeroChecker.cpp | 10 +- .../StaticAnalyzer/Checkers/UndefBranchChecker.cpp | 89 +- .../Checkers/UndefCapturedBlockVarChecker.cpp | 8 +- .../StaticAnalyzer/Checkers/UndefResultChecker.cpp | 8 +- .../Checkers/UndefinedArraySubscriptChecker.cpp | 7 +- .../Checkers/UndefinedAssignmentChecker.cpp | 11 +- .../UninitializedObject/UninitializedObject.h | 2 +- .../UninitializedObjectChecker.cpp | 11 +- .../lib/StaticAnalyzer/Checkers/UnixAPIChecker.cpp | 32 +- .../lib/StaticAnalyzer/Checkers/VLASizeChecker.cpp | 20 +- .../lib/StaticAnalyzer/Checkers/VforkChecker.cpp | 7 +- .../StaticAnalyzer/Core/CommonBugCategories.cpp | 1 + .../clang/lib/StaticAnalyzer/Core/Environment.cpp | 2 +- .../clang/lib/StaticAnalyzer/Core/RegionStore.cpp | 6 +- .../clang/lib/Support/RISCVVIntrinsicUtils.cpp | 2 +- .../clang/lib/Tooling/Refactoring/Lookup.cpp | 4 +- contrib/llvm-project/clang/lib/Tooling/Tooling.cpp | 4 +- .../clang/tools/clang-format/ClangFormat.cpp | 69 +- .../clang/utils/TableGen/RISCVVEmitter.cpp | 2 +- .../clang/utils/TableGen/SveEmitter.cpp | 19 + .../compiler-rt/lib/asan/asan_linux.cpp | 13 +- .../compiler-rt/lib/asan/asan_new_delete.cpp | 9 - .../compiler-rt/lib/builtins/cpu_model/x86.c | 2 +- .../llvm-project/compiler-rt/lib/builtins/fp_lib.h | 12 - .../compiler-rt/lib/builtins/int_types.h | 2 +- .../compiler-rt/lib/hwasan/hwasan_report.cpp | 11 +- .../compiler-rt/lib/memprof/memprof_linux.cpp | 1 - .../sanitizer_common_interceptors.inc | 4 +- .../lib/sanitizer_common/sanitizer_flat_map.h | 4 + .../sanitizer_common/sanitizer_freebsd.h (gone) | 137 -- .../lib/sanitizer_common/sanitizer_linux.cpp | 9 +- .../sanitizer_common/sanitizer_linux_libcdep.cpp | 8 +- .../sanitizer_platform_interceptors.h | 5 +- .../sanitizer_platform_limits_freebsd.h | 2 + .../sanitizer_platform_limits_posix.h | 1 + .../sanitizer_common/sanitizer_procmaps_bsd.cpp | 11 - .../sanitizer_common/sanitizer_stackdepotbase.h | 22 +- .../compiler-rt/lib/tsan/rtl/tsan_platform.h | 32 + .../lib/tsan/rtl/tsan_platform_linux.cpp | 8 +- contrib/llvm-project/libcxx/include/__config | 10 + .../libcxx/include/__memory/shared_ptr.h | 4 +- .../libcxx/include/__memory/unique_ptr.h | 4 - .../libcxx/include/__ranges/chunk_by_view.h | 3 +- .../libcxx/include/__ranges/drop_view.h | 7 +- .../libcxx/include/__ranges/drop_while_view.h | 3 +- .../libcxx/include/__ranges/filter_view.h | 2 +- .../libcxx/include/__ranges/movable_box.h | 62 +- .../libcxx/include/__ranges/repeat_view.h | 4 +- .../libcxx/include/__ranges/single_view.h | 4 +- .../libcxx/include/__ranges/take_while_view.h | 3 +- .../libcxx/include/__ranges/transform_view.h | 3 +- contrib/llvm-project/libcxx/include/memory | 2 +- contrib/llvm-project/lld/COFF/Driver.cpp | 3 + contrib/llvm-project/lld/COFF/Writer.cpp | 2 +- .../llvm/include/llvm/ADT/GenericUniformityImpl.h | 6 + .../llvm/include/llvm/ADT/SmallString.h | 65 +- .../llvm/include/llvm/Analysis/ConstraintSystem.h | 7 - .../include/llvm/Analysis/TargetTransformInfo.h | 22 + .../llvm/Analysis/TargetTransformInfoImpl.h | 7 + .../llvm/CodeGen/GlobalISel/CombinerHelper.h | 18 +- .../include/llvm/Frontend/OpenMP/OMPIRBuilder.h | 7 + .../llvm/include/llvm/IR/IntrinsicsAMDGPU.td | 10 +- .../include/llvm/Support/AMDHSAKernelDescriptor.h | 44 +- .../llvm/Support/X86DisassemblerDecoderCommon.h | 9 +- .../llvm/include/llvm/Target/GlobalISel/Combine.td | 15 +- .../llvm/lib/Analysis/ConstraintSystem.cpp | 10 +- .../llvm/lib/Analysis/InstructionSimplify.cpp | 32 +- .../llvm/lib/Analysis/LazyValueInfo.cpp | 163 ++- .../llvm/lib/Analysis/TargetTransformInfo.cpp | 9 + .../llvm/lib/Analysis/ValueTracking.cpp | 34 - .../llvm-project/llvm/lib/Analysis/VectorUtils.cpp | 2 + .../llvm/lib/Bitcode/Reader/BitcodeReader.cpp | 3 + .../llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp | 353 +++++- .../llvm/lib/CodeGen/MachineCopyPropagation.cpp | 42 +- .../llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp | 16 +- .../llvm/lib/CodeGen/SelectionDAG/InstrEmitter.cpp | 9 +- .../lib/CodeGen/SelectionDAG/ScheduleDAGFast.cpp | 3 +- .../lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp | 8 +- .../llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp | 4 +- .../lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp | 3 +- .../Orc/Debugging/DebugInfoSupport.cpp | 3 +- .../llvm/lib/ExecutionEngine/Orc/LLJIT.cpp | 6 +- .../llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp | 12 +- .../llvm-project/llvm/lib/FuzzMutate/FuzzerCLI.cpp | 16 +- contrib/llvm-project/llvm/lib/IR/DebugInfo.cpp | 4 + .../llvm-project/llvm/lib/MC/WasmObjectWriter.cpp | 3 +- .../llvm/lib/Object/WasmObjectFile.cpp | 21 +- .../llvm/lib/ProfileData/InstrProfReader.cpp | 2 +- .../llvm-project/llvm/lib/Support/RISCVISAInfo.cpp | 11 +- .../llvm-project/llvm/lib/Support/Windows/Path.inc | 5 +- .../lib/Target/AArch64/AArch64ISelDAGToDAG.cpp | 39 +- .../lib/Target/AArch64/AArch64ISelLowering.cpp | 59 +- .../AArch64/Disassembler/AArch64Disassembler.cpp | 2 +- .../Target/AArch64/GISel/AArch64LegalizerInfo.cpp | 14 +- .../llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp | 10 +- .../llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp | 18 +- .../llvm/lib/Target/AMDGPU/AMDGPUInstructions.td | 1 + .../lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp | 1 + .../llvm/lib/Target/AMDGPU/AMDGPURegisterBanks.td | 2 +- .../Target/AMDGPU/AMDGPUResourceUsageAnalysis.cpp | 3 +- .../lib/Target/AMDGPU/AMDGPURewriteUndefForPHI.cpp | 1 - .../lib/Target/AMDGPU/AMDGPUSearchableTables.td | 1 + .../AMDGPU/AMDGPUUnifyDivergentExitNodes.cpp | 3 - .../Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp | 9 +- .../AMDGPU/Disassembler/AMDGPUDisassembler.cpp | 57 +- .../llvm/lib/Target/AMDGPU/FLATInstructions.td | 11 +- .../AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp | 4 +- .../llvm/lib/Target/AMDGPU/R600ISelLowering.cpp | 6 +- .../llvm/lib/Target/AMDGPU/SIISelLowering.cpp | 58 +- .../llvm/lib/Target/AMDGPU/SIInstrInfo.cpp | 24 +- .../llvm/lib/Target/AMDGPU/SIInstructions.td | 10 + .../llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp | 12 +- .../llvm/lib/Target/AMDGPU/SIRegisterInfo.td | 76 +- .../lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp | 2 - .../llvm/lib/Target/AMDGPU/VOP3PInstructions.td | 22 +- .../llvm/lib/Target/ARC/ARCISelLowering.cpp | 2 +- .../llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp | 9 +- .../llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp | 28 +- .../llvm/lib/Target/ARM/ARMISelLowering.cpp | 69 +- .../llvm/lib/Target/AVR/AVRISelDAGToDAG.cpp | 2 +- .../llvm/lib/Target/AVR/AVRISelLowering.cpp | 5 +- .../llvm/lib/Target/BPF/BPFISelDAGToDAG.cpp | 4 +- .../llvm/lib/Target/CSKY/CSKYISelLowering.cpp | 4 +- .../lib/Target/Hexagon/HexagonISelDAGToDAG.cpp | 34 +- .../lib/Target/Hexagon/HexagonISelDAGToDAGHVX.cpp | 6 +- .../lib/Target/Hexagon/HexagonISelLowering.cpp | 9 +- .../lib/Target/Hexagon/HexagonISelLoweringHVX.cpp | 4 +- .../llvm/lib/Target/Lanai/LanaiISelLowering.cpp | 4 +- .../LoongArch/AsmParser/LoongArchAsmParser.cpp | 12 +- .../lib/Target/LoongArch/LoongArchISelLowering.cpp | 59 +- .../lib/Target/LoongArch/LoongArchISelLowering.h | 1 + .../lib/Target/LoongArch/LoongArchLASXInstrInfo.td | 50 +- .../lib/Target/LoongArch/LoongArchLSXInstrInfo.td | 4 +- .../MCTargetDesc/LoongArchMCCodeEmitter.cpp | 13 + .../LoongArch/MCTargetDesc/LoongArchMCExpr.cpp | 7 +- .../LoongArch/MCTargetDesc/LoongArchMCExpr.h | 8 +- .../llvm/lib/Target/M68k/M68kExpandPseudo.cpp | 10 + .../llvm/lib/Target/M68k/M68kISelLowering.cpp | 243 ++-- .../llvm/lib/Target/M68k/M68kISelLowering.h | 9 + .../llvm/lib/Target/M68k/M68kInstrArithmetic.td | 70 +- .../llvm/lib/Target/M68k/M68kInstrData.td | 3 + .../llvm/lib/Target/M68k/M68kInstrFormats.td | 20 +- .../llvm/lib/Target/M68k/M68kInstrInfo.td | 30 +- .../llvm/lib/Target/MSP430/MSP430ISelLowering.cpp | 6 +- .../llvm/lib/Target/Mips/Mips64InstrInfo.td | 12 +- .../llvm/lib/Target/Mips/MipsISelDAGToDAG.cpp | 20 + .../llvm/lib/Target/Mips/MipsISelDAGToDAG.h | 1 + .../llvm/lib/Target/Mips/MipsISelLowering.cpp | 4 +- .../lib/Target/Mips/MipsInstrCompiler.td (new) | 33 + .../llvm/lib/Target/Mips/MipsInstrInfo.td | 13 +- .../llvm/lib/Target/Mips/MipsSEISelDAGToDAG.cpp | 8 +- .../llvm/lib/Target/Mips/MipsSEISelLowering.cpp | 8 +- .../llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp | 6 +- .../llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp | 5 +- .../llvm/lib/Target/PowerPC/PPCISelLowering.cpp | 134 +- .../lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp | 45 +- .../RISCV/Disassembler/RISCVDisassembler.cpp | 31 +- .../lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp | 2 +- .../Target/RISCV/MCTargetDesc/RISCVBaseInfo.cpp | 1 - .../lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h | 14 +- .../Target/RISCV/MCTargetDesc/RISCVInstPrinter.cpp | 5 +- .../llvm/lib/Target/RISCV/RISCVCallingConv.td | 4 +- .../llvm/lib/Target/RISCV/RISCVFeatures.td | 29 +- .../llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp | 6 +- .../llvm/lib/Target/RISCV/RISCVISelLowering.cpp | 230 +++- .../llvm/lib/Target/RISCV/RISCVInsertWriteVXRM.cpp | 14 +- .../llvm/lib/Target/RISCV/RISCVInstrInfo.cpp | 11 +- .../llvm/lib/Target/RISCV/RISCVInstrInfo.td | 11 +- .../lib/Target/RISCV/RISCVInstrInfoVPseudos.td | 152 +-- .../lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td | 58 + .../llvm/lib/Target/RISCV/RISCVInstrInfoXSf.td | 83 +- .../llvm/lib/Target/RISCV/RISCVInstrInfoZc.td | 5 +- .../lib/Target/RISCV/RISCVInstrInfoZcmop.td (new) | 34 + .../Target/RISCV/RISCVInstrInfoZicfiss.td (new) | 72 ++ .../lib/Target/RISCV/RISCVInstrInfoZimop.td (new) | 59 + .../llvm/lib/Target/RISCV/RISCVProcessors.td | 3 +- .../llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp | 3 + .../llvm/lib/Target/RISCV/RISCVRegisterInfo.td | 7 + .../llvm/lib/Target/RISCV/RISCVSystemOperands.td | 55 +- .../lib/Target/RISCV/RISCVTargetTransformInfo.h | 3 +- .../llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp | 6 +- .../llvm/lib/Target/Sparc/SparcISelLowering.cpp | 4 +- .../lib/Target/SystemZ/SystemZISelLowering.cpp | 76 +- .../llvm/lib/Target/SystemZ/SystemZOperators.td | 4 +- .../llvm/lib/Target/VE/VEISelLowering.cpp | 14 +- .../llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp | 10 +- .../Target/X86/Disassembler/X86Disassembler.cpp | 6 +- .../X86/Disassembler/X86DisassemblerDecoder.h | 1 + .../llvm/lib/Target/X86/MCTargetDesc/X86BaseInfo.h | 13 +- .../X86/MCTargetDesc/X86InstPrinterCommon.cpp | 3 + .../Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp | 43 +- contrib/llvm-project/llvm/lib/Target/X86/X86.td | 11 +- .../llvm/lib/Target/X86/X86ISelDAGToDAG.cpp | 4 +- .../llvm/lib/Target/X86/X86ISelLowering.cpp | 10 +- .../llvm/lib/Target/X86/X86InsertPrefetch.cpp | 3 +- .../llvm/lib/Target/X86/X86InstrAMX.td | 68 +- .../llvm/lib/Target/X86/X86InstrAVX512.td | 11 + .../llvm/lib/Target/X86/X86InstrArithmetic.td | 1306 +++++++++----------- .../llvm/lib/Target/X86/X86InstrFormats.td | 2 + .../llvm/lib/Target/X86/X86InstrPredicates.td | 3 +- .../llvm/lib/Target/X86/X86InstrSSE.td | 94 +- .../llvm/lib/Target/X86/X86InstrSystem.td | 4 +- .../llvm/lib/Target/X86/X86InstrUtils.td | 426 ++++++- .../llvm/lib/Target/X86/X86InstrVecCompiler.td | 9 + .../llvm/lib/Target/X86/X86TargetTransformInfo.cpp | 26 +- .../llvm/lib/Target/X86/X86TargetTransformInfo.h | 5 + .../llvm/lib/Target/XCore/XCoreISelDAGToDAG.cpp | 2 +- .../llvm/lib/Target/XCore/XCoreISelLowering.cpp | 56 +- .../llvm/lib/TargetParser/ARMTargetParser.cpp | 6 +- .../llvm-project/llvm/lib/TargetParser/Host.cpp | 2 +- .../llvm-project/llvm/lib/TargetParser/Triple.cpp | 3 +- .../llvm/lib/TargetParser/X86TargetParser.cpp | 4 +- .../llvm-project/llvm/lib/TextAPI/TextStubV5.cpp | 7 +- .../llvm/lib/Transforms/Coroutines/CoroFrame.cpp | 6 +- .../llvm/lib/Transforms/IPO/FunctionAttrs.cpp | 46 +- .../Transforms/InstCombine/InstCombineAddSub.cpp | 4 +- .../Transforms/InstCombine/InstCombineAndOrXor.cpp | 14 +- .../Transforms/InstCombine/InstCombineCalls.cpp | 6 + .../Transforms/InstCombine/InstCombineCompares.cpp | 196 ++- .../Transforms/InstCombine/InstCombineInternal.h | 7 +- .../Transforms/InstCombine/InstCombineSelect.cpp | 71 +- .../InstCombine/InstructionCombining.cpp | 58 +- .../Transforms/Scalar/ConstraintElimination.cpp | 64 +- .../Transforms/Utils/CanonicalizeFreezeInLoops.cpp | 60 +- .../llvm/lib/Transforms/Utils/Local.cpp | 5 +- .../lib/Transforms/Vectorize/LoopVectorize.cpp | 63 +- .../lib/Transforms/Vectorize/SLPVectorizer.cpp | 146 ++- .../llvm/lib/Transforms/Vectorize/VPlan.h | 30 + .../llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp | 65 +- .../llvm/lib/Transforms/Vectorize/VPlanValue.h | 1 + .../llvm-project/llvm/tools/llvm-ar/llvm-ar.cpp | 3 +- .../llvm/tools/llvm-diff/llvm-diff.cpp | 3 +- .../llvm/utils/TableGen/X86DisassemblerTables.cpp | 21 +- .../llvm/utils/TableGen/X86FoldTablesEmitter.cpp | 18 +- .../llvm/utils/TableGen/X86RecognizableInstr.cpp | 37 +- .../llvm/utils/TableGen/X86RecognizableInstr.h | 4 +- lib/clang/include/Plugins/Plugins.def | 1 + lib/clang/include/VCSVersion.inc | 6 +- lib/clang/include/lld/Common/Version.inc | 2 +- lib/clang/include/llvm/Config/AsmParsers.def | 23 + lib/clang/include/llvm/Config/AsmPrinters.def | 23 + lib/clang/include/llvm/Config/Disassemblers.def | 23 + lib/clang/include/llvm/Config/TargetMCAs.def | 23 + lib/clang/include/llvm/Config/Targets.def | 22 + lib/clang/include/llvm/Support/VCSRevision.h | 2 +- lib/clang/liblldb/Makefile | 1 + lib/clang/libllvm/Makefile | 1 + 335 files changed, 5221 insertions(+), 3749 deletions(-)
A commit in branch stable/13 references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=b168c9a3e534d5d65fd7070687b85e27217e2bcd commit b168c9a3e534d5d65fd7070687b85e27217e2bcd Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2023-12-21 22:30:02 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-04-19 21:23:57 +0000 Tentatively apply https://github.com/llvm/llvm-project/pull/76175 This fixes libsa including compiler-rt builtins. PR: 276104 MFC after: 1 month (cherry picked from commit 3d68ee6cbdb244de9fab1df8a2525d2fa592571e) contrib/llvm-project/compiler-rt/lib/builtins/int_types.h | 2 -- 1 file changed, 2 deletions(-)
A commit in branch stable/13 references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=a2055961001193c277cffdfffba259ca8fad3835 commit a2055961001193c277cffdfffba259ca8fad3835 Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2023-12-25 17:35:41 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-04-19 21:23:58 +0000 Merge llvm-project main llvmorg-18-init-15692-g007ed0dccd6a This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvm-project main llvmorg-18-init-15692-g007ed0dccd6a. PR: 276104 MFC after: 1 month (cherry picked from commit cb14a3fe5122c879eae1fb480ed7ce82a699ddb6) .../llvm-project/clang/include/clang/AST/Decl.h | 27 +- .../clang/include/clang/AST/DeclBase.h | 10 - .../clang/include/clang/AST/RecursiveASTVisitor.h | 7 +- .../Analysis/FlowSensitive/DataflowEnvironment.h | 80 +- .../clang/Analysis/FlowSensitive/RecordOps.h | 12 +- .../include/clang/Analysis/FlowSensitive/Value.h | 40 +- .../llvm-project/clang/include/clang/Basic/Attr.td | 18 - .../clang/include/clang/Basic/AttrDocs.td | 66 - .../clang/include/clang/Basic/DiagnosticGroups.td | 6 +- .../include/clang/Basic/DiagnosticParseKinds.td | 4 +- .../include/clang/Basic/DiagnosticSemaKinds.td | 28 +- .../clang/include/clang/Basic/LangOptions.def | 1 + .../clang/include/clang/Basic/OpenACCKinds.h | 24 + .../clang/include/clang/Basic/PlistSupport.h | 3 +- .../clang/include/clang/Basic/TargetInfo.h | 1 + .../clang/include/clang/Basic/Version.h | 3 + .../clang/include/clang/Basic/arm_sme.td | 317 + .../clang/include/clang/Basic/arm_sve.td | 1399 +-- .../clang/include/clang/Basic/riscv_vector.td | 18 +- .../clang/include/clang/Driver/Options.td | 5 +- .../include/clang/Interpreter/CodeCompletion.h | 25 +- .../clang/include/clang/Interpreter/Interpreter.h | 1 + .../llvm-project/clang/include/clang/Sema/Sema.h | 7 +- .../clang/include/clang/Sema/TypoCorrection.h | 12 +- .../clang/include/clang/Serialization/ASTReader.h | 2 + .../clang/include/clang/Serialization/ASTWriter.h | 88 +- .../include/clang/Support/RISCVVIntrinsicUtils.h | 7 +- .../clang/lib/APINotes/APINotesManager.cpp | 2 +- contrib/llvm-project/clang/lib/AST/ASTImporter.cpp | 48 +- .../clang/lib/AST/ASTStructuralEquivalence.cpp | 12 + contrib/llvm-project/clang/lib/AST/Decl.cpp | 41 +- contrib/llvm-project/clang/lib/AST/DeclBase.cpp | 74 +- contrib/llvm-project/clang/lib/AST/Expr.cpp | 83 +- .../Analysis/FlowSensitive/DataflowEnvironment.cpp | 90 +- .../Models/UncheckedOptionalAccessModel.cpp | 31 +- .../clang/lib/Analysis/FlowSensitive/RecordOps.cpp | 33 +- .../clang/lib/Analysis/FlowSensitive/Transfer.cpp | 25 +- .../FlowSensitive/TypeErasedDataflowAnalysis.cpp | 2 +- .../clang/lib/Basic/Targets/AArch64.cpp | 1 + .../llvm-project/clang/lib/Basic/Targets/ARM.cpp | 1 + .../llvm-project/clang/lib/Basic/Targets/RISCV.cpp | 4 + .../llvm-project/clang/lib/Basic/Targets/RISCV.h | 1 + contrib/llvm-project/clang/lib/Basic/Version.cpp | 18 +- contrib/llvm-project/clang/lib/Basic/Warnings.cpp | 3 +- .../llvm-project/clang/lib/CodeGen/BackendUtil.cpp | 7 +- .../llvm-project/clang/lib/CodeGen/CGBuiltin.cpp | 209 +- contrib/llvm-project/clang/lib/CodeGen/CGExpr.cpp | 129 +- .../clang/lib/CodeGen/CGExprScalar.cpp | 26 +- .../clang/lib/CodeGen/CGHLSLRuntime.cpp | 63 +- .../llvm-project/clang/lib/CodeGen/CGHLSLRuntime.h | 2 +- .../clang/lib/CodeGen/CGOpenMPRuntime.cpp | 148 +- .../clang/lib/CodeGen/CodeGenFunction.h | 16 - .../clang/lib/CodeGen/CodeGenModule.cpp | 10 +- .../clang/lib/CodeGen/Targets/AArch64.cpp | 2 + .../clang/lib/Driver/ToolChains/AIX.cpp | 6 + .../clang/lib/Driver/ToolChains/Arch/RISCV.cpp | 4 + .../clang/lib/Driver/ToolChains/Clang.cpp | 15 +- .../clang/lib/Driver/ToolChains/CommonArgs.cpp | 59 +- .../clang/lib/Driver/ToolChains/Gnu.cpp | 127 +- .../clang/lib/Format/ContinuationIndenter.cpp | 20 +- contrib/llvm-project/clang/lib/Format/Format.cpp | 8 +- .../clang/lib/Format/MatchFilePath.cpp (new) | 122 + .../clang/lib/Format/MatchFilePath.h (new) | 22 + .../clang/lib/Format/TokenAnnotator.cpp | 3 +- .../clang/lib/Format/UnwrappedLineParser.cpp | 6 +- .../clang/lib/Headers/adcintrin.h (new) | 160 + contrib/llvm-project/clang/lib/Headers/adxintrin.h | 143 +- contrib/llvm-project/clang/lib/Headers/immintrin.h | 8 +- .../clang/lib/Headers/riscv_bitmanip.h | 24 +- .../clang/lib/Interpreter/CodeCompletion.cpp | 223 +- .../clang/lib/Interpreter/Interpreter.cpp | 4 + .../llvm-project/clang/lib/Lex/PPDirectives.cpp | 22 +- .../llvm-project/clang/lib/Parse/ParseOpenACC.cpp | 92 +- .../llvm-project/clang/lib/Sema/SemaChecking.cpp | 77 +- contrib/llvm-project/clang/lib/Sema/SemaDecl.cpp | 45 +- .../llvm-project/clang/lib/Sema/SemaDeclAttr.cpp | 90 - contrib/llvm-project/clang/lib/Sema/SemaExpr.cpp | 16 +- .../llvm-project/clang/lib/Sema/SemaExprCXX.cpp | 28 +- .../llvm-project/clang/lib/Sema/SemaExprMember.cpp | 4 +- contrib/llvm-project/clang/lib/Sema/SemaInit.cpp | 214 +- contrib/llvm-project/clang/lib/Sema/SemaOpenMP.cpp | 13 + .../clang/lib/Sema/SemaRISCVVectorLookup.cpp | 19 +- contrib/llvm-project/clang/lib/Sema/SemaStmt.cpp | 7 +- .../llvm-project/clang/lib/Sema/SemaTemplate.cpp | 28 +- .../clang/lib/Serialization/ASTReaderDecl.cpp | 52 +- .../clang/lib/Serialization/ASTReaderStmt.cpp | 405 +- .../clang/lib/Serialization/ASTWriter.cpp | 15 +- .../clang/lib/Serialization/ASTWriterDecl.cpp | 574 +- .../clang/lib/Serialization/ASTWriterStmt.cpp | 241 +- .../lib/StaticAnalyzer/Checkers/StreamChecker.cpp | 86 + .../clang/lib/Support/RISCVVIntrinsicUtils.cpp | 2 +- .../clang/tools/clang-repl/ClangRepl.cpp | 24 +- .../clang/utils/TableGen/NeonEmitter.cpp | 28 + .../clang/utils/TableGen/RISCVVEmitter.cpp | 40 +- .../clang/utils/TableGen/SveEmitter.cpp | 87 + .../llvm-project/clang/utils/TableGen/TableGen.cpp | 18 + .../clang/utils/TableGen/TableGenBackends.h | 3 + .../compiler-rt/lib/asan/asan_posix.cpp | 51 +- .../compiler-rt/lib/asan/asan_rtl_x86_64.S | 10 + .../lib/builtins/cpu_model/aarch64.c (new) | 151 + .../cpu_model/aarch64/fmv/android.inc (new) | 36 + .../builtins/cpu_model/aarch64/fmv/apple.inc (new) | 69 + .../cpu_model/aarch64/fmv/freebsd.inc (new) | 27 + .../cpu_model/aarch64/fmv/fuchsia.inc (new) | 51 + .../builtins/cpu_model/aarch64/fmv/mrs.inc (new) | 196 + .../cpu_model/aarch64/fmv/sysauxv.inc (new) | 21 + .../cpu_model/aarch64/fmv/unimplemented.inc (new) | 8 + .../lib/builtins/cpu_model/aarch64/hwcap.inc (new) | 180 + .../aarch64/lse_atomics/android.inc (new) | 28 + .../aarch64/lse_atomics/freebsd.inc (new) | 5 + .../aarch64/lse_atomics/fuchsia.inc (new) | 12 + .../aarch64/lse_atomics/sysauxv.inc (new) | 6 + .../lib/builtins/cpu_model/cpu_model.h (new) | 41 + .../lib/builtins/{cpu_model.c => cpu_model/x86.c} | 692 +- .../lib/dfsan/dfsan_chained_origin_depot.cpp | 6 + .../lib/dfsan/dfsan_chained_origin_depot.h | 3 + .../compiler-rt/lib/dfsan/dfsan_custom.cpp | 12 +- .../compiler-rt/lib/hwasan/hwasan_linux.cpp | 46 +- .../compiler-rt/lib/hwasan/hwasan_report.cpp | 68 +- .../compiler-rt/lib/lsan/lsan_posix.cpp | 33 +- .../lib/msan/msan_chained_origin_depot.cpp | 8 +- .../lib/msan/msan_chained_origin_depot.h | 4 +- .../compiler-rt/lib/msan/msan_linux.cpp | 32 +- .../compiler-rt/lib/orc/macho_platform.cpp | 4 + .../lib/profile/InstrProfilingPlatformWindows.c | 10 + .../sanitizer_chained_origin_depot.cpp | 6 +- .../sanitizer_chained_origin_depot.h | 4 +- .../lib/sanitizer_common/sanitizer_stack_store.cpp | 9 +- .../lib/sanitizer_common/sanitizer_stackdepot.cpp | 8 +- .../lib/sanitizer_common/sanitizer_stackdepot.h | 4 +- .../sanitizer_common/sanitizer_stackdepotbase.h | 9 +- .../sanitizer_common/sanitizer_suppressions.cpp | 5 +- .../sanitizer_symbolizer_posix_libcdep.cpp | 27 +- .../symbolizer/sanitizer_symbolize.cpp | 6 +- .../compiler-rt/lib/scudo/standalone/combined.h | 13 - .../lib/tsan/rtl/tsan_interceptors_posix.cpp | 19 + .../libcxx/include/__algorithm/binary_search.h | 20 +- .../libcxx/include/__algorithm/comp_ref_type.h | 66 +- .../libcxx/include/__algorithm/copy_backward.h | 16 +- .../libcxx/include/__algorithm/copy_if.h | 23 +- .../libcxx/include/__algorithm/copy_move_common.h | 25 +- .../libcxx/include/__algorithm/copy_n.h | 59 +- .../libcxx/include/__algorithm/equal.h | 29 +- .../libcxx/include/__algorithm/equal_range.h | 11 +- .../llvm-project/libcxx/include/__algorithm/fill.h | 26 +- .../libcxx/include/__algorithm/fill_n.h | 20 +- .../llvm-project/libcxx/include/__algorithm/find.h | 19 + .../libcxx/include/__algorithm/find_end.h | 92 +- .../libcxx/include/__algorithm/find_first_of.h | 21 +- .../libcxx/include/__algorithm/fold.h (new) | 125 + .../libcxx/include/__algorithm/for_each_n.h | 5 +- .../libcxx/include/__algorithm/generate.h | 10 +- .../libcxx/include/__algorithm/generate_n.h | 16 +- .../libcxx/include/__algorithm/half_positive.h | 14 +- .../libcxx/include/__algorithm/in_found_result.h | 2 +- .../libcxx/include/__algorithm/in_fun_result.h | 2 +- .../libcxx/include/__algorithm/in_in_out_result.h | 14 +- .../libcxx/include/__algorithm/in_in_result.h | 6 +- .../libcxx/include/__algorithm/in_out_out_result.h | 14 +- .../libcxx/include/__algorithm/in_out_result.h | 8 +- .../libcxx/include/__algorithm/includes.h | 31 +- .../libcxx/include/__algorithm/inplace_merge.h | 304 +- .../libcxx/include/__algorithm/is_heap.h | 20 +- .../libcxx/include/__algorithm/is_heap_until.h | 56 +- .../libcxx/include/__algorithm/is_partitioned.h | 21 +- .../libcxx/include/__algorithm/is_permutation.h | 177 +- .../libcxx/include/__algorithm/is_sorted.h | 20 +- .../libcxx/include/__algorithm/is_sorted_until.h | 33 +- .../libcxx/include/__algorithm/iter_swap.h | 3 +- .../include/__algorithm/iterator_operations.h | 67 +- .../include/__algorithm/lexicographical_compare.h | 49 +- .../libcxx/include/__algorithm/lower_bound.h | 15 +- .../libcxx/include/__algorithm/make_heap.h | 16 +- .../libcxx/include/__algorithm/make_projected.h | 47 +- .../llvm-project/libcxx/include/__algorithm/max.h | 39 +- .../libcxx/include/__algorithm/max_element.h | 33 +- .../libcxx/include/__algorithm/merge.h | 65 +- .../llvm-project/libcxx/include/__algorithm/min.h | 39 +- .../libcxx/include/__algorithm/min_element.h | 23 +- .../libcxx/include/__algorithm/min_max_result.h | 2 +- .../libcxx/include/__algorithm/minmax.h | 48 +- .../libcxx/include/__algorithm/minmax_element.h | 31 +- .../libcxx/include/__algorithm/mismatch.h | 25 +- .../llvm-project/libcxx/include/__algorithm/move.h | 3 +- .../libcxx/include/__algorithm/move_backward.h | 6 +- .../libcxx/include/__algorithm/next_permutation.h | 61 +- .../libcxx/include/__algorithm/nth_element.h | 386 +- .../libcxx/include/__algorithm/partial_sort.h | 39 +- .../libcxx/include/__algorithm/partial_sort_copy.h | 94 +- .../libcxx/include/__algorithm/partition.h | 84 +- .../libcxx/include/__algorithm/partition_copy.h | 36 +- .../libcxx/include/__algorithm/partition_point.h | 34 +- .../libcxx/include/__algorithm/pop_heap.h | 18 +- .../libcxx/include/__algorithm/prev_permutation.h | 64 +- .../libcxx/include/__algorithm/push_heap.h | 24 +- .../include/__algorithm/ranges_contains.h (new) | 61 + .../libcxx/include/__algorithm/ranges_max.h | 5 +- .../libcxx/include/__algorithm/ranges_min.h | 5 +- .../libcxx/include/__algorithm/ranges_minmax.h | 5 +- .../libcxx/include/__algorithm/remove.h | 26 +- .../libcxx/include/__algorithm/remove_copy.h | 20 +- .../libcxx/include/__algorithm/remove_copy_if.h | 20 +- .../libcxx/include/__algorithm/remove_if.h | 26 +- .../libcxx/include/__algorithm/replace.h | 12 +- .../libcxx/include/__algorithm/replace_copy.h | 23 +- .../libcxx/include/__algorithm/replace_copy_if.h | 23 +- .../libcxx/include/__algorithm/replace_if.h | 12 +- .../libcxx/include/__algorithm/reverse.h | 40 +- .../libcxx/include/__algorithm/reverse_copy.h | 12 +- .../libcxx/include/__algorithm/rotate.h | 264 +- .../libcxx/include/__algorithm/rotate_copy.h | 8 +- .../libcxx/include/__algorithm/sample.h | 83 +- .../libcxx/include/__algorithm/search.h | 123 +- .../libcxx/include/__algorithm/search_n.h | 96 +- .../libcxx/include/__algorithm/set_difference.h | 2 +- .../libcxx/include/__algorithm/shift_left.h | 43 +- .../libcxx/include/__algorithm/shift_right.h | 123 +- .../libcxx/include/__algorithm/shuffle.h | 127 +- .../libcxx/include/__algorithm/sift_down.h | 141 +- .../llvm-project/libcxx/include/__algorithm/sort.h | 245 +- .../libcxx/include/__algorithm/sort_heap.h | 16 +- .../libcxx/include/__algorithm/stable_partition.h | 487 +- .../libcxx/include/__algorithm/stable_sort.h | 332 +- .../libcxx/include/__algorithm/swap_ranges.h | 9 +- .../libcxx/include/__algorithm/transform.h | 29 +- .../uniform_random_bit_generator_adaptor.h | 14 +- .../libcxx/include/__algorithm/unwrap_iter.h | 10 +- .../llvm-project/libcxx/include/__atomic/atomic.h | 812 +- .../libcxx/include/__atomic/atomic_base.h | 321 +- .../libcxx/include/__atomic/atomic_flag.h | 246 +- .../libcxx/include/__atomic/atomic_lock_free.h | 52 +- .../libcxx/include/__atomic/atomic_sync.h | 90 +- .../libcxx/include/__atomic/check_memory_order.h | 22 +- .../libcxx/include/__atomic/contention_t.h | 4 +- .../libcxx/include/__atomic/cxx_atomic_impl.h | 560 +- .../llvm-project/libcxx/include/__atomic/fence.h | 16 +- .../libcxx/include/__atomic/kill_dependency.h | 6 +- .../libcxx/include/__atomic/memory_order.h | 11 +- contrib/llvm-project/libcxx/include/__availability | 82 +- .../llvm-project/libcxx/include/__bit/bit_cast.h | 3 +- .../llvm-project/libcxx/include/__bit/bit_ceil.h | 2 +- .../llvm-project/libcxx/include/__bit/byteswap.h | 11 +- contrib/llvm-project/libcxx/include/__bit/countl.h | 84 +- contrib/llvm-project/libcxx/include/__bit/countr.h | 17 +- contrib/llvm-project/libcxx/include/__bit/endian.h | 2 +- .../llvm-project/libcxx/include/__bit/popcount.h | 15 +- .../libcxx/include/__chrono/calendar.h | 12 +- .../libcxx/include/__chrono/convert_to_timespec.h | 15 +- contrib/llvm-project/libcxx/include/__chrono/day.h | 91 +- .../libcxx/include/__chrono/duration.h | 693 +- .../libcxx/include/__chrono/file_clock.h | 24 +- .../libcxx/include/__chrono/formatter.h | 63 +- .../libcxx/include/__chrono/hh_mm_ss.h | 117 +- .../include/__chrono/high_resolution_clock.h | 3 +- .../libcxx/include/__chrono/literals.h | 24 +- .../llvm-project/libcxx/include/__chrono/month.h | 94 +- .../libcxx/include/__chrono/month_weekday.h | 104 +- .../libcxx/include/__chrono/monthday.h | 134 +- .../libcxx/include/__chrono/steady_clock.h | 18 +- .../libcxx/include/__chrono/system_clock.h | 24 +- .../libcxx/include/__chrono/time_point.h | 186 +- .../llvm-project/libcxx/include/__chrono/weekday.h | 201 +- .../llvm-project/libcxx/include/__chrono/year.h | 104 +- .../libcxx/include/__chrono/year_month.h | 102 +- .../libcxx/include/__chrono/year_month_day.h | 460 +- .../libcxx/include/__chrono/year_month_weekday.h | 369 +- .../include/__compare/common_comparison_category.h | 27 +- .../__compare/compare_partial_order_fallback.h | 68 +- .../__compare/compare_strong_order_fallback.h | 62 +- .../libcxx/include/__compare/compare_three_way.h | 19 +- .../include/__compare/compare_three_way_result.h | 23 +- .../__compare/compare_weak_order_fallback.h | 62 +- .../libcxx/include/__compare/ordering.h | 164 +- .../libcxx/include/__compare/partial_order.h | 63 +- .../libcxx/include/__compare/strong_order.h | 173 +- .../include/__compare/three_way_comparable.h | 36 +- .../libcxx/include/__compare/weak_order.h | 115 +- contrib/llvm-project/libcxx/include/__config | 4 +- .../libcxx/include/__coroutine/coroutine_handle.h | 257 +- .../libcxx/include/__coroutine/coroutine_traits.h | 9 +- .../include/__coroutine/noop_coroutine_handle.h | 103 +- .../include/__coroutine/trivial_awaitables.h | 18 +- .../libcxx/include/__debug_utils/randomize_range.h | 3 +- .../libcxx/include/__expected/expected.h | 205 +- .../libcxx/include/__filesystem/copy_options.h | 50 +- .../libcxx/include/__filesystem/directory_entry.h | 251 +- .../include/__filesystem/directory_iterator.h | 73 +- .../include/__filesystem/directory_options.h | 44 +- .../libcxx/include/__filesystem/file_status.h | 28 +- .../libcxx/include/__filesystem/file_type.h | 14 +- .../libcxx/include/__filesystem/operations.h | 224 +- .../libcxx/include/__filesystem/path.h | 652 +- .../libcxx/include/__filesystem/path_iterator.h | 50 +- .../libcxx/include/__filesystem/perm_options.h | 39 +- .../libcxx/include/__filesystem/perms.h | 56 +- .../__filesystem/recursive_directory_iterator.h | 85 +- .../libcxx/include/__filesystem/u8path.h | 48 +- .../llvm-project/libcxx/include/__format/buffer.h | 52 +- .../libcxx/include/__format/concepts.h | 2 +- .../libcxx/include/__format/format_arg.h | 32 +- .../libcxx/include/__format/format_arg_store.h | 10 +- .../libcxx/include/__format/format_args.h | 5 +- .../libcxx/include/__format/format_context.h | 72 +- .../libcxx/include/__format/format_error.h | 17 +- .../libcxx/include/__format/format_functions.h | 184 +- .../libcxx/include/__format/format_parse_context.h | 30 +- .../libcxx/include/__format/format_string.h | 20 +- .../libcxx/include/__format/formatter.h | 4 +- .../include/__format/formatter_floating_point.h | 92 +- .../libcxx/include/__format/formatter_integer.h | 37 +- .../libcxx/include/__format/formatter_integral.h | 77 +- .../libcxx/include/__format/formatter_output.h | 58 +- .../libcxx/include/__format/formatter_pointer.h | 9 +- .../libcxx/include/__format/formatter_string.h | 18 +- .../include/__format/parser_std_format_spec.h | 79 +- .../llvm-project/libcxx/include/__format/unicode.h | 10 +- .../libcxx/include/__format/write_escaped.h | 19 +- .../libcxx/include/__functional/binary_function.h | 16 +- .../libcxx/include/__functional/binary_negate.h | 25 +- .../libcxx/include/__functional/bind.h | 385 +- .../libcxx/include/__functional/bind_back.h | 34 +- .../libcxx/include/__functional/bind_front.h | 21 +- .../libcxx/include/__functional/binder1st.h | 35 +- .../libcxx/include/__functional/binder2nd.h | 35 +- .../include/__functional/boyer_moore_searcher.h | 128 +- .../libcxx/include/__functional/compose.h | 25 +- .../libcxx/include/__functional/default_searcher.h | 31 +- .../libcxx/include/__functional/function.h | 1645 ++-- .../libcxx/include/__functional/hash.h | 682 +- .../libcxx/include/__functional/identity.h | 20 +- .../libcxx/include/__functional/invoke.h | 30 +- .../libcxx/include/__functional/is_transparent.h | 3 +- .../libcxx/include/__functional/mem_fn.h | 36 +- .../libcxx/include/__functional/mem_fun_ref.h | 183 +- .../libcxx/include/__functional/not_fn.h | 25 +- .../libcxx/include/__functional/operations.h | 540 +- .../libcxx/include/__functional/perfect_forward.h | 48 +- .../__functional/pointer_to_binary_function.h | 20 +- .../__functional/pointer_to_unary_function.h | 20 +- .../include/__functional/ranges_operations.h | 24 +- .../include/__functional/reference_wrapper.h | 97 +- .../libcxx/include/__functional/unary_function.h | 12 +- .../libcxx/include/__functional/unary_negate.h | 25 +- .../libcxx/include/__functional/weak_result_type.h | 225 +- contrib/llvm-project/libcxx/include/__fwd/get.h | 48 +- contrib/llvm-project/libcxx/include/__fwd/span.h | 3 +- .../libcxx/include/__fwd/string_view.h | 8 +- .../llvm-project/libcxx/include/__fwd/subrange.h | 2 +- contrib/llvm-project/libcxx/include/__hash_table | 3216 +++---- contrib/llvm-project/libcxx/include/__ios/fpos.h | 9 +- .../libcxx/include/__iterator/access.h | 67 +- .../libcxx/include/__iterator/advance.h | 57 +- .../include/__iterator/back_insert_iterator.h | 53 +- .../libcxx/include/__iterator/common_iterator.h | 211 +- .../libcxx/include/__iterator/concepts.h | 338 +- .../libcxx/include/__iterator/counted_iterator.h | 200 +- .../llvm-project/libcxx/include/__iterator/data.h | 32 +- .../libcxx/include/__iterator/default_sentinel.h | 2 +- .../libcxx/include/__iterator/distance.h | 49 +- .../llvm-project/libcxx/include/__iterator/empty.h | 19 +- .../libcxx/include/__iterator/erase_if_container.h | 4 +- .../include/__iterator/front_insert_iterator.h | 51 +- .../include/__iterator/incrementable_traits.h | 33 +- .../include/__iterator/indirectly_comparable.h | 3 +- .../libcxx/include/__iterator/insert_iterator.h | 57 +- .../libcxx/include/__iterator/istream_iterator.h | 95 +- .../include/__iterator/istreambuf_iterator.h | 131 +- .../libcxx/include/__iterator/iter_move.h | 68 +- .../libcxx/include/__iterator/iter_swap.h | 100 +- .../libcxx/include/__iterator/iterator.h | 16 +- .../libcxx/include/__iterator/iterator_traits.h | 397 +- .../libcxx/include/__iterator/mergeable.h | 15 +- .../libcxx/include/__iterator/move_iterator.h | 419 +- .../libcxx/include/__iterator/move_sentinel.h | 21 +- .../llvm-project/libcxx/include/__iterator/next.h | 13 +- .../libcxx/include/__iterator/ostream_iterator.h | 55 +- .../include/__iterator/ostreambuf_iterator.h | 61 +- .../libcxx/include/__iterator/permutable.h | 3 +- .../llvm-project/libcxx/include/__iterator/prev.h | 13 +- .../libcxx/include/__iterator/readable_traits.h | 46 +- .../libcxx/include/__iterator/reverse_access.h | 60 +- .../libcxx/include/__iterator/reverse_iterator.h | 366 +- .../llvm-project/libcxx/include/__iterator/size.h | 32 +- .../libcxx/include/__iterator/sortable.h | 4 +- .../include/__iterator/unreachable_sentinel.h | 5 +- .../libcxx/include/__iterator/wrap_iter.h | 258 +- contrib/llvm-project/libcxx/include/__locale | 2434 +++-- .../locale_base_api/bsd_locale_defaults.h | 28 +- .../locale_base_api/bsd_locale_fallbacks.h | 144 +- .../__locale_dir/locale_base_api/locale_guard.h | 67 +- contrib/llvm-project/libcxx/include/__mbstate_t.h | 16 +- .../libcxx/include/__memory/addressof.h | 35 +- .../libcxx/include/__memory/aligned_alloc.h | 42 +- .../libcxx/include/__memory/allocate_at_least.h | 10 +- .../libcxx/include/__memory/allocation_guard.h | 98 +- .../libcxx/include/__memory/allocator.h | 331 +- .../libcxx/include/__memory/allocator_arg_t.h | 45 +- .../libcxx/include/__memory/allocator_destructor.h | 24 +- .../libcxx/include/__memory/allocator_traits.h | 379 +- .../libcxx/include/__memory/assume_aligned.h | 3 +- .../libcxx/include/__memory/auto_ptr.h | 94 +- .../include/__memory/builtin_new_allocator.h | 23 +- .../libcxx/include/__memory/compressed_pair.h | 81 +- .../libcxx/include/__memory/concepts.h | 15 +- .../libcxx/include/__memory/construct_at.h | 65 +- .../libcxx/include/__memory/destruct_n.h | 61 +- .../libcxx/include/__memory/pointer_traits.h | 174 +- .../libcxx/include/__memory/ranges_construct_at.h | 28 +- .../__memory/ranges_uninitialized_algorithms.h | 89 +- .../libcxx/include/__memory/raw_storage_iterator.h | 66 +- .../libcxx/include/__memory/shared_ptr.h | 2495 ++--- .../libcxx/include/__memory/temp_value.h | 32 +- .../libcxx/include/__memory/temporary_buffer.h | 78 +- .../include/__memory/uninitialized_algorithms.h | 461 +- .../libcxx/include/__memory/unique_ptr.h | 373 +- .../libcxx/include/__memory/uses_allocator.h | 27 +- contrib/llvm-project/libcxx/include/__node_handle | 224 +- .../libcxx/include/__numeric/accumulate.h | 28 +- .../libcxx/include/__numeric/adjacent_difference.h | 57 +- .../libcxx/include/__numeric/exclusive_scan.h | 2 +- .../libcxx/include/__numeric/gcd_lcm.h | 82 +- .../libcxx/include/__numeric/inclusive_scan.h | 9 +- .../libcxx/include/__numeric/inner_product.h | 34 +- .../llvm-project/libcxx/include/__numeric/iota.h | 10 +- .../libcxx/include/__numeric/midpoint.h | 61 +- .../libcxx/include/__numeric/partial_sum.h | 53 +- .../llvm-project/libcxx/include/__numeric/reduce.h | 8 +- .../include/__numeric/transform_exclusive_scan.h | 33 +- .../include/__numeric/transform_inclusive_scan.h | 42 +- .../libcxx/include/__numeric/transform_reduce.h | 24 +- .../include/__random/bernoulli_distribution.h | 160 +- .../include/__random/binomial_distribution.h | 291 +- .../libcxx/include/__random/cauchy_distribution.h | 194 +- .../include/__random/chi_squared_distribution.h | 161 +- .../libcxx/include/__random/clamp_to_integral.h | 22 +- .../libcxx/include/__random/discard_block_engine.h | 256 +- .../include/__random/discrete_distribution.h | 340 +- .../include/__random/exponential_distribution.h | 171 +- .../include/__random/extreme_value_distribution.h | 196 +- .../include/__random/fisher_f_distribution.h | 194 +- .../libcxx/include/__random/gamma_distribution.h | 280 +- .../libcxx/include/__random/generate_canonical.h | 28 +- .../include/__random/geometric_distribution.h | 157 +- .../include/__random/independent_bits_engine.h | 331 +- .../libcxx/include/__random/is_seed_sequence.h | 8 +- .../libcxx/include/__random/is_valid.h | 53 +- .../include/__random/linear_congruential_engine.h | 491 +- .../llvm-project/libcxx/include/__random/log2.h | 39 +- .../include/__random/lognormal_distribution.h | 189 +- .../include/__random/mersenne_twister_engine.h | 1224 ++- .../__random/negative_binomial_distribution.h | 232 +- .../libcxx/include/__random/normal_distribution.h | 278 +- .../__random/piecewise_constant_distribution.h | 508 +- .../__random/piecewise_linear_distribution.h | 537 +- .../libcxx/include/__random/poisson_distribution.h | 392 +- .../libcxx/include/__random/random_device.h | 87 +- .../llvm-project/libcxx/include/__random/ranlux.h | 2 +- .../libcxx/include/__random/seed_seq.h | 231 +- .../libcxx/include/__random/shuffle_order_engine.h | 355 +- .../include/__random/student_t_distribution.h | 169 +- .../include/__random/subtract_with_carry_engine.h | 468 +- .../include/__random/uniform_int_distribution.h | 403 +- .../__random/uniform_random_bit_generator.h | 14 +- .../include/__random/uniform_real_distribution.h | 194 +- .../libcxx/include/__random/weibull_distribution.h | 185 +- .../llvm-project/libcxx/include/__ranges/access.h | 237 +- contrib/llvm-project/libcxx/include/__ranges/all.h | 55 +- .../libcxx/include/__ranges/common_view.h | 83 +- .../libcxx/include/__ranges/concepts.h | 126 +- .../llvm-project/libcxx/include/__ranges/counted.h | 62 +- .../llvm-project/libcxx/include/__ranges/data.h | 91 +- .../libcxx/include/__ranges/drop_view.h | 303 +- .../llvm-project/libcxx/include/__ranges/empty.h | 71 +- .../libcxx/include/__ranges/empty_view.h | 40 +- .../libcxx/include/__ranges/enable_view.h | 11 +- .../libcxx/include/__ranges/filter_view.h | 381 +- .../libcxx/include/__ranges/iota_view.h | 569 +- .../libcxx/include/__ranges/istream_view.h | 3 +- .../libcxx/include/__ranges/join_view.h | 647 +- .../libcxx/include/__ranges/lazy_split_view.h | 245 +- .../include/__ranges/non_propagating_cache.h | 129 +- .../libcxx/include/__ranges/owning_view.h | 106 +- .../libcxx/include/__ranges/range_adaptor.h | 32 +- .../llvm-project/libcxx/include/__ranges/rbegin.h | 67 +- .../libcxx/include/__ranges/ref_view.h | 80 +- .../llvm-project/libcxx/include/__ranges/rend.h | 71 +- .../libcxx/include/__ranges/reverse_view.h | 297 +- .../libcxx/include/__ranges/single_view.h | 16 +- .../llvm-project/libcxx/include/__ranges/size.h | 52 +- .../libcxx/include/__ranges/subrange.h | 356 +- .../libcxx/include/__ranges/take_view.h | 194 +- .../libcxx/include/__ranges/transform_view.h | 300 +- .../libcxx/include/__ranges/view_interface.h | 94 +- .../llvm-project/libcxx/include/__ranges/views.h | 2 +- .../libcxx/include/__ranges/zip_view.h | 235 +- contrib/llvm-project/libcxx/include/__split_buffer | 604 +- .../libcxx/include/__string/char_traits.h | 1093 ++- .../libcxx/include/__system_error/errc.h | 172 +- .../libcxx/include/__thread/formatter.h | 62 +- .../libcxx/include/__thread/poll_with_backoff.h | 37 +- .../libcxx/include/__thread/this_thread.h | 63 +- .../llvm-project/libcxx/include/__thread/thread.h | 324 +- .../libcxx/include/__thread/timed_backoff_policy.h | 28 +- .../libcxx/include/__threading_support | 410 +- contrib/llvm-project/libcxx/include/__tree | 3613 ++++---- .../libcxx/include/__tuple/make_tuple_types.h | 24 +- .../libcxx/include/__tuple/sfinae_helpers.h | 136 +- .../libcxx/include/__tuple/tuple_element.h | 64 +- .../libcxx/include/__tuple/tuple_indices.h | 10 +- .../libcxx/include/__tuple/tuple_like_ext.h | 24 +- .../libcxx/include/__tuple/tuple_size.h | 47 +- .../libcxx/include/__tuple/tuple_types.h | 3 +- .../libcxx/include/__type_traits/datasizeof.h | 11 +- .../libcxx/include/__utility/as_const.h | 4 +- .../llvm-project/libcxx/include/__utility/cmp.h | 73 +- .../libcxx/include/__utility/convert_to_integral.h | 50 +- .../libcxx/include/__utility/exchange.h | 14 +- .../libcxx/include/__utility/in_place.h | 12 +- .../libcxx/include/__utility/integer_sequence.h | 104 +- .../libcxx/include/__utility/is_pointer_in_range.h | 2 +- .../llvm-project/libcxx/include/__utility/pair.h | 1162 +-- .../libcxx/include/__utility/piecewise_construct.h | 4 +- .../libcxx/include/__utility/priority_tag.h | 6 +- .../libcxx/include/__utility/rel_ops.h | 41 +- .../libcxx/include/__utility/to_underlying.h | 6 +- .../libcxx/include/__utility/unreachable.h | 4 +- .../libcxx/include/__variant/monostate.h | 2 +- .../llvm-project/libcxx/include/__verbose_abort | 4 +- contrib/llvm-project/libcxx/include/algorithm | 30 + contrib/llvm-project/libcxx/include/any | 788 +- contrib/llvm-project/libcxx/include/array | 535 +- contrib/llvm-project/libcxx/include/barrier | 356 +- contrib/llvm-project/libcxx/include/bitset | 1290 ++- contrib/llvm-project/libcxx/include/cctype | 29 +- contrib/llvm-project/libcxx/include/cmath | 173 +- contrib/llvm-project/libcxx/include/codecvt | 776 +- contrib/llvm-project/libcxx/include/complex | 1921 ++-- .../llvm-project/libcxx/include/condition_variable | 223 +- contrib/llvm-project/libcxx/include/cstddef | 52 +- contrib/llvm-project/libcxx/include/ctype.h | 28 +- contrib/llvm-project/libcxx/include/cuchar | 2 +- contrib/llvm-project/libcxx/include/deque | 3722 ++++---- contrib/llvm-project/libcxx/include/errno.h | 522 +- contrib/llvm-project/libcxx/include/expected | 1 - .../libcxx/include/experimental/__config | 22 +- .../libcxx/include/experimental/__memory | 90 +- .../include/experimental/__simd/abi_tag.h (gone) | 55 - .../include/experimental/__simd/aligned_tag.h | 13 +- .../include/experimental/__simd/declaration.h | 52 +- .../__simd/internal_declaration.h (gone) | 41 - .../libcxx/include/experimental/__simd/scalar.h | 2 +- .../libcxx/include/experimental/__simd/simd.h | 2 - .../libcxx/include/experimental/__simd/simd_mask.h | 2 - .../libcxx/include/experimental/__simd/traits.h | 15 +- .../libcxx/include/experimental/__simd/vec_ext.h | 6 +- .../libcxx/include/experimental/iterator | 69 +- .../libcxx/include/experimental/propagate_const | 305 +- .../llvm-project/libcxx/include/experimental/simd | 1 - .../libcxx/include/experimental/type_traits | 69 +- .../libcxx/include/experimental/utility | 2 +- contrib/llvm-project/libcxx/include/ext/__hash | 130 +- contrib/llvm-project/libcxx/include/ext/hash_map | 1132 +-- contrib/llvm-project/libcxx/include/ext/hash_set | 634 +- contrib/llvm-project/libcxx/include/fenv.h | 70 +- contrib/llvm-project/libcxx/include/float.h | 12 +- contrib/llvm-project/libcxx/include/forward_list | 2031 ++-- contrib/llvm-project/libcxx/include/fstream | 2095 ++--- contrib/llvm-project/libcxx/include/future | 2551 +++-- .../llvm-project/libcxx/include/initializer_list | 71 +- contrib/llvm-project/libcxx/include/inttypes.h | 10 +- contrib/llvm-project/libcxx/include/iomanip | 754 +- contrib/llvm-project/libcxx/include/ios | 953 +- contrib/llvm-project/libcxx/include/iosfwd | 65 +- contrib/llvm-project/libcxx/include/istream | 2051 ++-- contrib/llvm-project/libcxx/include/latch | 98 +- contrib/llvm-project/libcxx/include/limits | 1078 ++- contrib/llvm-project/libcxx/include/list | 2390 ++--- contrib/llvm-project/libcxx/include/locale | 6071 ++++++------ contrib/llvm-project/libcxx/include/locale.h | 2 +- contrib/llvm-project/libcxx/include/map | 2618 +++--- contrib/llvm-project/libcxx/include/math.h | 81 +- .../libcxx/include/module.modulemap.in | 4 +- contrib/llvm-project/libcxx/include/mutex | 467 +- contrib/llvm-project/libcxx/include/new | 220 +- contrib/llvm-project/libcxx/include/numbers | 93 +- contrib/llvm-project/libcxx/include/optional | 1759 ++-- contrib/llvm-project/libcxx/include/ostream | 1349 ++- contrib/llvm-project/libcxx/include/print | 14 +- contrib/llvm-project/libcxx/include/queue | 1008 +- contrib/llvm-project/libcxx/include/ranges | 2 +- contrib/llvm-project/libcxx/include/ratio | 396 +- contrib/llvm-project/libcxx/include/regex | 8356 +++++++---------- .../llvm-project/libcxx/include/scoped_allocator | 821 +- contrib/llvm-project/libcxx/include/semaphore | 193 +- contrib/llvm-project/libcxx/include/set | 1577 ++-- contrib/llvm-project/libcxx/include/span | 701 +- contrib/llvm-project/libcxx/include/sstream | 1274 ++- contrib/llvm-project/libcxx/include/stack | 349 +- contrib/llvm-project/libcxx/include/stdatomic.h | 18 +- contrib/llvm-project/libcxx/include/stdbool.h | 10 +- contrib/llvm-project/libcxx/include/stddef.h | 28 +- contrib/llvm-project/libcxx/include/stdexcept | 232 +- contrib/llvm-project/libcxx/include/stdint.h | 6 +- contrib/llvm-project/libcxx/include/stdio.h | 36 +- contrib/llvm-project/libcxx/include/stdlib.h | 86 +- contrib/llvm-project/libcxx/include/streambuf | 530 +- contrib/llvm-project/libcxx/include/string | 4686 +++++----- contrib/llvm-project/libcxx/include/string.h | 2 +- contrib/llvm-project/libcxx/include/string_view | 1135 +-- contrib/llvm-project/libcxx/include/strstream | 334 +- contrib/llvm-project/libcxx/include/thread | 2 +- contrib/llvm-project/libcxx/include/tuple | 2126 ++--- contrib/llvm-project/libcxx/include/typeindex | 65 +- contrib/llvm-project/libcxx/include/typeinfo | 242 +- contrib/llvm-project/libcxx/include/uchar.h | 12 +- contrib/llvm-project/libcxx/include/unordered_map | 3111 +++---- contrib/llvm-project/libcxx/include/unordered_set | 1953 ++-- contrib/llvm-project/libcxx/include/valarray | 4682 ++++------ contrib/llvm-project/libcxx/include/variant | 1235 +-- contrib/llvm-project/libcxx/include/vector | 3840 ++++---- contrib/llvm-project/libcxx/include/version | 6 +- contrib/llvm-project/libcxx/include/wchar.h | 157 +- contrib/llvm-project/libcxx/include/wctype.h | 43 +- .../llvm-project/libcxx/modules/std/algorithm.inc | 16 +- .../llvm-project/libcxx/modules/std/ostream.inc | 5 +- contrib/llvm-project/libcxx/src/any.cpp | 16 +- contrib/llvm-project/libcxx/src/atomic.cpp | 216 +- contrib/llvm-project/libcxx/src/barrier.cpp | 106 +- contrib/llvm-project/libcxx/src/bind.cpp | 23 +- contrib/llvm-project/libcxx/src/call_once.cpp | 62 +- contrib/llvm-project/libcxx/src/charconv.cpp | 33 +- contrib/llvm-project/libcxx/src/chrono.cpp | 118 +- .../llvm-project/libcxx/src/condition_variable.cpp | 95 +- .../libcxx/src/condition_variable_destructor.cpp | 20 +- contrib/llvm-project/libcxx/src/exception.cpp | 28 +- .../libcxx/src/filesystem/directory_entry.cpp | 9 +- .../libcxx/src/filesystem/directory_iterator.cpp | 84 +- contrib/llvm-project/libcxx/src/filesystem/error.h | 24 +- .../libcxx/src/filesystem/file_descriptor.h | 53 +- .../libcxx/src/filesystem/filesystem_clock.cpp | 20 +- .../libcxx/src/filesystem/filesystem_error.cpp | 12 +- .../libcxx/src/filesystem/int128_builtins.cpp | 14 +- .../libcxx/src/filesystem/operations.cpp | 323 +- .../llvm-project/libcxx/src/filesystem/path.cpp | 79 +- .../libcxx/src/filesystem/path_parser.h | 58 +- .../libcxx/src/filesystem/posix_compat.h | 231 +- .../libcxx/src/filesystem/time_utils.h | 164 +- contrib/llvm-project/libcxx/src/functional.cpp | 10 +- contrib/llvm-project/libcxx/src/future.cpp | 319 +- contrib/llvm-project/libcxx/src/hash.cpp | 899 +- .../libcxx/src/include/apple_availability.h | 34 +- .../libcxx/src/include/atomic_support.h | 156 +- .../llvm-project/libcxx/src/include/config_elast.h | 18 +- .../llvm-project/libcxx/src/include/refstring.h | 137 +- contrib/llvm-project/libcxx/src/include/ryu/ryu.h | 1 - .../libcxx/src/include/sso_allocator.h | 81 +- contrib/llvm-project/libcxx/src/ios.cpp | 569 +- contrib/llvm-project/libcxx/src/iostream.cpp | 165 +- contrib/llvm-project/libcxx/src/locale.cpp | 9786 +++++++++----------- contrib/llvm-project/libcxx/src/memory.cpp | 229 +- contrib/llvm-project/libcxx/src/mutex.cpp | 207 +- .../llvm-project/libcxx/src/mutex_destructor.cpp | 20 +- contrib/llvm-project/libcxx/src/optional.cpp | 14 +- contrib/llvm-project/libcxx/src/ostream.cpp (new) | 42 + contrib/llvm-project/libcxx/src/random.cpp | 181 +- contrib/llvm-project/libcxx/src/random_shuffle.cpp | 35 +- contrib/llvm-project/libcxx/src/regex.cpp | 293 +- contrib/llvm-project/libcxx/src/std_stream.h | 572 +- contrib/llvm-project/libcxx/src/string.cpp | 368 +- .../libcxx/src/support/ibm/mbsnrtowcs.cpp | 30 +- .../libcxx/src/support/ibm/wcsnrtombs.cpp | 27 +- .../libcxx/src/support/ibm/xlocale_zos.cpp | 44 +- .../src/support/runtime/exception_fallback.ipp | 139 +- .../src/support/runtime/exception_glibcxx.ipp | 18 +- .../src/support/runtime/exception_libcxxabi.ipp | 15 +- .../src/support/runtime/exception_libcxxrt.ipp | 11 +- .../libcxx/src/support/runtime/exception_msvc.ipp | 145 +- .../support/runtime/exception_pointer_cxxabi.ipp | 73 +- .../support/runtime/exception_pointer_glibcxx.ipp | 61 +- .../src/support/runtime/exception_pointer_msvc.ipp | 22 +- .../runtime/exception_pointer_unimplemented.ipp | 43 +- .../src/support/runtime/stdexcept_default.ipp | 8 +- .../src/support/runtime/stdexcept_vcruntime.ipp | 2 +- contrib/llvm-project/libcxx/src/system_error.cpp | 225 +- contrib/llvm-project/libcxx/src/thread.cpp | 222 +- contrib/llvm-project/libcxx/src/typeinfo.cpp | 30 +- contrib/llvm-project/libcxx/src/valarray.cpp | 56 +- contrib/llvm-project/libcxx/src/variant.cpp | 6 +- contrib/llvm-project/libcxx/src/vector.cpp | 8 +- contrib/llvm-project/libcxx/src/verbose_abort.cpp | 6 +- contrib/llvm-project/lld/ELF/Arch/LoongArch.cpp | 20 + contrib/llvm-project/lld/ELF/InputSection.cpp | 22 +- contrib/llvm-project/lld/MachO/InputFiles.h | 2 +- contrib/llvm-project/lld/MachO/Options.td | 2 +- .../lldb/bindings/python/python-typemaps.swig | 2 +- .../lldb/include/lldb/Core/ValueObject.h | 8 - .../lldb/include/lldb/Host/HostGetOpt.h | 4 - .../lldb/include/lldb/Utility/FileSpec.h | 19 - contrib/llvm-project/lldb/source/API/SBValue.cpp | 11 +- .../llvm-project/lldb/source/Core/ValueObject.cpp | 40 - .../lldb/source/Host/common/FileSystem.cpp | 1 - .../lldb/source/Interpreter/CommandInterpreter.cpp | 6 +- .../SymbolFile/DWARF/DWARFASTParserClang.cpp | 2 +- .../lldb/source/Target/JITLoaderList.cpp | 2 +- .../llvm-project/llvm/include/llvm/ADT/StringRef.h | 8 +- contrib/llvm-project/llvm/include/llvm/ADT/Twine.h | 2 +- .../llvm/include/llvm/Analysis/LazyValueInfo.h | 9 +- .../llvm/include/llvm/Analysis/TargetLibraryInfo.h | 10 + .../include/llvm/Analysis/TargetTransformInfo.h | 4 + .../llvm/include/llvm/Analysis/ValueLattice.h | 5 +- .../llvm/include/llvm/Analysis/ValueTracking.h | 5 + .../llvm/include/llvm/Analysis/VecFuncs.def | 2 + .../llvm/include/llvm/Analysis/VectorUtils.h | 10 + .../llvm/include/llvm/CodeGen/AccelTable.h | 8 +- .../llvm/include/llvm/CodeGen/CodeGenPassBuilder.h | 9 +- .../llvm/include/llvm/CodeGen/LowerEmuTLS.h (new) | 29 + .../include/llvm/CodeGen/MachinePassRegistry.def | 7 +- .../llvm/include/llvm/CodeGen/MacroFusion.h | 12 +- .../llvm/include/llvm/CodeGen/SelectionDAGISel.h | 2 + .../llvm/include/llvm/CodeGen/TargetLowering.h | 6 + .../llvm/CodeGen/TargetLoweringObjectFileImpl.h | 2 + .../llvm/include/llvm/Frontend/HLSL/HLSLResource.h | 27 +- .../llvm-project/llvm/include/llvm/IR/Constants.h | 7 +- .../llvm/include/llvm/IR/DiagnosticHandler.h | 1 + .../llvm/IR/GenericConvergenceVerifierImpl.h | 13 +- .../llvm/include/llvm/IR/GlobalValue.h | 4 + .../llvm/include/llvm/IR/IntrinsicInst.h | 24 + .../llvm/include/llvm/IR/IntrinsicsAMDGPU.td | 28 +- .../llvm/include/llvm/IR/IntrinsicsRISCV.td | 2 +- .../llvm/include/llvm/IR/PatternMatch.h | 26 + .../llvm-project/llvm/include/llvm/MC/MCAsmInfo.h | 3 +- .../llvm/include/llvm/MC/MCTargetOptions.h | 2 + .../llvm/include/llvm/Object/ELFObjectFile.h | 1 + .../llvm-project/llvm/include/llvm/Object/Wasm.h | 1 - .../llvm/ProfileData/Coverage/CoverageMapping.h | 2 +- .../llvm/include/llvm/ProfileData/InstrProf.h | 26 +- .../include/llvm/ProfileData/RawMemProfReader.h | 11 +- .../llvm/include/llvm/ProfileData/SampleProf.h | 4 +- .../llvm/include/llvm/Support/CommandLine.h | 27 +- .../llvm/include/llvm/Support/YAMLTraits.h | 17 +- .../llvm/include/llvm/Support/raw_ostream.h | 49 - .../include/llvm/Support/raw_socket_stream.h (new) | 66 + .../llvm/TargetParser/AArch64TargetParser.h | 9 +- .../llvm/TargetParser/ARMTargetParserCommon.h | 1 + .../llvm/include/llvm/TextAPI/DylibReader.h (new) | 48 + .../llvm/include/llvm/TextAPI/Record.h | 13 +- .../include/llvm/TextAPI/RecordVisitor.h (new) | 54 + .../llvm/include/llvm/TextAPI/RecordsSlice.h | 14 +- .../llvm/include/llvm/TextAPI/TextAPIError.h | 3 +- .../llvm/include/llvm/TextAPI/Utils.h (new) | 34 + .../llvm/include/llvm/Transforms/IPO/Attributor.h | 10 + .../llvm/Transforms/IPO/ProfiledCallGraph.h | 5 +- .../llvm/lib/Analysis/InstructionSimplify.cpp | 2 +- .../llvm/lib/Analysis/LazyValueInfo.cpp | 18 +- .../llvm/lib/Analysis/LoopAccessAnalysis.cpp | 2 +- .../llvm/lib/Analysis/MemoryDependenceAnalysis.cpp | 18 +- .../llvm/lib/Analysis/ScalarEvolution.cpp | 7 +- .../llvm/lib/Analysis/TargetLibraryInfo.cpp | 10 + .../llvm/lib/Analysis/VFABIDemangling.cpp | 4 +- .../llvm/lib/Analysis/ValueTracking.cpp | 126 +- .../llvm-project/llvm/lib/Analysis/VectorUtils.cpp | 28 + .../llvm/lib/CodeGen/AsmPrinter/AccelTable.cpp | 4 +- .../llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp | 1 + .../CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp | 62 +- .../CodeGen/LiveDebugValues/InstrRefBasedImpl.h | 45 +- .../llvm/lib/CodeGen/LiveRangeEdit.cpp | 3 +- .../llvm-project/llvm/lib/CodeGen/LowerEmuTLS.cpp | 53 +- .../llvm/lib/CodeGen/MachineInstrBundle.cpp | 6 +- .../llvm-project/llvm/lib/CodeGen/MacroFusion.cpp | 12 +- .../llvm-project/llvm/lib/CodeGen/RegAllocFast.cpp | 139 +- .../llvm/lib/CodeGen/RegisterClassInfo.cpp | 3 +- .../llvm/lib/CodeGen/RegisterCoalescer.cpp | 57 +- .../llvm/lib/CodeGen/ReplaceWithVeclib.cpp | 211 +- .../llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp | 19 +- .../llvm/lib/CodeGen/SelectionDAG/FastISel.cpp | 3 +- .../CodeGen/SelectionDAG/FunctionLoweringInfo.cpp | 3 +- .../llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp | 18 +- .../CodeGen/SelectionDAG/LegalizeFloatTypes.cpp | 23 + .../CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp | 17 + .../llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h | 2 + .../lib/CodeGen/SelectionDAG/ScheduleDAGFast.cpp | 12 +- .../llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp | 6 +- .../CodeGen/SelectionDAG/SelectionDAGBuilder.cpp | 3 +- .../lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp | 24 +- .../llvm/lib/CodeGen/ShadowStackGCLowering.cpp | 7 +- .../lib/CodeGen/TargetLoweringObjectFileImpl.cpp | 7 + .../llvm/lib/CodeGen/TargetPassConfig.cpp | 1 + .../llvm/lib/CodeGen/TwoAddressInstructionPass.cpp | 3 +- .../lib/ExecutionEngine/JITLink/MachO_arm64.cpp | 32 +- .../lib/ExecutionEngine/JITLink/MachO_x86_64.cpp | 32 +- .../llvm/lib/Frontend/HLSL/HLSLResource.cpp | 17 +- contrib/llvm-project/llvm/lib/IR/ConstantFold.cpp | 2 +- contrib/llvm-project/llvm/lib/IR/Globals.cpp | 12 +- contrib/llvm-project/llvm/lib/IR/LLVMContext.cpp | 11 +- contrib/llvm-project/llvm/lib/IR/Metadata.cpp | 2 +- contrib/llvm-project/llvm/lib/IR/Type.cpp | 2 + contrib/llvm-project/llvm/lib/IR/Verifier.cpp | 11 +- contrib/llvm-project/llvm/lib/MC/MCAsmStreamer.cpp | 5 +- contrib/llvm-project/llvm/lib/MC/MCContext.cpp | 14 +- contrib/llvm-project/llvm/lib/MC/MCExpr.cpp | 24 +- .../llvm/lib/ObjCopy/ELF/ELFObject.cpp | 2 +- .../llvm-project/llvm/lib/Object/ELFObjectFile.cpp | 69 + .../llvm/lib/Object/ModuleSymbolTable.cpp | 16 +- .../llvm/lib/Object/WasmObjectFile.cpp | 52 +- .../llvm-project/llvm/lib/Passes/PassBuilder.cpp | 1 + .../llvm-project/llvm/lib/Passes/PassRegistry.def | 1 + .../llvm/lib/ProfileData/InstrProf.cpp | 36 +- .../llvm/lib/ProfileData/InstrProfReader.cpp | 9 +- .../llvm/lib/ProfileData/RawMemProfReader.cpp | 25 +- .../llvm-project/llvm/lib/Support/CommandLine.cpp | 78 +- .../llvm-project/llvm/lib/Support/RISCVISAInfo.cpp | 83 +- contrib/llvm-project/llvm/lib/Support/Signals.cpp | 2 +- .../llvm-project/llvm/lib/Support/raw_ostream.cpp | 163 +- .../llvm/lib/Support/raw_socket_stream.cpp (new) | 179 + .../llvm/lib/Target/AArch64/AArch64.td | 19 +- .../llvm/lib/Target/AArch64/AArch64Combine.td | 11 +- .../Target/AArch64/AArch64ExpandPseudoInsts.cpp | 18 +- .../lib/Target/AArch64/AArch64ISelLowering.cpp | 11 +- .../llvm/lib/Target/AArch64/AArch64InstrFormats.td | 126 + .../llvm/lib/Target/AArch64/AArch64InstrInfo.cpp | 36 + .../llvm/lib/Target/AArch64/AArch64InstrInfo.h | 3 + .../llvm/lib/Target/AArch64/AArch64InstrInfo.td | 75 +- .../Target/AArch64/AArch64LoadStoreOptimizer.cpp | 229 + .../Target/AArch64/AArch64MachineFunctionInfo.cpp | 28 +- .../Target/AArch64/AArch64MachineFunctionInfo.h | 18 + .../llvm/lib/Target/AArch64/AArch64PointerAuth.cpp | 86 +- .../llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td | 61 +- .../llvm/lib/Target/AArch64/AArch64SchedA64FX.td | 9 +- .../lib/Target/AArch64/AArch64SchedNeoverseN2.td | 2 +- .../lib/Target/AArch64/AArch64SchedNeoverseV1.td | 2 +- .../lib/Target/AArch64/AArch64SchedNeoverseV2.td | 2 +- .../lib/Target/AArch64/AArch64SystemOperands.td | 27 + .../Target/AArch64/AsmParser/AArch64AsmParser.cpp | 47 + .../AArch64/Disassembler/AArch64Disassembler.cpp | 18 + .../AArch64/GISel/AArch64InstructionSelector.cpp | 62 - .../AArch64/GISel/AArch64PostLegalizerLowering.cpp | 21 + .../AArch64/MCTargetDesc/AArch64AsmBackend.cpp | 14 + .../MCTargetDesc/AArch64ELFObjectWriter.cpp | 4 + .../AArch64/MCTargetDesc/AArch64FixupKinds.h | 5 + .../AArch64/MCTargetDesc/AArch64MCCodeEmitter.cpp | 29 + .../llvm/lib/Target/AArch64/SMEInstrFormats.td | 26 +- .../llvm/lib/Target/AArch64/SVEInstrFormats.td | 31 + .../llvm-project/llvm/lib/Target/AMDGPU/AMDGPU.td | 4 +- .../llvm/lib/Target/AMDGPU/AMDGPUIGroupLP.cpp | 29 +- .../llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp | 37 +- .../Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp | 8 +- .../llvm/lib/Target/AMDGPU/AMDGPULibCalls.cpp | 3 +- .../llvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp | 18 + .../llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp | 7 + .../Target/AMDGPU/AMDGPUTargetTransformInfo.cpp | 8 + .../lib/Target/AMDGPU/AMDGPUTargetTransformInfo.h | 10 + .../llvm/lib/Target/AMDGPU/DSInstructions.td | 12 +- .../AMDGPU/Disassembler/AMDGPUDisassembler.cpp | 5 + .../llvm/lib/Target/AMDGPU/SIISelLowering.cpp | 21 +- .../llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp | 20 +- .../llvm/lib/Target/AMDGPU/SIInstrInfo.cpp | 79 + .../llvm/lib/Target/AMDGPU/SIInstrInfo.h | 3 + .../llvm/lib/Target/ARM/ARMFrameLowering.cpp | 33 +- .../llvm/lib/Target/ARM/ARMFrameLowering.h | 3 + .../llvm/lib/Target/ARM/ARMISelLowering.cpp | 58 + .../llvm/lib/Target/ARM/ARMISelLowering.h | 10 + .../llvm/lib/Target/ARM/ARMInstrVFP.td | 1 + .../llvm/lib/Target/ARM/ARMLoadStoreOptimizer.cpp | 6 +- .../llvm/lib/Target/DirectX/DXILResource.cpp | 92 +- .../llvm/lib/Target/DirectX/DXILResource.h | 37 +- .../DirectX/DXILWriter/DXILBitcodeWriter.cpp | 3 +- .../lib/Target/Hexagon/HexagonConstPropagation.cpp | 3 +- .../lib/Target/Hexagon/HexagonISelDAGToDAGHVX.cpp | 6 +- .../Target/Hexagon/HexagonLoopIdiomRecognition.cpp | 6 +- .../Hexagon/MCTargetDesc/HexagonMCTargetDesc.cpp | 2 +- .../LoongArch/MCTargetDesc/LoongArchAsmBackend.cpp | 78 + .../LoongArch/MCTargetDesc/LoongArchAsmBackend.h | 9 +- .../LoongArch/MCTargetDesc/LoongArchFixupKinds.h | 4 +- .../llvm/lib/Target/PowerPC/PPCISelLowering.cpp | 9 +- .../llvm/lib/Target/PowerPC/PPCInstrInfo.cpp | 8 +- .../llvm/lib/Target/PowerPC/PPCInstrInfo.td | 3 + .../lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp | 7 +- .../lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h | 9 + .../llvm/lib/Target/RISCV/RISCVFeatures.td | 86 +- .../llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp | 3 +- .../llvm/lib/Target/RISCV/RISCVISelLowering.cpp | 182 +- .../llvm/lib/Target/RISCV/RISCVISelLowering.h | 7 +- .../llvm/lib/Target/RISCV/RISCVInstrFormats.td | 9 + .../lib/Target/RISCV/RISCVInstrInfoVPseudos.td | 8 - .../lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td | 125 +- .../llvm/lib/Target/RISCV/RISCVInstrInfoXSf.td | 12 +- .../llvm/lib/Target/RISCV/RISCVInstrInfoZvk.td | 2 +- .../llvm/lib/Target/RISCV/RISCVMacroFusion.cpp | 82 +- .../llvm/lib/Target/RISCV/RISCVProcessors.td | 27 +- .../llvm/lib/Target/RISCV/RISCVSchedSiFive7.td | 1 + .../llvm/lib/Target/RISCV/RISCVSubtarget.h | 18 +- .../lib/Target/RISCV/RISCVTargetTransformInfo.h | 2 +- .../llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp | 4 +- .../llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp | 6 +- .../llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp | 6 +- .../llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp | 2 +- .../llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.h | 2 +- .../llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp | 2 +- .../SystemZ/MCTargetDesc/SystemZMCAsmInfo.cpp | 1 + .../llvm/lib/Target/SystemZ/SystemZAsmPrinter.cpp | 35 +- .../lib/Target/SystemZ/SystemZFrameLowering.cpp | 6 + .../lib/Target/SystemZ/SystemZISelDAGToDAG.cpp | 3 +- .../lib/Target/SystemZ/SystemZISelLowering.cpp | 10 + .../llvm/lib/Target/SystemZ/SystemZISelLowering.h | 8 +- .../llvm-project/llvm/lib/Target/TargetMachine.cpp | 4 +- .../llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp | 36 +- .../Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp | 2 +- .../llvm/lib/Target/X86/X86FastISel.cpp | 7 +- .../llvm/lib/Target/X86/X86FloatingPoint.cpp | 3 +- .../llvm/lib/Target/X86/X86ISelDAGToDAG.cpp | 31 +- .../llvm/lib/Target/X86/X86ISelLowering.cpp | 36 +- .../llvm/lib/Target/X86/X86InsertPrefetch.cpp | 6 +- .../llvm/lib/Target/X86/X86InstrAMX.td | 30 +- .../llvm/lib/Target/X86/X86InstrAVX512.td | 1082 +-- .../llvm/lib/Target/X86/X86InstrArithmetic.td | 1457 ++- .../llvm/lib/Target/X86/X86InstrAsmAlias.td | 13 + .../llvm/lib/Target/X86/X86InstrCompiler.td | 17 + .../llvm/lib/Target/X86/X86InstrFPStack.td | 8 +- .../llvm/lib/Target/X86/X86InstrFormats.td | 7 +- .../llvm/lib/Target/X86/X86InstrInfo.cpp | 8 +- .../llvm-project/llvm/lib/Target/X86/X86InstrKL.td | 22 +- .../llvm/lib/Target/X86/X86InstrMMX.td | 24 +- .../llvm/lib/Target/X86/X86InstrMisc.td | 211 +- .../llvm/lib/Target/X86/X86InstrRAOINT.td | 8 +- .../llvm/lib/Target/X86/X86InstrSGX.td | 6 +- .../llvm/lib/Target/X86/X86InstrSNP.td | 12 +- .../llvm/lib/Target/X86/X86InstrSSE.td | 952 +- .../llvm/lib/Target/X86/X86InstrShiftRotate.td | 28 +- .../llvm/lib/Target/X86/X86InstrSystem.td | 141 +- .../llvm/lib/Target/X86/X86InstrTBM.td | 4 +- .../llvm/lib/Target/X86/X86InstrTDX.td | 14 +- .../llvm/lib/Target/X86/X86InstrTSX.td | 4 +- .../llvm/lib/Target/X86/X86InstrUtils.td | 284 +- .../llvm/lib/Target/X86/X86InstrVMX.td | 38 +- .../llvm/lib/Target/X86/X86InstrXOP.td | 28 +- .../llvm/lib/Target/X86/X86MacroFusion.cpp | 3 +- .../llvm/lib/Target/X86/X86Subtarget.cpp | 9 +- .../lib/TargetParser/ARMTargetParserCommon.cpp | 6 +- .../llvm-project/llvm/lib/TargetParser/Host.cpp | 52 +- .../llvm-project/llvm/lib/TargetParser/Triple.cpp | 15 +- .../lib/TextAPI/BinaryReader/DylibReader.cpp (new) | 429 + .../llvm/lib/TextAPI/RecordVisitor.cpp (new) | 65 + .../llvm-project/llvm/lib/TextAPI/RecordsSlice.cpp | 120 +- .../llvm-project/llvm/lib/TextAPI/Utils.cpp (new) | 40 + .../lib/ToolDrivers/llvm-dlltool/DlltoolDriver.cpp | 2 +- .../lib/Transforms/IPO/AttributorAttributes.cpp | 53 +- .../llvm/lib/Transforms/IPO/OpenMPOpt.cpp | 18 +- .../llvm/lib/Transforms/IPO/SampleProfile.cpp | 13 +- .../Transforms/InstCombine/InstCombineAndOrXor.cpp | 49 +- .../Transforms/InstCombine/InstCombineCalls.cpp | 59 +- .../Transforms/InstCombine/InstCombineInternal.h | 17 +- .../InstCombine/InstCombineMulDivRem.cpp | 7 + .../Transforms/InstCombine/InstCombineSelect.cpp | 4 +- .../InstCombine/InstCombineSimplifyDemanded.cpp | 134 +- .../InstCombine/InstCombineVectorOps.cpp | 44 +- .../InstCombine/InstructionCombining.cpp | 106 +- .../Instrumentation/AddressSanitizer.cpp | 2 +- .../lib/Transforms/Instrumentation/MemProfiler.cpp | 2 +- .../Instrumentation/SanitizerCoverage.cpp | 2 +- .../lib/Transforms/Scalar/ConstantHoisting.cpp | 5 +- .../Transforms/Scalar/ConstraintElimination.cpp | 75 +- .../Scalar/CorrelatedValuePropagation.cpp | 6 +- .../lib/Transforms/Scalar/DFAJumpThreading.cpp | 2 +- .../llvm/lib/Transforms/Scalar/GVN.cpp | 2 +- .../llvm/lib/Transforms/Scalar/LoopFlatten.cpp | 5 +- .../lib/Transforms/Scalar/LoopStrengthReduce.cpp | 2 +- .../llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp | 9 +- .../Transforms/Scalar/RewriteStatepointsForGC.cpp | 2 +- .../llvm/lib/Transforms/Scalar/SROA.cpp | 1 + .../llvm/lib/Transforms/Utils/DXILUpgrade.cpp | 12 + .../lib/Transforms/Utils/FunctionComparator.cpp | 25 + .../lib/Transforms/Utils/MemoryTaggingSupport.cpp | 2 +- .../llvm/lib/Transforms/Utils/SimplifyCFG.cpp | 8 +- .../llvm/lib/Transforms/Utils/SimplifyIndVar.cpp | 7 +- .../lib/Transforms/Vectorize/SLPVectorizer.cpp | 123 +- contrib/llvm-project/llvm/tools/llc/llc.cpp | 17 +- .../llvm/tools/llvm-cov/SourceCoverageViewHTML.cpp | 24 +- contrib/llvm-project/llvm/tools/llvm-dwp/Opts.td | 11 +- .../llvm-project/llvm/tools/llvm-dwp/llvm-dwp.cpp | 20 +- .../llvm/tools/llvm-objdump/ObjdumpOpts.td | 3 + .../llvm/tools/llvm-objdump/XCOFFDump.cpp | 1 + .../llvm/tools/llvm-objdump/XCOFFDump.h | 1 + .../llvm/tools/llvm-objdump/llvm-objdump.cpp | 189 +- .../llvm/tools/llvm-profdata/llvm-profdata.cpp | 29 +- .../llvm/tools/llvm-readobj/ELFDumper.cpp | 295 +- .../llvm/utils/TableGen/AsmMatcherEmitter.cpp | 8 +- .../llvm/utils/TableGen/AsmWriterEmitter.cpp | 4 + .../llvm/utils/TableGen/DAGISelMatcherEmitter.cpp | 33 +- .../llvm/utils/TableGen/X86FoldTablesEmitter.cpp | 6 +- lib/clang/headers/Makefile | 1 + lib/clang/include/VCSVersion.inc | 6 +- lib/clang/include/clang/Config/config.h | 6 + lib/clang/include/lld/Common/Version.inc | 2 +- lib/clang/include/llvm/Support/VCSRevision.h | 2 +- lib/clang/libclang/Makefile | 64 +- lib/clang/libllvm/Makefile | 4 + lib/clang/libllvmminimal/Makefile | 1 + lib/libc++/Makefile | 5 +- lib/libcompiler_rt/Makefile.inc | 67 +- tools/build/mk/OptionalObsoleteFiles.inc | 1 + 1000 files changed, 80116 insertions(+), 92136 deletions(-)
A commit in branch stable/13 references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=52e4ee64c25fe0837e9cf783a63e8c214b3180cf commit 52e4ee64c25fe0837e9cf783a63e8c214b3180cf Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2024-01-11 18:29:01 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-04-19 21:24:43 +0000 Merge llvm-project main llvmorg-18-init-16864-g3b3ee1f53424 This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvm-project main llvmorg-18-init-16864-g3b3ee1f53424. PR: 276104 MFC after: 1 month (cherry picked from commit 297eecfb02bb25902531dbb5c3b9a88caf8adf29) .../clang/include/clang/AST/DeclBase.h | 10 + .../llvm-project/clang/include/clang/AST/DeclCXX.h | 3 + .../llvm-project/clang/include/clang/AST/Stmt.h | 6 +- .../llvm-project/clang/include/clang/AST/Type.h | 3 + .../llvm-project/clang/include/clang/Basic/Attr.td | 18 + .../clang/include/clang/Basic/AttrDocs.td | 78 +++ .../include/clang/Basic/DiagnosticFrontendKinds.td | 2 +- .../include/clang/Basic/DiagnosticSemaKinds.td | 15 + .../clang/include/clang/Basic/LangOptions.def | 1 + .../clang/include/clang/Basic/TargetInfo.h | 1 + .../clang/include/clang/Basic/arm_sve.td | 22 +- .../clang/include/clang/Driver/Options.td | 18 +- .../clang/include/clang/Format/Format.h | 20 +- .../clang/include/clang/Parse/Parser.h | 24 +- .../llvm-project/clang/include/clang/Sema/Sema.h | 3 + .../clang/include/clang/Sema/TypoCorrection.h | 12 +- contrib/llvm-project/clang/lib/AST/ASTContext.cpp | 7 + contrib/llvm-project/clang/lib/AST/ASTImporter.cpp | 37 +- contrib/llvm-project/clang/lib/AST/DeclBase.cpp | 74 ++- contrib/llvm-project/clang/lib/AST/DeclCXX.cpp | 13 + contrib/llvm-project/clang/lib/AST/Expr.cpp | 83 +--- .../clang/lib/AST/Interp/ByteCodeExprGen.cpp | 7 + .../clang/lib/AST/Interp/Descriptor.cpp | 6 +- .../llvm-project/clang/lib/AST/Interp/Descriptor.h | 7 +- .../llvm-project/clang/lib/AST/Interp/Interp.cpp | 12 + .../clang/lib/AST/Interp/InterpBuiltin.cpp | 33 +- .../llvm-project/clang/lib/AST/Interp/Program.cpp | 16 +- contrib/llvm-project/clang/lib/AST/Type.cpp | 34 +- .../clang/lib/Analysis/ExprMutationAnalyzer.cpp | 355 +++++++------- .../clang/lib/Basic/Targets/AArch64.cpp | 7 + .../llvm-project/clang/lib/Basic/Targets/RISCV.cpp | 5 +- .../llvm-project/clang/lib/CodeGen/CGBuiltin.cpp | 244 +++++++++- contrib/llvm-project/clang/lib/CodeGen/CGCall.cpp | 2 + .../llvm-project/clang/lib/CodeGen/CGException.cpp | 7 +- contrib/llvm-project/clang/lib/CodeGen/CGExpr.cpp | 340 +++++++++++++- .../llvm-project/clang/lib/CodeGen/CGObjCGNU.cpp | 35 +- .../clang/lib/CodeGen/CodeGenFunction.h | 22 + .../clang/lib/CodeGen/CodeGenModule.cpp | 2 + .../clang/lib/CodeGen/CoverageMappingGen.cpp | 13 +- .../clang/lib/CodeGen/Targets/AArch64.cpp | 2 + .../clang/lib/Driver/ToolChains/Clang.cpp | 6 +- .../clang/lib/Driver/ToolChains/Flang.cpp | 57 ++- .../clang/lib/Driver/ToolChains/Flang.h | 7 + .../clang/lib/Driver/ToolChains/Gnu.cpp | 8 +- .../clang/lib/Driver/ToolChains/Linux.cpp | 8 +- contrib/llvm-project/clang/lib/Format/Format.cpp | 30 +- .../llvm-project/clang/lib/Format/FormatToken.cpp | 4 +- .../llvm-project/clang/lib/Format/FormatToken.h | 25 +- .../clang/lib/Format/TokenAnnotator.cpp | 14 +- .../clang/lib/Format/UnwrappedLineFormatter.cpp | 10 +- .../clang/lib/Format/UnwrappedLineParser.cpp | 4 +- .../clang/lib/Format/WhitespaceManager.cpp | 9 +- .../clang/lib/Format/WhitespaceManager.h | 1 + .../lib/Frontend/VerifyDiagnosticConsumer.cpp | 15 +- .../llvm-project/clang/lib/Headers/ia32intrin.h | 376 +++++++-------- .../clang/lib/Interpreter/Interpreter.cpp | 1 + contrib/llvm-project/clang/lib/Parse/ParseDecl.cpp | 8 +- contrib/llvm-project/clang/lib/Parse/ParseExpr.cpp | 26 +- .../llvm-project/clang/lib/Parse/ParseOpenACC.cpp | 65 +-- contrib/llvm-project/clang/lib/Sema/SemaDecl.cpp | 6 + .../llvm-project/clang/lib/Sema/SemaDeclAttr.cpp | 133 ++++++ contrib/llvm-project/clang/lib/Sema/SemaExpr.cpp | 16 +- .../llvm-project/clang/lib/Sema/SemaExprMember.cpp | 3 +- .../llvm-project/clang/lib/Sema/SemaOverload.cpp | 10 + contrib/llvm-project/clang/lib/Sema/SemaStmt.cpp | 2 +- .../llvm-project/clang/lib/Sema/TreeTransform.h | 20 +- .../Checkers/StdLibraryFunctionsChecker.cpp | 21 +- .../lib/StaticAnalyzer/Checkers/StreamChecker.cpp | 59 ++- .../clang/tools/clang-format/ClangFormat.cpp | 65 ++- .../compiler-rt/include/profile/InstrProfData.inc | 2 + .../lib/profile/InstrProfilingPlatformLinux.c | 9 - .../lib/sanitizer_common/sanitizer_flags.inc | 3 + .../sanitizer_symbolizer_report.cpp | 36 +- .../sanitizer_thread_arg_retval.cpp | 23 +- .../sanitizer_common/sanitizer_thread_arg_retval.h | 1 + .../lib/scudo/standalone/condition_variable.h | 2 +- contrib/llvm-project/libcxx/include/__config | 5 - .../libcxx/include/__memory/shared_ptr.h | 4 +- contrib/llvm-project/libcxx/include/cstdio | 2 +- contrib/llvm-project/libcxx/include/regex | 3 + contrib/llvm-project/libcxx/include/tuple | 2 +- contrib/llvm-project/lld/ELF/Arch/AArch64.cpp | 3 + contrib/llvm-project/lld/ELF/Arch/LoongArch.cpp | 110 ++--- contrib/llvm-project/lld/ELF/Arch/RISCV.cpp | 7 +- contrib/llvm-project/lld/ELF/InputSection.cpp | 10 +- contrib/llvm-project/lld/ELF/Target.h | 2 +- .../llvm-project/lldb/include/lldb/Core/Module.h | 6 + .../llvm-project/lldb/include/lldb/Symbol/Type.h | 4 + .../lldb/include/lldb/Utility/StreamString.h | 2 +- contrib/llvm-project/lldb/source/Core/Module.cpp | 17 + .../ExpressionParser/Clang/ClangASTImporter.cpp | 51 +- .../Language/CPlusPlus/CPlusPlusLanguage.cpp | 35 ++ .../source/Plugins/Language/CPlusPlus/LibCxx.cpp | 57 +++ .../source/Plugins/Language/CPlusPlus/LibCxx.h | 8 + .../source/Plugins/SymbolFile/DWARF/DWARFDIE.cpp | 44 +- .../Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp | 11 +- .../intel-pt/CommandObjectTraceStartIntelPT.cpp | 4 +- .../Plugins/Trace/intel-pt/DecodedThread.cpp | 32 +- .../source/Plugins/Trace/intel-pt/DecodedThread.h | 26 +- .../Plugins/Trace/intel-pt/LibiptDecoder.cpp | 4 +- .../Plugins/Trace/intel-pt/TraceCursorIntelPT.cpp | 4 +- .../Trace/intel-pt/TraceIntelPTBundleLoader.cpp | 13 +- contrib/llvm-project/lldb/source/Symbol/Type.cpp | 4 + .../lldb/source/Target/ProcessTrace.cpp | 2 + .../lldb/source/Utility/StreamString.cpp | 2 +- .../llvm-project/llvm/include/llvm/ADT/STLExtras.h | 29 +- .../llvm-project/llvm/include/llvm/ADT/StringRef.h | 4 +- .../llvm/include/llvm/Analysis/VecFuncs.def | 190 ++++---- .../llvm/BinaryFormat/ELFRelocs/AArch64.def | 1 + .../include/llvm/BinaryFormat/ELFRelocs/RISCV.def | 3 +- .../llvm/CodeGen/AssignmentTrackingAnalysis.h | 29 +- .../llvm/include/llvm/CodeGen/CodeGenPassBuilder.h | 1 + .../llvm/CodeGen/GlobalISel/CombinerHelper.h | 3 + .../llvm/CodeGen/GlobalISel/GenericMachineInstrs.h | 18 + .../include/llvm/CodeGen/GlobalISel/Localizer.h | 7 +- .../llvm/include/llvm/CodeGen/SelectionDAGISel.h | 16 + .../llvm/include/llvm/CodeGen/SelectionDAGNodes.h | 7 + .../Parallel => include/llvm/DWARFLinker}/Utils.h | 36 +- .../llvm/include/llvm/Frontend/OpenACC/ACC.td | 66 +-- .../llvm/include/llvm/IR/IntrinsicsAArch64.td | 6 +- .../llvm/include/llvm/IR/IntrinsicsNVVM.td | 10 + .../llvm/include/llvm/IR/ModuleSummaryIndex.h | 6 + .../llvm/include/llvm/IR/PatternMatch.h | 36 ++ .../llvm/include/llvm/ProfileData/InstrProf.h | 3 +- .../include/llvm/ProfileData/InstrProfData.inc | 2 + .../llvm/include/llvm/Support/RISCVISAInfo.h | 22 +- .../llvm/include/llvm/Support/TargetOpcodes.def | 3 + .../llvm/include/llvm/Target/GenericOpcodes.td | 21 + .../llvm/Target/GlobalISel/SelectionDAGCompat.td | 3 + .../llvm/include/llvm/Target/TargetPfmCounters.td | 21 + .../llvm/TargetParser/ARMTargetParserCommon.h | 1 + .../llvm/lib/Analysis/LazyValueInfo.cpp | 8 +- .../llvm/lib/Bitcode/Writer/BitcodeWriter.cpp | 17 +- .../lib/CodeGen/AssignmentTrackingAnalysis.cpp | 34 ++ .../llvm/lib/CodeGen/BranchFolding.cpp | 17 + .../llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp | 84 ++++ .../llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp | 12 + .../lib/CodeGen/GlobalISel/LegalizerHelper.cpp | 10 + .../llvm/lib/CodeGen/GlobalISel/Localizer.cpp | 55 ++- .../CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp | 9 +- .../llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp | 74 +-- .../CodeGen/SelectionDAG/LegalizeVectorTypes.cpp | 2 +- .../llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp | 12 +- .../lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp | 48 +- .../lib/CodeGen/SelectionDAG/TargetLowering.cpp | 5 +- .../lib/CodeGen/TargetLoweringObjectFileImpl.cpp | 11 +- .../llvm/lib/DWARFLinker/Classic/DWARFLinker.cpp | 15 +- .../Parallel/AcceleratorRecordsSaver.cpp | 2 +- .../Parallel/DWARFLinkerCompileUnit.cpp | 23 +- .../lib/DWARFLinker/Parallel/DWARFLinkerImpl.cpp | 2 +- .../DWARFLinker/Parallel/DebugLineSectionEmitter.h | 38 +- .../llvm-project/llvm/lib/DWARFLinker/Utils.cpp | 2 + contrib/llvm-project/llvm/lib/IR/Verifier.cpp | 11 + .../llvm/lib/MC/MCParser/ELFAsmParser.cpp | 6 +- contrib/llvm-project/llvm/lib/MC/MCSectionELF.cpp | 18 +- .../llvm-project/llvm/lib/Passes/PassBuilder.cpp | 1 + .../llvm-project/llvm/lib/Passes/PassRegistry.def | 4 +- .../llvm-project/llvm/lib/Support/RISCVISAInfo.cpp | 331 +++++++------ contrib/llvm-project/llvm/lib/TableGen/Record.cpp | 15 +- .../llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp | 5 + .../lib/Target/AArch64/AArch64ISelDAGToDAG.cpp | 4 +- .../lib/Target/AArch64/AArch64ISelLowering.cpp | 3 +- .../llvm/lib/Target/AArch64/AArch64InstrInfo.cpp | 3 + .../Target/AArch64/AArch64LoadStoreOptimizer.cpp | 64 ++- .../Target/AArch64/AArch64LoopIdiomTransform.cpp | 2 +- .../llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td | 18 +- .../Target/AArch64/AArch64TargetTransformInfo.cpp | 98 ++-- .../Target/AArch64/GISel/AArch64LegalizerInfo.cpp | 3 +- .../MCTargetDesc/AArch64ELFObjectWriter.cpp | 8 +- .../llvm/lib/Target/AArch64/SMEInstrFormats.td | 2 +- .../llvm/lib/Target/AMDGPU/AMDGPUCombine.td | 2 +- .../llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp | 12 +- .../lib/Target/AMDGPU/AMDGPULowerModuleLDSPass.cpp | 52 ++ .../Target/AMDGPU/AMDGPUPostLegalizerCombiner.cpp | 46 +- .../Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp | 43 +- .../llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp | 17 +- .../llvm/lib/Target/AMDGPU/GCNSubtarget.h | 2 + .../Target/AMDGPU/MCTargetDesc/AMDGPUMCAsmInfo.cpp | 1 - .../llvm/lib/Target/AMDGPU/SIISelLowering.cpp | 8 +- .../llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp | 5 +- .../llvm/lib/Target/AMDGPU/SIInstrInfo.cpp | 33 +- .../llvm/lib/Target/AMDGPU/SIInstrInfo.td | 33 +- .../llvm/lib/Target/AMDGPU/VOP1Instructions.td | 55 ++- .../llvm/lib/Target/AMDGPU/VOP2Instructions.td | 14 +- .../llvm/lib/Target/AMDGPU/VOPInstructions.td | 13 +- .../llvm/lib/Target/ARM/ARMISelLowering.cpp | 9 +- .../llvm/lib/Target/MSP430/MSP430ISelLowering.cpp | 13 +- .../llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp | 6 +- .../llvm/lib/Target/NVPTX/NVPTXInstrInfo.td | 3 + .../llvm/lib/Target/NVPTX/NVPTXIntrinsics.td | 13 + .../llvm/lib/Target/PowerPC/PPCISelLowering.cpp | 2 +- .../llvm/lib/Target/PowerPC/PPCInstrInfo.td | 2 +- .../lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp | 77 ++- .../RISCV/Disassembler/RISCVDisassembler.cpp | 6 +- .../lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp | 40 ++ .../RISCV/MCTargetDesc/RISCVELFObjectWriter.cpp | 2 + .../Target/RISCV/MCTargetDesc/RISCVELFStreamer.cpp | 7 + .../lib/Target/RISCV/RISCVExpandPseudoInsts.cpp | 12 +- .../llvm/lib/Target/RISCV/RISCVFeatures.td | 1 + .../llvm/lib/Target/RISCV/RISCVISelLowering.cpp | 46 +- .../llvm/lib/Target/RISCV/RISCVISelLowering.h | 6 +- .../llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp | 37 +- .../llvm/lib/Target/RISCV/RISCVInstrInfo.cpp | 17 +- .../llvm/lib/Target/RISCV/RISCVInstrInfoA.td | 140 +++--- .../llvm/lib/Target/RISCV/RISCVInstrInfoD.td | 16 +- .../lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td | 33 +- .../lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td | 38 +- .../llvm/lib/Target/RISCV/RISCVInstrInfoZa.td | 98 +++- .../llvm/lib/Target/RISCV/RISCVRegisterInfo.td | 45 +- .../lib/Target/SystemZ/SystemZISelDAGToDAG.cpp | 2 +- .../lib/Target/SystemZ/SystemZISelLowering.cpp | 7 + .../lib/Target/WebAssembly/WebAssemblyFastISel.cpp | 4 +- .../llvm/lib/Target/X86/MCTargetDesc/X86BaseInfo.h | 16 + .../llvm/lib/Target/X86/X86FlagsCopyLowering.cpp | 1 + .../llvm/lib/Target/X86/X86ISelLowering.cpp | 53 ++- .../llvm/lib/Target/X86/X86InstrArithmetic.td | 110 +++-- .../llvm/lib/Target/X86/X86InstrCompiler.td | 380 ++++++++------- .../llvm/lib/Target/X86/X86InstrMisc.td | 12 +- .../llvm/lib/Target/X86/X86PfmCounters.td | 18 + .../lib/TargetParser/ARMTargetParserCommon.cpp | 7 +- .../llvm/lib/TextAPI/InterfaceFile.cpp | 8 + .../IPO/MemProfContextDisambiguation.cpp | 521 ++++++++++++++++++--- .../Transforms/InstCombine/InstCombineAddSub.cpp | 24 + .../Transforms/InstCombine/InstCombineAndOrXor.cpp | 114 +++-- .../Transforms/InstCombine/InstCombineCalls.cpp | 4 + .../Transforms/InstCombine/InstCombineSelect.cpp | 4 +- .../Instrumentation/AddressSanitizer.cpp | 2 +- .../Instrumentation/PGOInstrumentation.cpp | 12 +- .../llvm/lib/Transforms/Scalar/LoopFlatten.cpp | 79 ++-- .../Transforms/Scalar/RewriteStatepointsForGC.cpp | 23 +- .../Scalar/SeparateConstOffsetFromGEP.cpp | 58 +-- .../Scalar/StraightLineStrengthReduce.cpp | 55 +-- .../llvm/lib/Transforms/Utils/Local.cpp | 3 +- .../llvm/lib/Transforms/Utils/SimplifyCFG.cpp | 13 +- .../lib/Transforms/Vectorize/LoopVectorize.cpp | 6 +- .../lib/Transforms/Vectorize/SLPVectorizer.cpp | 69 ++- .../llvm/utils/TableGen/CodeGenDAGPatterns.cpp | 2 +- .../llvm/utils/TableGen/DAGISelMatcherEmitter.cpp | 81 +++- .../llvm/utils/TableGen/ExegesisEmitter.cpp | 52 +- .../utils/TableGen/GlobalISelCombinerEmitter.cpp | 2 +- .../openmp/runtime/src/z_Linux_util.cpp | 2 +- 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 | 32 +- lib/libc++/Makefile | 40 +- lib/libc++/module.modulemap | 4 +- 247 files changed, 5252 insertions(+), 2361 deletions(-)
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=dfa39133b333f57ca3133bf6c71cd75be4c3e801 commit dfa39133b333f57ca3133bf6c71cd75be4c3e801 Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2024-04-20 12:01:32 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-04-20 14:02:57 +0000 Merge llvm-project release/18.x llvmorg-18.1.4-0-ge6c3289804a6 This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvm-project release/18.x llvmorg-18.1.4-0-ge6c3289804a6. PR: 276104 MFC after: 3 days .../llvm-project/clang/include/clang/Basic/Attr.td | 2 + .../clang/lib/Format/TokenAnnotator.cpp | 20 ++++---- .../clang/lib/Headers/__stddef_unreachable.h | 4 ++ .../compiler-rt/lib/builtins/riscv/restore.S | 42 +++++++++++++++ .../compiler-rt/lib/builtins/riscv/save.S | 42 +++++++++++++++ .../include/__format/formatter_floating_point.h | 2 +- contrib/llvm-project/libcxx/include/stddef.h | 29 ++++------- contrib/llvm-project/lld/COFF/Chunks.cpp | 7 +++ .../llvm/lib/Analysis/InstructionSimplify.cpp | 3 +- .../llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp | 7 ++- contrib/llvm-project/llvm/lib/IR/ConstantRange.cpp | 4 +- .../lib/Target/AArch64/AArch64ISelLowering.cpp | 42 +++------------ .../llvm/lib/Target/AArch64/AArch64ISelLowering.h | 3 ++ .../llvm/lib/Target/Mips/Mips32r6InstrInfo.td | 8 +-- .../llvm/lib/Target/Mips/MipsExpandPseudo.cpp | 60 ++++------------------ .../llvm/lib/Target/Sparc/SparcAsmPrinter.cpp | 44 ++++++++++++++++ .../llvm/lib/Target/X86/X86MCInstLower.cpp | 4 +- .../lib/Transforms/Vectorize/SLPVectorizer.cpp | 21 +++++++- lib/clang/include/VCSVersion.inc | 6 +-- lib/clang/include/clang/Basic/Version.inc | 6 +-- lib/clang/include/lld/Common/Version.inc | 2 +- lib/clang/include/lldb/Version/Version.inc | 6 +-- lib/clang/include/llvm/Config/config.h | 4 +- lib/clang/include/llvm/Config/llvm-config.h | 4 +- lib/clang/include/llvm/Support/VCSRevision.h | 2 +- 25 files changed, 234 insertions(+), 140 deletions(-)
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=0ab121e9f9a33dde06b292df02ec2eee03033e1f commit 0ab121e9f9a33dde06b292df02ec2eee03033e1f Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2024-04-21 21:32:22 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-04-21 21:32:22 +0000 Add a few missed libclang_rt files to ObsoleteFiles.inc PR: 276104 Reported by: Mark Millard <marklmi@yahoo.com> MFC after: 3 days ObsoleteFiles.inc | 2 ++ 1 file changed, 2 insertions(+)
A commit in branch stable/14 references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=854034a32cf6a2472392f4b7e1c11fbef93d9041 commit 854034a32cf6a2472392f4b7e1c11fbef93d9041 Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2024-04-20 12:01:32 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-04-23 17:33:06 +0000 Merge llvm-project release/18.x llvmorg-18.1.4-0-ge6c3289804a6 This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvm-project release/18.x llvmorg-18.1.4-0-ge6c3289804a6. PR: 276104 MFC after: 3 days (cherry picked from commit dfa39133b333f57ca3133bf6c71cd75be4c3e801) .../llvm-project/clang/include/clang/Basic/Attr.td | 2 + .../clang/lib/Format/TokenAnnotator.cpp | 20 ++++---- .../clang/lib/Headers/__stddef_unreachable.h | 4 ++ .../compiler-rt/lib/builtins/riscv/restore.S | 42 +++++++++++++++ .../compiler-rt/lib/builtins/riscv/save.S | 42 +++++++++++++++ .../include/__format/formatter_floating_point.h | 2 +- contrib/llvm-project/libcxx/include/stddef.h | 29 ++++------- contrib/llvm-project/lld/COFF/Chunks.cpp | 7 +++ .../llvm/lib/Analysis/InstructionSimplify.cpp | 3 +- .../llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp | 7 ++- contrib/llvm-project/llvm/lib/IR/ConstantRange.cpp | 4 +- .../lib/Target/AArch64/AArch64ISelLowering.cpp | 42 +++------------ .../llvm/lib/Target/AArch64/AArch64ISelLowering.h | 3 ++ .../llvm/lib/Target/Mips/Mips32r6InstrInfo.td | 8 +-- .../llvm/lib/Target/Mips/MipsExpandPseudo.cpp | 60 ++++------------------ .../llvm/lib/Target/Sparc/SparcAsmPrinter.cpp | 44 ++++++++++++++++ .../llvm/lib/Target/X86/X86MCInstLower.cpp | 4 +- .../lib/Transforms/Vectorize/SLPVectorizer.cpp | 21 +++++++- lib/clang/include/VCSVersion.inc | 6 +-- lib/clang/include/clang/Basic/Version.inc | 6 +-- lib/clang/include/lld/Common/Version.inc | 2 +- lib/clang/include/lldb/Version/Version.inc | 6 +-- lib/clang/include/llvm/Config/config.h | 4 +- lib/clang/include/llvm/Config/llvm-config.h | 4 +- lib/clang/include/llvm/Support/VCSRevision.h | 2 +- 25 files changed, 234 insertions(+), 140 deletions(-)
A commit in branch stable/13 references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=7929070fb7533cf16f60ffdefacc8cc6687b5f3d commit 7929070fb7533cf16f60ffdefacc8cc6687b5f3d Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2024-04-20 12:01:32 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-04-23 17:33:14 +0000 Merge llvm-project release/18.x llvmorg-18.1.4-0-ge6c3289804a6 This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvm-project release/18.x llvmorg-18.1.4-0-ge6c3289804a6. PR: 276104 MFC after: 3 days (cherry picked from commit dfa39133b333f57ca3133bf6c71cd75be4c3e801) .../llvm-project/clang/include/clang/Basic/Attr.td | 2 + .../clang/lib/Format/TokenAnnotator.cpp | 20 ++++---- .../clang/lib/Headers/__stddef_unreachable.h | 4 ++ .../compiler-rt/lib/builtins/riscv/restore.S | 42 +++++++++++++++ .../compiler-rt/lib/builtins/riscv/save.S | 42 +++++++++++++++ .../include/__format/formatter_floating_point.h | 2 +- contrib/llvm-project/libcxx/include/stddef.h | 29 ++++------- contrib/llvm-project/lld/COFF/Chunks.cpp | 7 +++ .../llvm/lib/Analysis/InstructionSimplify.cpp | 3 +- .../llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp | 7 ++- contrib/llvm-project/llvm/lib/IR/ConstantRange.cpp | 4 +- .../lib/Target/AArch64/AArch64ISelLowering.cpp | 42 +++------------ .../llvm/lib/Target/AArch64/AArch64ISelLowering.h | 3 ++ .../llvm/lib/Target/Mips/Mips32r6InstrInfo.td | 8 +-- .../llvm/lib/Target/Mips/MipsExpandPseudo.cpp | 60 ++++------------------ .../llvm/lib/Target/Sparc/SparcAsmPrinter.cpp | 44 ++++++++++++++++ .../llvm/lib/Target/X86/X86MCInstLower.cpp | 4 +- .../lib/Transforms/Vectorize/SLPVectorizer.cpp | 21 +++++++- lib/clang/include/VCSVersion.inc | 6 +-- lib/clang/include/clang/Basic/Version.inc | 6 +-- lib/clang/include/lld/Common/Version.inc | 2 +- lib/clang/include/lldb/Version/Version.inc | 6 +-- lib/clang/include/llvm/Config/config.h | 4 +- lib/clang/include/llvm/Config/llvm-config.h | 4 +- lib/clang/include/llvm/Support/VCSRevision.h | 2 +- 25 files changed, 234 insertions(+), 140 deletions(-)
A commit in branch stable/14 references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=feb6e2786dc523a57a9c2384ed67cdb4970dde34 commit feb6e2786dc523a57a9c2384ed67cdb4970dde34 Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2024-04-21 21:32:22 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-04-24 21:26:24 +0000 Add a few missed libclang_rt files to ObsoleteFiles.inc PR: 276104 Reported by: Mark Millard <marklmi@yahoo.com> MFC after: 3 days (cherry picked from commit 0ab121e9f9a33dde06b292df02ec2eee03033e1f) ObsoleteFiles.inc | 2 ++ 1 file changed, 2 insertions(+)
A commit in branch stable/13 references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=8b4cf1092b65d941d7b62fa843621c9c86187e32 commit 8b4cf1092b65d941d7b62fa843621c9c86187e32 Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2024-04-21 21:32:22 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-04-24 21:26:28 +0000 Add a few missed libclang_rt files to ObsoleteFiles.inc PR: 276104 Reported by: Mark Millard <marklmi@yahoo.com> MFC after: 3 days (cherry picked from commit 0ab121e9f9a33dde06b292df02ec2eee03033e1f) ObsoleteFiles.inc | 2 ++ 1 file changed, 2 insertions(+)
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=f08bf5a3acf146b17794fbde41279645ddbaa086 commit f08bf5a3acf146b17794fbde41279645ddbaa086 Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2024-04-25 16:47:31 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-04-25 16:47:47 +0000 Merge commit 0f329e0246d1 from llvm-project (by Dimitry Andric): [sanitizer_symbolizer] Cast arguments for format strings in markup (#89815) When compiling the common sanitizer libraries, there are many warnings about format specifiers, similar to: compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_markup.cpp:31:32: warning: format specifies type 'void *' but the argument has type 'uptr' (aka 'unsigned long') [-Wformat] 31 | buffer->AppendF(kFormatData, DI->start); | ~~~~~~~~~~~ ^~~~~~~~~ compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_markup_constants.h:33:46: note: format string is defined here 33 | constexpr const char *kFormatData = "{{{data:%p}}}"; | ^~ | %lu compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_markup.cpp:46:43: warning: format specifies type 'void *' but the argument has type 'uptr' (aka 'unsigned long') [-Wformat] 46 | buffer->AppendF(kFormatFrame, frame_no, address); | ~~~~~~~~~~~~ ^~~~~~~ compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_markup_constants.h:36:48: note: format string is defined here 36 | constexpr const char *kFormatFrame = "{{{bt:%u:%p}}}"; | ^~ | %lu ... This is because `uptr` is dependent on the platform, and can be either `unsigned long long`, `unsigned long`, or `unsigned int`. To fix the warnings, cast the arguments to the expected type of the format strings. PR: 276104 Reported by: pstef MFC after: 3 days .../lib/sanitizer_common/sanitizer_symbolizer_markup.cpp | 10 ++++++---- .../sanitizer_common/sanitizer_symbolizer_markup_constants.h | 6 +++--- 2 files changed, 9 insertions(+), 7 deletions(-)
A commit in branch stable/14 references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=43fae14940a5db63e30acd48c2d1a2fcc35f6aaf commit 43fae14940a5db63e30acd48c2d1a2fcc35f6aaf Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2024-04-25 16:47:31 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-04-28 08:03:46 +0000 Merge commit 0f329e0246d1 from llvm-project (by Dimitry Andric): [sanitizer_symbolizer] Cast arguments for format strings in markup (#89815) When compiling the common sanitizer libraries, there are many warnings about format specifiers, similar to: compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_markup.cpp:31:32: warning: format specifies type 'void *' but the argument has type 'uptr' (aka 'unsigned long') [-Wformat] 31 | buffer->AppendF(kFormatData, DI->start); | ~~~~~~~~~~~ ^~~~~~~~~ compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_markup_constants.h:33:46: note: format string is defined here 33 | constexpr const char *kFormatData = "{{{data:%p}}}"; | ^~ | %lu compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_markup.cpp:46:43: warning: format specifies type 'void *' but the argument has type 'uptr' (aka 'unsigned long') [-Wformat] 46 | buffer->AppendF(kFormatFrame, frame_no, address); | ~~~~~~~~~~~~ ^~~~~~~ compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_markup_constants.h:36:48: note: format string is defined here 36 | constexpr const char *kFormatFrame = "{{{bt:%u:%p}}}"; | ^~ | %lu ... This is because `uptr` is dependent on the platform, and can be either `unsigned long long`, `unsigned long`, or `unsigned int`. To fix the warnings, cast the arguments to the expected type of the format strings. PR: 276104 Reported by: pstef MFC after: 3 days (cherry picked from commit f08bf5a3acf146b17794fbde41279645ddbaa086) .../lib/sanitizer_common/sanitizer_symbolizer_markup.cpp | 10 ++++++---- .../sanitizer_common/sanitizer_symbolizer_markup_constants.h | 6 +++--- 2 files changed, 9 insertions(+), 7 deletions(-)
A commit in branch stable/13 references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=b9b248b1df62579913ce93ef4583e185e798a717 commit b9b248b1df62579913ce93ef4583e185e798a717 Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2024-04-25 16:47:31 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-04-28 08:04:33 +0000 Merge commit 0f329e0246d1 from llvm-project (by Dimitry Andric): [sanitizer_symbolizer] Cast arguments for format strings in markup (#89815) When compiling the common sanitizer libraries, there are many warnings about format specifiers, similar to: compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_markup.cpp:31:32: warning: format specifies type 'void *' but the argument has type 'uptr' (aka 'unsigned long') [-Wformat] 31 | buffer->AppendF(kFormatData, DI->start); | ~~~~~~~~~~~ ^~~~~~~~~ compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_markup_constants.h:33:46: note: format string is defined here 33 | constexpr const char *kFormatData = "{{{data:%p}}}"; | ^~ | %lu compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_markup.cpp:46:43: warning: format specifies type 'void *' but the argument has type 'uptr' (aka 'unsigned long') [-Wformat] 46 | buffer->AppendF(kFormatFrame, frame_no, address); | ~~~~~~~~~~~~ ^~~~~~~ compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_markup_constants.h:36:48: note: format string is defined here 36 | constexpr const char *kFormatFrame = "{{{bt:%u:%p}}}"; | ^~ | %lu ... This is because `uptr` is dependent on the platform, and can be either `unsigned long long`, `unsigned long`, or `unsigned int`. To fix the warnings, cast the arguments to the expected type of the format strings. PR: 276104 Reported by: pstef MFC after: 3 days (cherry picked from commit f08bf5a3acf146b17794fbde41279645ddbaa086) .../lib/sanitizer_common/sanitizer_symbolizer_markup.cpp | 10 ++++++---- .../sanitizer_common/sanitizer_symbolizer_markup_constants.h | 6 +++--- 2 files changed, 9 insertions(+), 7 deletions(-)
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=5678d1d98a348f315453555377ccb28821a2ffcd commit 5678d1d98a348f315453555377ccb28821a2ffcd Merge: 0ad9b235e1ea 9a7cb8417a2a Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2024-05-04 10:19:32 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-05-04 15:44:49 +0000 Merge llvm-project release/18.x llvmorg-18.1.5-0-g617a15a9eac9 This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvm-project release/18.x llvmorg-18.1.5-0-g617a15a9eac9. PR: 276104 MFC after: 3 days .../llvm-project/clang/lib/CodeGen/CGBuiltin.cpp | 25 ++++++----- contrib/llvm-project/clang/lib/CodeGen/CGCall.cpp | 5 +++ .../llvm-project/clang/lib/CodeGen/CGObjCGNU.cpp | 34 ++++++++------- .../llvm-project/clang/lib/CodeGen/CodeGenModule.h | 3 ++ .../clang/lib/CodeGen/CoverageMappingGen.cpp | 11 +++-- .../clang/lib/CodeGen/MicrosoftCXXABI.cpp | 12 ++++-- .../clang/lib/Format/ContinuationIndenter.cpp | 8 +++- .../clang/lib/Format/TokenAnnotator.cpp | 10 ++--- .../clang/lib/Format/UnwrappedLineParser.cpp | 40 ++++++++++-------- .../clang/lib/StaticAnalyzer/Checkers/Taint.cpp | 14 +++---- .../Checkers/cert/InvalidPtrChecker.cpp | 6 ++- .../libcxx/modules/std.compat/cstdlib.inc | 2 +- .../include/llvm/CodeGen/GlobalISel/LoadStoreOpt.h | 20 +++++++-- .../llvm/lib/CodeGen/CodeGenPrepare.cpp | 2 + .../llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp | 4 +- .../lib/CodeGen/GlobalISel/LegalizerHelper.cpp | 4 ++ .../llvm/lib/CodeGen/GlobalISel/LoadStoreOpt.cpp | 48 +++++++++++++--------- .../llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp | 9 +++- .../llvm/lib/Target/AArch64/AArch64InstrInfo.td | 10 ----- .../llvm/lib/Target/AMDGPU/SIMemoryLegalizer.cpp | 10 ++--- .../llvm/lib/Target/RISCV/RISCVISelLowering.cpp | 2 +- .../llvm/lib/Target/X86/X86ISelDAGToDAG.cpp | 7 ++-- .../llvm/lib/Target/X86/X86ISelLowering.cpp | 29 +++++++------ .../llvm/lib/Target/X86/X86Subtarget.h | 3 +- .../llvm-project/llvm/lib/TargetParser/Host.cpp | 5 ++- .../Transforms/InstCombine/InstCombineSelect.cpp | 2 +- .../Scalar/InductiveRangeCheckElimination.cpp | 3 ++ 27 files changed, 200 insertions(+), 128 deletions(-)
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=894cb08f0d3656fdb81f4d89085bedc4235f3cb6 commit 894cb08f0d3656fdb81f4d89085bedc4235f3cb6 Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2024-05-04 10:19:32 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-05-04 15:49:57 +0000 Fixup: Merge llvm-project release/18.x llvmorg-18.1.5-0-g617a15a9eac9 Update version numbers, config headers, etc. Git tricked me into losing these before pushing. PR: 276104 Fixes: d67fc74b9249 MFC after: 3 days lib/clang/include/VCSVersion.inc | 6 +++--- lib/clang/include/clang/Basic/Version.inc | 6 +++--- lib/clang/include/lld/Common/Version.inc | 2 +- lib/clang/include/lldb/Version/Version.inc | 6 +++--- lib/clang/include/llvm/Config/config.h | 4 ++-- lib/clang/include/llvm/Config/llvm-config.h | 4 ++-- lib/clang/include/llvm/Support/VCSRevision.h | 2 +- 7 files changed, 15 insertions(+), 15 deletions(-)
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=6f444019009a55aac18d18054d154155fbf606c9 commit 6f444019009a55aac18d18054d154155fbf606c9 Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2024-05-04 17:34:10 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-05-04 17:34:18 +0000 lib/clang: clean out old llvm/clang Sparc target remnants The WITH_LLVM_TARGET_ENABLE_SPARC option was removed a long time ago, but some ifdefs were still laying around, so clean them up. PR: 276104 MFC after: 3 days lib/clang/include/llvm/Config/AsmParsers.def | 3 --- lib/clang/include/llvm/Config/AsmPrinters.def | 3 --- lib/clang/include/llvm/Config/Disassemblers.def | 3 --- lib/clang/include/llvm/Config/Targets.def | 3 --- lib/clang/include/llvm/Config/llvm-config.h | 4 ---- 5 files changed, 16 deletions(-)
A commit in branch stable/14 references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=a17c251dd68567d879bb80e62f9828abb3967c64 commit a17c251dd68567d879bb80e62f9828abb3967c64 Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2024-05-04 10:19:32 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-05-07 17:04:01 +0000 Fixup: Merge llvm-project release/18.x llvmorg-18.1.5-0-g617a15a9eac9 Update version numbers, config headers, etc. Git tricked me into losing these before pushing. PR: 276104 Fixes: d67fc74b9249 MFC after: 3 days (cherry picked from commit 894cb08f0d3656fdb81f4d89085bedc4235f3cb6) lib/clang/include/VCSVersion.inc | 6 +++--- lib/clang/include/clang/Basic/Version.inc | 6 +++--- lib/clang/include/lld/Common/Version.inc | 2 +- lib/clang/include/lldb/Version/Version.inc | 6 +++--- lib/clang/include/llvm/Config/config.h | 4 ++-- lib/clang/include/llvm/Config/llvm-config.h | 4 ++-- lib/clang/include/llvm/Support/VCSRevision.h | 2 +- 7 files changed, 15 insertions(+), 15 deletions(-)
A commit in branch stable/14 references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=fe72d8ecb98dd51a9faf62b1e14d4dde25d61e5b commit fe72d8ecb98dd51a9faf62b1e14d4dde25d61e5b Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2024-05-04 10:19:32 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-05-07 17:03:16 +0000 Merge llvm-project release/18.x llvmorg-18.1.5-0-g617a15a9eac9 This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvm-project release/18.x llvmorg-18.1.5-0-g617a15a9eac9. PR: 276104 MFC after: 3 days (cherry picked from commit 5678d1d98a348f315453555377ccb28821a2ffcd) .../llvm-project/clang/lib/CodeGen/CGBuiltin.cpp | 25 ++++++----- contrib/llvm-project/clang/lib/CodeGen/CGCall.cpp | 5 +++ .../llvm-project/clang/lib/CodeGen/CGObjCGNU.cpp | 34 ++++++++------- .../llvm-project/clang/lib/CodeGen/CodeGenModule.h | 3 ++ .../clang/lib/CodeGen/CoverageMappingGen.cpp | 11 +++-- .../clang/lib/CodeGen/MicrosoftCXXABI.cpp | 12 ++++-- .../clang/lib/Format/ContinuationIndenter.cpp | 8 +++- .../clang/lib/Format/TokenAnnotator.cpp | 10 ++--- .../clang/lib/Format/UnwrappedLineParser.cpp | 40 ++++++++++-------- .../clang/lib/StaticAnalyzer/Checkers/Taint.cpp | 14 +++---- .../Checkers/cert/InvalidPtrChecker.cpp | 6 ++- .../libcxx/modules/std.compat/cstdlib.inc | 2 +- .../include/llvm/CodeGen/GlobalISel/LoadStoreOpt.h | 20 +++++++-- .../llvm/lib/CodeGen/CodeGenPrepare.cpp | 2 + .../llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp | 4 +- .../lib/CodeGen/GlobalISel/LegalizerHelper.cpp | 4 ++ .../llvm/lib/CodeGen/GlobalISel/LoadStoreOpt.cpp | 48 +++++++++++++--------- .../llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp | 9 +++- .../llvm/lib/Target/AArch64/AArch64InstrInfo.td | 10 ----- .../llvm/lib/Target/AMDGPU/SIMemoryLegalizer.cpp | 10 ++--- .../llvm/lib/Target/RISCV/RISCVISelLowering.cpp | 2 +- .../llvm/lib/Target/X86/X86ISelDAGToDAG.cpp | 7 ++-- .../llvm/lib/Target/X86/X86ISelLowering.cpp | 29 +++++++------ .../llvm/lib/Target/X86/X86Subtarget.h | 3 +- .../llvm-project/llvm/lib/TargetParser/Host.cpp | 5 ++- .../Transforms/InstCombine/InstCombineSelect.cpp | 2 +- .../Scalar/InductiveRangeCheckElimination.cpp | 3 ++ 27 files changed, 200 insertions(+), 128 deletions(-)
A commit in branch stable/14 references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=0b8cdac883f5028c8716aa7442c07c68ac1f780b commit 0b8cdac883f5028c8716aa7442c07c68ac1f780b Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2024-05-04 17:34:10 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-05-07 17:04:07 +0000 lib/clang: clean out old llvm/clang Sparc target remnants The WITH_LLVM_TARGET_ENABLE_SPARC option was removed a long time ago, but some ifdefs were still laying around, so clean them up. PR: 276104 MFC after: 3 days (cherry picked from commit 6f444019009a55aac18d18054d154155fbf606c9) lib/clang/include/llvm/Config/AsmParsers.def | 3 --- lib/clang/include/llvm/Config/AsmPrinters.def | 3 --- lib/clang/include/llvm/Config/Disassemblers.def | 3 --- lib/clang/include/llvm/Config/Targets.def | 3 --- lib/clang/include/llvm/Config/llvm-config.h | 4 ---- 5 files changed, 16 deletions(-)
A commit in branch stable/13 references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=e5e6242f62a37e9e20e9cbf0dc61eef0b9cc8602 commit e5e6242f62a37e9e20e9cbf0dc61eef0b9cc8602 Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2024-05-04 17:34:10 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-05-07 17:04:30 +0000 lib/clang: clean out old llvm/clang Sparc target remnants The WITH_LLVM_TARGET_ENABLE_SPARC option was removed a long time ago, but some ifdefs were still laying around, so clean them up. PR: 276104 MFC after: 3 days (cherry picked from commit 6f444019009a55aac18d18054d154155fbf606c9) lib/clang/include/llvm/Config/AsmParsers.def | 3 --- lib/clang/include/llvm/Config/AsmPrinters.def | 3 --- lib/clang/include/llvm/Config/Disassemblers.def | 3 --- lib/clang/include/llvm/Config/Targets.def | 3 --- lib/clang/include/llvm/Config/llvm-config.h | 4 ---- 5 files changed, 16 deletions(-)
A commit in branch stable/13 references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=3c6fe83671c9054fb241f3d42c14977e0ae8b225 commit 3c6fe83671c9054fb241f3d42c14977e0ae8b225 Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2024-05-04 10:19:32 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-05-07 17:04:27 +0000 Fixup: Merge llvm-project release/18.x llvmorg-18.1.5-0-g617a15a9eac9 Update version numbers, config headers, etc. Git tricked me into losing these before pushing. PR: 276104 Fixes: d67fc74b9249 MFC after: 3 days (cherry picked from commit 894cb08f0d3656fdb81f4d89085bedc4235f3cb6) lib/clang/include/VCSVersion.inc | 6 +++--- lib/clang/include/clang/Basic/Version.inc | 6 +++--- lib/clang/include/lld/Common/Version.inc | 2 +- lib/clang/include/lldb/Version/Version.inc | 6 +++--- lib/clang/include/llvm/Config/config.h | 4 ++-- lib/clang/include/llvm/Config/llvm-config.h | 4 ++-- lib/clang/include/llvm/Support/VCSRevision.h | 2 +- 7 files changed, 15 insertions(+), 15 deletions(-)
A commit in branch stable/13 references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=67df63f10e68c25c781a9047c9555bbd419bdd98 commit 67df63f10e68c25c781a9047c9555bbd419bdd98 Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2024-05-04 10:19:32 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-05-07 17:04:21 +0000 Merge llvm-project release/18.x llvmorg-18.1.5-0-g617a15a9eac9 This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvm-project release/18.x llvmorg-18.1.5-0-g617a15a9eac9. PR: 276104 MFC after: 3 days (cherry picked from commit 5678d1d98a348f315453555377ccb28821a2ffcd) .../llvm-project/clang/lib/CodeGen/CGBuiltin.cpp | 25 ++++++----- contrib/llvm-project/clang/lib/CodeGen/CGCall.cpp | 5 +++ .../llvm-project/clang/lib/CodeGen/CGObjCGNU.cpp | 34 ++++++++------- .../llvm-project/clang/lib/CodeGen/CodeGenModule.h | 3 ++ .../clang/lib/CodeGen/CoverageMappingGen.cpp | 11 +++-- .../clang/lib/CodeGen/MicrosoftCXXABI.cpp | 12 ++++-- .../clang/lib/Format/ContinuationIndenter.cpp | 8 +++- .../clang/lib/Format/TokenAnnotator.cpp | 10 ++--- .../clang/lib/Format/UnwrappedLineParser.cpp | 40 ++++++++++-------- .../clang/lib/StaticAnalyzer/Checkers/Taint.cpp | 14 +++---- .../Checkers/cert/InvalidPtrChecker.cpp | 6 ++- .../libcxx/modules/std.compat/cstdlib.inc | 2 +- .../include/llvm/CodeGen/GlobalISel/LoadStoreOpt.h | 20 +++++++-- .../llvm/lib/CodeGen/CodeGenPrepare.cpp | 2 + .../llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp | 4 +- .../lib/CodeGen/GlobalISel/LegalizerHelper.cpp | 4 ++ .../llvm/lib/CodeGen/GlobalISel/LoadStoreOpt.cpp | 48 +++++++++++++--------- .../llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp | 9 +++- .../llvm/lib/Target/AArch64/AArch64InstrInfo.td | 10 ----- .../llvm/lib/Target/AMDGPU/SIMemoryLegalizer.cpp | 10 ++--- .../llvm/lib/Target/RISCV/RISCVISelLowering.cpp | 2 +- .../llvm/lib/Target/X86/X86ISelDAGToDAG.cpp | 7 ++-- .../llvm/lib/Target/X86/X86ISelLowering.cpp | 29 +++++++------ .../llvm/lib/Target/X86/X86Subtarget.h | 3 +- .../llvm-project/llvm/lib/TargetParser/Host.cpp | 5 ++- .../Transforms/InstCombine/InstCombineSelect.cpp | 2 +- .../Scalar/InductiveRangeCheckElimination.cpp | 3 ++ 27 files changed, 200 insertions(+), 128 deletions(-)
A commit in branch releng/14.1 references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=6102863fd848289020690c8c3a1cf7714419ac99 commit 6102863fd848289020690c8c3a1cf7714419ac99 Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2024-05-04 17:34:10 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-05-07 17:30:21 +0000 lib/clang: clean out old llvm/clang Sparc target remnants The WITH_LLVM_TARGET_ENABLE_SPARC option was removed a long time ago, but some ifdefs were still laying around, so clean them up. PR: 276104 Approved by: re (cperciva) MFC after: 3 days (cherry picked from commit 6f444019009a55aac18d18054d154155fbf606c9) (cherry picked from commit 0b8cdac883f5028c8716aa7442c07c68ac1f780b) lib/clang/include/llvm/Config/AsmParsers.def | 3 --- lib/clang/include/llvm/Config/AsmPrinters.def | 3 --- lib/clang/include/llvm/Config/Disassemblers.def | 3 --- lib/clang/include/llvm/Config/Targets.def | 3 --- lib/clang/include/llvm/Config/llvm-config.h | 4 ---- 5 files changed, 16 deletions(-)
A commit in branch releng/14.1 references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=90a5e985e5f467ba145493160458186edd3540b2 commit 90a5e985e5f467ba145493160458186edd3540b2 Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2024-05-04 10:19:32 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-05-07 17:28:36 +0000 Merge llvm-project release/18.x llvmorg-18.1.5-0-g617a15a9eac9 This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvm-project release/18.x llvmorg-18.1.5-0-g617a15a9eac9. PR: 276104 Approved by: re (cperciva) MFC after: 3 days (cherry picked from commit 5678d1d98a348f315453555377ccb28821a2ffcd) (cherry picked from commit fe72d8ecb98dd51a9faf62b1e14d4dde25d61e5b) .../llvm-project/clang/lib/CodeGen/CGBuiltin.cpp | 25 ++++++----- contrib/llvm-project/clang/lib/CodeGen/CGCall.cpp | 5 +++ .../llvm-project/clang/lib/CodeGen/CGObjCGNU.cpp | 34 ++++++++------- .../llvm-project/clang/lib/CodeGen/CodeGenModule.h | 3 ++ .../clang/lib/CodeGen/CoverageMappingGen.cpp | 11 +++-- .../clang/lib/CodeGen/MicrosoftCXXABI.cpp | 12 ++++-- .../clang/lib/Format/ContinuationIndenter.cpp | 8 +++- .../clang/lib/Format/TokenAnnotator.cpp | 10 ++--- .../clang/lib/Format/UnwrappedLineParser.cpp | 40 ++++++++++-------- .../clang/lib/StaticAnalyzer/Checkers/Taint.cpp | 14 +++---- .../Checkers/cert/InvalidPtrChecker.cpp | 6 ++- .../libcxx/modules/std.compat/cstdlib.inc | 2 +- .../include/llvm/CodeGen/GlobalISel/LoadStoreOpt.h | 20 +++++++-- .../llvm/lib/CodeGen/CodeGenPrepare.cpp | 2 + .../llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp | 4 +- .../lib/CodeGen/GlobalISel/LegalizerHelper.cpp | 4 ++ .../llvm/lib/CodeGen/GlobalISel/LoadStoreOpt.cpp | 48 +++++++++++++--------- .../llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp | 9 +++- .../llvm/lib/Target/AArch64/AArch64InstrInfo.td | 10 ----- .../llvm/lib/Target/AMDGPU/SIMemoryLegalizer.cpp | 10 ++--- .../llvm/lib/Target/RISCV/RISCVISelLowering.cpp | 2 +- .../llvm/lib/Target/X86/X86ISelDAGToDAG.cpp | 7 ++-- .../llvm/lib/Target/X86/X86ISelLowering.cpp | 29 +++++++------ .../llvm/lib/Target/X86/X86Subtarget.h | 3 +- .../llvm-project/llvm/lib/TargetParser/Host.cpp | 5 ++- .../Transforms/InstCombine/InstCombineSelect.cpp | 2 +- .../Scalar/InductiveRangeCheckElimination.cpp | 3 ++ 27 files changed, 200 insertions(+), 128 deletions(-)
A commit in branch releng/14.1 references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=8210cd3c39e8b28d9d99f54277507547f48cfe27 commit 8210cd3c39e8b28d9d99f54277507547f48cfe27 Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2024-05-04 10:19:32 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-05-07 17:29:58 +0000 Fixup: Merge llvm-project release/18.x llvmorg-18.1.5-0-g617a15a9eac9 Update version numbers, config headers, etc. Git tricked me into losing these before pushing. PR: 276104 Approved by: re (cperciva) Fixes: d67fc74b9249 MFC after: 3 days (cherry picked from commit 894cb08f0d3656fdb81f4d89085bedc4235f3cb6) (cherry picked from commit a17c251dd68567d879bb80e62f9828abb3967c64) lib/clang/include/VCSVersion.inc | 6 +++--- lib/clang/include/clang/Basic/Version.inc | 6 +++--- lib/clang/include/lld/Common/Version.inc | 2 +- lib/clang/include/lldb/Version/Version.inc | 6 +++--- lib/clang/include/llvm/Config/config.h | 4 ++-- lib/clang/include/llvm/Config/llvm-config.h | 4 ++-- lib/clang/include/llvm/Support/VCSRevision.h | 2 +- 7 files changed, 15 insertions(+), 15 deletions(-)
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=fcfb2d6393712dee3f1f8f0c3840d14817dea416 commit fcfb2d6393712dee3f1f8f0c3840d14817dea416 Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2024-05-16 18:21:45 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-05-16 18:41:45 +0000 Merge commit 87f3407856e6 from llvm-project (by Phoebe Wang): [X86][Driver] Do not add `-evex512` for `-march=native` when the target doesn't support AVX512 (#91694) This prevents problems with ports that fail to build with CPUTYPE=native, if the native CPU supports AVX512F, resulting in errors like: /wrkdirs/usr/ports/archivers/libdeflate/work/libdeflate-1.20/lib/x86/adler32_template.h:197:21: error: always_inline function '_mm512_set1_epi8' requires target feature 'evex512', but would be inlined into function 'adler32_x86_avx512_vl512_vnni' that is compiled without support for 'evex512' 197 | const vec_t ones = VSET1_8(1); | ^ /wrkdirs/usr/ports/archivers/libdeflate/work/libdeflate-1.20/lib/x86/adler32_template.h:116:23: note: expanded from macro 'VSET1_8' 116 | # define VSET1_8(a) _mm512_set1_epi8(a) | ^ /wrkdirs/usr/ports/archivers/libdeflate/work/libdeflate-1.20/lib/x86/adler32_template.h:197:21: error: AVX vector return of type '__m512i' (vector of 8 'long long' values) without 'evex512' enabled changes the ABI /wrkdirs/usr/ports/archivers/libdeflate/work/libdeflate-1.20/lib/x86/adler32_template.h:116:23: note: expanded from macro 'VSET1_8' 116 | # define VSET1_8(a) _mm512_set1_epi8(a) | ^ Ports known to be affected are: archivers/libdeflate, devel/highway, www/node20, and lang/rust. (For rust itself there is also a similar issue reported at https://github.com/rust-lang/rust/pull/121088). PR: 276104 Reported by: netchild MFC after: 3 days contrib/llvm-project/llvm/lib/TargetParser/Host.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
A commit in branch stable/14 references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=14efb9bb710486a6fba349ec1b4b1b94a9a5a089 commit 14efb9bb710486a6fba349ec1b4b1b94a9a5a089 Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2024-05-16 18:21:45 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-05-20 08:12:56 +0000 Merge commit 87f3407856e6 from llvm-project (by Phoebe Wang): [X86][Driver] Do not add `-evex512` for `-march=native` when the target doesn't support AVX512 (#91694) This prevents problems with ports that fail to build with CPUTYPE=native, if the native CPU supports AVX512F, resulting in errors like: /wrkdirs/usr/ports/archivers/libdeflate/work/libdeflate-1.20/lib/x86/adler32_template.h:197:21: error: always_inline function '_mm512_set1_epi8' requires target feature 'evex512', but would be inlined into function 'adler32_x86_avx512_vl512_vnni' that is compiled without support for 'evex512' 197 | const vec_t ones = VSET1_8(1); | ^ /wrkdirs/usr/ports/archivers/libdeflate/work/libdeflate-1.20/lib/x86/adler32_template.h:116:23: note: expanded from macro 'VSET1_8' 116 | # define VSET1_8(a) _mm512_set1_epi8(a) | ^ /wrkdirs/usr/ports/archivers/libdeflate/work/libdeflate-1.20/lib/x86/adler32_template.h:197:21: error: AVX vector return of type '__m512i' (vector of 8 'long long' values) without 'evex512' enabled changes the ABI /wrkdirs/usr/ports/archivers/libdeflate/work/libdeflate-1.20/lib/x86/adler32_template.h:116:23: note: expanded from macro 'VSET1_8' 116 | # define VSET1_8(a) _mm512_set1_epi8(a) | ^ Ports known to be affected are: archivers/libdeflate, devel/highway, www/node20, and lang/rust. (For rust itself there is also a similar issue reported at https://github.com/rust-lang/rust/pull/121088). PR: 276104 Reported by: netchild MFC after: 3 days (cherry picked from commit fcfb2d6393712dee3f1f8f0c3840d14817dea416) contrib/llvm-project/llvm/lib/TargetParser/Host.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
A commit in branch stable/13 references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=b6011652be3240e9d702f28e572ea7993226aa23 commit b6011652be3240e9d702f28e572ea7993226aa23 Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2024-05-16 18:21:45 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-05-20 08:13:00 +0000 Merge commit 87f3407856e6 from llvm-project (by Phoebe Wang): [X86][Driver] Do not add `-evex512` for `-march=native` when the target doesn't support AVX512 (#91694) This prevents problems with ports that fail to build with CPUTYPE=native, if the native CPU supports AVX512F, resulting in errors like: /wrkdirs/usr/ports/archivers/libdeflate/work/libdeflate-1.20/lib/x86/adler32_template.h:197:21: error: always_inline function '_mm512_set1_epi8' requires target feature 'evex512', but would be inlined into function 'adler32_x86_avx512_vl512_vnni' that is compiled without support for 'evex512' 197 | const vec_t ones = VSET1_8(1); | ^ /wrkdirs/usr/ports/archivers/libdeflate/work/libdeflate-1.20/lib/x86/adler32_template.h:116:23: note: expanded from macro 'VSET1_8' 116 | # define VSET1_8(a) _mm512_set1_epi8(a) | ^ /wrkdirs/usr/ports/archivers/libdeflate/work/libdeflate-1.20/lib/x86/adler32_template.h:197:21: error: AVX vector return of type '__m512i' (vector of 8 'long long' values) without 'evex512' enabled changes the ABI /wrkdirs/usr/ports/archivers/libdeflate/work/libdeflate-1.20/lib/x86/adler32_template.h:116:23: note: expanded from macro 'VSET1_8' 116 | # define VSET1_8(a) _mm512_set1_epi8(a) | ^ Ports known to be affected are: archivers/libdeflate, devel/highway, www/node20, and lang/rust. (For rust itself there is also a similar issue reported at https://github.com/rust-lang/rust/pull/121088). PR: 276104 Reported by: netchild MFC after: 3 days (cherry picked from commit fcfb2d6393712dee3f1f8f0c3840d14817dea416) contrib/llvm-project/llvm/lib/TargetParser/Host.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
A commit in branch releng/14.1 references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=2f9bf48e797e095df48d4668ab48347baaf9fc88 commit 2f9bf48e797e095df48d4668ab48347baaf9fc88 Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2024-05-16 18:21:45 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-05-20 17:06:20 +0000 Merge commit 87f3407856e6 from llvm-project (by Phoebe Wang): [X86][Driver] Do not add `-evex512` for `-march=native` when the target doesn't support AVX512 (#91694) This prevents problems with ports that fail to build with CPUTYPE=native, if the native CPU supports AVX512F, resulting in errors like: /wrkdirs/usr/ports/archivers/libdeflate/work/libdeflate-1.20/lib/x86/adler32_template.h:197:21: error: always_inline function '_mm512_set1_epi8' requires target feature 'evex512', but would be inlined into function 'adler32_x86_avx512_vl512_vnni' that is compiled without support for 'evex512' 197 | const vec_t ones = VSET1_8(1); | ^ /wrkdirs/usr/ports/archivers/libdeflate/work/libdeflate-1.20/lib/x86/adler32_template.h:116:23: note: expanded from macro 'VSET1_8' 116 | # define VSET1_8(a) _mm512_set1_epi8(a) | ^ /wrkdirs/usr/ports/archivers/libdeflate/work/libdeflate-1.20/lib/x86/adler32_template.h:197:21: error: AVX vector return of type '__m512i' (vector of 8 'long long' values) without 'evex512' enabled changes the ABI /wrkdirs/usr/ports/archivers/libdeflate/work/libdeflate-1.20/lib/x86/adler32_template.h:116:23: note: expanded from macro 'VSET1_8' 116 | # define VSET1_8(a) _mm512_set1_epi8(a) | ^ Ports known to be affected are: archivers/libdeflate, devel/highway, www/node20, and lang/rust. (For rust itself there is also a similar issue reported at https://github.com/rust-lang/rust/pull/121088). PR: 276104 Reported by: netchild Approved by: re (cperciva) MFC after: 3 days (cherry picked from commit fcfb2d6393712dee3f1f8f0c3840d14817dea416) (cherry picked from commit 14efb9bb710486a6fba349ec1b4b1b94a9a5a089) contrib/llvm-project/llvm/lib/TargetParser/Host.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=3a0793336edfc21cb6d4c8c5c5d7f1665f3e6c5a commit 3a0793336edfc21cb6d4c8c5c5d7f1665f3e6c5a Merge: a216e311a70c c6bcacc7c9d8 Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2024-05-24 15:51:19 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-05-24 15:58:04 +0000 Merge llvm-project release/18.x llvmorg-18.1.6-0-g1118c2e05e67 This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvm-project release/18.x llvmorg-18.1.6-0-g1118c2e05e67. PR: 276104 MFC after: 3 days .../clang/lib/CodeGen/CodeGenModule.cpp | 14 +++++ .../clang/lib/Driver/ToolChains/OpenBSD.cpp | 3 +- .../clang/lib/Format/UnwrappedLineParser.cpp | 7 ++- .../clang/lib/Format/WhitespaceManager.cpp | 2 +- .../clang/lib/Interpreter/IncrementalParser.cpp | 24 ++++++-- .../clang/lib/Interpreter/IncrementalParser.h | 5 ++ .../llvm-project/clang/lib/Sema/SemaTemplate.cpp | 25 +++++++-- contrib/llvm-project/libcxx/src/atomic.cpp | 16 +++++- contrib/llvm-project/libcxx/src/chrono.cpp | 4 +- contrib/llvm-project/lld/ELF/Relocations.cpp | 5 +- .../llvm/include/llvm/CodeGen/MachineFrameInfo.h | 7 +++ .../llvm/lib/Analysis/InstructionSimplify.cpp | 4 ++ .../lib/CodeGen/InterleavedLoadCombinePass.cpp | 3 + .../CodeGen/SelectionDAG/SelectionDAGBuilder.cpp | 3 +- .../Target/AArch64/AArch64Arm64ECCallLowering.cpp | 16 ++++-- .../lib/Target/AArch64/AArch64ISelLowering.cpp | 3 +- .../AArch64/GISel/AArch64GlobalISelUtils.cpp | 6 ++ .../Target/AArch64/GISel/AArch64LegalizerInfo.cpp | 1 + .../AArch64/GISel/AArch64RegisterBankInfo.cpp | 5 +- .../llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp | 2 +- .../llvm/lib/Target/AMDGPU/SIInstrInfo.h | 11 ++++ .../llvm/lib/Target/AMDGPU/SOPInstructions.td | 2 +- .../llvm/lib/Target/PowerPC/PPCMergeStringPool.cpp | 57 ++++++------------- .../Target/RISCV/MCTargetDesc/RISCVELFStreamer.cpp | 8 +-- .../Target/RISCV/MCTargetDesc/RISCVELFStreamer.h | 1 - .../lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.cpp | 2 - .../RISCV/MCTargetDesc/RISCVTargetStreamer.cpp | 5 ++ .../RISCV/MCTargetDesc/RISCVTargetStreamer.h | 5 ++ .../llvm/lib/Target/RISCV/RISCVAsmPrinter.cpp | 32 +++++++++-- .../lib/Target/RISCV/RISCVExpandPseudoInsts.cpp | 5 +- .../llvm/lib/Target/RISCV/RISCVFeatures.td | 5 ++ .../llvm/lib/Target/RISCV/RISCVISelLowering.cpp | 9 ++- .../llvm/lib/Target/SystemZ/SystemZInstrInfo.cpp | 65 +++++++++++++--------- .../llvm/lib/Target/X86/X86ISelLowering.cpp | 6 +- .../llvm/lib/Target/X86/X86InstrAVX512.td | 42 +++++++------- .../llvm/lib/Transforms/IPO/FunctionAttrs.cpp | 7 ++- .../llvm/lib/Transforms/IPO/GlobalOpt.cpp | 3 + .../Transforms/InstCombine/InstCombineSelect.cpp | 14 ++++- .../lib/Transforms/Vectorize/SLPVectorizer.cpp | 21 +------ lib/clang/include/VCSVersion.inc | 6 +- lib/clang/include/clang/Basic/Version.inc | 6 +- lib/clang/include/lld/Common/Version.inc | 2 +- lib/clang/include/lldb/Version/Version.inc | 6 +- lib/clang/include/llvm/Config/config.h | 4 +- lib/clang/include/llvm/Config/llvm-config.h | 4 +- lib/clang/include/llvm/Support/VCSRevision.h | 2 +- 46 files changed, 316 insertions(+), 169 deletions(-)
A commit in branch stable/14 references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=f1e3279983d6db1001af5fc9fb3a9821a1c353ef commit f1e3279983d6db1001af5fc9fb3a9821a1c353ef Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2024-05-24 15:51:19 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-05-28 05:25:48 +0000 Merge llvm-project release/18.x llvmorg-18.1.6-0-g1118c2e05e67 This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvm-project release/18.x llvmorg-18.1.6-0-g1118c2e05e67. PR: 276104 MFC after: 3 days (cherry picked from commit 3a0793336edfc21cb6d4c8c5c5d7f1665f3e6c5a) .../clang/lib/CodeGen/CodeGenModule.cpp | 14 +++++ .../clang/lib/Driver/ToolChains/OpenBSD.cpp | 3 +- .../clang/lib/Format/UnwrappedLineParser.cpp | 7 ++- .../clang/lib/Format/WhitespaceManager.cpp | 2 +- .../clang/lib/Interpreter/IncrementalParser.cpp | 24 ++++++-- .../clang/lib/Interpreter/IncrementalParser.h | 5 ++ .../llvm-project/clang/lib/Sema/SemaTemplate.cpp | 25 +++++++-- contrib/llvm-project/libcxx/src/atomic.cpp | 16 +++++- contrib/llvm-project/libcxx/src/chrono.cpp | 4 +- contrib/llvm-project/lld/ELF/Relocations.cpp | 5 +- .../llvm/include/llvm/CodeGen/MachineFrameInfo.h | 7 +++ .../llvm/lib/Analysis/InstructionSimplify.cpp | 4 ++ .../lib/CodeGen/InterleavedLoadCombinePass.cpp | 3 + .../CodeGen/SelectionDAG/SelectionDAGBuilder.cpp | 3 +- .../Target/AArch64/AArch64Arm64ECCallLowering.cpp | 16 ++++-- .../lib/Target/AArch64/AArch64ISelLowering.cpp | 3 +- .../AArch64/GISel/AArch64GlobalISelUtils.cpp | 6 ++ .../Target/AArch64/GISel/AArch64LegalizerInfo.cpp | 1 + .../AArch64/GISel/AArch64RegisterBankInfo.cpp | 5 +- .../llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp | 2 +- .../llvm/lib/Target/AMDGPU/SIInstrInfo.h | 11 ++++ .../llvm/lib/Target/AMDGPU/SOPInstructions.td | 2 +- .../llvm/lib/Target/PowerPC/PPCMergeStringPool.cpp | 57 ++++++------------- .../Target/RISCV/MCTargetDesc/RISCVELFStreamer.cpp | 8 +-- .../Target/RISCV/MCTargetDesc/RISCVELFStreamer.h | 1 - .../lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.cpp | 2 - .../RISCV/MCTargetDesc/RISCVTargetStreamer.cpp | 5 ++ .../RISCV/MCTargetDesc/RISCVTargetStreamer.h | 5 ++ .../llvm/lib/Target/RISCV/RISCVAsmPrinter.cpp | 32 +++++++++-- .../lib/Target/RISCV/RISCVExpandPseudoInsts.cpp | 5 +- .../llvm/lib/Target/RISCV/RISCVFeatures.td | 5 ++ .../llvm/lib/Target/RISCV/RISCVISelLowering.cpp | 9 ++- .../llvm/lib/Target/SystemZ/SystemZInstrInfo.cpp | 65 +++++++++++++--------- .../llvm/lib/Target/X86/X86ISelLowering.cpp | 6 +- .../llvm/lib/Target/X86/X86InstrAVX512.td | 42 +++++++------- .../llvm/lib/Transforms/IPO/FunctionAttrs.cpp | 7 ++- .../llvm/lib/Transforms/IPO/GlobalOpt.cpp | 3 + .../Transforms/InstCombine/InstCombineSelect.cpp | 14 ++++- .../lib/Transforms/Vectorize/SLPVectorizer.cpp | 21 +------ lib/clang/include/VCSVersion.inc | 6 +- lib/clang/include/clang/Basic/Version.inc | 6 +- lib/clang/include/lld/Common/Version.inc | 2 +- lib/clang/include/lldb/Version/Version.inc | 6 +- lib/clang/include/llvm/Config/config.h | 4 +- lib/clang/include/llvm/Config/llvm-config.h | 4 +- lib/clang/include/llvm/Support/VCSRevision.h | 2 +- 46 files changed, 316 insertions(+), 169 deletions(-)
A commit in branch stable/13 references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=70be2f0deb0f49e1f454b6d8e80cf56a24322a54 commit 70be2f0deb0f49e1f454b6d8e80cf56a24322a54 Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2024-05-24 15:51:19 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-05-28 05:26:45 +0000 Merge llvm-project release/18.x llvmorg-18.1.6-0-g1118c2e05e67 This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvm-project release/18.x llvmorg-18.1.6-0-g1118c2e05e67. PR: 276104 MFC after: 3 days (cherry picked from commit 3a0793336edfc21cb6d4c8c5c5d7f1665f3e6c5a) .../clang/lib/CodeGen/CodeGenModule.cpp | 14 +++++ .../clang/lib/Driver/ToolChains/OpenBSD.cpp | 3 +- .../clang/lib/Format/UnwrappedLineParser.cpp | 7 ++- .../clang/lib/Format/WhitespaceManager.cpp | 2 +- .../clang/lib/Interpreter/IncrementalParser.cpp | 24 ++++++-- .../clang/lib/Interpreter/IncrementalParser.h | 5 ++ .../llvm-project/clang/lib/Sema/SemaTemplate.cpp | 25 +++++++-- contrib/llvm-project/libcxx/src/atomic.cpp | 16 +++++- contrib/llvm-project/libcxx/src/chrono.cpp | 4 +- contrib/llvm-project/lld/ELF/Relocations.cpp | 5 +- .../llvm/include/llvm/CodeGen/MachineFrameInfo.h | 7 +++ .../llvm/lib/Analysis/InstructionSimplify.cpp | 4 ++ .../lib/CodeGen/InterleavedLoadCombinePass.cpp | 3 + .../CodeGen/SelectionDAG/SelectionDAGBuilder.cpp | 3 +- .../Target/AArch64/AArch64Arm64ECCallLowering.cpp | 16 ++++-- .../lib/Target/AArch64/AArch64ISelLowering.cpp | 3 +- .../AArch64/GISel/AArch64GlobalISelUtils.cpp | 6 ++ .../Target/AArch64/GISel/AArch64LegalizerInfo.cpp | 1 + .../AArch64/GISel/AArch64RegisterBankInfo.cpp | 5 +- .../llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp | 2 +- .../llvm/lib/Target/AMDGPU/SIInstrInfo.h | 11 ++++ .../llvm/lib/Target/AMDGPU/SOPInstructions.td | 2 +- .../llvm/lib/Target/PowerPC/PPCMergeStringPool.cpp | 57 ++++++------------- .../Target/RISCV/MCTargetDesc/RISCVELFStreamer.cpp | 8 +-- .../Target/RISCV/MCTargetDesc/RISCVELFStreamer.h | 1 - .../lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.cpp | 2 - .../RISCV/MCTargetDesc/RISCVTargetStreamer.cpp | 5 ++ .../RISCV/MCTargetDesc/RISCVTargetStreamer.h | 5 ++ .../llvm/lib/Target/RISCV/RISCVAsmPrinter.cpp | 32 +++++++++-- .../lib/Target/RISCV/RISCVExpandPseudoInsts.cpp | 5 +- .../llvm/lib/Target/RISCV/RISCVFeatures.td | 5 ++ .../llvm/lib/Target/RISCV/RISCVISelLowering.cpp | 9 ++- .../llvm/lib/Target/SystemZ/SystemZInstrInfo.cpp | 65 +++++++++++++--------- .../llvm/lib/Target/X86/X86ISelLowering.cpp | 6 +- .../llvm/lib/Target/X86/X86InstrAVX512.td | 42 +++++++------- .../llvm/lib/Transforms/IPO/FunctionAttrs.cpp | 7 ++- .../llvm/lib/Transforms/IPO/GlobalOpt.cpp | 3 + .../Transforms/InstCombine/InstCombineSelect.cpp | 14 ++++- .../lib/Transforms/Vectorize/SLPVectorizer.cpp | 21 +------ lib/clang/include/VCSVersion.inc | 6 +- lib/clang/include/clang/Basic/Version.inc | 6 +- lib/clang/include/lld/Common/Version.inc | 2 +- lib/clang/include/lldb/Version/Version.inc | 6 +- lib/clang/include/llvm/Config/config.h | 4 +- lib/clang/include/llvm/Config/llvm-config.h | 4 +- lib/clang/include/llvm/Support/VCSRevision.h | 2 +- 46 files changed, 316 insertions(+), 169 deletions(-)
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=f30188c4680a85126e793de157b851bf5ee47529 commit f30188c4680a85126e793de157b851bf5ee47529 Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2024-05-30 15:35:15 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-05-30 15:35:15 +0000 Merge commit 9f85bc834b07 from llvm-project (by Nikita Popov): [PPCMergeStringPool] Only replace constant once (#92996) In #88846 I changed this code to use RAUW to perform the replacement instead of manual updates -- but kept the outer loop, which means we try to perform RAUW once per user. However, some of the users might be freed by the RAUW operation, resulting in use-after-free. The case where this happens is constant users where the replacement might result in the destruction of the original constant. Fixes https://github.com/llvm/llvm-project/issues/92991. This fixes a possible crash when building crypto/openssh/sshkey.c for PowerPC targets. Reported by: cperciva PR: 276104 MFC after: 3 days .../llvm/lib/Target/PowerPC/PPCMergeStringPool.cpp | 37 ++++------------------ 1 file changed, 7 insertions(+), 30 deletions(-)
A commit in branch stable/14 references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=f5fb251a553e95a84fcff8ed4a79a9659582019a commit f5fb251a553e95a84fcff8ed4a79a9659582019a Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2024-05-30 15:35:15 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-06-02 09:30:42 +0000 Merge commit 9f85bc834b07 from llvm-project (by Nikita Popov): [PPCMergeStringPool] Only replace constant once (#92996) In #88846 I changed this code to use RAUW to perform the replacement instead of manual updates -- but kept the outer loop, which means we try to perform RAUW once per user. However, some of the users might be freed by the RAUW operation, resulting in use-after-free. The case where this happens is constant users where the replacement might result in the destruction of the original constant. Fixes https://github.com/llvm/llvm-project/issues/92991. This fixes a possible crash when building crypto/openssh/sshkey.c for PowerPC targets. Reported by: cperciva PR: 276104 MFC after: 3 days (cherry picked from commit f30188c4680a85126e793de157b851bf5ee47529) .../llvm/lib/Target/PowerPC/PPCMergeStringPool.cpp | 37 ++++------------------ 1 file changed, 7 insertions(+), 30 deletions(-)
A commit in branch stable/13 references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=c7f08a11dfbc4a49f7f11a2a4a92f41bfa5ec622 commit c7f08a11dfbc4a49f7f11a2a4a92f41bfa5ec622 Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2024-05-30 15:35:15 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-06-02 09:30:46 +0000 Merge commit 9f85bc834b07 from llvm-project (by Nikita Popov): [PPCMergeStringPool] Only replace constant once (#92996) In #88846 I changed this code to use RAUW to perform the replacement instead of manual updates -- but kept the outer loop, which means we try to perform RAUW once per user. However, some of the users might be freed by the RAUW operation, resulting in use-after-free. The case where this happens is constant users where the replacement might result in the destruction of the original constant. Fixes https://github.com/llvm/llvm-project/issues/92991. This fixes a possible crash when building crypto/openssh/sshkey.c for PowerPC targets. Reported by: cperciva PR: 276104 MFC after: 3 days (cherry picked from commit f30188c4680a85126e793de157b851bf5ee47529) .../llvm/lib/Target/PowerPC/PPCMergeStringPool.cpp | 37 ++++------------------ 1 file changed, 7 insertions(+), 30 deletions(-)