Changes

Summary

  1. [X86][SSE] Add signbit tests to show cmpss/cmpsd ops not recognised as 'allbits' results. (details)
  2. [X86][SSE] X86ISD::FSETCC nodes (cmpss/cmpsd) return a 0/-1 allbits signbits result (details)
  3. [LV] Ignore candidate VFs with invalid costs. (details)
  4. [mlir] factor math-to-llvm out of standard-to-llvm (details)
  5. [LLDB] Testsuite: Add helper to check for AArch64 target (details)
  6. sanitizer_common: rename Mutex to MutexState (details)
  7. sanitizer_common: add thread safety annotations (details)
  8. [PowerPC] Remove unnecessary 64-bit guards from altivec.h (details)
  9. [OpenMP][OMPT] Fix compile-time assertion in ompt-multiplex.h (details)
  10. [llvm][sve] Lowering for VLS truncating stores (details)
  11. sanitizer_common: use 0 for empty stack id (details)
  12. [mlir][Linalg] Improve comprehensive bufferization for scf.yield. (details)
  13. [OpenMP] Support OpenMP 5.1 attributes (details)
  14. sanitizer_common: remove debugging logic from the internal allocator (details)
  15. sanitizer_common: make sem_trywait as non-blocking (details)
  16. [PowerPC] Fix rounding mode for vec_round in altivec.h (details)
  17. [RS4GC] Add a test to demonstrate duplication of base generation. NFC (details)
  18. [RS4GC] Use one DVCache for both inlineGetBaseAndOffset() and insertParsePoints() (details)
  19. [lldb/Target] Fix event handling during process launch (details)
  20. Fix the Clang documentation builder; NFC. (details)
  21. sanitizer_common: fix 32-bit build (details)
  22. Partially implement P1401R5 (Narrowing contextual conversions to bool) (details)
  23. [gn build] (semi-manually) port 0da172b1766e (details)
  24. [AArch64] Set the latency of Cortex-A55 stores to 1 (details)
  25. [gn build] port 0da172b1766e more (details)
  26. [CostModel][X86] Adjust truncate SSE/AVX legalized costs based on llvm-mca reports. (details)
  27. [mlir][linalg][python] Add auto-generated file warning (NFC). (details)
  28. [InstCombine][tests] add tests for signbit + logic; NFC (details)
  29. [InstCombine] reduce signbit test of logic ops to cmp with zero (details)
  30. [SystemZ]  Bugfix for the 'N' code for inline asm operand. (details)
  31. Fix warning '-Wparentheses'. NFC. (details)
  32. [AArch64] Add target features for Armv9-A Scalable Matrix Extension (SME) (details)
  33. [MLIR][StandardToLLVM] Move `copyUnrankedDescriptors` to pattern (details)
  34. [lldb][NFC] Use ArrayRef in TypeSystemClang::SetFunctionParameters (details)
  35. sanitizer_common: allow COMMON_INTERCEPTOR_ENTER to use labels (details)
  36. [clang-tidy] performance-unnecessary-copy-initialization: Disable structured bindings. (details)
  37. [libc++] NFC: Fix synopsis comments and sort includes in ranges (details)
  38. [AArch64] Silence unused variable warning. NFC. (details)
  39. [analyzer] LoopUnrolling: fix crash when a loop counter is captured in a lambda by reference (details)
  40. Remove unused parameter from parseMSInlineAsm. (details)
  41. sanitizer_common: support printing __m128i type (details)
  42. [SLP] add test for multiple logical reductions; NFC (details)
  43. [libc++] Test on Clang ToT by default (details)
  44. [lld/mac] Make tbd files in one test valid (details)
  45. [SelectionDAG] Simplify PromoteIntRes_INSERT_SUBVECTOR to only handle result (details)
  46. Reland "[clang-repl] Implement partial translation units and error recovery." (details)
  47. [Altivec] Use signed comparison for vec_all_* and vec_any_* interfaces (details)
  48. [langref] attempt to clarify semantics of inttoptr/ptrtoint for non-integral types (details)
  49. sanitizer_common: Fix the build for platforms that use shared TSDs (details)
  50. sanitizer_common: Suppress another thread safety warning (details)
  51. [llvm-objcopy] Improve performance of long pattern lists (details)
  52. [PowerPC] Implement trap and conversion builtins for XL compatibility (details)
  53. [libc++] Remove random [[nodiscard]] in the test suite (details)
  54. [OpenMP] Remove TSAN annotations from libomp (details)
  55. [ARM] Expand types in VQDMULH tests. NFC (details)
  56. [AIX] Emit version string in .file directive (details)
  57. [test] Move AMDGPU reloc test from Object to tools/llvm-readobj and simplify it (details)
  58. [mlir][tosa] Added more shape inference for tosa ops (details)
  59. [flang][nfc] Simplify CMake (details)
  60. [llvm-readobj] Switch command line parsing from llvm::cl to OptTable (details)
  61. [X86] Teach X86FloatingPoint's handleCall to only erase the FP stack if there is a regmask operand that clobbers the FP stack. (details)
  62. [NFC][compiler-rt][hwasan] Move shadow bound variables to hwasan.cpp (details)
  63. sanitizer_common: optimize memory drain (details)
  64. [WebAssembly] Custom combines for f32x4.demote_zero_f64x2 (details)
  65. [lld/mac] Implement -application_extension (details)
  66. [PowerPC] Custom Lowering BUILD_VECTOR for v2i64 for P7 as well (details)
  67. [libc++] Update Google benchmark to v 1.5.5 (details)
  68. Revert "sanitizer_common: optimize memory drain" (details)
  69. [Bazel] Update configuration to HEAD (details)
  70. [Attributes] Make type attribute handling more generic (NFCI) (details)
  71. Add newline to fix documentation build (details)
  72. Revert "sanitizer_common: add simpler ThreadRegistry ctor" (details)
  73. [Attributes] Assert correct attribute constructor is used (NFCI) (details)
  74. [Attributes] Simplify attribute sorting (NFCI) (details)
  75. [PowerPC][AIX] Fix Zero-width bit fields wrt MaxFieldAlign. (details)
  76. [libc++][ci] Add arch and os tags to the macOS CI builders (details)
  77. [ARC] Add disassembly for the conditioned move immediate instruction (details)
  78. [CostModel][X86] Adjust fptosi/fptoui SSE/AVX legalized costs based on llvm-mca reports. (details)
  79. [libc++] Exit from macos-ci-setup upon error (details)
  80. [Bazel] ignore build files under libcxx's copy of google-benchmark (details)
  81. [Attributes] Replace doesAttrKindHaveArgument() (NFC) (details)
  82. [Attributes] Remove duplicate attribute in typeIncompatible() (NFC) (details)
  83. [libc++] Encode the arch and OS in buildkite agent tags (details)
  84. [WebAssembly] fix typo in range check for Asm locals (details)
  85. [libcxx][docs] Update the ranges status document to reflect the current state of the world. (details)
  86. [Attributes] Determine attribute properties from TableGen data (details)
  87. [vscode] fix ubsan problem in the progress event reporter (details)
  88. [clang-tidy] performance-unnecessary-copy-initialization: Do not remove comments on new lines. (details)
  89. [libcxx] [test] Fix spurious failures in the thread join test on Windows (details)
  90. [mlir][sparse] Add Merger unit tests (with gcc5 build fix) (details)
  91. [clang] Document llvm options controlling pragma unroll (details)
  92. [libc++] Use 'os' tags to target Linux libc++ builders (details)
  93. [libc++][ci] Clean up the Docker image (details)
  94. [PowerPC] Fix the splat immediate in PPCMIPeephole depending on if we have an Altivec and VSX splat instruction. (details)
  95. Revert "Revert "Reset the wakeup timeout when we re-enter the continue wait."" (details)
  96. [libc++] Add the 'os=macos' tag to macOS nodes to workaround lack of wildcard matching (details)
  97. [libc++] ci: Properly target macOS nodes per-os (details)
  98. [SelectionDAG][RISCV] Support @llvm.vscale.i64() on 32-bit targets. (details)
  99. [mlir][sparse] add restrictive versions of division support (details)
  100. [WebAssembly] Fixed LLD generation of 64-bit __wasm_init_memory (details)
  101. [AArch64] Optimize overflow checks for [s|u]mul.with.overflow.i32. (details)
Commit 99718d53770186746dc360ea1d85ac23f7708c92 by llvm-dev
[X86][SSE] Add signbit tests to show cmpss/cmpsd ops not recognised as 'allbits' results.
The file was modifiedllvm/test/CodeGen/X86/known-signbits-vector.ll
Commit e4aa6ad132164839a4a97dff0d433ea4766f77f1 by llvm-dev
[X86][SSE] X86ISD::FSETCC nodes (cmpss/cmpsd) return a 0/-1 allbits signbits result

Annoyingly, i686 cmpsd handling still fails to remove the unnecessary neg(and(x,1))
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/X86/known-signbits-vector.ll
Commit d2e4ccc79023fcc5fb87ec6873a7856250e55eaa by sander.desmalen
[LV] Ignore candidate VFs with invalid costs.

This follows on from discussion on the mailing-list:
  https://lists.llvm.org/pipermail/llvm-dev/2021-June/151047.html

to interpret an Invalid cost as 'infinitely expensive', as this
simplifies some of the legalization issues with scalable vectors.

Reviewed By: dmgreen

Differential Revision: https://reviews.llvm.org/D105473
The file was modifiedllvm/test/Transforms/LoopVectorize/AArch64/scalable-call.ll
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Commit 26e59cc19f8646ca59e2d699882c611980f2b563 by zinenko
[mlir] factor math-to-llvm out of standard-to-llvm

After the Math has been split out of the Standard dialect, the
conversion to the LLVM dialect remained as a huge monolithic pass.
This is undesirable for the same complexity management reasons as having
a huge Standard dialect itself, and is even more confusing given the
existence of a separate dialect. Extract the conversion of the Math
dialect operations to LLVM into a separate library and a separate
conversion pass.

Reviewed By: silvas

Differential Revision: https://reviews.llvm.org/D105702
The file was addedmlir/lib/Conversion/MathToLLVM/MathToLLVM.cpp
The file was modifiedmlir/lib/Conversion/StandardToLLVM/StandardToLLVM.cpp
The file was modifiedmlir/test/Conversion/StandardToLLVM/standard-to-llvm.mlir
The file was addedmlir/test/Conversion/MathToLLVM/math-to-llvm.mlir
The file was modifiedmlir/include/mlir/Conversion/Passes.td
The file was addedmlir/lib/Conversion/MathToLLVM/CMakeLists.txt
The file was modifiedmlir/lib/Conversion/CMakeLists.txt
The file was addedmlir/include/mlir/Conversion/MathToLLVM/MathToLLVM.h
The file was modifiedmlir/include/mlir/Conversion/Passes.h
The file was modifiedmlir/test/Conversion/ComplexToStandard/full-conversion.mlir
Commit 10f5e08a7124d2efb5b3a58a041363dbe291fefd by omair.javaid
[LLDB] Testsuite: Add helper to check for AArch64 target

This patch adds a helper function to test target architecture is
AArch64 or not. This also tightens isAArch64* helpers by adding an
extra architecture check.

Reviewed By: DavidSpickett

Differential Revision: https://reviews.llvm.org/D105483
The file was modifiedlldb/test/API/tools/lldb-server/registers-target-xml-reading/TestGdbRemoteTargetXmlPacket.py
The file was modifiedlldb/packages/Python/lldbsuite/test/lldbtest.py
The file was modifiedlldb/test/API/functionalities/memory/tag/TestMemoryTag.py
The file was modifiedlldb/test/API/functionalities/return-value/TestReturnValue.py
Commit 41ba96f53127902ede26606e6f15a053b5f9c096 by dvyukov
sanitizer_common: rename Mutex to MutexState

We have 3 different mutexes (RWMutex, BlockingMutex __tsan::Mutex),
each with own set of downsides. I want to unify them under a name Mutex.
But it will conflict with Mutex in the deadlock detector,
which is a way too generic name. Rename it to MutexState.

Reviewed By: melver

Differential Revision: https://reviews.llvm.org/D105773
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_deadlock_detector2.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
Commit 0da172b1766e1559ef677aa836dce4f1995dfef3 by dvyukov
sanitizer_common: add thread safety annotations

Enable clang Thread Safety Analysis for sanitizers:
https://clang.llvm.org/docs/ThreadSafetyAnalysis.html

