SuccessChanges

Summary

  1. [SLP] Merge null and dyn_cast<> checks into dyn_cast_or_null<>. NFCI. (details)
  2. [MLIR][Standard] Add `atan` to standard dialect (details)
  3. [SyntaxTree] Add tests for the assignment of the `canModify` tag. (details)
  4. [SLP] clean up code in gather(); NFC (details)
  5. [SLP] move misplaced code comments; NFC (details)
  6. [SLP] reduce code duplication for checking parent block; NFC (details)
  7. [PowerPC] Fix for compiler side issue in PCRelative Local Exec (details)
  8. [NFC][mlir] Remove llvm:: prefix from SmallVector in parallel pretty printer. (details)
  9. [AIX][clang][driver] Make sure crti[_64].o is linked in C++ mode (details)
  10. [X86] Cleanup/add namespace closure comments. NFCI. (details)
  11. [X86] Add missing namespace closure comments. NFCI. (details)
  12. [PeepholeOptimizer] Enhance the redundant COPY elimination. (details)
  13. [VPlan] Add dump() helper to VPValue & VPRecipeBase. (details)
  14. [lld-macho] minimally handle option -dynamic (details)
  15. [AIX][compiler-rt] Use the AR/ranlib mode flag for 32-bit and 64-bit mode (details)
  16. [libc++] Implement C++20's P0784 (More constexpr containers) (details)
  17. [GVNSink][NewPM] Add GVNSinkPass to PassRegistry.def (details)
  18. [scudo][standalone] Remove the pthread key from the shared TSD (details)
  19. [ThinLTO] Re-order modules for optimal multi-threaded processing (details)
  20. [DI][ASan][NewPM] Fix some DebugInfo ASan tests under NPM (details)
  21. Sema: introduce `__attribute__((__swift_name__))` (details)
  22. [OpenMPOpt] Refactored "issue" and "wait" declarations for data map runtime call. (details)
Commit d682a36ef9dace4887c42d392110ea21eb9e31a6 by llvm-dev
[SLP] Merge null and dyn_cast<> checks into dyn_cast_or_null<>. NFCI.
The file was modifiedllvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Commit e952bb709ff70e45c80434fbb8e0b97b52afcf01 by frgossen
[MLIR][Standard] Add `atan` to standard dialect

Differential Revision: https://reviews.llvm.org/D88091
The file was modifiedmlir/include/mlir/Dialect/StandardOps/IR/Ops.td
Commit 6dc06fa09d1a259df1f897dc821ba1544e2bcd24 by ecaldas
[SyntaxTree] Add tests for the assignment of the `canModify` tag.

Differential Revision: https://reviews.llvm.org/D88077
The file was modifiedclang/unittests/Tooling/Syntax/BuildTreeTest.cpp
Commit 062276c691099f977e69c101f21c1a9ac549f283 by spatel
[SLP] clean up code in gather(); NFC

1. Use range for-loop to avoid repeatedly accessing end index.
2. Better variable names.
The file was modifiedllvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Commit bbd49a0266921ce68a8581b8ae3d5c88eda8c679 by spatel
[SLP] move misplaced code comments; NFC
The file was modifiedllvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Commit 0c3bfbe4bc212c8e6b54ffd6d9f59ae513e31247 by spatel
[SLP] reduce code duplication for checking parent block; NFC
The file was modifiedllvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Commit 7e78d89052b15f32ea56f018698194c7c9627152 by stefanp
[PowerPC] Fix for compiler side issue in PCRelative Local Exec

Stop combining loads and stores with PPCISD::ADD_TLS before we can merge the
node with with TLS_LOCAL_EXEC_MAT_ADDR. The issue is that
TLS_LOCAL_EXEC_MAT_ADDR cannot be selected by itself and requires the previous
ADD_TLS node that goes with it. However, we sometimes try to combine ADD_TLS
with loads and stores that come after it. If this happens then the ADD_TLS is
removed and TLS_LOCAL_EXEC_MAT_ADDR cannot be selected.

