SuccessChanges

Summary

  1. [SCEV] Support unsigned predicates in isKnownPredicateViaNoOverflow (details)
  2. [MLIR][Linalg] Fix assertion in dependency analysis (details)
  3. [NFC][PowerPC]Add tests for multiply-by-constant. (details)
  4. [APFloat] multiplySignificand - always pass IEEEFloat as const reference. NFCI. (details)
  5. [PowerPC] Add support for R_PPC64_GOT_TPREL_PCREL34 used in TLS Initial Exec (details)
  6. Revert rGf835779160ec303 "[APFloat] multiplySignificand - always pass IEEEFloat as const reference. NFCI." (details)
  7. [lldb] Ignore certain Clang type sugar when creating the type name (details)
  8. [ARM][TTI] Prevents constants in a min(max) or max(min) pattern from being hoisted when in a loop (details)
  9. [SCEV] Handle `less` predicates for FoundPred = NE (details)
  10. [SystemZ][z/OS] Set default wchar_t type for zOS (details)
  11. [LLD][PowerPC][test] Update thunk range error report for PPC64PCRelLongBranchThunk (details)
  12. [ARM] Trying to fix asan buildbot (details)
  13. [libc++] NFC: Remove trailing whitespace from the feature test macro table (details)
  14. [SLP] Merge null and dyn_cast<> checks into dyn_cast_or_null<>. NFCI. (details)
  15. [MLIR][Standard] Add `atan` to standard dialect (details)
  16. [SyntaxTree] Add tests for the assignment of the `canModify` tag. (details)
  17. [SLP] clean up code in gather(); NFC (details)
  18. [SLP] move misplaced code comments; NFC (details)
  19. [SLP] reduce code duplication for checking parent block; NFC (details)
  20. [PowerPC] Fix for compiler side issue in PCRelative Local Exec (details)
  21. [NFC][mlir] Remove llvm:: prefix from SmallVector in parallel pretty printer. (details)
  22. [AIX][clang][driver] Make sure crti[_64].o is linked in C++ mode (details)
  23. [X86] Cleanup/add namespace closure comments. NFCI. (details)
  24. [X86] Add missing namespace closure comments. NFCI. (details)
  25. [PeepholeOptimizer] Enhance the redundant COPY elimination. (details)
  26. [VPlan] Add dump() helper to VPValue & VPRecipeBase. (details)
  27. [lld-macho] minimally handle option -dynamic (details)
  28. [AIX][compiler-rt] Use the AR/ranlib mode flag for 32-bit and 64-bit mode (details)
  29. [libc++] Implement C++20's P0784 (More constexpr containers) (details)
  30. [GVNSink][NewPM] Add GVNSinkPass to PassRegistry.def (details)
  31. [scudo][standalone] Remove the pthread key from the shared TSD (details)
  32. [ThinLTO] Re-order modules for optimal multi-threaded processing (details)
  33. [DI][ASan][NewPM] Fix some DebugInfo ASan tests under NPM (details)
  34. Sema: introduce `__attribute__((__swift_name__))` (details)
  35. [OpenMPOpt] Refactored "issue" and "wait" declarations for data map runtime call. (details)
  36. [lld-macho] Make lld::getInteger() tolerate leading "0x"/"0X" when base is 16 (details)
  37. [sanitizer_common] Add debug print to sysmsg.c (details)
  38. Silence 'warning: unused variable' when compiling with Clang 10.0 (details)
  39. [DAG] Remove DAGTypeLegalizer::GenWidenVectorTruncStores (PR42046) (details)
  40. [PowerPC] Implement the 128-bit Vector Divide Extended Builtins in Clang/LLVM (details)
  41. [PowerPC] Implement Vector String Isolate Builtins in Clang/LLVM (details)
  42. [mlir] NFC: fix trivial typos under include directory (details)
  43. [mlir][ods] Make OpBuilder and OperationState optional (details)
  44. [SyntaxTree] Test the List API (details)
  45. [ASTMatchers] Avoid recursion in ancestor matching to save stack space. (details)
  46. [NFC][regalloc] Simplify/conform to style guide indvars in Greedy (details)
  47. Version 0.5 of the new "TableGen Backend Developer's Guide." (details)
  48. [Analyzer][WebKit] UncountedLocalVarsChecker (details)
  49. [gn build] Port 848d66fafd2 (details)
  50. [gn build] Port 8a64689e264 (details)
  51. [clang] Fix a typo-correction crash (details)
  52. [test][MC] Rehabilitate llvm/test/MC/COFF/bigobj.py (details)
  53. [NFC] Replace tabs with spaces in PPCInstrPrefix.td (details)
  54. [InstCombine] For pow(x, +/-0.5), stop falling into pow(x, 1.5), etc. case (details)
  55. [lldb] Skip test_common_completion_process_pid_and_name with reproducers (details)
  56. [lldb] Skip TestMiniDumpUUID with reproducers (details)
  57. [LoopInfo][NewPM] Fix tests in Analysis/LoopInfo under NPM (details)