Thread Safety Analysis can detect inconsistent locking,
deadlocks and data races. Without GUARDED_BY annotations
it has limited value. But this does all the heavy lifting
to enable analysis and allows to add GUARDED_BY incrementally.

Reviewed By: melver

Differential Revision: https://reviews.llvm.org/D105716
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_thread_registry.h
The file was modifiedcompiler-rt/lib/asan/asan_allocator.cpp
The file was modifiedcompiler-rt/CMakeLists.txt
The file was modifiedcompiler-rt/lib/lsan/lsan_common.h
The file was modifiedcompiler-rt/lib/scudo/scudo_tsd.h
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_allocator_combined.h
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_allocator_secondary.h
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_win.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_addrhashmap.h
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_mac.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_quarantine.h
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_fuchsia.cpp
The file was addedcompiler-rt/lib/sanitizer_common/sanitizer_thread_safety.h
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_mutex.h
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_allocator_primary64.h
The file was modifiedcompiler-rt/lib/memprof/memprof_allocator.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_solaris.cpp
The file was modifiedcompiler-rt/lib/scudo/scudo_allocator.cpp
The file was modifiedcompiler-rt/lib/cfi/cfi.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/CMakeLists.txt
The file was modifiedcompiler-rt/lib/scudo/scudo_tsd_exclusive.inc
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_rtl.cpp
Commit 41ce5ec5f6f3a03d70e0010e3a140fe129800637 by nemanja.i.ibm
[PowerPC] Remove unnecessary 64-bit guards from altivec.h

A number of functions in the header have guards for 64-bit only
that were presumably added as some of the functions in the blocks
use vector __int128 which is only available in 64-bit mode.
A more appropriate guard (__SIZEOF_INT128__) has been added for
those functions since, making the 64-bit guards redundant.
This patch removes those guards as they inadvertently guard code
that uses vector long long which does not actually require 64-bit
mode.
The file was addedclang/test/CodeGen/builtins-ppc-32bit-vec-ll.c
The file was modifiedclang/test/CodeGen/builtins-ppc-quadword-noi128.c
The file was modifiedclang/lib/Headers/altivec.h
Commit fedbff75f46b4b9e055ab4947960fa95a08a78ed by protze
[OpenMP][OMPT] Fix compile-time assertion in ompt-multiplex.h

The compile-time assertion is supposed to prevent double-free caused by
unexpected combination of preprocessor defines passed by an OMPT tool.
The current defines are not used, so this patch replaces the check with
macros actually used in ompt-multiplex.h

Reported by: Semih Burak

Differential Revision: https://reviews.llvm.org/D104633
The file was modifiedopenmp/tools/multiplex/ompt-multiplex.h
Commit c305557acdaad453e32309d575fe9c6c7090c099 by david.truby
[llvm][sve] Lowering for VLS truncating stores

This adds custom lowering for truncating stores when operating on
fixed length vectors in SVE. It also includes a DAG combine to
fold extends followed by truncating stores into non-truncating
stores in order to prevent this pattern appearing once truncating
stores are supported.

Currently truncating stores are not used in certain cases where
the size of the vector is larger than the target vector width.

Differential Revision: https://reviews.llvm.org/D104471
The file was modifiedllvm/test/CodeGen/AArch64/sve-fixed-length-masked-gather.ll
The file was modifiedllvm/lib/Target/AMDGPU/R600ISelLowering.h
The file was modifiedllvm/test/CodeGen/Mips/cconv/byval.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
The file was modifiedllvm/test/CodeGen/Mips/cconv/vector.ll
The file was modifiedllvm/test/CodeGen/Mips/llvm-ir/store.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
The file was modifiedllvm/include/llvm/CodeGen/TargetLowering.h
The file was addedllvm/test/CodeGen/AArch64/sve-fixed-length-trunc-stores.ll
Commit 326b0054fd32ecaa6da0c7ae014fb9bbf1e80048 by dvyukov
sanitizer_common: use 0 for empty stack id

We use 0 for empty stack id from stack depot.
Deadlock detector 1 is the only place that uses -1
as a special case. Use 0 because there is a number
of checks of the form "if (stack id) ...".

Reviewed By: melver

Differential Revision: https://reviews.llvm.org/D105776
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_deadlock_detector1.cpp
Commit 6b1668397fd33440847f5a82675c5b83c4137018 by nicolas.vasilache
[mlir][Linalg] Improve comprehensive bufferization for scf.yield.

Previously, comprehensive bufferization of scf.yield did not have enough information
to detect whether an enclosing scf::for bbargs would bufferize to a buffer equivalent
to that of the matching scf::yield operand.
As a consequence a separate sanity check step would be required to determine whether
bufferization occured properly.
This late check would miss the case of calling a function in an loop.

Instead, we now pass and update aliasInfo during bufferization and it is possible to
imrpove bufferization of scf::yield and drop that post-pass check.

Add an example use case that was failing previously.
This slightly modifies the error conditions, which are also updated as part of this
revision.

Differential Revision: https://reviews.llvm.org/D105803
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/ComprehensiveBufferize.cpp
The file was modifiedmlir/test/Dialect/Linalg/comprehensive-module-bufferize-invalid.mlir
Commit de59f564400de1b0fe30ae07f3c800562a025e27 by aaron
[OpenMP] Support OpenMP 5.1 attributes

OpenMP 5.1 added support for writing OpenMP directives using [[]]
syntax in addition to using #pragma and this introduces support for the
new syntax.

In OpenMP, the attributes take one of two forms:
[[omp::directive(...)]] or [[omp::sequence(...)]]. A directive
attribute contains an OpenMP directive clause that is identical to the
analogous #pragma syntax. A sequence attribute can contain either
sequence or directive arguments and is used to ensure that the
attributes are processed sequentially for situations where the order of
the attributes matter (remember:
https://eel.is/c++draft/dcl.attr.grammar#4.sentence-4).

The approach taken here is somewhat novel and deserves mention. We
could refactor much of the OpenMP parsing logic to work for either
pragma annotation tokens or for attribute clauses. It would be a fair
amount of effort to share the logic for both, but it's certainly
doable. However, the semantic attribute system is not designed to
handle the arbitrarily complex arguments that OpenMP directives
contain. Adding support to thread the novel parsed information until we
can produce a semantic attribute would be considerably more effort.
What's more, existing OpenMP constructs are not (often) represented as
semantic attributes. So doing this through Attr.td would be a massive
undertaking that would likely only benefit OpenMP and comes with
additional risks. Rather than walk down that path, I am taking
advantage of the fact that the syntax of the directives within the
directive clause is identical to that of the #pragma form. Once the
parser recognizes that we're processing an OpenMP attribute, it caches
all of the directive argument tokens and then replays them as though
the user wrote a pragma. This reuses the same OpenMP parsing and
semantic logic directly, but does come with a risk if the OpenMP
committee decides to purposefully diverge their pragma and attribute
syntaxes. So, despite this being a novel approach that does token
replay, I think it's actually a better approach than trying to do this
through the declarative syntax in Attr.td.
The file was addedclang/test/OpenMP/allocate_codegen_attr.cpp
The file was addedclang/test/OpenMP/critical_codegen_attr.cpp
The file was addedclang/test/OpenMP/unroll_codegen_unroll_for_attr.cpp
The file was modifiedclang/include/clang/Basic/TokenKinds.def
The file was addedclang/test/OpenMP/openmp_attribute.cpp
The file was modifiedclang/lib/Parse/ParseDecl.cpp
The file was modifiedclang/lib/Parse/Parser.cpp
The file was addedclang/test/OpenMP/target_map_names_attr.cpp
The file was addedclang/test/OpenMP/teams_distribute_parallel_for_simd_num_teams_messages_attr.cpp
The file was addedclang/test/OpenMP/openmp_attribute_parsing.cpp
The file was modifiedclang/include/clang/Parse/Parser.h
The file was modifiedclang/lib/Basic/Attributes.cpp
The file was modifiedclang/lib/Parse/ParseDeclCXX.cpp
The file was modifiedclang/docs/OpenMPSupport.rst
The file was modifiedclang/lib/Parse/ParseOpenMP.cpp
The file was modifiedclang/include/clang/Basic/DiagnosticParseKinds.td
The file was modifiedclang/include/clang/Basic/DiagnosticGroups.td
The file was modifiedclang/lib/Parse/ParseStmt.cpp
The file was modifiedclang/lib/Parse/ParseCXXInlineMethods.cpp
The file was addedclang/test/OpenMP/masked_messages_attr.cpp
The file was addedclang/test/OpenMP/assumes_messages_attr.c
The file was addedclang/test/OpenMP/openmp_attribute_compat.cpp
The file was addedclang/test/OpenMP/taskloop_reduction_messages_attr.cpp
Commit fde34d9f891b92539e0e8eff96057390ee7b1bdf by dvyukov
sanitizer_common: remove debugging logic from the internal allocator

The internal allocator adds 8-byte header for debugging purposes.
The problem with it is that it's not possible to allocate nicely-sized
objects without a significant overhead. For example, if we allocate
512-byte objects, that will be rounded up to 768 or something.
This logic migrated from tsan where it was added during initial development,
I don't remember that it ever caught anything (we don't do bugs!).
Remove it so that it's possible to allocate nicely-sized objects
without overheads.

Reviewed By: melver

Differential Revision: https://reviews.llvm.org/D105777
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_allocator.cpp
Commit 8bbf2f7a44f907d54ad39a98d166a17be61dd66f by dvyukov
sanitizer_common: make sem_trywait as non-blocking

sem_trywait never blocks.
Use REAL instead of COMMON_INTERCEPTOR_BLOCK_REAL.

Reviewed By: melver

Differential Revision: https://reviews.llvm.org/D105775
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
Commit 84e429693fe5f225fe68b9dd54043cddb9c4cd4c by nemanja.i.ibm
[PowerPC] Fix rounding mode for vec_round in altivec.h

The function is supposed to be the equivalent of rint() (as in
round to nearest, ties to even) rather than round() (round to
nearest, ties away from zero). In fact, the instruction we emit
without VSX is vrfin which is correct. However, with VSX we emit
xvrspi which is the equivalent of round() and therefore incorrect.
Since there is no equivalent VSX instruction, simply use vrfin
regardless of availability of VSX.
The file was modifiedclang/lib/Headers/altivec.h
The file was modifiedclang/test/CodeGen/builtins-ppc-vsx.c
Commit a95c336b5e3b72def68f75c67f3e5a134d3029e5 by yrouban
[RS4GC] Add a test to demonstrate duplication of base generation. NFC

This new test demonstrates a case where a base ptr is generated
twice for the same value: the first one is generated while
the gc.get.pointer.base() is inlined, the second is generated
for the statepoint. This happens because the methods
inlineGetBaseAndOffset() and insertParsePoints() do not share
their defining value cache used by the findBasePointer() method.

Reviewed By: reames
Differential Revision: https://reviews.llvm.org/D103238
The file was addedllvm/test/Transforms/RewriteStatepointsForGC/intrinsics-bare.ll
Commit 88024a724c3bac4aa902dc85d16d3285caac4377 by yrouban
[RS4GC] Use one DVCache for both inlineGetBaseAndOffset() and insertParsePoints()

This new test demonstrates a case where a base ptr is generated
twice for the same value: the first one is generated while
the gc.get.pointer.base() is inlined, the second is generated
for the statepoint. This happens because the methods
inlineGetBaseAndOffset() and insertParsePoints() do not share
their defining value cache used by the findBasePointer() method.

Reviewed By: reames
Differential Revision: https://reviews.llvm.org/D103240
The file was modifiedllvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
The file was modifiedllvm/test/Transforms/RewriteStatepointsForGC/intrinsics-bare.ll
Commit 8266b7ea7dac95b60843a1fdde31b42475687fe5 by medismail.bennani
[lldb/Target] Fix event handling during process launch

This patch fixes process event handling when the events are broadcasted
at launch. To do so, the patch introduces a new listener to fetch events
by hand off the event queue and then resending them ensure the event ordering.

Differental Revision: https://reviews.llvm.org/D105698

Signed-off-by: Med Ismail Bennani <medismail.bennani@gmail.com>
The file was modifiedlldb/source/Target/Process.cpp
Commit f042e0a0f88391c611002e55afec5c37604b5819 by aaron
Fix the Clang documentation builder; NFC.

It was broken three days ago by the changes in D95561.
The file was modifiedclang/include/clang/Basic/AttrDocs.td
Commit 10158b52dcb3b9f1db44d9bd56993ad8cd68912a by dvyukov
sanitizer_common: fix 32-bit build

