Progress:
Changes

Changes from Git (git http://labmaster3.local/git/llvm-zorg.git)

Summary

  1. [VE] notify and build as official target (details)
Commit feb754795a1d21d4644351b360f805e8e449026b by simon.moll
[VE] notify and build as official target

VE is an official target, adapt the clang-ve-ninja builder accordingly.

Depends on D113247 - the official backend status.

Reviewed By: gkistanova

Differential Revision: https://reviews.llvm.org/D113389
The file was modifiedzorg/buildbot/builders/annotated/ve-linux-steps.make
The file was modifiedbuildbot/osuosl/master/config/status.py

Changes from Git (git http://labmaster3.local/git/llvm-project.git)

Summary

  1. [fir] Add fir reduction builder (details)
  2. [Coroutines] Make suspend_always in test noexcept (NFC) (details)
  3. [Flang] Replace notifyMatchFailure with TODO hard failures (details)
  4. [libc] Add _64 element to aarch64 (details)
  5. [DSE] Allow DSE to optimize MemorySSA by default. (details)
  6. [mlir] Add a helper for TiledLoopOp to get an operand tied to the bbArg. (details)
  7. Add 'LLVM_DEFAULT_TARGET_TRIPLE' to the documented list of CMake variables (details)
  8. [SCEV] Track backedge taken count users (NFCI) (details)
  9. [LoopUnrollRuntime] Remove unnecessary pointer BECount check (NFC) (details)
  10. [OpenMP][IRBuilder] Fix createSections (details)
  11. [mlir][linalg][bufferize] CallOps do not bufferize to memory writes (details)
  12. [Sema] check PseudoObject when rebuilding CXXOperatorCallExpr in template instantiation (details)
  13. [ARM] Fix some identing in ARMAsmPrinter::emitInstruction, NFC (details)
  14. [BuildLibCalls] Add argmemonly, writeonly, nounwind to memset_chk. (details)
  15. Revert "[Sema] check PseudoObject when rebuilding CXXOperatorCallExpr in template instantiation" (details)
  16. Fix clang-format bug when handling conflict markers. (details)
  17. [ARM] Teach getIntImmCostInst about the cost of saturating fp converts (details)
  18. [clang][ARM] PACBTI-M frontend support (details)
  19. [IR] Assert on getPointerElementType() on opaque pointer (NFC) (details)
  20. [clang][ARM] emit PACBTI-M feature defines (details)
  21. [ARM] add common parts for PACBTI-M support in the backend (details)
  22. [IR] Remove deprecated GetElementPtrInst constructors (details)
  23. [IRBuilder] Remove deprecated methods (details)
  24. Fix segfault in clang-format. (details)
  25. [ARM] emit PACBTI-M build attributes (details)
  26. [ARM] Strengthen fpclamptosat.ll triple to attempt to fix buildbot errors. NFC (details)
  27. [DAG] Apply clang-format to visitMSTORE + visitMLOAD. NFC. (details)
  28. [DAGCombiner] When combining REM ensure optimized div nodes are unique (details)
  29. [LICM] Support opaque pointers in scalar promotion (details)
  30. [X86] Add some basic fptosi/fptoui saturate vector tests (details)
  31. [clang][ARM] removing branch protection error cmdline test (details)
  32. Fixed a memory leak in the PDLToPDLInterp RootOrderingTest. (details)
  33. [LICM] Hoist LOAD without sinking the STORE (details)
  34. Revert "[LICM] Hoist LOAD without sinking the STORE" (details)
  35. [ARM] Implement BTI placement pass for PACBTI-M (details)
  36. [gn build] Port f5f28d5b0ce7 (details)
  37. [Dexter] Add DexDeclareAddress command and address function (details)
  38. [libcxx][test][NFC] Extend get_allocator() testing for containers (details)
  39. Fix a violated precondition in clang-format. (details)
  40. [gn build] (manually) port 94d5f2afbef0 (details)
  41. [clang-cl] Set _MSVC_LANG to 202002L with /std:c++20 (details)
  42. [VE] Make VE official (details)
  43. [Dexter] Fix address_printing test by requiring lldb (details)
  44. [BasicAA] Add strncpy libfunc tests. (details)
  45. [BasicAA] Add memset_chk libfunc tests. (details)
  46. [SLP][NFC]Add a test for inserting into constant undef vector, NFC. (details)
  47. Revert "[Flang] Replace notifyMatchFailure with TODO hard failures" (details)
  48. [LV] Move code from vectorizeMemoryInstruction to recipe's execute(). (details)
  49. Revert "[ARM] Teach getIntImmCostInst about the cost of saturating fp converts" (details)
  50. [mlir][linalg] Disable tensor-matmul test under asan (details)
  51. [Verifier] Make matrix intrinsic verification compatible with opaque pointers (details)
  52. [SLP]Improve vectorization of cmp instructions sequences. (details)
  53. [AArch64][SVE] Duplicate FP_EXTEND/FP_TRUNC -> LOAD/STORE dag combines (details)
  54. [SLP]Introduce isUndefVector function to check for undef vectors. (details)
  55. [PowerPC][AIX] Add toc-data support for 64-bit AIX small code model. (details)
  56. [libc++] Fix `uniform_int_distribution` for 128-bit result type (details)
  57. [SLP]Improve cost model for the shuffled extracts. (details)
  58. [VE][NFC] Use POSIX-compatible stream redirection (details)
  59. [VE] Remove switch with only default case statement to fix MSVC warning. NFC. (details)
  60. [X86] combinePMULH - recognise 'cheap' trunctions via PACKS/PACKUS as well as SEXT/ZEXT (details)
  61. [OpenMP][FIX] SPMDzation guarding needs to account for all reaching kernels (details)
  62. [mlir][Vector] Thread 0-d vectors through vector.transfer ops (details)
  63. [libc++][format][1/6] Reduce binary size. (details)
  64. [llvm][stlextras] Add const methods to concat_range and enumerator (details)
  65. [mlir][ods] AttrOrTypeGen uses Class (details)
  66. Revert "tsan: new runtime (v3)" (details)
  67. [SelectionDAG] Add pattern to haveNoCommonBitsSet (details)
  68. [Clang][VE] Fix toolchain test when -DCLANG_DEFAULT_LINKER=lld in use (details)
  69. [AArch64] Fix unused variable warning with NDEBUG, NFC (details)
  70. [runtimes] Remove support for GCC-style 32 bit multilib builds (details)
  71. [runtimes] Move WARNING to FATAL_ERROR for folks using FOO_BUILD_32_BITS (details)
  72. [Clang] Fix nesting of discarded and immediate contexts. (details)
  73. [ASan] Fixed include order. (details)
  74. [VE][NFC] Fix use-after-free in VEInstrInfo (details)
  75. [mlir][ods][nfc] fix gcc-5 build (details)
Commit f6ae8e8cc7f495dad86e97bd9bbd828f9079fc9b by clementval
[fir] Add fir reduction builder

This patch introduces a bunch of builder functions
to create function calls to runtime reduction functions.

This patch is part of the upstreaming effort from fir-dev branch.

This patch failed previously because a macro was missing.

Reviewed By: awarzynski

Differential Revision: https://reviews.llvm.org/D114460

Co-authored-by: Jean Perier <jperier@nvidia.com>
Co-authored-by: mleair <leairmark@gmail.com>
The file was addedflang/lib/Optimizer/Builder/Runtime/Reduction.cpp
The file was modifiedflang/include/flang/Optimizer/Builder/Runtime/RTBuilder.h
The file was addedflang/include/flang/Optimizer/Builder/Runtime/Reduction.h
The file was modifiedflang/lib/Optimizer/Builder/CMakeLists.txt
The file was addedflang/unittests/Optimizer/Builder/Runtime/ReductionTest.cpp
The file was modifiedflang/unittests/Optimizer/Builder/Runtime/RuntimeCallTestBase.h
The file was modifiedflang/unittests/Optimizer/CMakeLists.txt
Commit 3666cd0216b85ef962e92a5e19dea2215559b48a by yedeng.yd
[Coroutines] Make suspend_always in test noexcept (NFC)
The file was modifiedclang/test/CodeGenCoroutines/Inputs/coroutine.h
Commit 46fd7fd7b342039b59ec534bab8b93fa5d34f6e2 by kiran.chandramohan
[Flang] Replace notifyMatchFailure with TODO hard failures

For unimplemented patterns we revert to using TODO hard failures instead of
notifyMatchFailure.

For fir.select_type revert to using mlir::emiterror.
For the fir.embox TODO on a type with len params we cannot add a test since the type cannot be converted to llvm.

Adding negative tests using not and checking for the error message.
TODO exits with an error in a build without assertion but aborts in a
build with assertions. Abort requires using not with the --crash
option. The two different usages of not is handled by using a custom
command %not_todo_cmd which is converted to not or not --crash
depending on the presence or absence of assertions. Using llvm-config
to check the presence of assertions.

Reviewed By: clementval, awarzynski

Differential Revision: https://reviews.llvm.org/D114371
The file was addedflang/test/Fir/Todo/select_case_with_character.fir
The file was addedflang/test/Fir/Todo/dispatch.fir
The file was addedflang/test/Fir/Todo/dispatch_table.fir
The file was modifiedflang/lib/Optimizer/CodeGen/CodeGen.cpp
The file was addedflang/test/Fir/Todo/len_param_index.fir
The file was addedflang/test/Fir/Todo/end.fir
The file was addedflang/test/Fir/Todo/global_len.fir
The file was modifiedflang/test/CMakeLists.txt
The file was addedflang/test/Fir/Todo/gentypedesc.fir
The file was addedflang/test/Fir/Todo/unboxproc.fir
The file was modifiedflang/test/Fir/convert-to-llvm-invalid.fir
The file was modifiedflang/test/lit.cfg.py
The file was addedflang/test/Fir/Todo/boxproc_host.fir
The file was addedflang/test/Fir/Todo/emboxproc.fir
Commit bdcc5aadf5aa90f36b5a964e2285dc6a3b244ed9 by gchatelet
[libc] Add _64 element to aarch64
The file was modifiedlibc/src/string/memory_utils/elements_aarch64.h
Commit 7de410440d46e83aa81aed19a4215a92798c5eb5 by flo
[DSE] Allow DSE to optimize MemorySSA by default.

This allows for better optimization of 'stores-of-existing-values' and
possibly helps passes further down the pipeline.

Reviewed By: asbirlea

Differential Revision: https://reviews.llvm.org/D113712
The file was modifiedllvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
The file was modifiedllvm/test/Transforms/DeadStoreElimination/stores-of-existing-values.ll
Commit 3a6c4f307bd0273c72cbf7e5ed571c4021678295 by pifon
[mlir] Add a helper for TiledLoopOp to get an operand tied to the bbArg.

Differential Revision: https://reviews.llvm.org/D114852
The file was modifiedmlir/include/mlir/Dialect/Linalg/IR/LinalgOps.td
Commit ec15b7307f54ab5203f3fbf134e0b57deeb2a93f by me
Add 'LLVM_DEFAULT_TARGET_TRIPLE' to the documented list of CMake variables

I always forget this variable, and the distinction between
'LLVM_TARGET_ARCH', and this variable is only documented on the 'cross
compiling' page, which I never spot and always end up searching through
the codebase for.

This patch adds the variable to the Sphinx CMake documentation so that
it is easily findable in the official LLVM docs.

Reviewed By: probinson

Differential Revision: https://reviews.llvm.org/D96014
The file was modifiedllvm/docs/CMake.rst
Commit 67704801c679a59c552dfade92a3d7c53979e2c8 by nikita.ppv
[SCEV] Track backedge taken count users (NFCI)

Track which SCEVs are used as ExactNotTaken counts in
BackedgeTakenInfo structures, so we can directly determine which
loops need to be invalidated, rather than iterating over all BECounts.

This gives a small compile-time improvement on average, but the
motivation here is more to ensure there are no degenerate cases,
if the number of backedge taken counts is large.

Differential Revision: https://reviews.llvm.org/D114784
The file was modifiedllvm/include/llvm/Analysis/ScalarEvolution.h
The file was modifiedllvm/lib/Analysis/ScalarEvolution.cpp
Commit 84b978da3b80b986327a830c01e32f12cefe86b3 by nikita.ppv
[LoopUnrollRuntime] Remove unnecessary pointer BECount check (NFC)

BECounts are guaranteed to be integers nowadays.
The file was modifiedllvm/lib/Transforms/Utils/LoopUnrollRuntime.cpp
Commit ec97e1206abd6f30a1b549db62e87bea8dee0082 by Shraiysh.Vaishay
[OpenMP][IRBuilder] Fix createSections

Fix for the case when there are no instructions in the entry basic block before the call
to `createSections`

Reviewed By: Meinersbur

Differential Revision: https://reviews.llvm.org/D114143
The file was modifiedllvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
The file was modifiedllvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
The file was modifiedclang/test/OpenMP/cancel_codegen.cpp
Commit 2fd0ea960c8a3e3a05fc0c320533b486edfa01f9 by springerm
[mlir][linalg][bufferize] CallOps do not bufferize to memory writes

However, since CallOps have no aliasing OpResults, their OpOperands always bufferize out-of-place.

This change removes `bufferizesToMemoryWrite` from `CallOpInterface`. This method was called, but its return value did not matter.

Differential Revision: https://reviews.llvm.org/D114616
The file was modifiedmlir/lib/Dialect/Linalg/ComprehensiveBufferize/ComprehensiveBufferize.cpp
The file was modifiedmlir/lib/Dialect/Linalg/ComprehensiveBufferize/ModuleBufferization.cpp
The file was modifiedmlir/lib/Dialect/Linalg/ComprehensiveBufferize/SCFInterfaceImpl.cpp
The file was modifiedmlir/include/mlir/Dialect/Linalg/ComprehensiveBufferize/BufferizableOpInterface.td
The file was modifiedmlir/test/Dialect/Linalg/comprehensive-module-bufferize-analysis.mlir
Commit 0c047a8e13320fb8e9dabbf7a3c6a00fe81198c7 by jeroen.dobbelaere
[Sema] check PseudoObject when rebuilding CXXOperatorCallExpr in template instantiation

The invocation of a unary or binary operator for type-dependent expressions is represented as a CXXOperatorCallExpr. Upon template instantiation, TreeTransform::RebuildCXXOperatorCallExpr checks for the case of an overloaded operator, but not for a (non-ObjC) PseudoObject, and will directly create a UnaryOperator or BinaryOperator.

Generalizing commit 0f99537ecac40 from @akyrtzi to handle non-ObjC pseudo objects (and also handle the case of unary pseudo object inc/dec).

This fixes https://bugs.llvm.org/show_bug.cgi?id=51855

Reviewed By: rnk

Differential Revision: https://reviews.llvm.org/D111639
The file was addedclang/test/SemaCXX/PR51855.cpp
The file was modifiedclang/lib/Sema/TreeTransform.h
The file was modifiedclang/test/SemaObjCXX/instantiate-property-access.mm
Commit 388bfc540860871d0e922e59f4f8f2d26da71049 by david.green
[ARM] Fix some identing in ARMAsmPrinter::emitInstruction, NFC
The file was modifiedllvm/lib/Target/ARM/ARMAsmPrinter.cpp
Commit 6a5e29d13f8e369e3c17b736d4b077c8fd79c436 by flo
[BuildLibCalls] Add argmemonly, writeonly, nounwind to memset_chk.

The memset_chk library function should match memset's attributes with
respect of memory effects (argmemonly, writeonly). It also does not
raise exceptions. It may not return, in case it aborts the program.

Reviewed By: efriedma

Differential Revision: https://reviews.llvm.org/D114793
The file was modifiedllvm/lib/Transforms/Utils/BuildLibCalls.cpp
The file was modifiedllvm/test/Transforms/InferFunctionAttrs/annotate.ll
Commit a4fbae268f67a6737b86c47f555f95a4a44462d2 by jeroen.dobbelaere
Revert "[Sema] check PseudoObject when rebuilding CXXOperatorCallExpr in template instantiation"

This reverts commit 0c047a8e13320fb8e9dabbf7a3c6a00fe81198c7.

A number of buildbots started failing. Reverting for now.
The file was removedclang/test/SemaCXX/PR51855.cpp
The file was modifiedclang/lib/Sema/TreeTransform.h
The file was modifiedclang/test/SemaObjCXX/instantiate-property-access.mm
Commit 59788422609433c50c3d3c16ca531fa56b9acb4f by klimek
Fix clang-format bug when handling conflict markers.

Previously, clang-format would not correctly identify preprocessor
directives directly following a conflict marker, which would result in
violating the formatter's invariants.

The provided test fails in assert mode before this change.
The file was modifiedclang/lib/Format/UnwrappedLineParser.cpp
The file was modifiedclang/unittests/Format/FormatTest.cpp
Commit 6d41de380f223c8da02fd4d6a7f7dd1e7a404a24 by david.green
[ARM] Teach getIntImmCostInst about the cost of saturating fp converts

Given a min(max(fptosi, INT_MIN), INT_MAX) with the correct constants,
we can now generate a fptosi.sat. But in the arm backend, the constant
can be treated as high cost, pulling it out of the basic block in a way
that the DAG combine can no longer see it. This teaches it again that it
is a low cost constant, not worth hoisting out.

Differential Revision: https://reviews.llvm.org/D114380
The file was modifiedllvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
The file was modifiedllvm/test/CodeGen/ARM/fpclamptosat.ll
Commit e3b2f0226bc09f16d5cdba9b94d1db3f15ee7d4a by ties.stuij
[clang][ARM] PACBTI-M frontend support

Handle branch protection option on the commandline as well as a function
attribute. One patch for both mechanisms, as they use the same underlying
parsing mechanism.

These are recorded in a set of LLVM IR module-level attributes like we do for
AArch64 PAC/BTI (see https://reviews.llvm.org/D85649):

- command-line options are "translated" to module-level LLVM IR
  attributes (metadata).

- functions have PAC/BTI specific attributes iff the
  __attribute__((target("branch-protection=...))) was used in the function
  declaration.

- command-line option -mbranch-protection to armclang targeting Arm,
following this grammar:

branch-protection ::= "-mbranch-protection=" <protection>
protection ::=  "none" | "standard" | "bti" [ "+" <pac-ret-clause> ]
                | <pac-ret-clause> [ "+" "bti"]
pac-ret-clause ::= "pac-ret" [ "+" <pac-ret-option> ]
pac-ret-option ::= "leaf" ["+" "b-key"] | "b-key" ["+" "leaf"]

b-key is simply a placeholder to make it consistent with AArch64's
version. In Arm, however, it triggers a warning informing that b-key is
unsupported and a-key will be selected instead.

- Handle _attribute_((target(("branch-protection=..."))) for AArch32 with the
same grammer as the commandline options.

This patch is part of a series that adds support for the PACBTI-M extension of
the Armv8.1-M architecture, as detailed here:

https://community.arm.com/arm-community-blogs/b/architectures-and-processors-blog/posts/armv8-1-m-pointer-authentication-and-branch-target-identification-extension

The PACBTI-M specification can be found in the Armv8-M Architecture Reference
Manual:

https://developer.arm.com/documentation/ddi0553/latest

The following people contributed to this patch:

- Momchil Velikov
- Victor Campos
- Ties Stuij

Reviewed By: vhscampos

Differential Revision: https://reviews.llvm.org/D112421
The file was modifiedclang/test/CodeGen/arm_neon_intrinsics.c
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td
The file was addedclang/test/CodeGen/arm-branch-protection-attr-1.c
The file was modifiedclang/lib/CodeGen/CodeGenModule.cpp
The file was modifiedclang/lib/Sema/SemaDeclAttr.cpp
The file was modifiedclang/lib/CodeGen/TargetInfo.cpp
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp
The file was addedclang/test/Frontend/arm-invalid-branch-protection.c
The file was addedclang/test/Sema/aarch64-branch-protection-attr-err.c
The file was modifiedllvm/lib/Support/AArch64TargetParser.cpp
The file was modifiedclang/include/clang/Basic/DiagnosticGroups.td
The file was modifiedllvm/lib/Support/TargetParser.cpp
The file was addedclang/test/Driver/arm-security-options.c
The file was modifiedclang/lib/Basic/Targets/AArch64.cpp
The file was removedclang/test/Sema/branch-protection-attr-err.c
The file was modifiedclang/lib/Basic/Targets/ARM.h
The file was addedclang/test/CodeGen/arm-branch-protection-attr-2.c
The file was modifiedllvm/include/llvm/Support/TargetParser.h
The file was modifiedclang/test/Driver/aarch64-security-options.c
The file was modifiedllvm/include/llvm/Support/AArch64TargetParser.h
The file was modifiedclang/include/clang/Basic/DiagnosticDriverKinds.td
The file was addedclang/test/Sema/arm-branch-protection-attr-err.c
The file was modifiedclang/lib/Basic/Targets/ARM.cpp
Commit 639b85ea0ba2f19ec3ad682f2715b312cfc691da by nikita.ppv
[IR] Assert on getPointerElementType() on opaque pointer (NFC)

Previously this simply crashed.
The file was modifiedllvm/include/llvm/IR/Type.h
Commit ab2611d0998c7acade219f1ccb511d3a7e76a681 by ties.stuij
[clang][ARM] emit PACBTI-M feature defines

emit __ARM_FEATURE_BTI_DEFAULT and __ARM_FEATURE_PAC_DEFAULT defines when those
features have been enabled

This patch is part of a series that adds support for the PACBTI-M extension of
the Armv8.1-M architecture, as detailed here:

https://community.arm.com/arm-community-blogs/b/architectures-and-processors-blog/posts/armv8-1-m-pointer-authentication-and-branch-target-identification-extension

The PACBTI-M specification can be found in the Armv8-M Architecture Reference
Manual:

https://developer.arm.com/documentation/ddi0553/latest

The following people contributed to this patch:

- Victor Campos
- Ties Stuij

Reviewed By: ostannard

Differential Revision: https://reviews.llvm.org/D112422
The file was modifiedclang/lib/Basic/Targets/ARM.cpp
The file was modifiedclang/test/Preprocessor/arm-target-features.c
Commit c12c7a84b03b98445ca9011ccbce12030c7b72e3 by ties.stuij
[ARM] add common parts for PACBTI-M support in the backend

This patch encapsulates decision logic about when and how to generate
PAC/BTI related code. It's a part shared by PAC-RET, BTI placement,
build attribute emission, etc, so it make sense committing it
separately in order to unblock the aforementioned parts, which can
proceed concurrently.

This patch adds a few member functions to `ARMFunctionInfo`, which are currently
unused, therefore there is no testing for them at the moment. This code is
tested in follow-up PAC/BTI code gen patches.

This patch is part of a series that adds support for the PACBTI-M extension of
the Armv8.1-M architecture, as detailed here:

https://community.arm.com/arm-community-blogs/b/architectures-and-processors-blog/posts/armv8-1-m-pointer-authentication-and-branch-target-identification-extension

The PACBTI-M specification can be found in the Armv8-M Architecture Reference
Manual:

https://developer.arm.com/documentation/ddi0553/latest

The following people contributed to this patch:

- Momchil Velikov
- Ties Stuij

Reviewed By: danielkiss

Differential Revision: https://reviews.llvm.org/D112423
The file was modifiedllvm/lib/Target/ARM/ARMMachineFunctionInfo.h
The file was modifiedllvm/lib/Target/ARM/ARMMachineFunctionInfo.cpp
Commit 8ee55ab6c06ec9f769f1086e3761c92286d56339 by nikita.ppv
[IR] Remove deprecated GetElementPtrInst constructors

Remove deprecated constructors that are incompatible with opaque
pointers. These have been deprecated since before the LLVM 13
release.
The file was modifiedllvm/include/llvm/IR/Instructions.h
Commit 89eb85ac6eab6431ef72ef705d560c72c5ed71f3 by nikita.ppv
[IRBuilder] Remove deprecated methods

Remove deprecated methods that are incompatible with opaque
pointers. These have all been deprecated at some point prior to
the LLVM 13 release.
The file was modifiedllvm/include/llvm/IR/IRBuilder.h
Commit d688b31628004ed9e109e63c2b43701f97252ff3 by klimek
Fix segfault in clang-format.

Fix bug where we'd read past the end of the tokens after merging _T
macro strings.
The file was modifiedclang/lib/Format/FormatTokenLexer.cpp
The file was modifiedclang/unittests/Format/FormatTest.cpp
Commit b430782be34b1fa8be8ccfd6dcc13d524e905f23 by ties.stuij
[ARM] emit PACBTI-M build attributes

This patch is part of a series that adds support for the PACBTI-M extension of
the Armv8.1-M architecture, as detailed here:

https://community.arm.com/arm-community-blogs/b/architectures-and-processors-blog/posts/armv8-1-m-pointer-authentication-and-branch-target-identification-extension

The PACBTI-M specification can be found in the Armv8-M Architecture Reference
Manual:

https://developer.arm.com/documentation/ddi0553/latest

The following people contributed to this patch:

- Victor Campos
- Ties Stuij

Reviewed By: ostannard

Differential Revision: https://reviews.llvm.org/D112425
The file was modifiedllvm/test/CodeGen/ARM/build-attributes-encoding.s
The file was modifiedllvm/lib/Support/ARMBuildAttrs.cpp
The file was modifiedllvm/lib/Target/ARM/MCTargetDesc/ARMTargetStreamer.cpp
The file was modifiedllvm/test/CodeGen/ARM/build-attributes.ll
The file was modifiedllvm/include/llvm/Support/ARMBuildAttributes.h
The file was modifiedllvm/test/MC/ARM/directive-eabi_attribute.s
The file was modifiedllvm/include/llvm/Support/ARMAttributeParser.h
The file was modifiedllvm/lib/Support/ARMAttributeParser.cpp
The file was addedllvm/test/CodeGen/ARM/pacbti-module-attrs.ll
The file was modifiedllvm/lib/Target/ARM/ARMAsmPrinter.cpp
Commit 0e98659ea1193ca55d469101a629b7f6d2ce1d9f by david.green
[ARM] Strengthen fpclamptosat.ll triple to attempt to fix buildbot errors. NFC
The file was modifiedllvm/test/CodeGen/ARM/fpclamptosat.ll
Commit 9981dd142f18f38f5f1744a7d0fd2348ed6411f8 by llvm-dev
[DAG] Apply clang-format to visitMSTORE + visitMLOAD. NFC.

Reduce diff in D114582
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Commit 0eb1efb92c3078789242d89a1e914d968cf1297f by bradley.smith
[DAGCombiner] When combining REM ensure optimized div nodes are unique

The REM DAG combine uses the visitDivLike functions to try and get an
optimized DIV node to provide better codegen, however in some cases this
visitDivLike call ends up in the BuildSDIVPow2 target hook, which in
turn sometimes will return the same node passed in to indicate not to
change it. The REM DAG combine does not anticipate this and creates a
cycle in the DAG because of it.

Fix this by ensuring any such optimized div node returned is distinct
from the node being combined.

Differential Revision: https://reviews.llvm.org/D114716
The file was addedllvm/test/CodeGen/AArch64/sve-srem-combine-loop.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Commit 1e1a8be21fce994737bd3b58e705c6bc837d3760 by nikita.ppv
[LICM] Support opaque pointers in scalar promotion

Make sure that all pointers have the same load/store access type,
rather than comparing pointer element types.
The file was addedllvm/test/Transforms/LICM/scalar-promote-opaque-ptrs.ll
The file was modifiedllvm/lib/Transforms/Scalar/LICM.cpp
Commit 4f7d397b6dbf39222dff03143af8482901d0a5b8 by llvm-dev
[X86] Add some basic fptosi/fptoui saturate vector tests
The file was addedllvm/test/CodeGen/X86/fptosi-sat-vector-128.ll
The file was addedllvm/test/CodeGen/X86/fptoui-sat-vector-128.ll
Commit 5b4746f94aed5548cd918357299c585a89e3b524 by ties.stuij
[clang][ARM] removing branch protection error cmdline test

This test which was just introduced in the PACBTI-M frontend
patch (https://reviews.llvm.org/D112421) is currently failing on some
platforms. Removing temporarily.
The file was removedclang/test/Frontend/arm-invalid-branch-protection.c
Commit 810b2849181fb2b248b1d5f586cede6618ca7120 by uday
Fixed a memory leak in the PDLToPDLInterp RootOrderingTest.

RootOrderingTest is a low-level unit test that creates values and uses them as vertices in a directed graph. These vertices were created using `builder.create`, but never freed, due to my insufficient understanding of the MLIR infrastructure.

Reviewed By: mehdi_amini, bondhugula, rriddle

Differential Revision: https://reviews.llvm.org/D114745
The file was modifiedmlir/unittests/Conversion/PDLToPDLInterp/RootOrderingTest.cpp
Commit ecb9d8e4e3c4623c2edcd2c50727103927d31508 by djtodoro
[LICM] Hoist LOAD without sinking the STORE

When doing load/store promotion within LICM, if we
cannot prove that it is safe to sink the store we won't
hoist the load, even though we can prove the load could
be dereferenced and moved outside the loop. This patch
implements the load promotion by moving it in the loop
preheader by inserting proper PHI in the loop. The store
is kept as is in the loop. By doing this, we avoid doing
the load from a memory location in each iteration.

Please consider this small example:

loop {
  var = *ptr;
  if (var) break;
  *ptr= var + 1;
}
After this patch, it will be:

var0 = *ptr;
loop {
  var1 = phi (var0, var2);
  if (var1) break;
  var2 = var1 + 1;
  *ptr = var2;
}
This addresses some problems from [0].

[0] https://bugs.llvm.org/show_bug.cgi?id=51193

Differential revision: https://reviews.llvm.org/D113289
The file was modifiedllvm/test/Transforms/InstMerge/st_sink_bugfix_22613.ll
The file was modifiedllvm/lib/Transforms/Utils/SSAUpdater.cpp
The file was modifiedllvm/test/Transforms/LICM/scalar-promote.ll
The file was modifiedllvm/include/llvm/Transforms/Utils/SSAUpdater.h
The file was modifiedllvm/test/Transforms/LICM/promote-capture.ll
The file was modifiedllvm/test/Transforms/LICM/scalar-promote-memmodel.ll
The file was addedllvm/test/Transforms/LICM/hoist-load-without-store.ll
The file was modifiedllvm/lib/Transforms/Scalar/LICM.cpp
Commit 72f9f066df1707753d1754803f08c64d304de84c by djtodoro
Revert "[LICM] Hoist LOAD without sinking the STORE"

This reverts commit ecb9d8e4e3c4623c2edcd2c50727103927d31508.

I'll reland this as soon as the failing tests are fixed/updated.
The file was modifiedllvm/test/Transforms/LICM/scalar-promote-memmodel.ll
The file was modifiedllvm/test/Transforms/InstMerge/st_sink_bugfix_22613.ll
The file was modifiedllvm/include/llvm/Transforms/Utils/SSAUpdater.h
The file was modifiedllvm/test/Transforms/LICM/scalar-promote.ll
The file was modifiedllvm/lib/Transforms/Scalar/LICM.cpp
The file was modifiedllvm/lib/Transforms/Utils/SSAUpdater.cpp
The file was modifiedllvm/test/Transforms/LICM/promote-capture.ll
The file was removedllvm/test/Transforms/LICM/hoist-load-without-store.ll
Commit f5f28d5b0ce76af8f6944774aa73bad9e328b020 by ties.stuij
[ARM] Implement BTI placement pass for PACBTI-M

This patch implements a new MachineFunction in the ARM backend for
placing BTI instructions. It is similar to the existing AArch64
aarch64-branch-targets pass.

BTI instructions are inserted into basic blocks that:
- Have their address taken
- Are the entry block of a function, if the function has external
  linkage or has its address taken
- Are mentioned in jump tables
- Are exception/cleanup landing pads

Each BTI instructions is placed in the beginning of a BB after the
so-called meta instructions (e.g. exception handler labels).

Each outlining candidate and the outlined function need to be in agreement about
whether BTI placement is enabled or not. If branch target enforcement is
disabled for a function, the outliner should not covertly enable it by emitting
a call to an outlined function, which begins with BTI.

The cost mode of the outliner is adjusted to account for the extra BTI
instructions in the outlined function.

The ARM Constant Islands pass will maintain the count of the jump tables, which
reference a block. A `BTI` instruction is removed from a block only if the
reference count reaches zero.

PAC instructions in entry blocks are replaced with PACBTI instructions (tests
for this case will be added in a later patch because the compiler currently does
not generate PAC instructions).

The ARM Constant Island pass is adjusted to handle BTI
instructions correctly.

Functions with static linkage that don't have their address taken can
still be called indirectly by linker-generated veneers and thus their
entry points need be marked with BTI or PACBTI.

The changes are tested using "LLVM IR -> assembly" tests, jump tables
also have a MIR test. Unfortunately it is not possible add MIR tests
for exception handling and computed gotos because of MIR parser
limitations.

This patch is part of a series that adds support for the PACBTI-M extension of
the Armv8.1-M architecture, as detailed here:

https://community.arm.com/arm-community-blogs/b/architectures-and-processors-blog/posts/armv8-1-m-pointer-authentication-and-branch-target-identification-extension

The PACBTI-M specification can be found in the Armv8-M Architecture Reference
Manual:

https://developer.arm.com/documentation/ddi0553/latest

The following people contributed to this patch:

- Mikhail Maltsev
- Momchil Velikov
- Ties Stuij

Reviewed By: ostannard

Differential Revision: https://reviews.llvm.org/D112426
The file was addedllvm/test/CodeGen/Thumb2/bti-entry-blocks.ll
The file was addedllvm/test/CodeGen/Thumb2/bti-indirect-branches.ll
The file was addedllvm/test/CodeGen/Thumb2/bti-outliner-cost-2.ll
The file was addedllvm/test/CodeGen/Thumb2/bti-outliner-2.ll
The file was addedllvm/test/CodeGen/Thumb2/bti-outliner-cost-1.ll
The file was modifiedllvm/lib/CodeGen/TargetInstrInfo.cpp
The file was modifiedllvm/lib/CodeGen/MachineOutliner.cpp
The file was modifiedllvm/lib/Target/ARM/ARM.h
The file was modifiedllvm/lib/Target/ARM/ARMBaseInstrInfo.h
The file was addedllvm/test/CodeGen/Thumb2/bti-outliner-1.ll
The file was modifiedllvm/lib/Target/ARM/ARMConstantIslandPass.cpp
The file was addedllvm/test/CodeGen/Thumb2/bti-jump-table.mir
The file was modifiedllvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
The file was modifiedllvm/test/CodeGen/ARM/O3-pipeline.ll
The file was addedllvm/lib/Target/ARM/ARMBranchTargets.cpp
The file was modifiedllvm/lib/Target/ARM/CMakeLists.txt
The file was addedllvm/test/CodeGen/Thumb2/bti-const-island.mir
The file was modifiedllvm/include/llvm/CodeGen/TargetInstrInfo.h
The file was modifiedllvm/lib/Target/ARM/ARMTargetMachine.cpp
The file was addedllvm/test/CodeGen/Thumb2/bti-const-island-multiple-jump-tables.mir
Commit dee85a4ffaad070000c9672a6ce67e36082e0176 by llvmgnsyncbot
[gn build] Port f5f28d5b0ce7
The file was modifiedllvm/utils/gn/secondary/llvm/lib/Target/ARM/BUILD.gn
Commit 0428d44d4cfafe55fd13679cf16f6b099cbb0e61 by stephen.tozer
[Dexter] Add DexDeclareAddress command and address function

This patch adds a new dexter command, DexDeclareAddress, which is used
to test the relative values of pointer variables. The motivation for
adding this command is to allow meaningful assertions to be made about
pointers that go beyond checking variable availability and null
equality.

The full explanation and syntax is in Commands.md.

Reviewed By: Orlando

Differential Revision: https://reviews.llvm.org/D111447
The file was modifiedcross-project-tests/debuginfo-tests/dexter/dex/command/ParseCommand.py
The file was addedcross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/expression_address.cpp
The file was modifiedcross-project-tests/debuginfo-tests/dexter/Commands.md
The file was modifiedcross-project-tests/debuginfo-tests/dexter/dex/heuristic/Heuristic.py
The file was addedcross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_undeclared_addr.cpp
The file was addedcross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/address_hit_count.cpp
The file was addedcross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/identical_address.cpp
The file was addedcross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/address_after_ref.cpp
The file was addedcross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/multiple_address.cpp
The file was modifiedcross-project-tests/debuginfo-tests/dexter/dex/command/commands/DexExpectWatchBase.py
The file was addedcross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/offset_address.cpp
The file was addedcross-project-tests/debuginfo-tests/dexter/dex/command/commands/DexDeclareAddress.py
The file was addedcross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/missing_dex_address.cpp
The file was addedcross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/self_comparison.cpp
The file was addedcross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/address_printing.cpp
The file was addedcross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_duplicate_address.cpp
Commit 8d25da78aad91635f78225edd972feb2de7228cd by ruslan.arutyunyan
[libcxx][test][NFC] Extend get_allocator() testing for containers

Add dedicated tests for get_allocator() method for sequence, ordered and
unordered associative containers including constness coverage.

Reviewed by: ldionne, Mordante, rarutyun, #libc

Differential revision: https://reviews.llvm.org/D114785
The file was addedlibcxx/test/std/containers/associative/multiset/get_allocator.pass.cpp
The file was addedlibcxx/test/std/containers/sequences/vector/get_allocator.pass.cpp
The file was addedlibcxx/test/std/containers/associative/map/get_allocator.pass.cpp
The file was addedlibcxx/test/std/containers/unord/unord.set/get_allocator.pass.cpp
The file was addedlibcxx/test/std/containers/sequences/list/get_allocator.pass.cpp
The file was addedlibcxx/test/std/containers/associative/set/get_allocator.pass.cpp
The file was addedlibcxx/test/std/containers/sequences/vector.bool/get_allocator.pass.cpp
The file was addedlibcxx/test/std/containers/unord/unord.map/get_allocator.pass.cpp
The file was addedlibcxx/test/std/containers/sequences/forwardlist/get_allocator.pass.cpp
The file was addedlibcxx/test/std/containers/unord/unord.multimap/get_allocator.pass.cpp
The file was addedlibcxx/test/std/containers/associative/multimap/get_allocator.pass.cpp
The file was addedlibcxx/test/std/containers/sequences/deque/get_allocator.pass.cpp
The file was addedlibcxx/test/std/containers/unord/unord.multiset/get_allocator.pass.cpp
Commit 4dcfae6a003aa541600e5af42c0bec5d8e1abef0 by klimek
Fix a violated precondition in clang-format.

Make sure we do not try to change line comments that are non-regular, i.e. do
not start with "//" or "#". This can for example happen when "//" is
broken into two lines with an escaped newline.
The file was modifiedclang/lib/Format/ContinuationIndenter.cpp
The file was modifiedclang/unittests/Format/FormatTestComments.cpp
Commit 9a3b357e2b85bed74449b3c64ec24e1c6184590c by thakis
[gn build] (manually) port 94d5f2afbef0
The file was modifiedllvm/utils/gn/secondary/clang/test/BUILD.gn
Commit 3f643f166494826144bad05eaa3ae14508788df6 by thakis
[clang-cl] Set _MSVC_LANG to 202002L with /std:c++20

MSVC says this should be 202002L for /std:c++20, and of VS16.11
that's indeed the case (older versions warn that they don't
understand /std:c++20, and then cl.exe defaults to C++14 and
sets _MSVC_LANG to 201402 accordingly).

Differential Revision: https://reviews.llvm.org/D114867
The file was modifiedclang/test/Preprocessor/predefined-win-macros.c
The file was modifiedclang/lib/Basic/Targets/OSTargets.cpp
Commit a9d1d00b865ab6f6e75dcd649362a7c5cf01d168 by simon.moll
[VE] Make VE official

Add VE to the list of official targets.

Proposal: https://lists.llvm.org/pipermail/llvm-dev/2021-November/153571.html

Reviewed By: rengolin

Differential Revision: https://reviews.llvm.org/D113247
The file was modifiedllvm/CMakeLists.txt
Commit f0eef1d21203ed679f66b887025cb4a0cbbcbdb6 by stephen.tozer
[Dexter] Fix address_printing test by requiring lldb

Fixes a failure on the llvm-clang-x86_64-sie-ubuntu-fast buildbot caused
by the test requiring lldb (with the standard dexter lit config), but
not including a "Requires: lldb" clause.
The file was modifiedcross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/address_printing.cpp
Commit c6bd63803f62e4d8b723c692add7d940c72e07dd by flo
[BasicAA] Add strncpy libfunc tests.
The file was modifiedllvm/test/Analysis/BasicAA/libfuncs.ll
Commit 524ad6babb8ef3d3e5fa97aac9f24a2513e17e2b by flo
[BasicAA] Add memset_chk libfunc tests.
The file was modifiedllvm/test/Analysis/BasicAA/libfuncs.ll
Commit e28174cf5648d66b6e6157917167e4de36c65cd3 by a.bataev
[SLP][NFC]Add a test for inserting into constant undef vector, NFC.
The file was addedllvm/test/Transforms/SLPVectorizer/X86/insert-element-build-vector-const-undef.ll
Commit 003c9c7457d08888be5deeca7eee84ab5f110bf6 by kiran.chandramohan
Revert "[Flang] Replace notifyMatchFailure with TODO hard failures"

This reverts commit 46fd7fd7b342039b59ec534bab8b93fa5d34f6e2.
The file was modifiedflang/test/CMakeLists.txt
The file was modifiedflang/test/Fir/convert-to-llvm-invalid.fir
The file was removedflang/test/Fir/Todo/dispatch_table.fir
The file was removedflang/test/Fir/Todo/select_case_with_character.fir
The file was removedflang/test/Fir/Todo/boxproc_host.fir
The file was removedflang/test/Fir/Todo/emboxproc.fir
The file was removedflang/test/Fir/Todo/global_len.fir
The file was removedflang/test/Fir/Todo/dispatch.fir
The file was removedflang/test/Fir/Todo/gentypedesc.fir
The file was removedflang/test/Fir/Todo/len_param_index.fir
The file was removedflang/test/Fir/Todo/unboxproc.fir
The file was modifiedflang/lib/Optimizer/CodeGen/CodeGen.cpp
The file was removedflang/test/Fir/Todo/end.fir
The file was modifiedflang/test/lit.cfg.py
Commit e44298a8f8af4f19662aa17fa7a4b3c90ac11376 by flo
[LV] Move code from vectorizeMemoryInstruction to recipe's execute().

The code in widenMemoryInstruction has already been transitioned
to only rely on information provided by VPWidenMemoryInstructionRecipe
directly.

Moving the code directly to VPWidenMemoryInstructionRecipe::execute
completes the transition for the recipe.

It provides the following advantages:

1. Less indirection, easier to see what's going on.
2. Removes accesses to fields of ILV.

2) in particular ensures that no dependencies on
fields in ILV for vector code generation are re-introduced.

Reviewed By: Ayal

Differential Revision: https://reviews.llvm.org/D114324
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Commit 13e66c070bdb4edb660b8372791ce52a661ba138 by david.green
Revert "[ARM] Teach getIntImmCostInst about the cost of saturating fp converts"

This reverts commit 6d41de380f223c8da02fd4d6a7f7dd1e7a404a24 as the
windows bots are not happy, in a way I do not understand. Revert whilst
we figure out what is wrong.
The file was modifiedllvm/test/CodeGen/ARM/fpclamptosat.ll
The file was modifiedllvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
Commit 9fce961d2f47579981898ddd23ad804bb1477286 by herhut
[mlir][linalg] Disable tensor-matmul test under asan

The test is currently leaky. Disabling it to make the bots green.

Differential Revision: https://reviews.llvm.org/D114857
The file was modifiedmlir/test/Integration/Dialect/Linalg/CPU/test-tensor-matmul.mlir
Commit 9687c13174147b34d4e04a69665265b8dfe21572 by nikita.ppv
[Verifier] Make matrix intrinsic verification compatible with opaque pointers

Don't check the pointer element type for opaque pointers.
The file was addedllvm/test/Verifier/matrix-intrinsics-opaque-ptrs.ll
The file was modifiedllvm/lib/IR/Verifier.cpp
Commit ddce6e05612dac4edec0ab636fb2cbdad1676879 by a.bataev
[SLP]Improve vectorization of cmp instructions sequences.

Final attempt to vectorize bundles of comptatible cmp instructions after
all other instructions processing.

Metric: SLP.NumVectorInstructions

Program                                                                             results results0 diff
        test-suite :: MultiSource/Benchmarks/mediabench/g721/g721encode/encode.test    1.00    5.00  400.0%
                              test-suite :: MultiSource/Benchmarks/PAQ8p/paq8p.test    8.00   11.00   37.5%
                    test-suite :: MultiSource/Benchmarks/Olden/voronoi/voronoi.test   20.00   26.00   30.0%
                test-suite :: External/SPEC/CINT2017rate/525.x264_r/525.x264_r.test 1344.00 1648.00   22.6%
               test-suite :: External/SPEC/CINT2017speed/625.x264_s/625.x264_s.test 1344.00 1648.00   22.6%
                              test-suite :: MultiSource/Benchmarks/Olden/bh/bh.test  102.00  124.00   21.6%
                test-suite :: MultiSource/Benchmarks/DOE-ProxyApps-C/CoMD/CoMD.test  118.00  133.00   12.7%
          test-suite :: External/SPEC/CFP2017speed/638.imagick_s/638.imagick_s.test 3233.00 3554.00    9.9%
           test-suite :: External/SPEC/CFP2017rate/538.imagick_r/538.imagick_r.test 3233.00 3554.00    9.9%
                        test-suite :: MultiSource/Benchmarks/Olden/power/power.test   64.00   70.00    9.4%
           test-suite :: External/SPEC/CFP2017rate/526.blender_r/526.blender_r.test 7879.00 8604.00    9.2%
           test-suite :: MultiSource/Benchmarks/Prolangs-C/simulator/simulator.test   50.00   54.00    8.0%
                        test-suite :: MultiSource/Applications/sqlite3/sqlite3.test   27.00   29.00    7.4%
             test-suite :: External/SPEC/CFP2017rate/510.parest_r/510.parest_r.test 8345.00 8955.00    7.3%
     test-suite :: MultiSource/Benchmarks/Prolangs-C/TimberWolfMC/timberwolfmc.test  694.00  738.00    6.3%
                        test-suite :: MultiSource/Benchmarks/MallocBench/gs/gs.test  361.00  382.00    5.8%
                      test-suite :: MultiSource/Benchmarks/7zip/7zip-benchmark.test  409.00  430.00    5.1%
     test-suite :: External/SPEC/CINT2017speed/600.perlbench_s/600.perlbench_s.test  140.00  147.00    5.0%
      test-suite :: External/SPEC/CINT2017rate/500.perlbench_r/500.perlbench_r.test  140.00  147.00    5.0%
             test-suite :: External/SPEC/CFP2017rate/511.povray_r/511.povray_r.test 4013.00 4206.00    4.8%
                       test-suite :: MultiSource/Applications/JM/ldecod/ldecod.test  966.00 1011.00    4.7%
                           test-suite :: SingleSource/Benchmarks/Misc/oourafft.test   65.00   68.00    4.6%
                            test-suite :: MultiSource/Benchmarks/Bullet/bullet.test 4219.00 4381.00    3.8%
                    test-suite :: MultiSource/Benchmarks/tramp3d-v4/tramp3d-v4.test 1911.00 1973.00    3.2%
      test-suite :: External/SPEC/CINT2017rate/531.deepsjeng_r/531.deepsjeng_r.test   62.00   64.00    3.2%
     test-suite :: External/SPEC/CINT2017speed/631.deepsjeng_s/631.deepsjeng_s.test   62.00   64.00    3.2%
                 test-suite :: External/SPEC/CINT2017speed/602.gcc_s/602.gcc_s.test  852.00  877.00    2.9%
                  test-suite :: External/SPEC/CINT2017rate/502.gcc_r/502.gcc_r.test  852.00  877.00    2.9%
                       test-suite :: MultiSource/Applications/JM/lencod/lencod.test 1624.00 1668.00    2.7%
                         test-suite :: MultiSource/Benchmarks/McCat/18-imp/imp.test   39.00   40.00    2.6%
test-suite :: MultiSource/Benchmarks/MiBench/consumer-typeset/consumer-typeset.test  613.00  624.00    1.8%
      test-suite :: MultiSource/Benchmarks/MiBench/consumer-lame/consumer-lame.test  378.00  383.00    1.3%
      test-suite :: MultiSource/Benchmarks/MiBench/consumer-jpeg/consumer-jpeg.test  293.00  295.00    0.7%
            test-suite :: MultiSource/Benchmarks/mediabench/jpeg/jpeg-6a/cjpeg.test  297.00  299.00    0.7%
      test-suite :: External/SPEC/CINT2017rate/523.xalancbmk_r/523.xalancbmk_r.test 5522.00 5534.00    0.2%
     test-suite :: External/SPEC/CINT2017speed/623.xalancbmk_s/623.xalancbmk_s.test 5522.00 5534.00    0.2%

Differential Revision: https://reviews.llvm.org/D114799
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/insert-element-build-vector-inseltpoison.ll
The file was modifiedllvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/insert-element-build-vector.ll
The file was modifiedllvm/test/Transforms/PhaseOrdering/X86/vector-reductions-logical.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/reduction-logical.ll
The file was modifiedllvm/test/Transforms/PhaseOrdering/X86/vector-reductions.ll
Commit fd9069ffce2ddab62de8f6451faaf26e4dad5401 by bradley.smith
[AArch64][SVE] Duplicate FP_EXTEND/FP_TRUNC -> LOAD/STORE dag combines

By duplicating these dag combines we can bypass the legality checks that
they do, this allows us to perform these combines on larger than legal
fixed types, which in turn allows us to bring the same benefits D114580
brought but to larger than legal fixed types.

Depends on D114580

Differential Revision: https://reviews.llvm.org/D114628
The file was modifiedllvm/test/CodeGen/AArch64/sve-fixed-length-fp-extend-trunc.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
Commit cc30fbf2425c5de5d941e79919884313fa46d871 by a.bataev
[SLP]Introduce isUndefVector function to check for undef vectors.

Undefined vector might be not only the UndefValue, but also it can be
a constant vector with undef ot poison elements, need to check for this
kind of undef too.

Differential Revision: https://reviews.llvm.org/D114873
The file was modifiedllvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/insert-element-build-vector-const-undef.ll
Commit 415e821a5089d7b2a49cc8e1717702f46ffdae86 by sd.fertile
[PowerPC][AIX] Add toc-data support for 64-bit AIX small code model.

The patch expands the existing 32-bit toc-data attribute support to 64-bit.
In both 32-bit and 64-bit it is supported for small code model only.

Differential Revision: https://reviews.llvm.org/D114654
The file was modifiedllvm/test/CodeGen/PowerPC/basic-toc-data-local-linkage.ll
The file was modifiedllvm/lib/Target/PowerPC/P10InstrResources.td
The file was modifiedllvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp
The file was modifiedllvm/test/CodeGen/PowerPC/toc-data.ll
The file was modifiedllvm/lib/Target/PowerPC/P9InstrResources.td
The file was modifiedllvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
The file was modifiedllvm/test/CodeGen/PowerPC/basic-toc-data-extern.ll
The file was modifiedllvm/lib/Target/PowerPC/PPCInstr64Bit.td
Commit b254c2e2c4aa3298655282b8db37860129bcd7b6 by Louis Dionne
[libc++] Fix `uniform_int_distribution` for 128-bit result type

Fixes https://llvm.org/PR51520. The problem is that `uniform_int_distribution`
currently uses an unsigned integer with at most 64 bits internally, which
is then casted to the desired result type. If the result type is `int64_t`,
this will produce a negative number if the most significant bit is set,
but if the result type is `__int128_t`, the value remains non-negative
and will be out of bounds for the example in PR#51520. (The reason why
it also seems to work if the upper or lower bound is changed is
because the branch at [1] will then no longer be taken, and proper
rejection sampling takes place.)

The bigger issue here is probably that `uniform_int_distribution` can be
instantiated with `__int128_t` but will silently produce incorrect results
(only the lowest 64 bits can ever be set). libstdc++ also supports `__int128_t`
as a result type, so I have simply extended the maximum width of the
internal intermediate result type.

[1]: https://github.com/llvm/llvm-project/blob/6d28dffb6/libcxx/include/__random/uniform_int_distribution.h#L266-L267

Differential Revision: https://reviews.llvm.org/D114129
The file was modifiedlibcxx/include/__random/log2.h
The file was modifiedlibcxx/include/__random/uniform_int_distribution.h
The file was addedlibcxx/test/std/numerics/rand/rand.dis/rand.dist.uni/rand.dist.uni.int/int128.pass.cpp
Commit afc9e7517ada7568b60187a1eeb104e8a6b03877 by a.bataev
[SLP]Improve cost model for the shuffled extracts.

Improved the calculation of the shuffled extracts, where possible. Need
to calculate the cost for the extracted scalars if some users are not
insertelements + improved the total estimation of the shuffled scalars
used in insertelements build vectors.

Differential Revision: https://reviews.llvm.org/D113782
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/vec_list_bias-inseltpoison.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/cmp_commute.ll
The file was modifiedllvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/cmp_commute-inseltpoison.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/vec_list_bias.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/load-merge.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/load-merge-inseltpoison.ll
Commit 444013d324fe279fe71cb626ba56ab935d943fd8 by simon.moll
[VE][NFC] Use POSIX-compatible stream redirection

Drop Bash-style stream redirect in favor of POSIX stream redirection to
fix spurious test failures on Windows.

Failure:
https://lab.llvm.org/buildbot/#/builders/123/builds/7509/steps/8/logs/stdio
The file was modifiedllvm/test/CodeGen/VE/Vector/vp_sdiv.ll
The file was modifiedllvm/test/CodeGen/VE/Vector/vp_or.ll
The file was modifiedllvm/test/CodeGen/VE/Vector/vp_sub.ll
The file was modifiedllvm/test/CodeGen/VE/Vector/vp_ashr.ll
The file was modifiedllvm/test/CodeGen/VE/Vector/vp_urem.ll
The file was modifiedllvm/test/CodeGen/VE/Vector/vp_shl.ll
The file was modifiedllvm/test/CodeGen/VE/Vector/vp_srem.ll
The file was modifiedllvm/test/CodeGen/VE/Vector/vp_lshr.ll
The file was modifiedllvm/test/CodeGen/VE/Vector/vp_mul.ll
The file was modifiedllvm/test/CodeGen/VE/Vector/vp_xor.ll
The file was modifiedllvm/test/CodeGen/VE/Vector/vp_udiv.ll
Commit 1bd01defff8a21ea714b4cfd3fffadb7b71e3e58 by llvm-dev
[VE] Remove switch with only default case statement to fix MSVC warning. NFC.
The file was modifiedllvm/lib/Target/VE/MCTargetDesc/VEInstPrinter.cpp
Commit 19d34f6e95fe94928ec275168d4d69d89aa54bbc by llvm-dev
[X86] combinePMULH - recognise 'cheap' trunctions via PACKS/PACKUS as well as SEXT/ZEXT

combinePMULH currently only truncates vXi32/vXi64 multiplies to PMULHW/PMULUW if the source operands are SEXT/ZEXT instructions for a 'free' truncation.

But we can generalize this to any source operand with sufficient leading sign/zero bits that would allow PACKS/PACKUS to be used as a 'cheap' truncation.

This helps us avoid the wider multiplies, in exchange for truncation on both source operands instead of the result.

Differential Revision: https://reviews.llvm.org/D113371
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
The file was modifiedllvm/test/CodeGen/X86/pmulh.ll
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit 058c312a449fcce2743fb8d789a25fd2e0f416d7 by jhuber6
[OpenMP][FIX] SPMDzation guarding needs to account for all reaching kernels

If two reaching kernels disagree on the execution mode we cannot guard a
function right now. Ensure we do not as we otherwise will cause a
deadlock.

Reviewed By: JonChesterfield

Differential Revision: https://reviews.llvm.org/D114866
The file was addedllvm/test/Transforms/OpenMP/spmdization_guarding_two_reaching_kernels.ll
The file was modifiedllvm/lib/Transforms/IPO/OpenMPOpt.cpp
Commit c537a943342be66d0876c6440a2df317b572c092 by nicolas.vasilache
[mlir][Vector] Thread 0-d vectors through vector.transfer ops

This revision adds 0-d vector support to vector.transfer ops.
In the process, numerous cleanups are applied, in particular around normalizing
and reducing the number of builders.

Reviewed By: ThomasRaoux, springerm

Differential Revision: https://reviews.llvm.org/D114803
The file was modifiedmlir/lib/Conversion/VectorToSCF/VectorToSCF.cpp
The file was modifiedmlir/lib/Dialect/Vector/VectorTransferPermutationMapRewritePatterns.cpp
The file was modifiedmlir/lib/Dialect/Vector/VectorTransforms.cpp
The file was modifiedmlir/lib/Dialect/Linalg/ComprehensiveBufferize/VectorInterfaceImpl.cpp
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
The file was modifiedmlir/lib/Interfaces/VectorInterfaces.cpp
The file was modifiedmlir/lib/Dialect/Vector/VectorDropLeadUnitDim.cpp
The file was modifiedmlir/include/mlir/Dialect/Vector/VectorOps.td
The file was modifiedmlir/test/Dialect/Vector/ops.mlir
The file was modifiedmlir/test/Dialect/Linalg/vectorization.mlir
The file was modifiedmlir/lib/Dialect/MemRef/Transforms/FoldSubViewOps.cpp
The file was modifiedmlir/lib/Dialect/Vector/VectorOps.cpp
The file was modifiedmlir/lib/Conversion/VectorToROCDL/VectorToROCDL.cpp
The file was modifiedmlir/lib/Conversion/VectorToGPU/VectorToGPU.cpp
The file was modifiedmlir/include/mlir/Interfaces/VectorInterfaces.td
The file was modifiedmlir/test/Dialect/Vector/vector-transfer-to-vector-load-store.mlir
The file was modifiedmlir/test/Conversion/VectorToSCF/vector-to-scf.mlir
The file was modifiedmlir/test/Dialect/Vector/invalid.mlir
Commit 0e9979affe2941b25df61c1219ba9ed64f4fbf6c by koraq
[libc++][format][1/6] Reduce binary size.

This removes the `format_args_t` from `<format>` and adjusts the type of
the `format_args` for the `vformat_to` overloads.

The `format_context` uses a `back_insert_iterator<string>` therefore the
new `output_iterator` function uses a `string` as its temporary storage
buffer. This isn't ideal. The next patches in this series will improve
this. These improvements make it easy to also improve `format_to_n` and
`formatted_size`.

This addresses P2216 `6. Binary size`.
P2216 `5. Compile-time checks` are not part of this change.

Implements parts of:
- P2216 std::format improvements

Depends on D103670

Reviewed By: ldionne, #libc

Differential Revision: https://reviews.llvm.org/D110494
The file was modifiedlibcxx/test/std/utilities/format/format.arguments/format.arg.store/make_format_args.sh.cpp
The file was modifiedlibcxx/test/std/utilities/format/format.functions/vformat_to.locale.pass.cpp
The file was modifiedlibcxx/test/std/utilities/format/format.functions/vformat_to.pass.cpp
The file was modifiedlibcxx/test/std/utilities/format/format.functions/format_tests.h
The file was modifiedlibcxx/test/std/utilities/format/format.functions/vformat.locale.pass.cpp
The file was modifiedlibcxx/test/std/language.support/support.limits/support.limits.general/version.version.pass.cpp
The file was modifiedlibcxx/test/std/language.support/support.limits/support.limits.general/format.version.pass.cpp
The file was modifiedlibcxx/utils/generate_feature_test_macro_components.py
The file was modifiedlibcxx/include/version
The file was modifiedlibcxx/docs/Status/Cxx20Papers.csv
The file was modifiedlibcxx/include/format
The file was modifiedlibcxx/test/std/utilities/format/format.arguments/format.args/types.compile.pass.cpp
The file was modifiedlibcxx/test/std/utilities/format/format.functions/vformat.pass.cpp
The file was modifiedlibcxx/test/std/utilities/format/format.functions/locale-specific_form.pass.cpp
Commit 7512a9280a41b9810f1bd0d8e08200abbc8de5da by jeffniu22
[llvm][stlextras] Add const methods to concat_range and enumerator

Reviewed By: jpienaar

Differential Revision: https://reviews.llvm.org/D114807
The file was modifiedllvm/include/llvm/ADT/STLExtras.h
Commit ca6bd9cd4320e675026c559cc3f8bf810a89d4ce by jeffniu22
[mlir][ods] AttrOrTypeGen uses Class

AttrOrType def generator uses `Class` code gen helper,
instead of naked raw_ostream.

Depends on D113714 and D114807

Reviewed By: rriddle

Differential Revision: https://reviews.llvm.org/D113715
The file was modifiedmlir/unittests/Support/IndentedOstreamTest.cpp
The file was modifiedmlir/lib/TableGen/Format.cpp
The file was modifiedmlir/test/mlir-tblgen/default-type-attr-print-parser.td
The file was modifiedmlir/include/mlir/TableGen/AttrOrTypeDef.h
The file was modifiedmlir/tools/mlir-tblgen/AttrOrTypeFormatGen.cpp
The file was modifiedmlir/lib/TableGen/AttrOrTypeDef.cpp
The file was modifiedmlir/include/mlir/Support/IndentedOstream.h
The file was modifiedmlir/tools/mlir-tblgen/CMakeLists.txt
The file was modifiedmlir/tools/mlir-tblgen/AttrOrTypeFormatGen.h
The file was modifiedmlir/tools/mlir-tblgen/OpDefinitionsGen.cpp
The file was modifiedmlir/tools/mlir-tblgen/AttrOrTypeDefGen.cpp
The file was modifiedmlir/lib/Support/IndentedOstream.cpp
The file was modifiedmlir/tools/mlir-tblgen/OpDocGen.cpp
The file was modifiedmlir/include/mlir/TableGen/Class.h
The file was addedmlir/tools/mlir-tblgen/OpClass.h
The file was modifiedmlir/tools/mlir-tblgen/RewriterGen.cpp
The file was modifiedmlir/test/mlir-tblgen/attrdefs.td
The file was modifiedmlir/cmake/modules/AddMLIR.cmake
The file was modifiedmlir/tools/mlir-tblgen/OpFormatGen.cpp
The file was modifiedmlir/include/mlir/TableGen/CodeGenHelpers.h
The file was modifiedmlir/test/mlir-tblgen/attr-or-type-format.td
The file was modifiedmlir/lib/TableGen/Class.cpp
The file was modifiedmlir/include/mlir/TableGen/Format.h
The file was addedmlir/tools/mlir-tblgen/OpClass.cpp
The file was modifiedmlir/test/mlir-tblgen/typedefs.td
Commit 09859113ed23ea11ce5726f0d19bc57e93ecbaab by dvyukov
Revert "tsan: new runtime (v3)"

This reverts commit 66d4ce7e26a5ab00f7e4946b6e1bac8f805010fa.

Chromium tests started failing:
https://bugs.chromium.org/p/chromium/issues/detail?id=1275581
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_interface_atomic.cpp
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_shadow.h
The file was modifiedcompiler-rt/test/tsan/mutexset7.cpp
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp
The file was modifiedcompiler-rt/lib/tsan/tests/unit/tsan_shadow_test.cpp
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_rtl_report.cpp
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_platform_windows.cpp
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_rtl_thread.cpp
The file was modifiedcompiler-rt/lib/tsan/go/buildgo.sh
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_rtl.cpp
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_platform_posix.cpp
The file was modifiedcompiler-rt/test/tsan/memcpy_race.cpp
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_mutexset.cpp
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_rtl_mutex.cpp
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_sync.cpp
The file was modifiedcompiler-rt/lib/tsan/CMakeLists.txt
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_platform_linux.cpp
The file was modifiedcompiler-rt/test/tsan/bench_threads.cpp
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_flags.inc
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_defs.h
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_platform.h
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_mman.cpp
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_mman.h
The file was modifiedcompiler-rt/lib/tsan/check_analyze.sh
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_rtl_access.cpp
The file was modifiedcompiler-rt/lib/tsan/go/tsan_go.cpp
The file was modifiedcompiler-rt/test/tsan/memcmp_race.cpp
The file was modifiedcompiler-rt/lib/tsan/tests/unit/tsan_stack_test.cpp
The file was modifiedcompiler-rt/lib/tsan/go/build.bat
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_mutexset.h
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_platform_mac.cpp
The file was modifiedcompiler-rt/lib/tsan/tests/unit/tsan_flags_test.cpp
The file was modifiedcompiler-rt/test/tsan/free_race2.c
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_rtl_proc.cpp
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_dense_alloc.h
The file was modifiedcompiler-rt/lib/tsan/tests/unit/tsan_trace_test.cpp
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_rtl.h
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_interface_java.cpp
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_trace.h
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_thread_registry.h
The file was modifiedcompiler-rt/lib/tsan/tests/unit/tsan_sync_test.cpp
The file was addedcompiler-rt/lib/tsan/rtl/tsan_update_shadow_word.inc
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_flags.cpp
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_sync.h
Commit 617ad14060dcdfa9f1f967a3edd9e097de8bf83a by spatel
[SelectionDAG] Add pattern to haveNoCommonBitsSet

Correctly identify the following pattern, which has no common bits: (X & ~M) op (Y & M).

Differential Revision: https://reviews.llvm.org/D113970
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
The file was modifiedllvm/test/CodeGen/X86/vec_no-common-bits.ll
The file was modifiedllvm/test/CodeGen/X86/or-lea.ll
Commit 6dd0bfad0d3c7bfaa3442ad2382ce3bd8ad94be3 by simon.moll
[Clang][VE] Fix toolchain test when -DCLANG_DEFAULT_LINKER=lld in use

The CLANG_DEFAULT_LINKER flag overrides the default toolchain linker.
VE strictly requires 'nld' to be the default linker.  This causes a test
failure in test/Driver/ve-toolchain.cpp when configured with
CLANG_DEFAULT_LINKER!=ld

  Failure in clang-ppc64le-rhel
  (https://lab.llvm.org/buildbot/#/builders/57/builds/12628)

Until default linker selection with CLANG_DEFAULT_LINKER!=ld is fixed
proper, we manually specify '-fuse-ld=ld' (ie the toolchain default
linker) in the ve-toolchain tests.
The file was modifiedclang/test/Driver/ve-toolchain.cpp
The file was modifiedclang/test/Driver/ve-toolchain.c
Commit c6fa4c481a3f41ea5730f6661fff3f2a6cda6f30 by rnk
[AArch64] Fix unused variable warning with NDEBUG, NFC
The file was modifiedllvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
Commit fa1c077b41ae1335332d65399802f2c68e82ca7b by Louis Dionne
[runtimes] Remove support for GCC-style 32 bit multilib builds

This patch removes the ability to build the runtimes in the 32 bit
multilib configuration, i.e. using -m32. Instead of doing this, one
should cross-compile the runtimes for the appropriate target triple,
like we do for all other triples.

As it stands, -m32 has several issues, which all seem to be related to
the fact that it's not well supported by the operating systems that
libc++ support. The simplest path towards fixing this is to remove
support for the configuration, which is also the best course of action
if there is little interest for keeping that configuration. If there
is a desire to keep this configuration around, we'll need to do some
work to figure out the underlying issues and fix them.

Differential Revision: https://reviews.llvm.org/D114473
The file was modifiedlibcxx/test/std/thread/thread.condition/thread.condition.condvar/wait_until.pass.cpp
The file was modifiedlibcxx/test/std/utilities/time/time.clock/time.clock.system/from_time_t.pass.cpp
The file was modifiedlibcxx/test/libcxx/thread/thread.threads/thread.thread.this/sleep_for.signals.pass.cpp
The file was modifiedlibcxx/test/std/thread/thread.condition/thread.condition.condvar/wait_until_pred.pass.cpp
The file was modifiedlibcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/mutex_duration.pass.cpp
The file was modifiedlibcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/try_lock_shared.pass.cpp
The file was modifiedlibcxx/CMakeLists.txt
The file was modifiedlibcxxabi/CMakeLists.txt
The file was modifiedlibcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/try_lock_until.pass.cpp
The file was modifiedlibcxx/test/std/thread/thread.barrier/completion.pass.cpp
The file was modifiedlibcxx/test/std/utilities/time/time.clock/time.clock.steady/now.pass.cpp
The file was modifiedlibcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.class/lock.pass.cpp
The file was modifiedlibcxxabi/test/test_exception_storage.pass.cpp
The file was modifiedlibcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.recursive/lock.pass.cpp
The file was modifiedlibcxx/test/std/thread/thread.latch/arrive_and_wait.pass.cpp
The file was modifiedlibcxx/test/std/thread/thread.condition/thread.condition.condvar/wait_for.pass.cpp
The file was modifiedlibcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_for_pred.pass.cpp
The file was modifiedlibcxx/test/std/thread/thread.barrier/arrive.pass.cpp
The file was modifiedlibcxx/test/std/thread/thread.latch/count_down.pass.cpp
The file was modifiedlibcxx/test/libcxx/thread/thread.condition/PR30202_notify_from_pthread_created_thread.pass.cpp
The file was modifiedlibcxx/test/std/thread/futures/futures.unique_future/wait_for.pass.cpp
The file was modifiedlibcxx/utils/ci/run-buildbot
The file was modifiedlibcxx/test/std/thread/thread.condition/thread.condition.condvar/wait_for_pred.pass.cpp
The file was modifiedlibcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.class/try_lock_for.pass.cpp
The file was modifiedlibcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.recursive/try_lock.pass.cpp
The file was modifiedlibcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.shared_mutex.requirements/thread.shared_mutex.class/lock.pass.cpp
The file was modifiedlibcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/try_lock_shared_until.pass.cpp
The file was modifiedlibcxxabi/test/CMakeLists.txt
The file was modifiedlibcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/try_lock_until_deadlock_bug.pass.cpp
The file was modifiedlibcxx/test/libcxx/thread/thread.threads/thread.thread.this/sleep_for.pass.cpp
The file was modifiedlibcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.locking/lock.pass.cpp
The file was modifiedlibcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.class/try_lock.pass.cpp
The file was modifiedlibcxx/test/std/thread/thread.semaphore/release.pass.cpp
The file was modifiedlibcxx/test/std/thread/thread.semaphore/binary.pass.cpp
The file was modifiedlibcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.class/lock.pass.cpp
The file was modifiedlibcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.shared_mutex.requirements/thread.shared_mutex.class/lock_shared.pass.cpp
The file was modifiedlibcxx/docs/BuildingLibcxx.rst
The file was modifiedlibcxx/test/std/utilities/time/time.clock/time.clock.file/now.pass.cpp
The file was modifiedlibcxx/docs/ReleaseNotes.rst
The file was modifiedlibcxx/test/std/utilities/time/time.clock/time.clock.system/to_time_t.pass.cpp
The file was modifiedlibcxx/test/std/thread/thread.condition/notify_all_at_thread_exit.pass.cpp
The file was modifiedlibcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.copy_file/copy_file.pass.cpp
The file was modifiedlibcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_until_pred.pass.cpp
The file was modifiedlibcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/mutex_try_to_lock.pass.cpp
The file was modifiedlibcxx/utils/libcxx/test/params.py
The file was modifiedlibunwind/test/remember_state_leak.pass.sh.s
The file was modifiedlibcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/lock.pass.cpp
The file was modifiedlibcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.recursive/try_lock_until.pass.cpp
The file was modifiedlibcxx/test/std/thread/futures/futures.unique_future/wait.pass.cpp
The file was modifiedlibcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.locking/try_lock_until.pass.cpp
The file was modifiedlibcxx/test/std/thread/thread.semaphore/try_acquire.pass.cpp
The file was modifiedlibcxx/test/std/thread/thread.barrier/arrive_and_drop.pass.cpp
The file was modifiedlibcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/mutex.pass.cpp
The file was modifiedlibcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.shared_mutex.requirements/thread.shared_mutex.class/try_lock_shared.pass.cpp
The file was modifiedlibcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/mutex.pass.cpp
The file was modifiedlibcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/mutex_duration.pass.cpp
The file was modifiedlibcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.recursive/try_lock.pass.cpp
The file was modifiedlibcxx/test/std/thread/thread.semaphore/acquire.pass.cpp
The file was modifiedlibcxx/test/std/thread/futures/futures.shared_future/wait.pass.cpp
The file was modifiedlibcxx/test/std/thread/thread.condition/thread.condition.condvarany/notify_one.pass.cpp
The file was modifiedlibcxx/utils/ci/buildkite-pipeline.yml
The file was modifiedlibcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.last_write_time/last_write_time.pass.cpp
The file was modifiedlibcxx/test/std/thread/futures/futures.async/async.pass.cpp
The file was modifiedlibcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/mutex_time_point.pass.cpp
The file was modifiedlibcxx/test/std/utilities/time/time.clock/time.clock.file/to_from_sys.pass.cpp
The file was modifiedlibcxx/test/std/utilities/time/time.clock/time.clock.system/now.pass.cpp
The file was removedlibcxx/cmake/caches/Generic-32bits.cmake
The file was modifiedlibcxx/test/std/thread/futures/futures.shared_future/wait_until.pass.cpp
The file was modifiedlibcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.class/try_lock.pass.cpp
The file was modifiedlibcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.locking/lock.pass.cpp
The file was modifiedlibcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.locking/try_lock_until.pass.cpp
The file was modifiedlibcxx/test/std/thread/thread.barrier/arrive_and_wait.pass.cpp
The file was modifiedlibcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.recursive/try_lock_for.pass.cpp
The file was modifiedlibcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_for.pass.cpp
The file was modifiedlibcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/try_lock_for.pass.cpp
The file was modifiedlibcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/try_lock_shared_for.pass.cpp
The file was modifiedlibcxx/test/libcxx/input.output/filesystems/class.directory_entry/directory_entry.mods/last_write_time.pass.cpp
The file was modifiedlibcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_until.pass.cpp
The file was modifiedlibcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/mutex_try_to_lock.pass.cpp
The file was modifiedlibcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/mutex_time_point.pass.cpp
The file was modifiedlibcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.shared_mutex.requirements/thread.shared_mutex.class/try_lock.pass.cpp
The file was modifiedlibcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.class/try_lock_until.pass.cpp
The file was modifiedlibcxx/test/std/thread/thread.threads/thread.thread.this/sleep_until.pass.cpp
The file was modifiedlibunwind/docs/BuildingLibunwind.rst
The file was modifiedlibunwind/test/CMakeLists.txt
The file was modifiedlibcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.recursive/lock.pass.cpp
The file was modifiedlibcxx/test/std/thread/thread.semaphore/timed.pass.cpp
The file was modifiedlibunwind/CMakeLists.txt
The file was modifiedlibcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/lock_shared.pass.cpp
The file was modifiedlibcxx/test/std/thread/futures/futures.unique_future/wait_until.pass.cpp
The file was modifiedlibcxx/test/std/thread/futures/futures.shared_future/wait_for.pass.cpp
The file was modifiedlibcxx/test/std/thread/thread.condition/thread.condition.condvar/notify_all.pass.cpp
The file was modifiedlibcxx/test/std/utilities/time/time.clock/time.clock.hires/now.pass.cpp
The file was modifiedlibcxx/test/CMakeLists.txt
The file was modifiedlibcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/try_lock.pass.cpp
Commit dc1244dc4e76316ab24596545951d3dc47359875 by Louis Dionne
[runtimes] Move WARNING to FATAL_ERROR for folks using FOO_BUILD_32_BITS
The file was modifiedlibcxx/CMakeLists.txt
The file was modifiedlibunwind/CMakeLists.txt
The file was modifiedlibcxxabi/CMakeLists.txt
Commit 6eeda06c1d22da2b9fe96a2569a8a0f8e4f36880 by aaron
[Clang] Fix nesting of discarded and immediate contexts.

In C++23, discarded statements and if consteval statements can nest
arbitrarily. To support that, we keep track of whether the parent of
the current evaluation context is discarded or immediate.

This is done at the construction of an evaluation context
to improve performance.

Fixes https://bugs.llvm.org/show_bug.cgi?id=52231
The file was modifiedclang/lib/Sema/SemaExpr.cpp
The file was modifiedclang/lib/Sema/SemaStmt.cpp
The file was modifiedclang/include/clang/Sema/Sema.h
The file was modifiedclang/test/SemaCXX/cxx2b-consteval-if.cpp
Commit b6f3c8de6acfa1c40cc34a46168d9987cab18c9b by kstoimenov
[ASan] Fixed include order.

Reviewed By: morehouse

Differential Revision: https://reviews.llvm.org/D114835
The file was modifiedcompiler-rt/lib/asan/tests/asan_noinst_test.cpp
Commit 435d44bf8ab3925b85b70c0736841e3c4c667199 by simon.moll
[VE][NFC] Fix use-after-free in VEInstrInfo

First call getOperand, then erase the MachineInstr. Not the other way
round.

Expected to fix test/CodeGen/VE/VELIntrinsics/lvm.ll

Detected by asan buildbot:

  sanitizer-x86_64-linux-fast
  (https://lab.llvm.org/buildbot/#/builders/5/builds/15384)
The file was modifiedllvm/lib/Target/VE/VEInstrInfo.cpp
Commit ecaad4a87611c0c6e0d6e448906d15b6fec06dc9 by jeffniu22
[mlir][ods][nfc] fix gcc-5 build
The file was modifiedmlir/tools/mlir-tblgen/AttrOrTypeDefGen.cpp
The file was modifiedmlir/include/mlir/TableGen/Class.h