While this bug fix will address the issue it my not be ideal from a performance
perspective as we may be able to add patterns to combine TLS_LOCAL_EXEC_MAT_ADDR
with ADD_TLS with the load and store that comes after it all in one. However,
this is beyond the scope of this patch.

Reviewed By: NeHuang

Differential Revision: https://reviews.llvm.org/D88030
The file was modifiedllvm/test/CodeGen/PowerPC/pcrel-tls-local-exec.ll
The file was modifiedllvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp
Commit bf202b8ce77caaace45de87314d2263e53f81021 by david.truby
[NFC][mlir] Remove llvm:: prefix from SmallVector in parallel pretty printer.

This prefix is unnecessary as SmallVector is re-exported in the mlir namespace.

Differential Revision: https://reviews.llvm.org/D88025
The file was modifiedmlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
Commit e8fb4eba4fb6cbda661080d76059f2b130df5020 by daltenty
[AIX][clang][driver] Make sure crti[_64].o is linked in C++ mode

since crti is required for functional static initialization.

Reviewed By: hubert.reinterpretcast

Differential Revision: https://reviews.llvm.org/D87927
The file was modifiedclang/test/Driver/aix-ld.c
The file was modifiedclang/lib/Driver/ToolChains/AIX.cpp
Commit af712986488f5f2d37a35224a04d1dc9d57f32d2 by llvm-dev
[X86] Cleanup/add namespace closure comments. NFCI.

Fixes some clang-tidy llvm-namespace-comment warnings.
The file was modifiedllvm/lib/Target/X86/MCTargetDesc/X86ShuffleDecode.cpp
The file was modifiedllvm/lib/Target/X86/MCTargetDesc/X86WinCOFFStreamer.cpp
The file was modifiedllvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
The file was modifiedllvm/lib/Target/X86/MCTargetDesc/X86MachObjectWriter.cpp
Commit 0793b45660a9cfcc83a3f3ab326b8794782c461c by llvm-dev
[X86] Add missing namespace closure comments. NFCI.

Fixes some clang-tidy llvm-namespace-comment warnings.
The file was modifiedllvm/lib/Target/X86/X86WinEHState.cpp
The file was modifiedllvm/lib/Target/X86/Disassembler/X86Disassembler.cpp
The file was modifiedllvm/lib/Target/X86/X86ShuffleDecodeConstantPool.cpp
Commit 534f6e171808cfe9f3f9e3de7e754715d038c409 by michael.hliao
[PeepholeOptimizer] Enhance the redundant COPY elimination.

- Eliminate redundant COPYs from the same register & subregister pair.

Differential Revision: https://reviews.llvm.org/D87939
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/extractelement.i128.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/sdiv.i64.ll
The file was modifiedllvm/lib/CodeGen/PeepholeOptimizer.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/waitcnt-vscnt.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/srem.i64.ll
The file was addedllvm/test/CodeGen/AMDGPU/sgpr-copy-local-cse.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vcvt16.ll
Commit c671e34bf2ae0eaa78d214b849ddd5de30b3b5be by flo
[VPlan] Add dump() helper to VPValue & VPRecipeBase.

This provides a convenient way to print VPValues and recipes in a
debugger. In particular it saves the user from instantiating
VPSlotTracker to print recipes or values.
The file was modifiedllvm/lib/Transforms/Vectorize/VPlanValue.h
The file was modifiedllvm/lib/Transforms/Vectorize/VPlan.cpp
The file was modifiedllvm/lib/Transforms/Vectorize/VPlan.h
Commit 7afbf3192dc5690285edbfb336c061a9d43e247e by gkm
[lld-macho] minimally handle option -dynamic

Stifle the warning for unimplemented option `-dyamic`, since it is already the default. Add `Config::staticLink` and skeletal support for altering the flag, but otherwise leave the option `-static` as hidden and its warning in place.

Differential Revision: https://reviews.llvm.org/D88045
The file was modifiedlld/MachO/Driver.cpp
The file was modifiedlld/MachO/Options.td
The file was modifiedlld/MachO/Config.h
Commit 89074bdc813a0e8bd9ff5e69e76b134dc7ae1bd9 by daltenty
[AIX][compiler-rt] Use the AR/ranlib mode flag for 32-bit and 64-bit mode