https://reviews.llvm.org/D105716 enabled thread safety annotations,
and that broke 32-bit build:
https://green.lab.llvm.org/green/job/lldb-cmake/33604/consoleFull#-77815080549ba4694-19c4-4d7e-bec5-911270d8a58c

1. Enable thread-safety analysis in unit tests
(this catches the breakage even in 64-bit mode).
2. Add NO_THREAD_SAFETY_ANALYSIS to sanitizer_allocator_primary32.h
to unbreak the build.

Reviewed By: melver

Differential Revision: https://reviews.llvm.org/D105808
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_allocator_primary32.h
The file was modifiedcompiler-rt/CMakeLists.txt
Commit 8747234032c9c6270a6198ab3cca14ce2bd18721 by aaron
Partially implement P1401R5 (Narrowing contextual conversions to bool)

Support Narrowing conversions to bool in if constexpr condition
under C++23 language mode.

Only if constexpr is implemented as the behavior of static_assert
is already conforming. Still need to work on explicit(bool) to
complete support.
The file was modifiedclang/www/cxx_status.html
The file was modifiedclang/lib/Sema/SemaOverload.cpp
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td
The file was modifiedclang/include/clang/Sema/Sema.h
The file was modifiedclang/test/SemaCXX/static-assert.cpp
The file was modifiedclang/lib/Sema/SemaExprCXX.cpp
The file was modifiedclang/test/CXX/stmt.stmt/stmt.select/stmt.if/p2.cpp
Commit 0c6fad233aa7d1e4564b88136702853f58660d05 by thakis
[gn build] (semi-manually) port 0da172b1766e
The file was modifiedllvm/utils/gn/secondary/compiler-rt/lib/sanitizer_common/BUILD.gn
Commit f73334c46d59ffdbf12353932d5985049335a6c7 by david.green
[AArch64] Set the latency of Cortex-A55 stores to 1

This sets the latency of stores to 1 in the Cortex-A55 scheduling model,
to better match the values given in the software optimization guide.

The latency of a store in normal llvm scheduling does not appear to have
a lot of uses. If the store has no outputs then the latency is somewhat
meaningless (and pre/post increment update operands use the WriteAdr
write for those operands instead). The one place it does alter things is
the latency between a store and the end of the scheduling region, which
can in turn have an effect on the critical path length. As a result a
latency of 1 is more correct and offers ever-so-slightly better
scheduling of instructions near the end of the block.

They are marked as RetireOOO to keep the llvm-mca from introducing
stalls where non would exist.

Differential Revision: https://reviews.llvm.org/D105541
The file was modifiedllvm/test/tools/llvm-mca/AArch64/Cortex/A55-all-stats.s
The file was modifiedllvm/test/tools/llvm-mca/AArch64/Cortex/A55-basic-instructions.s
The file was modifiedllvm/test/tools/llvm-mca/AArch64/Cortex/A55-in-order-retire.s
The file was modifiedllvm/test/tools/llvm-mca/AArch64/Cortex/A55-load-store-alias.s
The file was modifiedllvm/lib/Target/AArch64/AArch64SchedA55.td
The file was modifiedllvm/test/tools/llvm-mca/AArch64/Cortex/A55-out-of-order-retire.s
The file was modifiedllvm/test/tools/llvm-mca/AArch64/Cortex/A55-all-views.s
Commit eecd5d0aa8c3114235ffe9730009470d63910b24 by thakis
[gn build] port 0da172b1766e more
The file was modifiedllvm/utils/gn/build/BUILD.gn
Commit 96b4117d5155e9a903c9260c587a73779c74f3d6 by llvm-dev
[CostModel][X86] Adjust truncate SSE/AVX legalized costs based on llvm-mca reports.

Update truncation costs based on the worst case costs from the script in D103695.

Move to using legalized types wherever possible, which allows us to prune the cost tables.
The file was modifiedllvm/test/Analysis/CostModel/X86/arith-overflow.ll
The file was modifiedllvm/test/Analysis/CostModel/X86/arith.ll
The file was modifiedllvm/test/Analysis/CostModel/X86/fptoui.ll
The file was modifiedllvm/lib/Target/X86/X86TargetTransformInfo.cpp
The file was modifiedllvm/test/Analysis/CostModel/X86/arith-fix.ll
The file was modifiedllvm/test/Analysis/CostModel/X86/cast.ll
The file was modifiedllvm/test/Analysis/CostModel/X86/intrinsic-cost-kinds.ll
The file was modifiedllvm/test/Analysis/CostModel/X86/sse-itoi.ll
The file was modifiedllvm/test/Analysis/CostModel/X86/trunc.ll
The file was modifiedllvm/test/Analysis/CostModel/X86/min-legal-vector-width.ll
The file was modifiedllvm/test/Analysis/CostModel/X86/slm-arith-costs.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/arith-fix.ll
The file was modifiedllvm/test/Analysis/CostModel/X86/rem.ll
The file was modifiedllvm/test/Analysis/CostModel/X86/fptosi.ll
Commit b4e843ba3a9e759f7104d61b3d801344a604d412 by gysit
[mlir][linalg][python] Add auto-generated file warning (NFC).

Annotate LinalgNamedStructuredOps.yaml with a comment stating the file is auto-generated and should not be edited manually.

Reviewed By: nicolasvasilache

Differential Revision: https://reviews.llvm.org/D105809
The file was modifiedmlir/python/mlir/dialects/linalg/opdsl/dump_oplib.py
The file was modifiedmlir/include/mlir/Dialect/Linalg/IR/LinalgNamedStructuredOps.yaml
Commit 4b9d698243c4170e4ecf7f4336cd2824d2641e2a by spatel
[InstCombine][tests] add tests for signbit + logic; NFC

PR50816
The file was modifiedllvm/test/Transforms/InstCombine/icmp.ll
Commit a488c7879e688f40647f0deacd7e09ec3082e4a4 by spatel
[InstCombine] reduce signbit test of logic ops to cmp with zero

This is the pattern from the description of:
https://llvm.org/PR50816

There might be a way to generalize this to a smaller or more
generic pattern, but I have not found it yet.

https://alive2.llvm.org/ce/z/ShzJoF

define i1 @src(i8 %x) {
  %add = add i8 %x, -1
  %xor = xor i8 %x, -1
  %and = and i8 %add, %xor
  %r = icmp slt i8 %and, 0
  ret i1 %r
}

define i1 @tgt(i8 %x) {
  %r = icmp eq i8 %x, 0
  ret i1 %r
}
The file was modifiedllvm/test/Transforms/InstCombine/icmp.ll
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
Commit 96421af5f8b48a35f5375a026c9fbc14cb18a178 by paulsson
[SystemZ]  Bugfix for the 'N' code for inline asm operand.

Don't use a local MachineOperand copy in SystemZAsmPrinter::PrintAsmOperand()
and change the register as it may break the MRI tracking of register
uses. Use an MCOperand instead.

Review: Ulrich Weigand

Differential Revision: https://reviews.llvm.org/D105757
The file was modifiedllvm/lib/Target/SystemZ/SystemZAsmPrinter.cpp
The file was modifiedllvm/test/CodeGen/SystemZ/inline-asm-i128.ll
Commit 8253fa229833e138619efc707cae1625a91455cf by michael.hliao
Fix warning '-Wparentheses'. NFC.
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
Commit 9e42675103e29642bf546c14b2272c9c2bb7c12c by cullen.rhodes
[AArch64] Add target features for Armv9-A Scalable Matrix Extension (SME)

First patch in a series adding MC layer support for the Arm Scalable
Matrix Extension.

This patch adds the following features:

    sme, sme-i64, sme-f64

The sme-i64 and sme-f64 flags are for the optional I16I64 and F64F64
features.

If a target supports I16I64 then the following instructions are
implemented:

  * 64-bit integer ADDHA and ADDVA variants (D105570).
  * SMOPA, SMOPS, SUMOPA, SUMOPS, UMOPA, UMOPS, USMOPA, and USMOPS
    instructions that accumulate 16-bit integer outer products into 64-bit
    integer tiles.

If a target supports F64F64 then the FMOPA and FMOPS instructions that
accumulate double-precision floating-point outer products into
double-precision tiles are implemented.

Outer products are implemented in D105571.

The reference can be found here:
https://developer.arm.com/documentation/ddi0602/2021-06

Reviewed By: CarolineConcatto

Differential Revision: https://reviews.llvm.org/D105569
The file was modifiedllvm/lib/Target/AArch64/AArch64SchedA57.td
The file was modifiedllvm/lib/Target/AArch64/AArch64SchedThunderX.td
The file was modifiedllvm/include/llvm/Support/AArch64TargetParser.h
The file was modifiedllvm/lib/Target/AArch64/AArch64SchedCyclone.td
The file was modifiedllvm/include/llvm/Support/AArch64TargetParser.def
The file was addedllvm/test/MC/AArch64/SME/feature.s
The file was modifiedllvm/lib/Support/AArch64TargetParser.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64InstrInfo.td
The file was modifiedllvm/lib/Target/AArch64/AArch64SchedExynosM3.td
The file was modifiedllvm/lib/Target/AArch64/AArch64SchedKryo.td
The file was modifiedllvm/unittests/Support/TargetParserTest.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64SchedA53.td
The file was modifiedllvm/lib/Target/AArch64/AArch64Subtarget.h
The file was modifiedllvm/lib/Target/AArch64/AArch64SchedExynosM4.td
The file was modifiedllvm/lib/Target/AArch64/AArch64SchedExynosM5.td
The file was modifiedllvm/lib/Target/AArch64/AArch64.td
The file was modifiedllvm/lib/Target/AArch64/AArch64SchedFalkor.td
The file was modifiedllvm/lib/Target/AArch64/AArch64SchedThunderX2T99.td
Commit ed1f149b54c234efe55ef4f35f80e470858c547a by frgossen
[MLIR][StandardToLLVM] Move `copyUnrankedDescriptors` to pattern

Make the function `copyUnrankedDescriptors` accessible in
`ConvertToLLVMPattern`.

Differential Revision: https://reviews.llvm.org/D105810
The file was modifiedmlir/lib/Conversion/LLVMCommon/Pattern.cpp
The file was modifiedmlir/lib/Conversion/StandardToLLVM/StandardToLLVM.cpp
The file was modifiedmlir/include/mlir/Conversion/LLVMCommon/Pattern.h
Commit 7177c5951ab4fefcd8986a7808d895ffeeace037 by Raphael Isemann
[lldb][NFC] Use ArrayRef in TypeSystemClang::SetFunctionParameters

The implementation converts the pointer/size pair anyway back to ArrayRef.
The file was modifiedlldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.h
The file was modifiedlldb/source/Plugins/SymbolFile/NativePDB/PdbAstBuilder.cpp
The file was modifiedlldb/source/Plugins/SymbolFile/PDB/PDBASTParser.cpp
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
The file was modifiedlldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
Commit b3bd8850174fb7e5ef03768ba05205701ffc10b2 by dvyukov
sanitizer_common: allow COMMON_INTERCEPTOR_ENTER to use labels

The memcpy interceptor is the only one that uses COMMON_INTERCEPTOR_ENTER
more than once in a single function. This does not allow COMMON_INTERCEPTOR_ENTER
to use labels, because they are global for the whole function (not block scoped).
Don't include COMMON_INTERCEPTOR_ENTER code twice.

Reviewed By: melver

Differential Revision: https://reviews.llvm.org/D105774
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
Commit 187e050b33bbee1ef210c83f5595c283ba671909 by flx
[clang-tidy] performance-unnecessary-copy-initialization: Disable structured bindings.

Structured bindings can currently trigger the check and lead to a wrong
fix. Because the DecompositionDecl itself is not used and the check does not
iterate through its the decl's bindings to verify whether the bindings' holding
vars are used this leads to the whole statement to be deleted.

To support structured bindings properly 3 cases would need to be considered.

  1. All holding vars are not used -> The statement can be deleted.
  2. All holding vars are used as const or not used -> auto can be converted to const auto&.
  3. Neither case is true -> leave unchanged.

In the check we'll have to separate the logic that determines this from the code
that produces the diagnostic and fixes and first determine which of the cases
we're dealing with before creating fixes.

Since this is a bigger refactoring we'll disable structured bindings for now to
prevent incorrect fixes.

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