Commit 16fde88dbd797b01f3c236062fbec50fe5bbf81d by mkazantsev
[SCEV] Support unsigned predicates in isKnownPredicateViaNoOverflow

SCEV should be able to prove facts like `x <u x+1<nuw>`.

Differential Revision: https://reviews.llvm.org/D88015
Reviewed By: lebedev.ri
The file was modifiedllvm/lib/Analysis/ScalarEvolution.cpp
The file was modifiedllvm/unittests/Analysis/ScalarEvolutionTest.cpp
Commit 0841f7172b74e1cbe2ce9839e5f4e1f0c2836bef by frgossen
[MLIR][Linalg] Fix assertion in dependency analysis

The assertion falsely expected ranked memrefs only.  Now both, ranked and
unranked memrefs are allowed.

Differential Revision: https://reviews.llvm.org/D88080
The file was modifiedmlir/lib/Dialect/Linalg/Analysis/DependenceAnalysis.cpp
Commit c7ff6e0fe1cd37a162af5f30d8cb070eb4cc038d by esme.yi
[NFC][PowerPC]Add tests for multiply-by-constant.
The file was modifiedllvm/test/CodeGen/PowerPC/mulli.ll
Commit f835779160ec30340676918915526615a07e826e by llvm-dev
[APFloat] multiplySignificand - always pass IEEEFloat as const reference. NFCI.

We do this in all other cases.
The file was modifiedllvm/lib/Support/APFloat.cpp
The file was modifiedllvm/include/llvm/ADT/APFloat.h
Commit c0071862bb426689acef09491b01b1edca9d747e by stefanp
[PowerPC] Add support for R_PPC64_GOT_TPREL_PCREL34 used in TLS Initial Exec

Add Thread Local Storage Initial Exec support to LLD.

This patch adds the computation for the relocations as well as the relaxation from Initial Exec to Local Exec.

Initial Exec:
```
pld r9, x@got@tprel@pcrel
add r9, r9, x@tls@pcrel
```
or
```
pld r9, x@got@tprel@pcrel
lbzx r10, r9, x@tls@pcrel
```
Note that @tls@pcrel is actually encoded as R_PPC64_TLS with a one byte displacement.

For the above examples relaxing Intitial Exec to Local Exec:
```
paddi r9, r9, x@tprel
nop
```
or
```
paddi r9, r13, x@tprel
lbz r10, 0(r9)
```

Reviewed By: nemanjai, MaskRay, #powerpc