since we will be building both 32-bit and 64-bit compiler-rt builtins
from a single configuration.

Reviewed By: hubert.reinterpretcast

Differential Revision: https://reviews.llvm.org/D87113
The file was modifiedcompiler-rt/CMakeLists.txt
The file was modifiedcompiler-rt/lib/builtins/CMakeLists.txt
Commit 0724f8bf47f8cb073d41e2750d45d5b05e66bf0b by Louis Dionne
[libc++] Implement C++20's P0784 (More constexpr containers)

This commit adds std::construct_at, and marks various members of
std::allocator_traits and std::allocator as constexpr. It also adds
tests and turns the existing tests into hybrid constexpr/runtime tests.

Thanks to Richard Smith for initial work on this, and to Michael Park
for D69803, D69132 and D69134, which are superseded by this patch.

Differential Revision: https://reviews.llvm.org/D68364
The file was modifiedlibcxx/include/version
The file was modifiedlibcxx/test/std/utilities/memory/specialized.algorithms/specialized.destroy/destroy_at.pass.cpp
The file was addedlibcxx/test/std/utilities/memory/specialized.algorithms/specialized.construct/construct_at.pass.cpp
The file was modifiedlibcxx/test/std/utilities/memory/allocator.traits/allocator.traits.members/allocate.pass.cpp
The file was modifiedlibcxx/test/std/utilities/memory/specialized.algorithms/specialized.destroy/destroy.pass.cpp
The file was modifiedlibcxx/docs/FeatureTestMacroTable.rst
The file was modifiedlibcxx/test/std/utilities/memory/specialized.algorithms/specialized.destroy/destroy_n.pass.cpp
The file was modifiedlibcxx/test/std/utilities/memory/allocator.traits/allocator.traits.members/allocate_hint.pass.cpp
The file was modifiedlibcxx/include/memory
The file was modifiedlibcxx/test/std/utilities/memory/allocator.traits/allocator.traits.members/construct.pass.cpp
The file was modifiedlibcxx/test/std/utilities/memory/default.allocator/allocator.globals/eq.pass.cpp
The file was modifiedlibcxx/test/std/language.support/support.limits/support.limits.general/version.version.pass.cpp
The file was addedlibcxx/test/std/utilities/memory/default.allocator/allocator.dtor.pass.cpp
The file was modifiedlibcxx/test/std/utilities/memory/default.allocator/allocator.members/allocate.size.pass.cpp
The file was modifiedlibcxx/test/std/utilities/memory/allocator.traits/allocator.traits.members/max_size.pass.cpp
The file was modifiedlibcxx/test/std/utilities/memory/allocator.traits/allocator.traits.members/destroy.pass.cpp
The file was modifiedlibcxx/utils/generate_feature_test_macro_components.py
The file was modifiedlibcxx/test/std/language.support/support.limits/support.limits.general/memory.version.pass.cpp
The file was modifiedlibcxx/test/std/containers/sequences/vector/vector.cons/copy.move_only.verify.cpp
The file was modifiedlibcxx/test/std/utilities/memory/allocator.traits/allocator.traits.members/select_on_container_copy_construction.pass.cpp
The file was modifiedlibcxx/www/cxx2a_status.html
The file was modifiedlibcxx/test/std/utilities/memory/default.allocator/allocator.members/allocate.pass.cpp
The file was addedlibcxx/test/std/utilities/memory/default.allocator/allocator.members/allocate.constexpr.size.verify.cpp
The file was modifiedlibcxx/include/new
The file was modifiedlibcxx/test/std/utilities/memory/allocator.traits/allocator.traits.members/allocate.verify.cpp
The file was modifiedlibcxx/test/std/utilities/memory/default.allocator/allocator_types.pass.cpp
The file was modifiedlibcxx/test/std/utilities/memory/allocator.traits/allocator.traits.members/deallocate.pass.cpp
Commit a031ef6f3ab451d797763275ce4bc658aa940794 by aeubanks
[GVNSink][NewPM] Add GVNSinkPass to PassRegistry.def
The file was modifiedllvm/test/Transforms/GVNSink/struct.ll
The file was modifiedllvm/lib/Passes/PassRegistry.def
Commit 7b51961cd0748ed5bd3b6fdacbfe596c374c93bc by kostyak
[scudo][standalone] Remove the pthread key from the shared TSD