Reviewed-by: ymandel
The file was modifiedclang-tools-extra/test/clang-tidy/checkers/performance-unnecessary-copy-initialization.cpp
The file was modifiedclang-tools-extra/clang-tidy/performance/UnnecessaryCopyInitialization.cpp
Commit f192616ce9835f427686b8a364c9cc53bf42447d by Louis Dionne
[libc++] NFC: Fix synopsis comments and sort includes in ranges
The file was modifiedlibcxx/test/std/ranges/range.req/range.refinements/random_access_range.compile.pass.cpp
The file was modifiedlibcxx/include/__ranges/drop_view.h
The file was modifiedlibcxx/test/std/ranges/range.req/range.refinements/bidirectional_range.compile.pass.cpp
The file was modifiedlibcxx/test/std/ranges/range.req/range.refinements/common_range.compile.pass.cpp
The file was modifiedlibcxx/test/std/ranges/range.req/range.refinements/contiguous_range.compile.pass.cpp
The file was modifiedlibcxx/test/std/ranges/range.req/range.refinements/input_range.compile.pass.cpp
The file was modifiedlibcxx/test/std/ranges/range.req/range.refinements/forward_range.compile.pass.cpp
Commit 0da3573a9ef9dd4450e8121e9a2b501938fc0f79 by benny.kra
[AArch64] Silence unused variable warning. NFC.

AArch64ISelLowering.cpp:15167:8: warning: unused variable 'OpCode' [-Wunused-variable]
  auto OpCode = N->getOpcode();
       ^
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
Commit 1af97c9d0b02002586473b4b9845b0c390504a27 by vsavchenko
[analyzer] LoopUnrolling: fix crash when a loop counter is captured in a lambda by reference

Reviewed By: vsavchenko

Differential Revision: https://reviews.llvm.org/D102273
The file was modifiedclang/test/Analysis/loop-unrolling.cpp
The file was modifiedclang/lib/StaticAnalyzer/Core/LoopUnrolling.cpp
Commit e49985bb6065d4f5ea69fe578e326ec6d43a6b24 by simon.tatham
Remove unused parameter from parseMSInlineAsm.

No implementation uses the `LocCookie` parameter at all. Errors are
reported from inside that function by `llvm::SourceMgr`, and the
instance of that at the clang call site arranges to pass the error
messages back to a `ClangAsmParserCallback`, which is where the clang
SourceLocation for the error is computed.

(This is part of a patch series working towards the ability to make
SourceLocation into a 64-bit type to handle larger translation units.
But this particular change seems beneficial in its own right.)

Reviewed By: miyuki

Differential Revision: https://reviews.llvm.org/D105490
The file was modifiedllvm/lib/MC/MCParser/MasmParser.cpp
The file was modifiedllvm/lib/MC/MCParser/AsmParser.cpp
The file was modifiedclang/lib/Parse/ParseStmtAsm.cpp
The file was modifiedllvm/include/llvm/MC/MCParser/MCAsmParser.h
Commit 6ca7247866f5265f1b9076927c909eb4e165cec0 by dvyukov
sanitizer_common: support printing __m128i type

__m128i is vector SSE type used in tsan.
It's handy to be able to print it for debugging.

Reviewed By: vitalybuka

Differential Revision: https://reviews.llvm.org/D102167
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_printf.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/tests/sanitizer_printf_test.cpp
Commit 0d17b5d0af6f7f00f9efc7bb5f524bf9c9800d7c by spatel
[SLP] add test for multiple logical reductions; NFC

More coverage for:
D105730
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/reduction-logical.ll
Commit 85cce4d4858945aa2f3ed3e20b29dcfcd8e51b2d by Louis Dionne
[libc++] Test on Clang ToT by default

This is what ffccf96e90d6b should have enabled, however the symlink
in the Docker image was not pointing to the right compiler, so we were
testing with Clang 12 instead of ToT.
The file was modifiedlibcxx/utils/ci/Dockerfile
Commit 396f2e9d6d17d4288616218f07aa93daf01fbe5d by thakis
[lld/mac] Make tbd files in one test valid

No behavior change, but ld64 can't load .tbd files without the
trailing `...`, so include them to make it easier to run tests
with l64 too.
The file was modifiedlld/test/MachO/dylink-ordinal.s
Commit 112c09039bbf111c4fa448a0c84ba68b12fed2d6 by bradley.smith
[SelectionDAG] Simplify PromoteIntRes_INSERT_SUBVECTOR to only handle result

Let other parts of legalization handle the rest of the node, this allows
re-use of existing optimizations elsewhere.

Differential Revision: https://reviews.llvm.org/D105624
The file was modifiedllvm/test/CodeGen/AArch64/insert-subvector-res-legalization.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
Commit 11b47c103a36371576711cae1f7527c26f78efb5 by v.g.vassilev
Reland "[clang-repl] Implement partial translation units and error recovery."

Original commit message:

[clang-repl] Implement partial translation units and error recovery.

https://reviews.llvm.org/D96033 contained a discussion regarding efficient
modeling of error recovery. @rjmccall has outlined the key ideas:

Conceptually, we can split the translation unit into a sequence of partial
translation units (PTUs). Every declaration will be associated with a unique PTU
that owns it.

The first key insight here is that the owning PTU isn't always the "active"
(most recent) PTU, and it isn't always the PTU that the declaration
"comes from". A new declaration (that isn't a redeclaration or specialization of
anything) does belong to the active PTU. A template specialization, however,
belongs to the most recent PTU of all the declarations in its signature - mostly
that means that it can be pulled into a more recent PTU by its template
arguments.

The second key insight is that processing a PTU might extend an earlier PTU.
Rolling back the later PTU shouldn't throw that extension away. For example, if
the second PTU defines a template, and the third PTU requires that template to
be instantiated at float, that template specialization is still part of the
second PTU. Similarly, if the fifth PTU uses an inline function belonging to the
fourth, that definition still belongs to the fourth. When we go to emit code in
a new PTU, we map each declaration we have to emit back to its owning PTU and
emit it in a new module for just the extensions to that PTU. We keep track of
all the modules we've emitted for a PTU so that we can unload them all if we
decide to roll it back.

Most declarations/definitions will only refer to entities from the same or
earlier PTUs. However, it is possible (primarily by defining a
previously-declared entity, but also through templates or ADL) for an entity
that belongs to one PTU to refer to something from a later PTU. We will have to
keep track of this and prevent unwinding to later PTU when we recognize it.
Fortunately, this should be very rare; and crucially, we don't have to do the
bookkeeping for this if we've only got one PTU, e.g. in normal compilation.
Otherwise, PTUs after the first just need to record enough metadata to be able
to revert any changes they've made to declarations belonging to earlier PTUs,
e.g. to redeclaration chains or template specialization lists.

It should even eventually be possible for PTUs to provide their own slab
allocators which can be thrown away as part of rolling back the PTU. We can
maintain a notion of the active allocator and allocate things like Stmt/Expr
nodes in it, temporarily changing it to the appropriate PTU whenever we go to do
something like instantiate a function template. More care will be required when
allocating declarations and types, though.

We would want the PTU to be efficiently recoverable from a Decl; I'm not sure
how best to do that. An easy option that would cover most declarations would be
to make multiple TranslationUnitDecls and parent the declarations appropriately,
but I don't think that's good enough for things like member function templates,
since an instantiation of that would still be parented by its original class.
Maybe we can work this into the DC chain somehow, like how lexical DCs are.

We add a different kind of translation unit `TU_Incremental` which is a
complete translation unit that we might nonetheless incrementally extend later.
Because it is complete (and we might want to generate code for it), we do
perform template instantiation, but because it might be extended later, we don't
warn if it declares or uses undefined internal-linkage symbols.

This patch teaches clang-repl how to recover from errors by disconnecting the
most recent PTU and update the primary PTU lookup tables. For instance:

```./clang-repl
clang-repl> int i = 12; error;
In file included from <<< inputs >>>:1:
input_line_0:1:13: error: C++ requires a type specifier for all declarations
int i = 12; error;
            ^
error: Parsing failed.
clang-repl> int i = 13; extern "C" int printf(const char*,...);
clang-repl> auto r1 = printf("i=%d\n", i);
i=13
clang-repl> quit
```

Differential revision: https://reviews.llvm.org/D104918
The file was modifiedclang/lib/Serialization/ASTReader.cpp
The file was removedclang/include/clang/Interpreter/Transaction.h
The file was modifiedclang/unittests/Interpreter/InterpreterTest.cpp
The file was modifiedclang/lib/Frontend/CompilerInstance.cpp
The file was modifiedclang/include/clang/Basic/LangOptions.h
The file was modifiedclang/include/clang/AST/Decl.h
The file was modifiedclang/lib/Interpreter/IncrementalParser.cpp
The file was modifiedclang/unittests/Lex/PPCallbacksTest.cpp
The file was modifiedclang/lib/Sema/Sema.cpp
The file was addedclang/include/clang/Interpreter/PartialTranslationUnit.h
The file was modifiedclang/lib/Interpreter/Interpreter.cpp
The file was modifiedclang/tools/clang-import-test/clang-import-test.cpp
The file was modifiedclang/include/clang/Lex/Preprocessor.h
The file was modifiedlldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
The file was modifiedclang/include/clang/AST/ASTContext.h
The file was modifiedclang/lib/AST/ASTContext.cpp
The file was modifiedclang/lib/Interpreter/IncrementalParser.h
The file was modifiedclang/include/clang/Interpreter/Interpreter.h
The file was modifiedclang/include/clang/Sema/Sema.h
The file was modifiedclang/lib/AST/Decl.cpp
The file was modifiedclang/unittests/Interpreter/IncrementalProcessingTest.cpp
The file was modifiedclang/lib/Frontend/ASTUnit.cpp
The file was modifiedclang/unittests/AST/ASTVectorTest.cpp
The file was modifiedclang/include/clang/AST/Redeclarable.h
The file was modifiedclang/lib/AST/DeclBase.cpp
Commit 2071ce9d4559d444a065d78248a7381bf121b766 by bmahjour
[Altivec] Use signed comparison for vec_all_* and vec_any_* interfaces

We are currently being inconsistent in using signed vs unsigned comparisons for
vec_all_* and vec_any_* interfaces that use vector bool types. For example we
use signed comparison for vec_all_ge(vector signed char, vector bool char) but
unsigned comparison for when the arguments are swapped. GCC and XL use signed
comparison instead. This patch makes clang consistent with itself and with XL
and GCC.

Reviewed By: nemanjai

Differential Revision: https://reviews.llvm.org/D105666
The file was modifiedclang/test/CodeGen/builtins-ppc-vsx.c
The file was modifiedclang/test/CodeGen/builtins-ppc-altivec.c
The file was modifiedclang/lib/Headers/altivec.h
Commit f74bb95bbe4d7f9137398ed4c13dac180bf9870e by listmail
[langref] attempt to clarify semantics of inttoptr/ptrtoint for non-integral types

In review discussion on D104322, Eli and Roman quite reasonable raised concerns about the LangRef not really providing a precise definition for inttoptr/ptrtoint on non-integral types. These had previously been disallowed, but I'd pragmatically allowed them in ac81cb7e6. This is my attempt to improve the situation.

Differential Revision: https://reviews.llvm.org/D104547
The file was modifiedllvm/docs/LangRef.rst
Commit 561b9446d69e12bb5cea263c7aa080009fc21469 by benny.kra
sanitizer_common: Fix the build for platforms that use shared TSDs

Looks like an oversight in 0da172b1766e1559ef677aa836dce4f1995dfef3

compiler-rt/lib/scudo/scudo_tsd_shared.inc:53:1: error: mutex 'TSD->Mutex' is not held on every path through here [-Werror,-Wthread-safety-analysis]
}
^
compiler-rt/lib/scudo/scudo_tsd_shared.inc:49:12: note: mutex acquired here
  if (TSD->tryLock())
           ^
The file was modifiedcompiler-rt/lib/scudo/scudo_tsd_shared.inc
Commit 6f6131815e2cedac66bf63d918d36da38526ccbe by benny.kra
sanitizer_common: Suppress another thread safety warning

Another follow-up to 0da172b1766e1559ef677aa836dce4f1995dfef3

compiler-rt/lib/scudo/scudo_tsd_shared.cpp:103:1: error: mutex 'CandidateTSD->Mutex' is not held on every path through here [-Werror,-Wthread-safety-analysis]
}
^
compiler-rt/lib/scudo/scudo_tsd_shared.cpp:95:21: note: mutex acquired here
      CandidateTSD->lock();
                    ^