Differential Revision: https://reviews.llvm.org/D86893
The file was modifiedlld/ELF/Arch/PPC64.cpp
The file was addedlld/test/ELF/ppc64-tls-pcrel-ie.s
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
The file was modifiedllvm/lib/Support/APFloat.cpp
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/TestElaboratedTypes.py
The file was addedlldb/test/API/lang/cpp/elaborated-types/main.cpp
The file was modifiedlldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
The file was addedlldb/test/API/lang/cpp/elaborated-types/Makefile
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/test/CodeGen/Thumb2/mve-satmul-loops.ll
The file was modifiedllvm/lib/Transforms/Scalar/ConstantHoisting.cpp
The file was modifiedllvm/lib/Target/Lanai/LanaiTargetTransformInfo.h
The file was modifiedllvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
The file was modifiedllvm/lib/Analysis/TargetTransformInfo.cpp
The file was modifiedllvm/lib/Target/ARM/ARMTargetTransformInfo.h
The file was modifiedllvm/lib/Target/X86/X86TargetTransformInfo.h
The file was modifiedllvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
The file was modifiedllvm/include/llvm/Analysis/TargetTransformInfo.h
The file was modifiedllvm/lib/Target/X86/X86TargetTransformInfo.cpp
The file was modifiedllvm/lib/Target/PowerPC/PPCTargetTransformInfo.cpp
The file was modifiedllvm/lib/Target/PowerPC/PPCTargetTransformInfo.h
The file was modifiedllvm/include/llvm/Analysis/TargetTransformInfoImpl.h
The file was modifiedllvm/lib/Target/SystemZ/SystemZTargetTransformInfo.h
The file was modifiedllvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
The file was modifiedllvm/lib/Target/SystemZ/SystemZTargetTransformInfo.cpp
The file was modifiedllvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
The file was modifiedllvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
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
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
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp
The file was modifiedclang/lib/Basic/Targets/OSTargets.h
The file was modifiedclang/test/Lexer/wchar-signedness.c
The file was modifiedclang/test/Sema/wchar.c
The file was modifiedclang/test/CodeGen/wchar-size.c
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 addedlld/test/ELF/ppc64-pcrel-call-to-toc-error.s
The file was modifiedlld/test/ELF/ppc64-pcrel-long-branch-error.s
The file was modifiedlld/ELF/Thunks.cpp
Commit 94c799fecff06c614cb68976288fc7b8c9a11139 by sam.parker
[ARM] Trying to fix asan buildbot
The file was modifiedllvm/lib/Target/ARM/ARMLowOverheadLoops.cpp
Commit 0451ed961993d4f52f4083192de0e57a1b246ac6 by Louis Dionne
[libc++] NFC: Remove trailing whitespace from the feature test macro table
The file was modifiedlibcxx/docs/FeatureTestMacroTable.rst
The file was modifiedlibcxx/utils/generate_feature_test_macro_components.py
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/lib/Target/PowerPC/PPCISelDAGToDAG.cpp
The file was modifiedllvm/test/CodeGen/PowerPC/pcrel-tls-local-exec.ll
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/X86AsmBackend.cpp
The file was modifiedllvm/lib/Target/X86/MCTargetDesc/X86MachObjectWriter.cpp
The file was modifiedllvm/lib/Target/X86/MCTargetDesc/X86WinCOFFStreamer.cpp
The file was modifiedllvm/lib/Target/X86/MCTargetDesc/X86ShuffleDecode.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/Disassembler/X86Disassembler.cpp
The file was modifiedllvm/lib/Target/X86/X86WinEHState.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/lib/CodeGen/PeepholeOptimizer.cpp
The file was addedllvm/test/CodeGen/AMDGPU/sgpr-copy-local-cse.ll
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/test/CodeGen/Thumb2/mve-vcvt16.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/srem.i64.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/waitcnt-vscnt.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/VPlan.h
The file was modifiedllvm/lib/Transforms/Vectorize/VPlanValue.h
The file was modifiedllvm/lib/Transforms/Vectorize/VPlan.cpp
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/Config.h
The file was modifiedlld/MachO/Options.td
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
The file was modifiedcompiler-rt/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/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/specialized.algorithms/specialized.destroy/destroy_at.pass.cpp
The file was modifiedlibcxx/test/std/utilities/memory/allocator.traits/allocator.traits.members/destroy.pass.cpp
The file was modifiedlibcxx/include/memory
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/default.allocator/allocator.globals/eq.pass.cpp
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.members/allocate.size.pass.cpp
The file was modifiedlibcxx/test/std/utilities/memory/allocator.traits/allocator.traits.members/deallocate.pass.cpp
The file was modifiedlibcxx/include/new
The file was modifiedlibcxx/include/version
The file was modifiedlibcxx/test/std/utilities/memory/allocator.traits/allocator.traits.members/allocate_hint.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/specialized.algorithms/specialized.destroy/destroy_n.pass.cpp
The file was modifiedlibcxx/test/std/language.support/support.limits/support.limits.general/memory.version.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_types.pass.cpp
The file was modifiedlibcxx/test/std/utilities/memory/allocator.traits/allocator.traits.members/construct.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/allocate.pass.cpp
The file was modifiedlibcxx/test/std/utilities/memory/default.allocator/allocator.members/allocate.pass.cpp
The file was modifiedlibcxx/utils/generate_feature_test_macro_components.py
The file was modifiedlibcxx/test/std/utilities/memory/specialized.algorithms/specialized.destroy/destroy.pass.cpp
The file was modifiedlibcxx/www/cxx2a_status.html
The file was modifiedlibcxx/docs/FeatureTestMacroTable.rst
The file was modifiedlibcxx/test/std/utilities/memory/allocator.traits/allocator.traits.members/select_on_container_copy_construction.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/ThinLTOCodeGenerator.cpp
The file was modifiedllvm/lib/LTO/LTO.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/Sema/Sema.h
The file was addedclang/test/SemaObjC/attr-swift_name.m
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td
The file was modifiedclang/include/clang/Basic/AttrDocs.td
The file was modifiedclang/include/clang/Basic/Attr.td
The file was modifiedclang/include/clang/Basic/DiagnosticGroups.td
The file was modifiedclang/lib/Sema/SemaDecl.cpp
The file was modifiedclang/lib/Sema/SemaDeclAttr.cpp
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/include/llvm/Frontend/OpenMP/OMPKinds.def
The file was modifiedllvm/lib/Transforms/IPO/OpenMPOpt.cpp
The file was modifiedllvm/test/Transforms/OpenMP/hide_mem_transfer_latency.ll
Commit 703d3f25976c98bcf0e4717087c5a51b92c5f51a by gkm
[lld-macho] Make lld::getInteger() tolerate leading "0x"/"0X" when base is 16