https://reviews.llvm.org/D87420 removed the uses of the pthread key,
but the key itself was left in the shared TSD registry. It is created
on registry initialization, and destroyed on registry teardown.

There is really no use for it now, so we can just remove it.

Differential Revision: https://reviews.llvm.org/D88046
The file was modifiedcompiler-rt/lib/scudo/standalone/tsd_shared.h
Commit 6537004913f3009d896bc30856698e7d22199ba7 by alexandre.ganea
[ThinLTO] Re-order modules for optimal multi-threaded processing

Re-use an optimizition from the old LTO API (used by ld64).
This sorts modules in ascending order, based on bitcode size, so that larger modules are processed first. This allows for smaller modules to be process last, and better fill free threads 'slots', and thusly allow for better multi-thread load balancing.

In our case (on dual Intel Xeon Gold 6140, Windows 10 version 2004, two-stage build), this saves 15 sec when linking `clang.exe` with LLD & `-flto=thin`, `/opt:lldltojobs=all`, no ThinLTO cache, -DLLVM_INTEGRATED_CRT_ALLOC=d:\git\rpmalloc.

Before patch: 102 sec
After patch: 85 sec

Inspired by the work done by David Callahan in D60495.

Differential Revision: https://reviews.llvm.org/D87966
The file was modifiedllvm/include/llvm/LTO/LTO.h
The file was modifiedllvm/lib/LTO/LTO.cpp
The file was modifiedllvm/lib/LTO/ThinLTOCodeGenerator.cpp
Commit be2158bdccda5e7c3d9492654500293f8399b87c by aeubanks
[DI][ASan][NewPM] Fix some DebugInfo ASan tests under NPM
The file was modifiedllvm/test/DebugInfo/X86/asan_debug_info.ll
The file was modifiedllvm/test/DebugInfo/Generic/block-asan.ll
Commit 9bb5ecf1f760e1b1fe4697189e4db99100baffad by Saleem Abdulrasool
Sema: introduce `__attribute__((__swift_name__))`

This introduces the new `swift_name` attribute that allows annotating
APIs with an alternate spelling for Swift.  This is used as part of the
importing mechanism to allow interfaces to be imported with a new name
into Swift.  It takes a parameter which is the Swift function name.
This parameter is validated to check if it matches the possible
transformed signature in Swift.

This is based on the work of the original changes in
https://github.com/llvm/llvm-project-staging/commit/8afaf3aad2af43cfedca7a24cd817848c4e95c0c

Differential Revision: https://reviews.llvm.org/D87534
Reviewed By: Aaron Ballman, Dmitri Gribenko
The file was modifiedclang/include/clang/Basic/DiagnosticGroups.td
The file was addedclang/test/SemaObjC/attr-swift_name.m
The file was modifiedclang/include/clang/Basic/AttrDocs.td
The file was modifiedclang/lib/Sema/SemaDeclAttr.cpp
The file was modifiedclang/include/clang/Basic/Attr.td
The file was modifiedclang/include/clang/Sema/Sema.h
The file was modifiedclang/lib/Sema/SemaDecl.cpp
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td
Commit bd31abc1d0f17536fcd85f4dfcc79d37834aac20 by htobonmm7
[OpenMPOpt] Refactored "issue" and "wait" declarations for data map runtime call.

Refactored __tgt_target_data_begin_mapper_<issue|wait> to receive the handle as an input/output argument.
This given the compiler warning of returning the handle as copy.

Differential Revision: https://reviews.llvm.org/D88029
The file was modifiedllvm/lib/Transforms/IPO/OpenMPOpt.cpp
The file was modifiedllvm/include/llvm/Frontend/OpenMP/OMPKinds.def
The file was modifiedllvm/test/Transforms/OpenMP/hide_mem_transfer_latency.ll