compiler-rt/lib/scudo/scudo_tsd_shared.cpp:103:1: error: mutex 'TSD->Mutex' is not held on every path through here [-Werror,-Wthread-safety-analysis]
}
^
compiler-rt/lib/scudo/scudo_tsd_shared.cpp:101:8: note: mutex acquired here
  TSD->lock();
       ^
compiler-rt/lib/scudo/scudo_tsd_shared.cpp:103:1: error: mutex 'TSDs[Index].Mutex' is not held on every path through here [-Werror,-Wthread-safety-analysis]
}
^
compiler-rt/lib/scudo/scudo_tsd_shared.cpp:80:23: note: mutex acquired here
      if (TSDs[Index].tryLock()) {
                      ^
The file was modifiedcompiler-rt/lib/scudo/scudo_tsd_shared.cpp
Commit 0144e625b9672d27b25196346134a7ac40e00e29 by i
[llvm-objcopy] Improve performance of long pattern lists

Some users use a long list of fixed patterns (PR50404) and
O(|patterns|*|symbols|) can be too slow. Such usage typically does not use
--regex or --wildcard. We can use a DenseSet<CachedHashStringRef> to optimize
name lookups.

Reviewed By: jhenderson

Differential Revision: https://reviews.llvm.org/D105218
The file was modifiedllvm/tools/llvm-objcopy/CommonConfig.h
Commit ef49d925e2a788248473b847a0e51835c6ca854f by albionapc
[PowerPC] Implement trap and conversion builtins for XL compatibility

This patch implements trap and FP to and from double conversions. The builtins
generate code that mirror what is generated from the XL compiler. Intrinsics
are named conventionally with builtin_ppc, but are aliased to provide the same
builtin names as the XL compiler.

Differential Revision: https://reviews.llvm.org/D103668
The file was modifiedclang/include/clang/Basic/BuiltinsPPC.def
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrInfo.td
The file was addedllvm/test/CodeGen/PowerPC/builtins-ppc-xlcompat-conversionfunc.ll
The file was addedclang/test/CodeGen/builtins-ppc-xlcompat-error.c
The file was modifiedllvm/include/llvm/IR/IntrinsicsPowerPC.td
The file was addedllvm/test/CodeGen/PowerPC/builtins-ppc-xlcompat-trap-64bit-only.ll
The file was addedclang/test/CodeGen/builtins-ppc-xlcompat-conversionfunc.c
The file was modifiedllvm/lib/Target/PowerPC/PPCInstr64Bit.td
The file was modifiedclang/lib/Basic/Targets/PPC.cpp
The file was modifiedclang/lib/Sema/SemaChecking.cpp
The file was addedclang/test/CodeGen/builtins-ppc-xlcompat-trap-64bit-only.c
The file was addedclang/test/CodeGen/builtins-ppc-xlcompat-trap.c
The file was addedllvm/test/CodeGen/PowerPC/builtins-ppc-xlcompat-trap.ll
Commit 88b73a980ff28fc7123df1e857b5c4dda4a62a5a by Louis Dionne
[libc++] Remove random [[nodiscard]] in the test suite
The file was modifiedlibcxx/test/std/concepts/concepts.callable/concept.equiv/equivalence_relation.subsumption.pass.cpp
The file was modifiedlibcxx/test/std/iterators/iterator.requirements/iterator.assoc.types/readable.traits/iter_value_t.pass.cpp
The file was modifiedlibcxx/test/std/concepts/concepts.callable/concept.predicate/predicate.subsumption.compile.pass.cpp
The file was modifiedlibcxx/test/std/iterators/iterator.requirements/iterator.concepts/iterator.concept.sentinel/sentinel_for.subsumption.compile.pass.cpp
The file was modifiedlibcxx/test/std/iterators/iterator.requirements/iterator.cust/unqualified_lookup_wrapper.h
The file was modifiedlibcxx/test/std/iterators/iterator.requirements/iterator.concepts/iterator.concept.iterator/subsumption.compile.pass.cpp
The file was modifiedlibcxx/test/std/concepts/concepts.callable/concept.predicate/predicate.pass.cpp
The file was modifiedlibcxx/test/std/concepts/concepts.callable/concept.predicate/predicate.subsumption.pass.cpp
The file was modifiedlibcxx/test/std/iterators/iterator.requirements/iterator.concepts/iterator.concept.readable/indirectly_readable.compile.pass.cpp
The file was modifiedlibcxx/test/std/iterators/iterator.requirements/iterator.cust/iterator.cust.move/iter_move.pass.cpp
The file was modifiedlibcxx/test/std/ranges/range.req/range.refinements/subsumption.compile.pass.cpp
The file was modifiedlibcxx/test/std/iterators/iterator.requirements/iterator.concepts/iterator.concept.input/subsumption.compile.pass.cpp
The file was modifiedlibcxx/test/std/concepts/concepts.callable/concept.relation/relation.subsumption.pass.cpp
The file was modifiedlibcxx/test/std/concepts/concepts.callable/concept.regularinvocable/regular_invocable.compile.pass.cpp
The file was modifiedlibcxx/test/std/concepts/concepts.callable/concept.strictweakorder/strict_weak_order.subsumption.compile.pass.cpp
The file was modifiedlibcxx/test/support/compare_types.h
The file was modifiedlibcxx/test/std/concepts/concepts.callable/concept.predicate/predicate.compile.pass.cpp
The file was modifiedlibcxx/test/std/iterators/iterator.requirements/iterator.concepts/iterator.concept.writable/indirectly_writable.compile.pass.cpp
The file was modifiedlibcxx/test/std/iterators/iterator.requirements/iterator.concepts/iterator.concept.inc/subsumption.compile.pass.cpp
The file was modifiedlibcxx/test/std/concepts/concepts.callable/concept.strictweakorder/strict_weak_order.subsumption.pass.cpp
The file was modifiedlibcxx/test/std/concepts/concepts.callable/concept.equiv/equivalence_relation.subsumption.compile.pass.cpp
The file was modifiedlibcxx/test/std/iterators/iterator.requirements/iterator.concepts/iterator.concept.forward/subsumption.compile.pass.cpp
The file was modifiedlibcxx/test/std/concepts/concepts.lang/concepts.arithmetic/arithmetic.h
The file was modifiedlibcxx/test/std/concepts/concepts.lang/concept.swappable/swappable_with.compile.pass.cpp
The file was modifiedlibcxx/test/support/test_iterators.h
The file was modifiedlibcxx/test/std/concepts/concepts.object/regular.compile.pass.cpp
The file was modifiedlibcxx/test/std/concepts/concepts.callable/concept.invocable/invocable.compile.pass.cpp
The file was modifiedlibcxx/test/std/concepts/concepts.callable/concept.relation/relation.subsumption.compile.pass.cpp
Commit 681055ea694b1de21a52b319329e5d4f9b1b807d by protze
[OpenMP] Remove TSAN annotations from libomp

The annotations in libomp were never built by default. The annotations are
also superseded by the annotations which the OMPT tool libarcher.so provides.
With respect to libarcher, libomp behaves as if libarcher would be the last
element of OMP_TOOL_LIBARARIES. I.e., if no other OMPT tool gets active,
libarcher will check if an OpenMP application is built with TSan.

Since libarcher gets loaded by default, enabling LIBOMP_TSAN_SUPPORT would
result in redundant annotations for TSan, which slightly differ in details
and coverage (e.g. task dependencies are not handled well by the annotations
in libomp).

This patch removes all TSan annotations from the OpenMP runtime code.

Differential Revision: https://reviews.llvm.org/D103767
The file was modifiedopenmp/runtime/src/kmp_tasking.cpp
The file was modifiedopenmp/runtime/CMakeLists.txt
The file was modifiedopenmp/runtime/src/kmp_barrier.cpp
The file was modifiedopenmp/runtime/src/kmp_lock.cpp
The file was removedopenmp/runtime/src/tsan_annotations.h
The file was modifiedopenmp/runtime/src/CMakeLists.txt
The file was modifiedopenmp/runtime/src/exports_so.txt
The file was removedopenmp/runtime/src/tsan_annotations.cpp
The file was modifiedopenmp/runtime/src/kmp_config.h.cmake
The file was modifiedopenmp/runtime/src/kmp_runtime.cpp
The file was modifiedopenmp/runtime/src/z_Linux_util.cpp
Commit af6f136a8c6a842acd20ca1f9f76076fcb212a94 by david.green
[ARM] Expand types in VQDMULH tests. NFC
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vqdmulh.ll
Commit 28fb69e00a4d3f3e59ccd63cf5c56c4af66a475c by Jinsong Ji
[AIX] Emit version string in .file directive

AIX .file directive support including compiler version string.
https://www.ibm.com/docs/en/aix/7.2?topic=ops-file-pseudo-op

This patch adds the support so that it will be easier to identify build
compiler in objects.

Reviewed By: #powerpc, shchenz

Differential Revision: https://reviews.llvm.org/D105743
The file was modifiedllvm/test/CodeGen/PowerPC/aix-filename-special-character-single-quotation.ll
The file was modifiedllvm/lib/MC/MCObjectStreamer.cpp
The file was modifiedllvm/test/CodeGen/PowerPC/aix-filename-relative-path.ll
The file was modifiedllvm/include/llvm/MC/MCObjectStreamer.h
The file was modifiedllvm/include/llvm/MC/MCStreamer.h
The file was modifiedllvm/lib/MC/MCAsmInfoXCOFF.cpp
The file was modifiedllvm/lib/MC/MCAsmStreamer.cpp
The file was modifiedllvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
The file was modifiedllvm/include/llvm/MC/MCAsmInfo.h
The file was modifiedllvm/test/CodeGen/PowerPC/aix-filename-special-character-double-quotation.ll
The file was modifiedllvm/lib/MC/MCStreamer.cpp
The file was modifiedllvm/test/CodeGen/PowerPC/aix-filename-absolute-path.ll
Commit a95f56f60089ce810dd1d66a640042133f56ccd8 by i
[test] Move AMDGPU reloc test from Object to tools/llvm-readobj and simplify it

We already have some reloc-types-elf-*.test serving the similar purpose.

Reviewed By: jhenderson

Differential Revision: https://reviews.llvm.org/D105783
The file was addedllvm/test/tools/llvm-readobj/ELF/reloc-types-elf-amdgpu.test
The file was removedllvm/test/Object/AMDGPU/elf64-relocs.yaml
Commit 5a4e7760101581c394aa4235c55885ec960c8b3b by rob.suderman
[mlir][tosa] Added more shape inference for tosa ops

Added shape inference for:
- scatter
- gather
- transpose
- slice
- pad
- concat
- reduction operations

Also updated reshape for more aggressive shape inference.

Differential Revision: https://reviews.llvm.org/D105383
The file was modifiedmlir/lib/Dialect/Tosa/IR/TosaOps.cpp
The file was addedmlir/test/Dialect/Tosa/tosa-infer-shapes.mlir
The file was modifiedmlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
The file was removedmlir/test/Dialect/Tosa/tosa_infer_shapes.mlir
Commit fe892114e33b8f98bf3537a0dd6d6798821cb849 by andrzej.warzynski
[flang][nfc] Simplify CMake

Folds `list(APPEND <list> [<element>...])` into the definition of
`<list>`.
The file was modifiedflang/test/CMakeLists.txt
Commit 46580d43fc70dcecf21d2cedceeb4910c756fa6e by i
[llvm-readobj] Switch command line parsing from llvm::cl to OptTable

Users should generally observe no difference as long as they don't use
unintended option forms. Behavior changes:

* `-t=d` is removed. Use `-t d` instead.
* `--demangle=false` and `--demangle=0` cannot be used. Omit the option or use `--no-demangle`. Other flag-style options don't have `--no-` forms.
* `--help-list` is removed. This is a `cl::` specific option.
* llvm-readobj now supports grouped short options as well.
* `--color` is removed. This is generally not useful (only apply to errors/warnings) but was inherited from Support.

Some adjustment to the canonical forms
(usually from GNU readelf; currently llvm-readobj has too many redundant aliases):

* --dyn-syms is canonical. --dyn-symbols is a hidden alias
* --file-header is canonical. --file-headers is a hidden alias
* --histogram is canonical. --elf-hash-histogram is a hidden alias
* --relocs is canonical. --relocations is a hidden alias
* --section-groups is canonical. --elf-section-groups is a hidden alias

OptTable avoids global option collision if we decide to support multiplexing for binary utilities.

* Most one-dash long options are still supported. `-dt, -sd, -st, -sr` are dropped due to their conflict with grouped short options.
* `--section-mapping=false` (D57365) is strange but is kept for now.
* Many `cl::opt` variables were unnecessarily external. I added `static` whenever appropriate.

Reviewed By: jhenderson

Differential Revision: https://reviews.llvm.org/D105532
The file was addedllvm/test/tools/llvm-readobj/ELF/output-style.test
The file was modifiedllvm/test/tools/llvm-readobj/ELF/demangle.test
The file was modifiedutils/bazel/llvm-project-overlay/llvm/BUILD.bazel
The file was modifiedllvm/tools/llvm-readobj/llvm-readobj.h
The file was modifiedllvm/utils/gn/secondary/llvm/tools/llvm-readobj/BUILD.gn
The file was modifiedllvm/test/tools/yaml2obj/ELF/shstrtab.yaml
The file was modifiedllvm/docs/CommandGuide/llvm-readelf.rst
The file was addedllvm/tools/llvm-readobj/Opts.td
The file was modifiedllvm/test/Support/check-default-options.txt
The file was modifiedllvm/test/tools/llvm-readobj/ELF/string-dump.test
The file was modifiedllvm/docs/CommandGuide/llvm-readobj.rst
The file was modifiedllvm/test/tools/llvm-readobj/ELF/hex-dump.test
The file was modifiedllvm/test/tools/llvm-readobj/basic.test
The file was modifiedllvm/test/tools/llvm-readobj/ELF/grouped.test
The file was modifiedllvm/test/Object/invalid.test
The file was modifiedllvm/tools/llvm-readobj/CMakeLists.txt
The file was modifiedllvm/tools/llvm-readobj/llvm-readobj.cpp
Commit d5c97f4bf0449f8a4ad6260c75cbf6ff3605ac04 by craig.topper
[X86] Teach X86FloatingPoint's handleCall to only erase the FP stack if there is a regmask operand that clobbers the FP stack.

There are some calls to functions like `__alloca` that are missing
a regmask operand. Lack of a regmask operand means that all
registers that aren't mentioned by def operands are preserved.
__alloca only updates EAX and ESP and has def operands for
them so this is ok. Because there is no regmask the register
allocator won't spill the FP registers across the call. Assuming
we want to keep the FP stack untoched across these calls, we
need to handle this is in the FP stackifier.

We might want to add a proper regmask operand to the code that
creates these calls to indicate all registers are preserved, but we'd
still need this change to the FP stackifier to know to preserve the
FP stack for such a regmask.

The test is kind of long, but bugpoint wasn't able to reduce it
any further.

Fixes PR50782

Reviewed By: pengfei

Differential Revision: https://reviews.llvm.org/D105762
The file was addedllvm/test/CodeGen/X86/pr50782.ll
The file was modifiedllvm/lib/Target/X86/X86FloatingPoint.cpp
Commit b270c3fbdeae62d4e1aeb90d848eec4fdd22b5de by leonardchan
[NFC][compiler-rt][hwasan] Move shadow bound variables to hwasan.cpp

This way, other platforms can define these values.

Differential Revision: https://reviews.llvm.org/D105744
The file was modifiedcompiler-rt/lib/hwasan/hwasan_linux.cpp
The file was modifiedcompiler-rt/lib/hwasan/hwasan.cpp
Commit 072669521456a369409cf9db30739a3fac740173 by dvyukov
sanitizer_common: optimize memory drain

Currently we allocate MemoryMapper per size class.
MemoryMapper mmap's and munmap's internal buffer.
This results in 50 mmap/munmap calls under the global
allocator mutex. Reuse MemoryMapper and the buffer
for all size classes. This radically reduces number of
mmap/munmap calls. Smaller size classes tend to have
more objects allocated, so it's highly likely that
the buffer allocated for the first size class will
be enough for all subsequent size classes.

Reviewed By: melver

Differential Revision: https://reviews.llvm.org/D105778
The file was modifiedcompiler-rt/lib/sanitizer_common/tests/sanitizer_allocator_test.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_allocator_primary64.h
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_allocator_local_cache.h
Commit cbabfc63b1be274316552d3eaaf7b2ad88c4c073 by tlively
[WebAssembly] Custom combines for f32x4.demote_zero_f64x2

Replace the clang builtin function and LLVM intrinsic for
f32x4.demote_zero_f64x2 with combines from normal SDNodes. Also add missing
combines for i32x4.trunc_sat_zero_f64x2_{s,u}, which share the same pattern.

Differential Revision: https://reviews.llvm.org/D105755
The file was modifiedclang/include/clang/Basic/BuiltinsWebAssembly.def
The file was modifiedclang/test/Headers/wasm.c
The file was modifiedllvm/include/llvm/IR/IntrinsicsWebAssembly.td
The file was modifiedllvm/test/CodeGen/WebAssembly/simd-conversions.ll
The file was modifiedclang/lib/CodeGen/CGBuiltin.cpp
The file was modifiedclang/test/CodeGen/builtins-wasm.c
The file was modifiedclang/lib/Headers/wasm_simd128.h
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyInstrSIMD.td
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyISD.def
The file was modifiedllvm/test/CodeGen/WebAssembly/simd-intrinsics.ll
Commit f21801dab249df506af4c62c70af34a11fa3d3e1 by thakis
[lld/mac] Implement -application_extension

Differential Revision: https://reviews.llvm.org/D105818
The file was addedlld/test/MachO/application-extension.s
The file was modifiedlld/MachO/InputFiles.h
The file was modifiedlld/MachO/SyntheticSections.cpp
The file was modifiedlld/MachO/Options.td
The file was modifiedlld/MachO/InputFiles.cpp
The file was modifiedlld/MachO/Config.h
The file was modifiedlld/MachO/Driver.cpp
Commit 2377eca93c03e5de755bcb022b5eb424eec8b512 by Jinsong Ji
[PowerPC] Custom Lowering BUILD_VECTOR for v2i64 for P7 as well

The lowering for v2i64 is now guarded with hasDirectMove,
however, the current lowering can handle the pattern correctly,
only lowering it when there is efficient patterns and corresponding
instructions.

The original guard was added in D21135, and was for Legal action.
The code has evloved now, this guard is not necessary anymore.

Reviewed By: #powerpc, nemanjai

Differential Revision: https://reviews.llvm.org/D105596
The file was modifiedllvm/test/CodeGen/PowerPC/build-vector-allones.ll
The file was modifiedllvm/test/CodeGen/PowerPC/aix-vec-arg-spills.ll
The file was modifiedllvm/test/CodeGen/PowerPC/vector-popcnt-128-ult-ugt.ll
The file was modifiedllvm/lib/Target/PowerPC/PPCISelLowering.cpp
The file was modifiedllvm/test/CodeGen/PowerPC/load-and-splat.ll
The file was modifiedllvm/test/CodeGen/PowerPC/aix-vec-arg-spills-mir.ll
Commit 5208ec5c66dc610a6cf4af999bb9211b945e1b33 by Louis Dionne
[libc++] Update Google benchmark to v 1.5.5
The file was addedlibcxx/utils/google-benchmark/setup.py
The file was modifiedlibcxx/utils/google-benchmark/cmake/gnu_posix_regex.cpp
The file was modifiedlibcxx/utils/google-benchmark/test/benchmark_gtest.cc
The file was modifiedlibcxx/utils/google-benchmark/test/map_test.cc
The file was addedlibcxx/utils/google-benchmark/tools/BUILD.bazel
The file was modifiedlibcxx/utils/google-benchmark/test/CMakeLists.txt
The file was addedlibcxx/utils/google-benchmark/tools/gbench/Inputs/test4_run.json
The file was modifiedlibcxx/utils/google-benchmark/test/filter_test.cc
The file was modifiedlibcxx/utils/google-benchmark/tools/gbench/util.py
The file was modifiedlibcxx/utils/google-benchmark/cmake/GetGitVersion.cmake
The file was addedlibcxx/utils/google-benchmark/docs/releasing.md
The file was modifiedlibcxx/utils/google-benchmark/src/benchmark.cc
The file was addedlibcxx/utils/google-benchmark/bindings/python/requirements.txt
The file was modifiedlibcxx/utils/google-benchmark/src/benchmark_register.cc
The file was addedlibcxx/utils/google-benchmark/bindings/python/google_benchmark/benchmark.cc
The file was addedlibcxx/utils/google-benchmark/.github/ISSUE_TEMPLATE/bug_report.md
The file was addedlibcxx/utils/google-benchmark/.github/ISSUE_TEMPLATE/feature_request.md
The file was addedlibcxx/utils/google-benchmark/test/benchmark_name_gtest.cc
The file was modifiedlibcxx/utils/google-benchmark/test/statistics_gtest.cc
The file was modifiedlibcxx/utils/google-benchmark/src/benchmark_register.h
The file was addedlibcxx/utils/google-benchmark/_config.yml
The file was addedlibcxx/utils/google-benchmark/bindings/python/google_benchmark/BUILD
The file was modifiedlibcxx/utils/google-benchmark/test/options_test.cc
The file was modifiedlibcxx/utils/google-benchmark/tools/gbench/Inputs/test1_run1.json
The file was modifiedlibcxx/utils/google-benchmark/test/multiple_ranges_test.cc
The file was addedlibcxx/utils/google-benchmark/src/perf_counters.cc
The file was modifiedlibcxx/utils/google-benchmark/test/user_counters_tabular_test.cc
The file was addedlibcxx/utils/google-benchmark/BUILD.bazel
The file was modifiedlibcxx/utils/google-benchmark/docs/tools.md
The file was modifiedlibcxx/utils/google-benchmark/test/memory_manager_test.cc
The file was modifiedlibcxx/utils/google-benchmark/cmake/AddCXXCompilerFlag.cmake
The file was modifiedlibcxx/utils/google-benchmark/src/benchmark_api_internal.cc
The file was modifiedlibcxx/utils/google-benchmark/src/benchmark_runner.cc
The file was modifiedlibcxx/utils/google-benchmark/src/complexity.cc
The file was modifiedlibcxx/utils/google-benchmark/cmake/posix_regex.cpp
The file was addedlibcxx/utils/google-benchmark/test/repetitions_test.cc
The file was modifiedlibcxx/utils/google-benchmark/test/user_counters_test.cc
The file was modifiedlibcxx/utils/google-benchmark/test/string_util_gtest.cc
The file was modifiedlibcxx/utils/google-benchmark/src/json_reporter.cc
The file was modifiedlibcxx/utils/google-benchmark/test/fixture_test.cc
The file was modifiedlibcxx/utils/google-benchmark/test/output_test.h
The file was modifiedlibcxx/utils/google-benchmark/cmake/CXXFeatureCheck.cmake
The file was modifiedlibcxx/utils/google-benchmark/src/csv_reporter.cc
The file was modifiedlibcxx/utils/google-benchmark/test/skip_with_error_test.cc
The file was modifiedlibcxx/utils/google-benchmark/WORKSPACE
The file was modifiedlibcxx/utils/google-benchmark/tools/gbench/report.py
The file was removedlibcxx/utils/google-benchmark/cmake/HandleGTest.cmake
The file was addedlibcxx/utils/google-benchmark/test/BUILD
The file was modifiedlibcxx/utils/google-benchmark/tools/gbench/Inputs/test1_run2.json
The file was modifiedlibcxx/utils/google-benchmark/test/AssemblyTests.cmake
The file was modifiedlibcxx/utils/google-benchmark/src/mutex.h
The file was modifiedlibcxx/utils/google-benchmark/src/commandlineflags.cc
The file was modifiedlibcxx/utils/google-benchmark/src/sysinfo.cc
The file was addedlibcxx/utils/google-benchmark/.github/workflows/pylint.yml
The file was addedlibcxx/utils/google-benchmark/src/benchmark_name.cc
The file was modifiedlibcxx/utils/google-benchmark/src/console_reporter.cc
The file was modifiedlibcxx/utils/google-benchmark/src/thread_timer.h
The file was addedlibcxx/utils/google-benchmark/test/perf_counters_gtest.cc
The file was modifiedlibcxx/utils/google-benchmark/src/counter.h
The file was addedlibcxx/utils/google-benchmark/bindings/python/build_defs.bzl
The file was modifiedlibcxx/utils/google-benchmark/src/commandlineflags.h
The file was modifiedlibcxx/utils/google-benchmark/test/user_counters_thousands_test.cc
The file was modifiedlibcxx/utils/google-benchmark/docs/AssemblyTests.md
The file was removedlibcxx/utils/google-benchmark/.travis-libcxx-setup.sh
The file was modifiedlibcxx/utils/google-benchmark/CONTRIBUTORS
The file was modifiedlibcxx/utils/google-benchmark/.gitignore
The file was modifiedlibcxx/utils/google-benchmark/src/benchmark_api_internal.h
The file was addedlibcxx/utils/google-benchmark/test/args_product_test.cc
The file was modifiedlibcxx/utils/google-benchmark/test/output_test_helper.cc
The file was addedlibcxx/utils/google-benchmark/bindings/python/python_headers.BUILD
The file was modifiedlibcxx/utils/google-benchmark/src/CMakeLists.txt
The file was addedlibcxx/utils/google-benchmark/dependencies.md
The file was addedlibcxx/utils/google-benchmark/.github/workflows/build-and-test.yml
The file was addedlibcxx/utils/google-benchmark/docs/random_interleaving.md
The file was addedlibcxx/utils/google-benchmark/.github/workflows/bazel.yml
The file was removedlibcxx/utils/google-benchmark/mingw.py
The file was addedlibcxx/utils/google-benchmark/.github/workflows/test_bindings.yml
The file was modifiedlibcxx/utils/google-benchmark/cmake/benchmark.pc.in
The file was modifiedlibcxx/utils/google-benchmark/.travis.yml
The file was addedlibcxx/utils/google-benchmark/cmake/GoogleTest.cmake
The file was modifiedlibcxx/utils/google-benchmark/src/benchmark_runner.h
The file was modifiedlibcxx/utils/google-benchmark/src/statistics.cc
The file was addedlibcxx/utils/google-benchmark/docs/_config.yml
The file was modifiedlibcxx/utils/google-benchmark/cmake/std_regex.cpp
The file was modifiedlibcxx/utils/google-benchmark/src/cycleclock.h
The file was addedlibcxx/utils/google-benchmark/test/internal_threading_test.cc
The file was modifiedlibcxx/utils/google-benchmark/tools/compare.py
The file was addedlibcxx/utils/google-benchmark/tools/requirements.txt
The file was modifiedlibcxx/utils/google-benchmark/test/cxx03_test.cc
The file was addedlibcxx/utils/google-benchmark/.github/.libcxx-setup.sh
The file was addedlibcxx/utils/google-benchmark/bindings/python/google_benchmark/__init__.py
The file was modifiedlibcxx/utils/google-benchmark/test/register_benchmark_test.cc
The file was addedlibcxx/utils/google-benchmark/bindings/python/google_benchmark/example.py
The file was modifiedlibcxx/utils/google-benchmark/test/state_assembly_test.cc
The file was modifiedlibcxx/utils/google-benchmark/include/benchmark/benchmark.h
The file was addedlibcxx/utils/google-benchmark/test/benchmark_random_interleaving_gtest.cc
The file was modifiedlibcxx/utils/google-benchmark/.clang-format
The file was addedlibcxx/utils/google-benchmark/bindings/python/BUILD
The file was addedlibcxx/utils/google-benchmark/requirements.txt
The file was addedlibcxx/utils/google-benchmark/test/perf_counters_test.cc
The file was modifiedlibcxx/utils/google-benchmark/CMakeLists.txt
The file was modifiedlibcxx/utils/google-benchmark/README.md
The file was removedlibcxx/utils/google-benchmark/releasing.md
The file was addedlibcxx/utils/google-benchmark/.github/workflows/build-and-test-perfcounters.yml
The file was modifiedlibcxx/utils/google-benchmark/src/internal_macros.h
The file was modifiedlibcxx/utils/google-benchmark/src/sleep.cc
The file was removedlibcxx/utils/google-benchmark/README.LLVM
The file was modifiedlibcxx/utils/google-benchmark/src/reporter.cc
The file was modifiedlibcxx/utils/google-benchmark/test/complexity_test.cc
The file was modifiedlibcxx/utils/google-benchmark/test/basic_test.cc
The file was modifiedlibcxx/utils/google-benchmark/src/thread_manager.h
The file was modifiedlibcxx/utils/google-benchmark/src/timers.cc
The file was modifiedlibcxx/utils/google-benchmark/AUTHORS
The file was addedlibcxx/utils/google-benchmark/test/commandlineflags_gtest.cc
The file was modifiedlibcxx/utils/google-benchmark/appveyor.yml
The file was addedlibcxx/utils/google-benchmark/cmake/GoogleTest.cmake.in
The file was modifiedlibcxx/utils/google-benchmark/test/reporter_output_test.cc
The file was modifiedlibcxx/utils/google-benchmark/src/string_util.cc
The file was modifiedlibcxx/utils/google-benchmark/src/counter.cc
The file was addedlibcxx/utils/google-benchmark/src/perf_counters.h
The file was addedlibcxx/utils/google-benchmark/bindings/python/pybind11.BUILD
The file was addedlibcxx/utils/google-benchmark/.github/workflows/sanitizer.yml
The file was addedlibcxx/utils/google-benchmark/docs/perf_counters.md
The file was modifiedlibcxx/utils/google-benchmark/src/string_util.h
Commit 97661b86345d2db084b147a0a36c63042eb1bc50 by nikita.ppv
Revert "sanitizer_common: optimize memory drain"

This reverts commit 072669521456a369409cf9db30739a3fac740173.

This causes the following build failure with gcc 10.3.0:

/home/nikic/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_allocator_primary64.h:114:31: error: declaration of ‘typedef class __sanitizer::MemoryMapper<__sanitizer::SizeClassAllocator64<Params> > __sanitizer::SizeClassAllocator64<Params>::MemoryMapper’ changes meaning of ‘MemoryMapper’ [-fpermissive]
  114 |   typedef MemoryMapper<ThisT> MemoryMapper;
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_allocator_primary64.h
The file was modifiedcompiler-rt/lib/sanitizer_common/tests/sanitizer_allocator_test.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_allocator_local_cache.h
Commit 6ebbf755b61539788919163853446e73fcff74c2 by gcmn
[Bazel] Update configuration to HEAD

Bazel configuration updates for
https://github.com/llvm/llvm-project/commit/75e5f0aac97d,
https://github.com/llvm/llvm-project/commit/c282d55a3857, and
https://github.com/llvm/llvm-project/commit/26e59cc19f86

Tested: `bazel test ... @llvm-project//...`

Differential Revision: https://reviews.llvm.org/D105830
The file was modifiedutils/bazel/llvm-project-overlay/mlir/BUILD.bazel
The file was modifiedutils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel
Commit 5d1464cbfe907ba2e75fb97386164c1d30151f95 by nikita.ppv
[Attributes] Make type attribute handling more generic (NFCI)

Followup to D105658 to make AttrBuilder automatically work with
new type attributes. TableGen is tweaked to emit First/LastTypeAttr
markers, based on which we can handle type attributes
programmatically.

Differential Revision: https://reviews.llvm.org/D105763
The file was modifiedllvm/include/llvm/IR/Attributes.h
The file was modifiedllvm/lib/Bitcode/Reader/BitcodeReader.cpp
The file was modifiedllvm/utils/TableGen/Attributes.cpp
The file was modifiedllvm/lib/IR/Attributes.cpp
Commit 8ba53152d7791e19b38e117b4e92473c5d902c07 by Krzysztof.Drewniak
Add newline to fix documentation build

Reviewed By: xgupta

Differential Revision: https://reviews.llvm.org/D105825
The file was modifiedllvm/docs/AMDGPUUsage.rst
Commit b4a6fa12d1fdcc9a446432218d9990a6c6797c83 by Vitaly Buka
Revert "sanitizer_common: add simpler ThreadRegistry ctor"

Breaks https://lab.llvm.org/buildbot/#/builders/sanitizer-x86_64-linux-android

This reverts commit 6062c672bc5e560a4c3dc73741f9e82b39d08527.
This reverts commit 8e489b4b96e31cfb004e03cfa1393c425c504013.
The file was modifiedcompiler-rt/lib/lsan/lsan_thread.cpp
The file was modifiedcompiler-rt/lib/memprof/memprof_thread.cpp
The file was modifiedcompiler-rt/lib/memprof/memprof_thread.h
The file was modifiedcompiler-rt/lib/sanitizer_common/tests/sanitizer_thread_registry_test.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_thread_registry.h
The file was modifiedcompiler-rt/lib/asan/asan_thread.h
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_thread_registry.cpp
The file was modifiedcompiler-rt/lib/asan/asan_thread.cpp
Commit 3fb0621fafbb16ea157830b308c26a77ba0a04e3 by nikita.ppv
[Attributes] Assert correct attribute constructor is used (NFCI)

Assert that enum/int/type attributes go through the constructor
they are supposed to use.

To make sure this can't happen via invalid bitcode, explicitly
verify that the attribute kind if correct there.
The file was modifiedllvm/lib/Bitcode/Reader/BitcodeReader.cpp
The file was modifiedllvm/lib/IR/Attributes.cpp
The file was modifiedllvm/include/llvm/IR/Attributes.h
Commit 363e12ae6fceea3870898bc230841c8b0b00925a by nikita.ppv
[Attributes] Simplify attribute sorting (NFCI)

It's not necessary to explicitly sort by enum/int/type attribute,
as the attribute kinds are already sorted this way. We can directly
sort by kind.
The file was modifiedllvm/lib/IR/Attributes.cpp
Commit 798fe3c774a1af75c8735933ded749fa62f39594 by wanyu9511
[PowerPC][AIX] Fix Zero-width bit fields wrt MaxFieldAlign.

On AIX when there is a pragma pack, or pragma align in effect then zero-width bitfields should pad out to the end of the bitfield container but not increase the alignment requirements of the struct greater then the max field align.

Reviewed By: ZarkoCA

Differential Revision: https://reviews.llvm.org/D105635
The file was modifiedclang/lib/AST/RecordLayoutBuilder.cpp
The file was modifiedclang/test/Layout/aix-bitfield-alignment.c
The file was addedclang/test/Layout/aix-packed-bitfields.c
Commit 87bfc49db5d441c6e917daeb695e105cc1982ed2 by Louis Dionne
[libc++][ci] Add arch and os tags to the macOS CI builders
The file was modifiedlibcxx/utils/ci/macos-ci-setup
Commit 6b3eba7c285c9399f1a198d5490ac9522f2fd614 by marksl
[ARC] Add disassembly for the conditioned move immediate instruction

This change is a step towards implementing codegen for __builtin_clz().
Full support for CLZ with a regression test will follow shortly.
Differential Revision: https://reviews.llvm.org/D105560
The file was modifiedllvm/lib/Target/ARC/MCTargetDesc/ARCInstPrinter.h
The file was modifiedllvm/lib/Target/ARC/ARCInstrInfo.td
The file was modifiedllvm/lib/Target/ARC/ARCInstrFormats.td
The file was modifiedllvm/lib/Target/ARC/Disassembler/ARCDisassembler.cpp
The file was modifiedllvm/lib/Target/ARC/MCTargetDesc/ARCInstPrinter.cpp
Commit ae0d73ac3bb842a9a043986f2925efb08f8c569a by llvm-dev
[CostModel][X86] Adjust fptosi/fptoui SSE/AVX legalized costs based on llvm-mca reports.

Update (mainly) vXf32/vXf64 -> vXi8/vXi16 fptosi/fptoui costs based on the worst case costs from the script in D103695.

Move to using legalized types wherever possible, which allows us to prune the cost tables.
The file was modifiedllvm/lib/Target/X86/X86TargetTransformInfo.cpp
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/fptoui.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/X86/fp_to_sint8-cost-model.ll
The file was modifiedllvm/test/Analysis/CostModel/X86/fptoui.ll
The file was modifiedllvm/test/Analysis/CostModel/X86/fptosi.ll
Commit 1ca748608dd45d7c2975715528b4f06d348e5e5a by Louis Dionne
[libc++] Exit from macos-ci-setup upon error
The file was modifiedlibcxx/utils/ci/macos-ci-setup
Commit 279c3a5be3b4f3030584033823f19752325d08ce by gcmn
[Bazel] ignore build files under libcxx's copy of google-benchmark

https://github.com/llvm/llvm-project/commit/5208ec5c66dc updated the
of google-benchmark under libcxx adding a BUILD.bazel file. This upsets
Bazel in our overlay configuration because it tries to interpret this
file.

Currently this is breaking the CI:
https://buildkite.com/llvm-project/upstream-bazel-rbe/builds/1828

Tested (same command the CI uses)
`bazel query //... + @llvm-project//... | xargs bazel test --config=generic-clang --config=rbe --test_output=errors --test_tag_filters=-nobuildkite --build_tag_filters=-nobuildkite`

Differential Revision: https://reviews.llvm.org/D105833
The file was modifiedutils/bazel/llvm-project-overlay/.bazelignore
Commit 6ac32872ee2fa02bdce54b25641d9a21cfbcfa9a by nikita.ppv
[Attributes] Replace doesAttrKindHaveArgument() (NFC)

This is now the same as isIntAttrKind(), so use that instead, as
it does not require manual maintenance. The naming is also more
accurate in that both int and type attributes have an argument,
but this method was only targeting int attributes.

I initially wanted to tighten the AttrBuilder assertion, but we
have some in-tree uses that would violate it.
The file was modifiedllvm/include/llvm/IR/Attributes.h
The file was modifiedllvm/lib/IR/AttributeImpl.h
The file was modifiedllvm/lib/IR/Attributes.cpp
The file was modifiedmlir/lib/Target/LLVMIR/ModuleTranslation.cpp
The file was modifiedllvm/lib/Analysis/AssumeBundleQueries.cpp
The file was modifiedllvm/lib/IR/Verifier.cpp
The file was modifiedllvm/lib/Transforms/Utils/AssumeBundleBuilder.cpp
Commit 59bb72262425a0206bdb4a2ff3f54653bc898e14 by nikita.ppv
[Attributes] Remove duplicate attribute in typeIncompatible() (NFC)

InAlloca was listed twice, once as a normal attribute, once as a
type attribute.
The file was modifiedllvm/lib/IR/Attributes.cpp
Commit 0a9afaf7363bb101b9836ac188f5180d7ceb8db6 by Louis Dionne
[libc++] Encode the arch and OS in buildkite agent tags
The file was modifiedlibcxx/utils/ci/Dockerfile
Commit 1689d14ed1b826e9e9ef1a70e078ae413fdd538c by aardappel
[WebAssembly] fix typo in range check for Asm locals
The file was modifiedllvm/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmTypeCheck.cpp
Commit e5e291e13502cdce6eafcb971c8e8beb2754f244 by zoecarver
[libcxx][docs] Update the ranges status document to reflect the current state of the world.

Marks a few things as done. Marks a few things as in progress. Assigns a few things to me.
The file was modifiedlibcxx/docs/Status/RangesPaper.csv
Commit 7ed3e87825b48747bc5e4fb6daa1f08b543c4ec9 by nikita.ppv
[Attributes] Determine attribute properties from TableGen data

Continuing from D105763, this allows placing certain properties
about attributes in the TableGen definition. In particular, we
store whether an attribute applies to fn/param/ret (or a combination
thereof). This information is used by the Verifier, as well as the
ForceFunctionAttrs pass. I also plan to use this in LLParser,
which also duplicates info on which attributes are valid where.

This keeps metadata about attributes in one place, and makes it
more likely that it stays in sync, rather than in various
functions spread across the codebase.

Differential Revision: https://reviews.llvm.org/D105780
The file was modifiedllvm/unittests/IR/VerifierTest.cpp
The file was modifiedllvm/lib/Transforms/IPO/ForceFunctionAttrs.cpp
The file was modifiedllvm/lib/IR/Verifier.cpp
The file was modifiedllvm/lib/IR/Attributes.cpp
The file was modifiedllvm/include/llvm/IR/Attributes.h
The file was modifiedllvm/utils/TableGen/Attributes.cpp
The file was modifiedllvm/include/llvm/IR/Attributes.td
Commit 8ea1a630d66f4d70a7177c6eb522a3efff21b1be by walter erquinigo
[vscode] fix ubsan problem in the progress event reporter

The error

UndefinedBehaviorSanitizer: undefined-behavior /Users/buildslave/jenkins/workspace/lldb-cmake-sanitized/llvm-project/lldb/tools/lldb-vscode/ProgressEvent.cpp:89:64 in

was found in https://green.lab.llvm.org/green/view/LLDB/job/lldb-cmake-sanitized/1910/consoleFull#-15641370498254eaf0-7326-4999-85b0-388101f2d404

It turns out that we were not setting m_event_type when initializatin
and update case. The fix is very simple.

Differential Revision: https://reviews.llvm.org/D105832
The file was modifiedlldb/tools/lldb-vscode/ProgressEvent.cpp
Commit 0ec812023b43992810499b04222348fdbdb41ef2 by flx
[clang-tidy] performance-unnecessary-copy-initialization: Do not remove comments on new lines.

When deleting the copy assignment statement because copied variable is not used
only remove trailing comments on the same line.

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

Reviewed-by: ymandel
The file was modifiedclang-tools-extra/clang-tidy/performance/UnnecessaryCopyInitialization.cpp
The file was modifiedclang-tools-extra/test/clang-tidy/checkers/performance-unnecessary-copy-initialization.cpp
Commit d5d477780cf8ffb418975742d837bb2ccb5837f7 by martin
[libcxx] [test] Fix spurious failures in the thread join test on Windows

Make sure that the detached thread has started up before exiting
the process.

This is exactly the same fix as D105592, with the same pattern
being present in a different test case.

Differential Revision: https://reviews.llvm.org/D105736
The file was modifiedlibcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.member/join.pass.cpp
Commit 40843347b37cc73fd0208c63a19359df6b2bf67b by gusss
[mlir][sparse] Add Merger unit tests (with gcc5 build fix)

This is a fix of https://reviews.llvm.org/D104956, which broke the gcc5 build.

We opt to use unit tests rather than check tests as the lattice/merger code is a small C++ component with a well-defined API. Testing this API via check tests would be far less direct and readable. In addition, as the check tests will only be able to test the API indirectly, the tests may break based on unrelated changes; e.g. changes in linalg.

Reviewed By: aartbik

Differential Revision: https://reviews.llvm.org/D105828
The file was addedmlir/unittests/Dialect/SparseTensor/MergerTest.cpp
The file was modifiedmlir/unittests/Dialect/CMakeLists.txt
The file was addedmlir/unittests/Dialect/SparseTensor/CMakeLists.txt
Commit 8fe058dbe49b060c85f490ece2268c32b0fad7c8 by Yaxun.Liu
[clang] Document llvm options controlling pragma unroll

Reviewed by: Artem Belevich

Differential Revision: https://reviews.llvm.org/D105035
The file was modifiedclang/docs/LanguageExtensions.rst
Commit 877e97a9546462a8a930642e14100b0b2acd4da4 by Louis Dionne
[libc++] Use 'os' tags to target Linux libc++ builders
The file was modifiedlibcxx/utils/ci/buildkite-pipeline.yml
The file was modifiedlibcxx/docs/AddingNewCIJobs.rst
Commit 15df9c9881aebf58dd54fb4e8dd1c1a77684fd7f by Louis Dionne
[libc++][ci] Clean up the Docker image

- Remove symlinks that are not used anymore
- Stop installing GCC 10, which isn't tested anymore
The file was modifiedlibcxx/utils/ci/Dockerfile
Commit 35909ff6cf27373efa6f1974d4ad349beb6959a0 by amy.kwan1
[PowerPC] Fix the splat immediate in PPCMIPeephole depending on if we have an Altivec and VSX splat instruction.

An assertion of the following can occur because Altivec and VSX splats use a different operand number for the immediate:
```
int64_t llvm::MachineOperand::getImm() const: Assertion `isImm() && "Wrong MachineOperand accessor"' failed.
```
This patch updates PPCMIPeephole.cpp assign the correct splat immediate.

Differential Revision: https://reviews.llvm.org/D105790
The file was addedllvm/test/CodeGen/PowerPC/aix-vsx-splatimm.ll
The file was modifiedllvm/lib/Target/PowerPC/PPCMIPeephole.cpp
Commit 379f24ffde03d1730f1e8332574865277a5478fe by jingham
Revert "Revert "Reset the wakeup timeout when we re-enter the continue wait.""

This reverts commit 82a38837150099288a1262391ef43e1fd69ffde4.

The original version had a copy-paste error: using the Interrupt timeout
for the ResumeSynchronous wait, which is clearly wrong.  This error would
have been evident with real use, but the interrupt is long enough that it
only caused one testsuite failure (in the Swift fork).

Anyway, I found that mistake and fixed it and checked all the other places
where I had to plumb through a timeout, and added a test with a short
interrupt timeout stepping over a function that takes 3x the interrupt timeout
to complete, so that should detect a similar mistake in the future.
The file was modifiedlldb/source/Plugins/Platform/gdb-server/PlatformRemoteGDBServer.cpp
The file was modifiedlldb/source/Plugins/Process/gdb-remote/GDBRemoteRegisterContext.cpp
The file was modifiedlldb/unittests/tools/lldb-server/tests/TestClient.cpp
The file was addedlldb/test/API/functionalities/step-vrs-interrupt/main.cpp
The file was modifiedlldb/source/Target/TargetProperties.td
The file was modifiedlldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
The file was modifiedlldb/source/Target/Process.cpp
The file was addedlldb/test/API/functionalities/step-vrs-interrupt/TestStepVrsInterruptTimeout.py
The file was addedlldb/test/API/functionalities/step-vrs-interrupt/Makefile
The file was modifiedlldb/source/Plugins/Process/gdb-remote/GDBRemoteClientBase.h
The file was modifiedlldb/source/Plugins/Process/gdb-remote/GDBRemoteClientBase.cpp
The file was modifiedlldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.h
The file was modifiedlldb/unittests/Process/gdb-remote/GDBRemoteCommunicationClientTest.cpp
The file was modifiedlldb/include/lldb/Target/Process.h
The file was modifiedlldb/unittests/Process/gdb-remote/GDBRemoteClientBaseTest.cpp
The file was modifiedlldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
The file was removedlldb/test/API/functionalities/gdb_remote_client/TestHaltFails.py
Commit cb30d597c4efe7842e32f19780144e3654884747 by Louis Dionne
[libc++] Add the 'os=macos' tag to macOS nodes to workaround lack of wildcard matching
The file was modifiedlibcxx/utils/ci/macos-ci-setup
Commit e47444e2164c92712f0e6822d7796258b82fe4ba by Louis Dionne
[libc++] ci: Properly target macOS nodes per-os
The file was modifiedlibcxx/utils/ci/buildkite-pipeline.yml
Commit ec1cdee6aaaf7b51c0e0271ad09136b47a76608b by efriedma
[SelectionDAG][RISCV] Support @llvm.vscale.i64() on 32-bit targets.

Not really useful on its own, but D105673 depends on it.

Differential Revision: https://reviews.llvm.org/D105840
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
The file was modifiedllvm/test/CodeGen/RISCV/rvv/rvv-vscale.i64.ll
Commit 622eb169f650ad0502829cf4b068a5d9f7f7a209 by ajcbik
[mlir][sparse] add restrictive versions of division support

Right now, we only accept x/c with nonzero c, since this
conceptually can be treated as a x*(1/c) conjunction for both
FP and INT as far as lattice computations go. The codegen
keeps the division though to preserve precise semantics.

See discussion:
https://llvm.discourse.group/t/sparse-tensors-in-mlir/3389/28

Reviewed By: gussmith23

Differential Revision: https://reviews.llvm.org/D105731
The file was modifiedmlir/include/mlir/Dialect/SparseTensor/Utils/Merger.h
The file was modifiedmlir/test/Dialect/SparseTensor/sparse_fp_ops.mlir
The file was modifiedmlir/lib/Dialect/SparseTensor/Utils/Merger.cpp
The file was modifiedmlir/lib/Dialect/SparseTensor/Transforms/Sparsification.cpp
The file was modifiedmlir/test/Dialect/SparseTensor/sparse_int_ops.mlir
Commit b568c11b4090ce25bcb5e5efa9c1c504e0074bd7 by aardappel
[WebAssembly] Fixed LLD generation of 64-bit __wasm_init_memory

Differential Revision: https://reviews.llvm.org/D105849
The file was modifiedlld/wasm/Writer.cpp
The file was modifiedlld/test/wasm/data-segments.ll
Commit 6c04b7dd4fb4bfcc5db10b844d6235abbb21b805 by efriedma
[AArch64] Optimize overflow checks for [s|u]mul.with.overflow.i32.

Saves one instruction for signed, uses a cheaper instruction for
unsigned.

Differential Revision: https://reviews.llvm.org/D105770
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64FastISel.cpp
The file was modifiedllvm/test/CodeGen/AArch64/arm64-xaluo.ll