ld64 is cool with leading `0x` for hex command-line args, and we should be also.

Reviewed By: #lld-macho, int3

Differential Revision: https://reviews.llvm.org/D88065
The file was modifiedlld/test/MachO/headerpad.s
The file was modifiedlld/Common/Args.cpp
Commit 4c23cf3ca0e07482b7ab7989b4e480e1cc0d6091 by mascasa
[sanitizer_common] Add debug print to sysmsg.c
The file was modifiedcompiler-rt/test/sanitizer_common/TestCases/Linux/sysmsg.c
Commit 723fea23079f9c85800e5cdc90a75414af182bfd by alexandre.ganea
Silence 'warning: unused variable' when compiling with Clang 10.0
The file was modifiedllvm/lib/CodeGen/PeepholeOptimizer.cpp
Commit 4dada8d617d81cd00e4028e09f7093f5b10a8a41 by llvm-dev
[DAG] Remove DAGTypeLegalizer::GenWidenVectorTruncStores (PR42046)

Just scalarize trunc stores - GenWidenVectorTruncStores does the same thing but is flawed (PR42046) and unused.

Differential Revision: https://reviews.llvm.org/D87708
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
Commit b3147058dec7d42ae0284d6e6edf25eb762c8b89 by amy.kwan1
[PowerPC] Implement the 128-bit Vector Divide Extended Builtins in Clang/LLVM

This patch implements the 128-bit vector divide extended builtins in Clang/LLVM.
These builtins map to the vdivesq and vdiveuq instructions respectively.

Differential Revision: https://reviews.llvm.org/D87729
The file was modifiedclang/include/clang/Basic/BuiltinsPPC.def
The file was modifiedllvm/test/CodeGen/PowerPC/p10-vector-divide.ll
The file was modifiedclang/lib/Headers/altivec.h
The file was modifiedllvm/include/llvm/IR/IntrinsicsPowerPC.td
The file was modifiedclang/test/CodeGen/builtins-ppc-p10vector.c
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrPrefix.td
Commit 079757b551f3ab5218af7344a7ab3c79976ec478 by amy.kwan1
[PowerPC] Implement Vector String Isolate Builtins in Clang/LLVM

This patch implements the vector string isolate (predicate and non-predicate
versions) builtins. The predicate builtins are custom selected within PPCISelDAGToDAG.

Differential Revision: https://reviews.llvm.org/D87671
The file was modifiedllvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp
The file was modifiedclang/include/clang/Basic/BuiltinsPPC.def
The file was modifiedclang/test/CodeGen/builtins-ppc-p10vector.c
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrPrefix.td
The file was modifiedclang/lib/Headers/altivec.h
The file was modifiedllvm/include/llvm/IR/IntrinsicsPowerPC.td
The file was modifiedllvm/test/CodeGen/PowerPC/p10-string-ops.ll
Commit d7336ad5ff985dabbe26a728a5789c33b9167286 by ishizaki
[mlir] NFC: fix trivial typos under include directory

Reviewed By: mravishankar, jpienaar

