Progress:
In progressChanges

Summary

  1. Revert rGf835779160ec303 "[APFloat] multiplySignificand - always pass IEEEFloat as const reference. NFCI." (details)
  2. [lldb] Ignore certain Clang type sugar when creating the type name (details)
  3. [ARM][TTI] Prevents constants in a min(max) or max(min) pattern from being hoisted when in a loop (details)
  4. [SCEV] Handle `less` predicates for FoundPred = NE (details)
  5. [SystemZ][z/OS] Set default wchar_t type for zOS (details)
  6. [LLD][PowerPC][test] Update thunk range error report for PPC64PCRelLongBranchThunk (details)
  7. [ARM] Trying to fix asan buildbot (details)
  8. [libc++] NFC: Remove trailing whitespace from the feature test macro table (details)
  9. [SLP] Merge null and dyn_cast<> checks into dyn_cast_or_null<>. NFCI. (details)
  10. [MLIR][Standard] Add `atan` to standard dialect (details)
  11. [SyntaxTree] Add tests for the assignment of the `canModify` tag. (details)
  12. [SLP] clean up code in gather(); NFC (details)
  13. [SLP] move misplaced code comments; NFC (details)
  14. [SLP] reduce code duplication for checking parent block; NFC (details)
  15. [PowerPC] Fix for compiler side issue in PCRelative Local Exec (details)
  16. [NFC][mlir] Remove llvm:: prefix from SmallVector in parallel pretty printer. (details)
  17. [AIX][clang][driver] Make sure crti[_64].o is linked in C++ mode (details)
  18. [X86] Cleanup/add namespace closure comments. NFCI. (details)
  19. [X86] Add missing namespace closure comments. NFCI. (details)
  20. [PeepholeOptimizer] Enhance the redundant COPY elimination. (details)
  21. [VPlan] Add dump() helper to VPValue & VPRecipeBase. (details)
  22. [lld-macho] minimally handle option -dynamic (details)
  23. [AIX][compiler-rt] Use the AR/ranlib mode flag for 32-bit and 64-bit mode (details)
  24. [libc++] Implement C++20's P0784 (More constexpr containers) (details)
  25. [GVNSink][NewPM] Add GVNSinkPass to PassRegistry.def (details)
  26. [scudo][standalone] Remove the pthread key from the shared TSD (details)
  27. [ThinLTO] Re-order modules for optimal multi-threaded processing (details)
  28. [DI][ASan][NewPM] Fix some DebugInfo ASan tests under NPM (details)
  29. Sema: introduce `__attribute__((__swift_name__))` (details)
  30. [OpenMPOpt] Refactored "issue" and "wait" declarations for data map runtime call. (details)
Commit a15b42146c617777b364e3b63babf1de547b9f26 by llvm-dev
Revert rGf835779160ec303 "[APFloat] multiplySignificand - always pass IEEEFloat as const reference. NFCI."

This reverts commit f835779160ec30340676918915526615a07e826e while I investigate some buildbot failures
The file was modifiedllvm/include/llvm/ADT/APFloat.h (diff)
The file was modifiedllvm/lib/Support/APFloat.cpp (diff)
Commit b5e49e91cb90eda1f926139c8567e27f1b664cc1 by Raphael Isemann
[lldb] Ignore certain Clang type sugar when creating the type name