Differential Revision: https://reviews.llvm.org/D88040
The file was modifiedmlir/include/mlir/Dialect/SPIRV/SPIRVAttributes.h
The file was modifiedmlir/include/mlir-c/StandardAttributes.h
The file was modifiedmlir/include/mlir-c/StandardTypes.h
The file was modifiedmlir/include/mlir/IR/StorageUniquerSupport.h
The file was modifiedmlir/include/mlir/Dialect/OpenACC/OpenACCOps.td
The file was modifiedmlir/include/mlir/Reducer/Passes/OpReducer.h
The file was modifiedmlir/include/mlir/Reducer/Tester.h
The file was modifiedmlir/include/mlir/Dialect/PDL/IR/PDLOps.td
The file was modifiedmlir/include/mlir/Dialect/Linalg/Utils/Utils.h
The file was modifiedmlir/include/mlir-c/IR.h
The file was modifiedmlir/include/mlir/Dialect/Shape/IR/ShapeOps.td
The file was modifiedmlir/include/mlir/Dialect/LLVMIR/LLVMTypes.h
The file was modifiedmlir/include/mlir/Interfaces/SideEffectInterfaces.td
The file was modifiedmlir/include/mlir/Analysis/Presburger/Simplex.h
The file was modifiedmlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
The file was modifiedmlir/include/mlir/IR/OpDefinition.h
The file was modifiedmlir/include/mlir/Reducer/ReductionTreeUtils.h
The file was modifiedmlir/include/mlir/Reducer/ReductionNode.h
The file was modifiedmlir/include/mlir/Dialect/Vector/VectorOps.td
The file was modifiedmlir/include/mlir/Dialect/Affine/IR/AffineOps.td
The file was modifiedmlir/include/mlir/Pass/AnalysisManager.h
The file was modifiedmlir/include/mlir/Support/InterfaceSupport.h
Commit 2a6db92ca97da946307b559e63c6ac75caf4bbd6 by jpienaar
[mlir][ods] Make OpBuilder and OperationState optional

The OpBuilder is required to start with OpBuilder and OperationState, so remove
the need for the user to specify it. To make it simpler to update callers,
retain the legacy behavior for now and skip injecting OpBuilder/OperationState
when params start with OpBuilder.

Related to bug 47442.

Differential Revision: https://reviews.llvm.org/D88050
The file was modifiedmlir/tools/mlir-tblgen/OpDefinitionsGen.cpp
The file was modifiedmlir/test/mlir-tblgen/op-decl.td
The file was modifiedmlir/test/lib/Dialect/Test/TestOps.td
The file was modifiedmlir/docs/OpDefinitions.md
Commit c3c08bfdfd6244e0429753ee56df39c90187d772 by ecaldas
[SyntaxTree] Test the List API

Differential Revision: https://reviews.llvm.org/D87839
The file was modifiedclang/unittests/Tooling/Syntax/TreeTest.cpp
The file was modifiedclang/include/clang/Tooling/Syntax/Tree.h
Commit 625761825620f19a44c7a1482ce05d678a1b0deb by sam.mccall
[ASTMatchers] Avoid recursion in ancestor matching to save stack space.

A recent change increased the stack size of memoizedMatchesAncestorOfRecursively
leading to stack overflows on real code involving large fold expressions.
It's not totally unreasonable to choke on very deep ASTs, but as common
infrastructure it's be nice if ASTMatchFinder is more robust.
(It already uses data recursion for the regular "downward" traversal.)

Differential Revision: https://reviews.llvm.org/D86964
The file was modifiedclang/lib/ASTMatchers/ASTMatchFinder.cpp
Commit d1e0f9f3cf13e071d788149bde810c46cd14c74b by mtrofin
[NFC][regalloc] Simplify/conform to style guide indvars in Greedy

Differential Revision: https://reviews.llvm.org/D88055
The file was modifiedllvm/lib/CodeGen/RegAllocGreedy.cpp
Commit 848d66fafd2ee4c15292fa5dd25ca752a3f65537 by paul
Version 0.5 of the new "TableGen Backend Developer's Guide."
Files modified to take comments into account.
MLIR documentation updated for new TableGen documentation files.
The file was addedllvm/lib/TableGen/TableGenBackendSkeleton.cpp
The file was modifiedllvm/docs/TableGen/ProgRef.rst
The file was modifiedmlir/docs/OpDefinitions.md
The file was addedllvm/docs/TableGen/BackGuide.rst
The file was modifiedllvm/docs/TableGen/BackEnds.rst
The file was modifiedllvm/lib/TableGen/CMakeLists.txt
The file was modifiedmlir/docs/Tutorials/QuickstartRewrites.md
Commit 8a64689e264ce039e4fb0a09c3e136a1c8451838 by Jan Korous
[Analyzer][WebKit] UncountedLocalVarsChecker