Clang has some type sugar that only serves as a way to preserve the way a user
has typed a certain type in the source code. These types are currently not
unwrapped when we query the type name for a Clang type, which means that this
type sugar actually influences what formatters are picked for a certain type.
Currently if a user decides to reference a type by doing `::GlobalDecl Var = 3;`,
the type formatter for `GlobalDecl` will not be used (as the type sugar
around the type gives it the name `::GlobalDecl`. The same goes for other ways
to spell out a type such as `auto` etc.

With this patch most of this type sugar gets stripped when the full type name is
calculated. Typedefs are not getting desugared as that seems counterproductive.
I also don't desugar atomic types as that's technically not type sugar.

Reviewed By: jarin

Differential Revision: https://reviews.llvm.org/D87481
The file was addedlldb/test/API/lang/cpp/elaborated-types/main.cpp
The file was addedlldb/test/API/lang/cpp/elaborated-types/Makefile
The file was modifiedlldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp (diff)
The file was addedlldb/test/API/lang/cpp/elaborated-types/TestElaboratedTypes.py
Commit a3d0dce2608bb399f2bf0122d8c6a4c7b4d6c1fa by meera.nakrani
[ARM][TTI] Prevents constants in a min(max) or max(min) pattern from being hoisted when in a loop

Changes TTI function getIntImmCostInst to take an additional Instruction parameter,
which enables us to be able to check it is part of a min(max())/max(min()) pattern that will match SSAT.
We can then mark the constant used as free to prevent it being hoisted so SSAT can still be generated.
Required minor changes in some non-ARM backends to allow for the optional parameter to be included.

Differential Revision: https://reviews.llvm.org/D87457
The file was modifiedllvm/lib/Transforms/Scalar/ConstantHoisting.cpp (diff)
The file was modifiedllvm/lib/Target/SystemZ/SystemZTargetTransformInfo.h (diff)
The file was modifiedllvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp (diff)
The file was modifiedllvm/lib/Target/ARM/ARMTargetTransformInfo.h (diff)
The file was modifiedllvm/lib/Target/ARM/ARMTargetTransformInfo.cpp (diff)
The file was modifiedllvm/lib/Target/SystemZ/SystemZTargetTransformInfo.cpp (diff)
The file was modifiedllvm/lib/Target/PowerPC/PPCTargetTransformInfo.h (diff)
The file was modifiedllvm/test/CodeGen/Thumb2/mve-satmul-loops.ll (diff)
The file was modifiedllvm/lib/Target/RISCV/RISCVTargetTransformInfo.h (diff)
The file was modifiedllvm/lib/Target/X86/X86TargetTransformInfo.h (diff)
The file was modifiedllvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp (diff)
The file was modifiedllvm/include/llvm/Analysis/TargetTransformInfoImpl.h (diff)
The file was modifiedllvm/lib/Target/X86/X86TargetTransformInfo.cpp (diff)
The file was modifiedllvm/include/llvm/Analysis/TargetTransformInfo.h (diff)
The file was modifiedllvm/lib/Target/AArch64/AArch64TargetTransformInfo.h (diff)
The file was modifiedllvm/lib/Target/PowerPC/PPCTargetTransformInfo.cpp (diff)
The file was modifiedllvm/lib/Analysis/TargetTransformInfo.cpp (diff)
The file was modifiedllvm/lib/Target/Lanai/LanaiTargetTransformInfo.h (diff)
Commit e2703c021d844ea0e5c1b203a4bd534e7a231997 by mkazantsev
[SCEV] Handle `less` predicates for FoundPred = NE

Currently these predicates are ignored, yet their handling is
pretty simple. I could not find a single test where it would
actually change something, but it's only because isImpliedCondOperands
is not smart enough to prove it further on. Yet the situation when
we come there with `less` predicate is pretty common.

Differential Revision: https://reviews.llvm.org/D87890
Reviewed By: fhahn
The file was modifiedllvm/lib/Analysis/ScalarEvolution.cpp (diff)
Commit 0fb97fd6a4f2ec9267a1f4d039ec8895c2460ab7 by Abhina.Sreeskantharajan
[SystemZ][z/OS] Set default wchar_t type for zOS

Set the default wchar_t type on z/OS, and unsigned as the default.

Reviewed By: hubert.reinterpretcast, fanbo-meng

Differential Revision: https://reviews.llvm.org/D87624
The file was modifiedclang/test/Preprocessor/wchar_t.c (diff)
The file was modifiedclang/test/Sema/wchar.c (diff)
The file was modifiedclang/test/Lexer/wchar-signedness.c (diff)
The file was modifiedclang/lib/Basic/Targets/OSTargets.h (diff)
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp (diff)
The file was modifiedclang/test/CodeGen/wchar-size.c (diff)
Commit 967e29ff8c8f572aceaa0f551b281a4d7c4a73bd by wei.huang
[LLD][PowerPC][test] Update thunk range error report for PPC64PCRelLongBranchThunk

Update the thunk range error report for PPC64PCRelLongBranchThunk and add a range
error test case for PPC64R12SetupStub.

Differential Revision: https://reviews.llvm.org/D87381
The file was modifiedlld/ELF/Thunks.cpp (diff)
The file was addedlld/test/ELF/ppc64-pcrel-call-to-toc-error.s
The file was modifiedlld/test/ELF/ppc64-pcrel-long-branch-error.s (diff)
Commit 94c799fecff06c614cb68976288fc7b8c9a11139 by sam.parker
[ARM] Trying to fix asan buildbot
The file was modifiedllvm/lib/Target/ARM/ARMLowOverheadLoops.cpp (diff)
Commit 0451ed961993d4f52f4083192de0e57a1b246ac6 by Louis Dionne
[libc++] NFC: Remove trailing whitespace from the feature test macro table
The file was modifiedlibcxx/utils/generate_feature_test_macro_components.py (diff)
The file was modifiedlibcxx/docs/FeatureTestMacroTable.rst (diff)
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 (diff)
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 (diff)
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 (diff)
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 (diff)
Commit bbd49a0266921ce68a8581b8ae3d5c88eda8c679 by spatel
[SLP] move misplaced code comments; NFC
The file was modifiedllvm/lib/Transforms/Vectorize/SLPVectorizer.cpp (diff)
Commit 0c3bfbe4bc212c8e6b54ffd6d9f59ae513e31247 by spatel
[SLP] reduce code duplication for checking parent block; NFC
The file was modifiedllvm/lib/Transforms/Vectorize/SLPVectorizer.cpp (diff)
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 (diff)
The file was modifiedllvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp (diff)
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 (diff)
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 (diff)
The file was modifiedclang/lib/Driver/ToolChains/AIX.cpp (diff)
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 (diff)
The file was modifiedllvm/lib/Target/X86/MCTargetDesc/X86WinCOFFStreamer.cpp (diff)
The file was modifiedllvm/lib/Target/X86/MCTargetDesc/X86MachObjectWriter.cpp (diff)
The file was modifiedllvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp (diff)
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 (diff)
The file was modifiedllvm/lib/Target/X86/Disassembler/X86Disassembler.cpp (diff)
The file was modifiedllvm/lib/Target/X86/X86ShuffleDecodeConstantPool.cpp (diff)
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 addedllvm/test/CodeGen/AMDGPU/sgpr-copy-local-cse.ll
The file was modifiedllvm/lib/CodeGen/PeepholeOptimizer.cpp (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/sdiv.i64.ll (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/waitcnt-vscnt.ll (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/srem.i64.ll (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/extractelement.i128.ll (diff)
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vcvt16.ll (diff)
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/VPlan.h (diff)
The file was modifiedllvm/lib/Transforms/Vectorize/VPlan.cpp (diff)
The file was modifiedllvm/lib/Transforms/Vectorize/VPlanValue.h (diff)
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/Config.h (diff)
The file was modifiedlld/MachO/Options.td (diff)
The file was modifiedlld/MachO/Driver.cpp (diff)
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/lib/builtins/CMakeLists.txt (diff)
The file was modifiedcompiler-rt/CMakeLists.txt (diff)
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/test/std/utilities/memory/allocator.traits/allocator.traits.members/allocate.pass.cpp (diff)
The file was modifiedlibcxx/test/std/utilities/memory/allocator.traits/allocator.traits.members/select_on_container_copy_construction.pass.cpp (diff)
The file was modifiedlibcxx/utils/generate_feature_test_macro_components.py (diff)
The file was modifiedlibcxx/test/std/utilities/memory/default.allocator/allocator.members/allocate.size.pass.cpp (diff)
The file was modifiedlibcxx/test/std/utilities/memory/default.allocator/allocator_types.pass.cpp (diff)
The file was modifiedlibcxx/test/std/utilities/memory/allocator.traits/allocator.traits.members/max_size.pass.cpp (diff)
The file was addedlibcxx/test/std/utilities/memory/default.allocator/allocator.dtor.pass.cpp
The file was modifiedlibcxx/test/std/utilities/memory/allocator.traits/allocator.traits.members/destroy.pass.cpp (diff)
The file was modifiedlibcxx/test/std/language.support/support.limits/support.limits.general/memory.version.pass.cpp (diff)
The file was modifiedlibcxx/test/std/utilities/memory/allocator.traits/allocator.traits.members/construct.pass.cpp (diff)
The file was modifiedlibcxx/test/std/utilities/memory/specialized.algorithms/specialized.destroy/destroy_at.pass.cpp (diff)
The file was modifiedlibcxx/include/new (diff)
The file was modifiedlibcxx/test/std/language.support/support.limits/support.limits.general/version.version.pass.cpp (diff)
The file was modifiedlibcxx/test/std/utilities/memory/allocator.traits/allocator.traits.members/allocate.verify.cpp (diff)
The file was modifiedlibcxx/include/memory (diff)
The file was modifiedlibcxx/include/version (diff)
The file was modifiedlibcxx/test/std/utilities/memory/specialized.algorithms/specialized.destroy/destroy.pass.cpp (diff)
The file was modifiedlibcxx/test/std/utilities/memory/allocator.traits/allocator.traits.members/allocate_hint.pass.cpp (diff)
The file was modifiedlibcxx/docs/FeatureTestMacroTable.rst (diff)
The file was modifiedlibcxx/test/std/utilities/memory/allocator.traits/allocator.traits.members/deallocate.pass.cpp (diff)
The file was modifiedlibcxx/test/std/utilities/memory/specialized.algorithms/specialized.destroy/destroy_n.pass.cpp (diff)
The file was modifiedlibcxx/test/std/utilities/memory/default.allocator/allocator.globals/eq.pass.cpp (diff)
The file was addedlibcxx/test/std/utilities/memory/specialized.algorithms/specialized.construct/construct_at.pass.cpp
The file was addedlibcxx/test/std/utilities/memory/default.allocator/allocator.members/allocate.constexpr.size.verify.cpp
The file was modifiedlibcxx/test/std/utilities/memory/default.allocator/allocator.members/allocate.pass.cpp (diff)
The file was modifiedlibcxx/www/cxx2a_status.html (diff)
The file was modifiedlibcxx/test/std/containers/sequences/vector/vector.cons/copy.move_only.verify.cpp (diff)
Commit a031ef6f3ab451d797763275ce4bc658aa940794 by aeubanks
[GVNSink][NewPM] Add GVNSinkPass to PassRegistry.def
The file was modifiedllvm/lib/Passes/PassRegistry.def (diff)
The file was modifiedllvm/test/Transforms/GVNSink/struct.ll (diff)
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 (diff)
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/lib/LTO/ThinLTOCodeGenerator.cpp (diff)
The file was modifiedllvm/lib/LTO/LTO.cpp (diff)
The file was modifiedllvm/include/llvm/LTO/LTO.h (diff)
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 (diff)
The file was modifiedllvm/test/DebugInfo/Generic/block-asan.ll (diff)
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/lib/Sema/SemaDeclAttr.cpp (diff)
The file was modifiedclang/lib/Sema/SemaDecl.cpp (diff)
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td (diff)
The file was modifiedclang/include/clang/Basic/Attr.td (diff)
The file was modifiedclang/include/clang/Sema/Sema.h (diff)
The file was modifiedclang/include/clang/Basic/DiagnosticGroups.td (diff)
The file was modifiedclang/include/clang/Basic/AttrDocs.td (diff)
The file was addedclang/test/SemaObjC/attr-swift_name.m
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/test/Transforms/OpenMP/hide_mem_transfer_latency.ll (diff)
The file was modifiedllvm/include/llvm/Frontend/OpenMP/OMPKinds.def (diff)
The file was modifiedllvm/lib/Transforms/IPO/OpenMPOpt.cpp (diff)