Differential Review: https://reviews.llvm.org/D83259
The file was modifiedclang/docs/analyzer/checkers.rst
The file was modifiedclang/lib/StaticAnalyzer/Checkers/CMakeLists.txt
The file was modifiedclang/include/clang/StaticAnalyzer/Checkers/Checkers.td
The file was addedclang/lib/StaticAnalyzer/Checkers/WebKit/UncountedLocalVarsChecker.cpp
The file was addedclang/test/Analysis/Checkers/WebKit/uncounted-local-vars.cpp
Commit a75f75415aaeee4159c1771d946bb4ae957d7a74 by llvmgnsyncbot
[gn build] Port 848d66fafd2
The file was modifiedllvm/utils/gn/secondary/llvm/lib/TableGen/BUILD.gn
Commit 5ae94047bff1e2c92f9507443bf97ff39ee8243b by llvmgnsyncbot
[gn build] Port 8a64689e264
The file was modifiedllvm/utils/gn/secondary/clang/lib/StaticAnalyzer/Checkers/BUILD.gn
Commit 16ca711803300bd966acf8759876a1ccd478c616 by hokein.wu
[clang] Fix a typo-correction crash

We leave a dangling TypoExpr when typo-correction is performed
successfully in `checkArgsForPlaceholders`, which leads a crash in the
later TypoCorrection.

This code was added in https://github.com/llvm/llvm-project/commit/1586782767938df3a20f7abc4d8335c48b100bc4,
and it didn't seem to have enough test coverage.
The fix is to remove this part, and no failuer tests.

Reviewed By: rsmith

Differential Revision: https://reviews.llvm.org/D87815
The file was modifiedclang/lib/Sema/SemaExpr.cpp
The file was modifiedclang/test/SemaCXX/typo-correction-crash.cpp
Commit a6f8aeb51c731ce01b995725cbda3f9be9059ab0 by hubert.reinterpretcast
[test][MC] Rehabilitate llvm/test/MC/COFF/bigobj.py

The subject test was not actually running. This patch adds the
relevant suffix to the list of lit case filename extensions for the
enclosing directory.

Minor adjustments are also made to deal with bit rot.

Reviewed By: daltenty

Differential Revision: https://reviews.llvm.org/D87122
The file was modifiedllvm/test/MC/COFF/lit.local.cfg
The file was modifiedllvm/test/MC/COFF/bigobj.py
Commit b0f58aa116a1ac2c2fa6b1667017bb29b3418411 by hubert.reinterpretcast
[NFC] Replace tabs with spaces in PPCInstrPrefix.td
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrPrefix.td
Commit 6801950192ff4f6d60c822fc721354f34e609e7a by hubert.reinterpretcast
[InstCombine] For pow(x, +/-0.5), stop falling into pow(x, 1.5), etc. case

The current code for handling pow(x, y) where y is an integer plus 0.5
is not explicitly guarded against attempting to transform the case where
abs(y) is exactly 0.5.

The latter case is meant to be handled by `replacePowWithSqrt`. Indeed,
if the pow(x, integer+0.5) case proceeds past a certain point, it will
hit an assertion by attempting to form pow(x, 0) using `getPow`.

This patch adds an explicit check to prevent attempting the
pow(x, integer+0.5) transformation on pow(x, +/-0.5) as suggested during
the review of D87877. This has the effect of retaining the shrinking of
`pow` to `powf` when the `sqrt` libcall cannot be formed.

Reviewed By: spatel

Differential Revision: https://reviews.llvm.org/D88066
The file was modifiedllvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
The file was modifiedllvm/test/Transforms/InstCombine/pow-4.ll
Commit 8457ae0d9359590b2db1e8e090531197be4d62c6 by Jonas Devlieghere
[lldb] Skip test_common_completion_process_pid_and_name with reproducers

This test launches a subprocess which will have a different PID during
capture and replay.
The file was modifiedlldb/test/API/functionalities/completion/TestCompletion.py
Commit 783dc7dc7ed7487d0782c2feb8854df949b98e69 by Jonas Devlieghere
[lldb] Skip TestMiniDumpUUID with reproducers

The modules not getting orphaned is wreaking havoc when the UUIDs match
between tests.
The file was modifiedlldb/test/API/functionalities/postmortem/minidump-new/TestMiniDumpUUID.py
Commit a5141b83f1f1b94886d17c9091f09d4c63568dd2 by aeubanks
[LoopInfo][NewPM] Fix tests in Analysis/LoopInfo under NPM
The file was modifiedllvm/test/Analysis/LoopInfo/annotated-parallel-complex.ll
The file was modifiedllvm/test/Analysis/LoopInfo/2003-05-15-NestingProblem.ll
The file was modifiedllvm/test/Analysis/LoopInfo/annotated-parallel-simple.ll