Changes

Summary

  1. Remove aarch64-sve-vector-bits-min compile flag from SVE 2 stage bot (details)
Commit 24c07902d058abcee3bcf908676bacaae1f3d448 by david.spickett
Remove aarch64-sve-vector-bits-min compile flag from SVE 2 stage bot

Our build is failing:
https://lab.llvm.org/buildbot/#/builders/176/builds/205

Due to a vectorisation issue being investigated as
https://bugs.llvm.org/show_bug.cgi?id=51182.

Remove the bits-min flag until this bug is fixed so we at least
get coverage of the 2nd stage build with SVE codegen.
The file was modifiedbuildbot/osuosl/master/config/builders.py (diff)

Summary

  1. sanitizer_common: add deadlock detection to the Mutex2 (details)
  2. tsan: rename test Mutex to UserMutex (details)
  3. tsan: ignore interceptors in few more places (details)
  4. tsan: disable thread safety analysis in more functions (details)
  5. tsan: switch to the new sanitizer_common mutex (details)
  6. tsan: switch atexit mutex to the normal Mutex (details)
  7. [AMDGPU] Add maximum NSA size limit ISA feature (details)
  8. [gn build] Port 0118a649348b (details)
  9. [AMDGPU] Fix running ResourceUsageAnalysis (details)
  10. [ConstantFolding] Fold constrained arithmetic intrinsics (details)
  11. [mlir][Linalg] Fix a missing copy when source of insert_slice is not inplace. (details)
  12. [AArch64] Add worst case shuffle costs (details)
  13. [libc++][doc] Update the LWG issues. (details)
  14. [mlir] Async: special handling for parallel loops with zero iterations (details)
  15. [clang-tidy] Improve "common type" diagnostic output in 'bugprone-easily-swappable-parameters' (details)
  16. [MS] Preserve base register %esi around movs[bwl] (details)
  17. [OpenMP] Fix CUDA plugin build after 3817ba13aea3. (details)
  18. sanitizer_common: don't use [[no_unique_address]] (details)
  19. tsan: fix SANITIZER_DEBUG build (details)
  20. [OpenCL] Add cl_khr_integer_dot_product (details)
  21. [hwasan] Fix uninitialized DisableOptimization (details)
  22. Revert "[DSE] Transform memset + malloc --> calloc (PR25892)" (details)
  23. [AMDGPU][MC][GFX9][NFC][DOC] Updated AMD GPU assembler syntax description. (details)
  24. [SVE][IR] Fix Binary op matching in PatternMatch::m_VScale (details)
  25. [mlir][Complex]: Add lowerings for AddOp and SubOp from Complex dialect to (details)
  26. [OpenCL] Add NULL to standards prior to v2.0. (details)
  27. [NFC][SimplifyCFG] Add test for `SpeculativelyExecuteBB()` with prof md (details)
  28. [X86][AVX] lowerV2X128Shuffle - attempt to recognise broadcastf128 subvector load (details)
  29. [libc] optimize bzero/memset for x86 (details)
  30. [Analyzer][solver] Fix inconsistent equivalence class data (details)
  31. Thread safety analysis: Mock getter for private mutexes can be undefined (details)
  32. [OpenMPOpt] Move dedup runtime calls after init for target regions (details)
  33. [llvm][sve] Lowering for VLS truncating stores (details)
  34. [clangd] Improve performance of dex by 45-60% (details)
  35. [clangd] Avoid range-loop init-list lifetime subtleties. (details)
  36. [x86] add tests for add X, (cmov constants); NFC (details)
  37. [x86] improve CMOV codegen by pushing add into operands (details)
  38. [ORC] Work around AIX build compiler: Replace lambda; NFC (details)
  39. Fix __hip_fabin visibility (details)
  40. [llvm][sve] Silence unused variable warning in Release builds. NFC (details)
  41. [HIP] Preserve ASAN bitcode library functions (details)
  42. [lld/mac] Add missing REQUIRES line to new test (details)
  43. [ARM] Remove getHWDivName (NFC) (details)
  44. [libc++] Avoid triggering warnings for implicit conversion (details)
  45. [clangd] Use CommandMangler in TestTU (details)
  46. [clangd] Get rid of arg adjusters in CommandMangler (details)
  47. [clangd] Canonicalize compile flags before applying edits (details)
  48. [clangd] Adjust compile flags to contain only the requested file as input (details)
  49. [lld/mac] Don't crash on absolute symbols in order files (details)
  50. [llvm-symbolizer] Remove one-dash long options (details)
  51. [mlir][linalg] Fix bug in contraction op vectorization with output perm (details)
  52. [lld/mac] Let OutputSegment store its start address (details)
  53. [JITLink][RISCV] Initial Support RISCV64 in JITLink (details)
  54. [lld-macho] Reorganize + extend ICF test (details)
  55. [lld-macho] ICF: Do more work in equalsConstant, less in equalsVariable (details)
  56. [lld-macho][nfc] Fix test to reflect that symbol attributes don't matter within an archive (details)
  57. [lld-macho][nfc] Add test for resolution of bitcode symbols (details)
  58. [JITLink] Add riscv.cpp (details)
  59. Revert "[clangd] Adjust compile flags to contain only the requested file as input" (details)
  60. [X86] Fix a bug in TEST with immediate creation (details)
  61. [libc] Add option to run specific tests (details)
  62. [libcxx][ranges] Add `ranges::common_view`. (details)
  63. [libcxx][nfc] Global `constexpr friend` -> `friend constexpr`. (details)
  64. [RISCV] Avoid using x0,x0 vsetvli for vmv.x.s and vfmv.f.s unless we know the sew/lmul ratio is constant. (details)
  65. [gn build] Port 0ad562b48bfd (details)
  66. [gn build] Port e5d8b93e5a25 (details)
  67. Revert "[clangd] Canonicalize compile flags before applying edits" (details)
  68. [RISCV] Add a test showing an incorrect vsetvli insertion (details)
  69. [libcxx][nfc] Cleanup libc++ specific tests. (details)
  70. Update isl to isl-0.24-69-g54aac5ac (details)
  71. [clang] -falign-loops= (details)
  72. Revert D106562 "[clangd] Get rid of arg adjusters in CommandMangler" (details)
  73. Revert "[clang] -falign-loops=" (details)
  74. Revert "Update isl to isl-0.24-69-g54aac5ac" (details)
  75. [libc] add option to use SCUDO as the allocator (details)
  76. [AbstractAttributor] Refine logic to indicate pessimistic fixed point when folding `__kmpc_is_spmd_exec_mode` (details)
  77. [mlir][linalg] Add pooling_nchw_max, conv_2d_nchw as yaml ops. (details)
  78. [NFC][MLGO] Just use the underlying protobuf object for logging (details)
  79. Delete PrintingPolicy's copy constructor/operator. (details)
  80. Revert "Delete PrintingPolicy's copy constructor/operator." (details)
  81. [llvm][NFC] Fix typos in Errc.h description (details)
  82. [FPEnv][InstSimplify] Enable more folds for constrained fadd (details)
  83. Revert "[FPEnv][InstSimplify] Enable more folds for constrained fadd" (details)
  84. [libunwind] Allow restoring SP while unwinding. (details)
  85. [lld/mac] Implement support for section$start and section$ end symbols (details)
  86. [llvm-rc] Allow dashes as part of resource name strings (details)
  87. [CMake] Add version to libLLVM also on non-UNIX (details)
  88. [OpenMP][Offloading] Fix data race in data mapping by using two locks (details)
  89. [MergeICmps] Relax sinking check (details)
  90. [NFC][compiler-rt] tidy up some whitespace in lit config (details)
  91. [MLIR][NFC] Minor cleanup in liveness. (details)
  92. [compiler-rt][NFC] add debugging options to iossim_run (details)
  93. [Libomptarget] Add unroll flag to shared variables loop (details)
  94. [OpenMP] Fix bug 50022 (details)
  95. [lld/mac] Fix start-stop.s test with expensive checks enabled (details)
  96. [libc] Clean up Windows macros (details)
  97. [NewPM] Add CrossDSOCFI pass irrespective of LTO optimization level (details)
  98. [NFC][BasicBlockUtils] Refactor GetIfCondition() to return the branch, not it's condition (details)
  99. [NFC][SimplifyCFG] FoldTwoEntryPHINode(): make better use of GetIfCondition() returning dom block (details)
  100. [NFC][SimplifyCFG] Make 'conditional block' handling more straight-forward (details)
  101. [OpenMP] always compile with c++14 instead of gnu++14 (details)
  102. [WebAssembly][NFC] Simplify SIMD bitconvert pattern (details)
  103. [WebAssembly] Codegen for pmin and pmax (details)
  104. [ConstantFold] Extract GEP of GEP fold (NFCI) (details)
  105. [ConstantFold] Fix GEP of GEP fold with opaque pointers (details)
  106. [NFC][SimplifyCFG] Add tests for `FoldTwoEntryPHINode()` with prof md (details)
  107. [Bazel] Swap stray td_srcs to deps (details)
  108. [lld/mac] Fix comment typo in new start-end.s test (details)
  109. [libc] Accommodate Fuchsia's death test framework in fenv tests. (details)
  110. [SCEV] Fix bug involving zero step and non-invariant RHS in trip count logic (details)
  111. [cmake] Export LLVM_HOST_TRIPLE in the LLVMConfig.cmake (details)
  112. [Attributor][FIX] checkForAllInstructions, correctly handle declarations (details)
  113. [LangRef] Clarify comdat (details)
  114. Style tweaks for SCEV's computeMaxBECountForLT [NFC] (details)
  115. [tests] SCEV trip count w/ neg step and varying rhs (details)
  116. [source maps] fix source mapping when there are multiple matching rules (details)
  117. [LLDB][GUI] Add Platform Plugin Field (details)
  118. [LLDB][GUI] Check fields validity in actions (details)
  119. [flang] Runtime: Reset list-directed input state for each NAMELIST item (details)
  120. [flang] runtime: fix problems with I/O around EOF & delimited characters (details)
  121. [AMDGPU] Deduce attributes with the Attributor (details)
  122. [gn build] Port 96709823ec37 (details)
  123. Re-re-re-apply "[ORC][ORC-RT] Add initial native-TLV support to MachOPlatform." (details)
Commit 022439931f5be77efaf80b44d587666b0c9b13b5 by dvyukov
sanitizer_common: add deadlock detection to the Mutex2

    Copy internal deadlock detector from tsan to sanitizer_common
    (with some cosmetic changes).
    Tsan version will be deleted in subsequent changes.
    This allows us to switch tsan to the sanitizer_common mutex
    and remove tsan's mutex.

Reviewed By: vitalybuka, melver

Differential Revision: https://reviews.llvm.org/D106546
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_mutex.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_mutex.h
Commit cfed8d0fafac43b45bbbe6248e1c29b17c91de67 by dvyukov
tsan: rename test Mutex to UserMutex

Rename Mutex class in tests to avoid conflicts with sanitizer_common Mutex.

Reviewed By: vitalybuka, melver

Differential Revision: https://reviews.llvm.org/D106547
The file was modifiedcompiler-rt/lib/tsan/tests/rtl/tsan_test_util_posix.cpp
The file was modifiedcompiler-rt/lib/tsan/tests/rtl/tsan_mop.cpp
The file was modifiedcompiler-rt/lib/tsan/tests/rtl/tsan_mutex.cpp
The file was modifiedcompiler-rt/lib/tsan/tests/rtl/tsan_bench.cpp
The file was modifiedcompiler-rt/lib/tsan/tests/rtl/tsan_test_util.h
Commit 3c92eb44d4cbe3f86bc35f79435864bc31f61596 by dvyukov
tsan: ignore interceptors in few more places

This is preparation to switching to the sanitizer_common Mutex.
Without this change after the switch we will start failing
on existing from the runtime with runtime mutexes held.
Previously it worked because CheckNoLocks did not see sanitizer_common mutexes.

Depends on D106547.

Reviewed By: vitalybuka, melver

Differential Revision: https://reviews.llvm.org/D106558
The file was modifiedcompiler-rt/lib/tsan/tests/unit/tsan_sync_test.cpp
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp
Commit 8924d8e37eab76970644eb88f623a75fb901f980 by dvyukov
tsan: disable thread safety analysis in more functions

In preparation for replacing tsan Mutex with sanitizer_common Mutex,
which has thread-safety annotations. Thread safety analysis does not
understand MetaMap::GetAndLock which returns a locked sync object.

Reviewed By: vitalybuka, melver

Differential Revision: https://reviews.llvm.org/D106548
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_rtl_mutex.cpp
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_rtl_report.cpp
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_interface_atomic.cpp
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_sync.cpp
The file was modifiedcompiler-rt/lib/tsan/tests/unit/tsan_sync_test.cpp
Commit 0118a649348b4a2079911037c8d1d3ed648ec25e by dvyukov
tsan: switch to the new sanitizer_common mutex

Now that sanitizer_common mutex has feature-parity with tsan mutex,
switch tsan to the sanitizer_common mutex and remove tsan's custom mutex.

Reviewed By: vitalybuka, melver

Differential Revision: https://reviews.llvm.org/D106379
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_mutex.h
The file was removedcompiler-rt/lib/tsan/rtl/tsan_mutex.cpp
The file was modifiedcompiler-rt/lib/tsan/tests/unit/CMakeLists.txt
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_sync.h
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_rtl.cpp
The file was modifiedcompiler-rt/lib/tsan/CMakeLists.txt
The file was removedcompiler-rt/lib/tsan/tests/unit/tsan_mutex_test.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/tests/sanitizer_mutex_test.cpp
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_defs.h
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_trace.h
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_interface_ann.cpp
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_rtl_report.cpp
The file was modifiedcompiler-rt/lib/tsan/go/buildgo.sh
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp
The file was modifiedcompiler-rt/lib/tsan/go/build.bat
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_interface_java.cpp
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_dense_alloc.h
The file was removedcompiler-rt/lib/tsan/rtl/tsan_mutex.h
Commit a7767171cb79da42fb67d394929535e7bb4a6813 by dvyukov
tsan: switch atexit mutex to the normal Mutex

Now that Mutex is blocking there is no point in using BlockingMutex.
Switch to Mutex.

Depends on D106379.

Reviewed By: vitalybuka

Differential Revision: https://reviews.llvm.org/D106560
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp
Commit 7d4baf25aae5dd3610310d655ae5ec2881fb2d81 by carl.ritson
[AMDGPU] Add maximum NSA size limit ISA feature

Add maximum NSA size limit as an ISA feature.
Use this to reduce NSA usage on GFX10.1 to avoid stability issues
with 4 and 5 dwords NSA instructions.
Maintain use of longer NSA instructions on GFX10.3.

Note: this also contains some minor fixes for GlobalISel which
did not work correctly with non-NSA form instructions on GFX10.

Reviewed By: foad

Differential Revision: https://reviews.llvm.org/D103348
The file was modifiedllvm/lib/Target/AMDGPU/SIISelLowering.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.gather4.dim.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-llvm.amdgcn.image.sample.g16.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.sample.a16.dim.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.nsa.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.sample.g16.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.sample.g16.ll
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPU.td
The file was modifiedllvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.sample.g16.a16.dim.ll
The file was modifiedllvm/lib/Target/AMDGPU/GCNSubtarget.h
The file was modifiedllvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.sample.dim.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/cluster_stores.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-llvm.amdgcn.image.sample.a16.ll
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUSubtarget.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.gather4.o.dim.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.sample.g16.encode.ll
Commit e7077971f2eb02a1540510a74a55d8ecc02ef903 by llvmgnsyncbot
[gn build] Port 0118a649348b
The file was modifiedllvm/utils/gn/secondary/compiler-rt/lib/tsan/BUILD.gn
Commit 2f15319968ec38314a28570bb978726b288bd7cc by sebastian.neubauer
[AMDGPU] Fix running ResourceUsageAnalysis

Clear the map when running the analysis multiple times.
The assertion that should ensure that every function is only
analyzed once triggered sometimes (once every ~70 compiles of some
graphics pipelines) when two functions of subsequent runs were allocated
at the same address.

Differential Revision: https://reviews.llvm.org/D106452
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUResourceUsageAnalysis.h
Commit 1c64b5dc5ea8c20a7f2ae436f31030bde0c99db3 by sepavloff
[ConstantFolding] Fold constrained arithmetic intrinsics

Constfold constrained variants of operations fadd, fsub, fmul, fdiv,
frem, fma and fmuladd.

The change also sets up some means to support for removal of unused
constrained intrinsics. They are declared as accessing memory to model
interaction with floating point environment, so they were not removed,
as they have side effect. Now constrained intrinsics that have
"fpexcept.ignore" as exception behavior are removed if they have no uses.
As for intrinsics that have exception behavior other than "fpexcept.ignore",
they can be removed if it is known that they do not raise floating point
exceptions. It happens when doing constant folding, attributes of such
intrinsic are changed so that the intrinsic is not claimed as accessing
memory.

Differential Revision: https://reviews.llvm.org/D102673
The file was modifiedllvm/test/Transforms/InstSimplify/constfold-constrained.ll
The file was modifiedllvm/test/Transforms/InstSimplify/fdiv-strictfp.ll
The file was modifiedllvm/lib/Transforms/Utils/Local.cpp
The file was modifiedllvm/lib/Analysis/ConstantFolding.cpp
Commit 06d2fb55ca75250f27f46894a692ae8738ccf6de by gysit
[mlir][Linalg] Fix a missing copy when source of insert_slice is not inplace.

When the source tensor of a tensor.insert_slice is not equivalent to an inplace buffer an extra copy is necessary. This revision adds the missing copy.

Reviewed By: gysit

Differential Revision: https://reviews.llvm.org/D106587
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/ComprehensiveBufferize.cpp
The file was modifiedmlir/test/Dialect/Linalg/comprehensive-module-bufferize.mlir
Commit 38986c678285063f0dc1bd5752593bfdbe5068a2 by david.green
[AArch64] Add worst case shuffle costs

This adds some missing single source shuffle costs for AArch64, of i16
and i8 vectors. v4i16 are the same as v4i32 with a worse case cost of 3
coming from the perfect shuffle tables. The larger vector sizes expand
into a constant pool, plus a load (and adrp) and a tbl. I arbitrarily
chose 8 for the cost to be expensive but not too expensive.

Differential Revision: https://reviews.llvm.org/D106241
The file was modifiedllvm/test/Analysis/CostModel/AArch64/vector-reduce.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
The file was modifiedllvm/test/Analysis/CostModel/AArch64/shuffle-other.ll
The file was modifiedllvm/test/Analysis/CostModel/AArch64/reduce-and.ll
The file was modifiedllvm/test/Analysis/CostModel/AArch64/reduce-minmax.ll
The file was modifiedllvm/test/Analysis/CostModel/AArch64/reduce-or.ll
The file was modifiedllvm/test/Analysis/CostModel/AArch64/reduce-xor.ll
Commit 678601ecb53a237dabe51dacd9bc9e4e75785df7 by koraq
[libc++][doc] Update the LWG issues.

Updates the status pages with the LWG issues accepted in the Standard
during the June 2021 plenary session. The LWG papers for this meeting
have been added in D105103.

Differential Revision: https://reviews.llvm.org/D106529
The file was modifiedlibcxx/docs/Status/FormatIssues.csv
The file was modifiedlibcxx/docs/Status/Cxx2bIssues.csv
The file was modifiedlibcxx/docs/Status/RangesIssues.csv
The file was modifiedlibcxx/docs/Status/Cxx2b.rst
Commit 6c1f65581891265154db4fb789a2d9cf4893b9bf by ezhulenev
[mlir] Async: special handling for parallel loops with zero iterations

Reviewed By: mehdi_amini

Differential Revision: https://reviews.llvm.org/D106590
The file was modifiedmlir/test/Dialect/Async/async-parallel-for-async-dispatch.mlir
The file was modifiedmlir/lib/Dialect/Async/Transforms/AsyncParallelFor.cpp
The file was modifiedmlir/test/Integration/Dialect/Async/CPU/test-async-parallel-for-1d.mlir
Commit 8b0cc4a65dd435096bf64651693f5c9c3e2fee3b by whisperity
[clang-tidy] Improve "common type" diagnostic output in 'bugprone-easily-swappable-parameters'

Make the check handle cases of the "common type" involved in the mix
being non-trivial, e.g. pointers, references, attributes, these things
coming from typedefs, etc.

This results in clearer diagnostics that have more coverage in their
explanation, such as saying `const int &` as common type instead of
`int`.

Reviewed By: aaron.ballman

Differential Revision: http://reviews.llvm.org/D106442
The file was modifiedclang-tools-extra/test/clang-tidy/checkers/bugprone-easily-swappable-parameters-len2.cpp
The file was modifiedclang-tools-extra/test/clang-tidy/checkers/bugprone-easily-swappable-parameters-qualifiermixing.cpp
The file was modifiedclang-tools-extra/clang-tidy/bugprone/EasilySwappableParametersCheck.cpp
Commit 91bc85b1ebaaa4e61058c24b556d6f0569a9b091 by pengfei.wang
[MS] Preserve base register %esi around movs[bwl]

fix for behavior reported in https://bugs.llvm.org/show_bug.cgi?id=51100 workaround for root cause https://bugs.llvm.org/show_bug.cgi?id=16830

similar to https://reviews.llvm.org/D101338

Reviewed By: craig.topper

Differential Revision: https://reviews.llvm.org/D106210
The file was modifiedclang/test/CodeGen/ms-intrinsics.c
The file was modifiedclang/lib/Headers/intrin.h
Commit f7c92995c0e1f95ef5640a0df325e05d12de4658 by pengfei.wang
[OpenMP] Fix CUDA plugin build after 3817ba13aea3.

The build was broken on machines that don't have Cuda SDK installed.

See https://reviews.llvm.org/D106627 for the original discussion.
The file was modifiedopenmp/libomptarget/plugins/cuda/dynamic_cuda/cuda.cpp
The file was modifiedopenmp/libomptarget/plugins/cuda/dynamic_cuda/cuda.h
Commit 6c1d74d5eda2a8e21e1037eb1b2015cb58683a12 by dvyukov
sanitizer_common: don't use [[no_unique_address]]

https://lab.llvm.org/buildbot#builders/112/builds/7881
https://lab.llvm.org/buildbot#builders/121/builds/9907
https://lab.llvm.org/buildbot#builders/105/builds/12770
../../sanitizer_common/sanitizer_mutex.h:288:38: error:
'no_unique_address' attribute directive ignored [-Werror=attributes]
   [[no_unique_address]] CheckedMutex checked_;

Reviewed By: melver

Differential Revision: https://reviews.llvm.org/D106637
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_mutex.h
Commit c3044a5db7eb0a2a9c31b0d9a4bb031fac2b835e by dvyukov
tsan: fix SANITIZER_DEBUG build

Remove left-over debug field after moving tsan
deadlock detector into sanitizer_common.

Reviewed By: melver

Differential Revision: https://reviews.llvm.org/D106638
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_rtl.h
Commit 989bedec7a6ae95a0db865f23677047f78dc9257 by sven.vanhaastregt
[OpenCL] Add cl_khr_integer_dot_product

Add the builtins defined by Section 42 "Integer dot product" in
the OpenCL Extension Specification.

Differential Revision: https://reviews.llvm.org/D106434
The file was modifiedclang/lib/Headers/opencl-c-base.h
The file was modifiedclang/lib/Headers/opencl-c.h
The file was modifiedclang/test/Headers/opencl-c-header.cl
The file was modifiedclang/lib/Sema/OpenCLBuiltins.td
Commit fef86a380ae150c1c8453535c34a7f80d2b89926 by Vitaly Buka
[hwasan] Fix uninitialized DisableOptimization
The file was modifiedllvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
Commit bc536c710150f53b5ae5cd6b7693636e77992d0a by dawid_jurek
Revert "[DSE] Transform memset + malloc --> calloc (PR25892)"

This reverts commit 43234b1595125ba2b5c23e7b28f5a67041c77673.

Reason: We should detect that we are implementing 'calloc' and bail out.
The file was modifiedllvm/test/Transforms/DeadStoreElimination/noop-stores.ll
The file was modifiedllvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
Commit 424fe903d4d4b0f52bd4f86f62587efa6561d251 by dmitry.preobrazhensky
[AMDGPU][MC][GFX9][NFC][DOC] Updated AMD GPU assembler syntax description.

Fixed bugs 48639, 49447, 49448, 49449.
The file was addedllvm/docs/AMDGPU/gfx9_vdata_5.rst
The file was removedllvm/docs/AMDGPU/gfx9_sdst64_1.rst
The file was addedllvm/docs/AMDGPU/gfx9_vdata1.rst
The file was modifiedllvm/docs/AMDGPU/gfx9_attr.rst
The file was addedllvm/docs/AMDGPU/gfx9_vdst_3.rst
The file was addedllvm/docs/AMDGPU/gfx9_vdst_6.rst
The file was addedllvm/docs/AMDGPU/gfx9_vdata0_1.rst
The file was addedllvm/docs/AMDGPU/gfx9_src_1.rst
The file was addedllvm/docs/AMDGPU/gfx9_ssrc_6.rst
The file was removedllvm/docs/AMDGPU/gfx9_vdata128_0.rst
The file was removedllvm/docs/AMDGPU/gfx9_sdst128_0.rst
The file was removedllvm/docs/AMDGPU/gfx9_data_buf_atomic128.rst
The file was addedllvm/docs/AMDGPU/gfx9_imm16_1.rst
The file was removedllvm/docs/AMDGPU/gfx9_vdst96_0.rst
The file was removedllvm/docs/AMDGPU/gfx9_vaddr_flat_global.rst
The file was addedllvm/docs/AMDGPU/gfx9_vaddr_3.rst
The file was removedllvm/docs/AMDGPU/gfx9_ssrc32_0.rst
The file was addedllvm/docs/AMDGPU/gfx9_ssrc_5.rst
The file was addedllvm/docs/AMDGPU/gfx9_vsrc_2.rst
The file was modifiedllvm/docs/AMDGPU/gfx9_msg.rst
The file was removedllvm/docs/AMDGPU/gfx9_saddr_flat_global.rst
The file was removedllvm/docs/AMDGPU/gfx9_src32_5.rst
The file was addedllvm/docs/AMDGPU/gfx9_ssrc_2.rst
The file was removedllvm/docs/AMDGPU/gfx9_sdst512_0.rst
The file was addedllvm/docs/AMDGPU/gfx9_m.rst
The file was addedllvm/docs/AMDGPU/gfx9_soffset.rst
The file was addedllvm/docs/AMDGPU/gfx9_simm32_2.rst
The file was removedllvm/docs/AMDGPU/gfx9_ssrc32_3.rst
The file was removedllvm/docs/AMDGPU/gfx9_fimm32.rst
The file was addedllvm/docs/AMDGPU/gfx9_vcc.rst
The file was addedllvm/docs/AMDGPU/gfx9_vdata_7.rst
The file was removedllvm/docs/AMDGPU/gfx9_sdata128_0.rst
The file was removedllvm/docs/AMDGPU/gfx9_offset_smem_buf.rst
The file was removedllvm/docs/AMDGPU/gfx9_sdst32_1.rst
The file was removedllvm/docs/AMDGPU/gfx9_saddr_flat_scratch.rst
The file was addedllvm/docs/AMDGPU/gfx9_src_8.rst
The file was removedllvm/docs/AMDGPU/gfx9_data_mimg_atomic_reg.rst
The file was modifiedllvm/docs/AMDGPU/gfx9_label.rst
The file was removedllvm/docs/AMDGPU/gfx9_addr_ds.rst
The file was addedllvm/docs/AMDGPU/gfx9_vdst_5.rst
The file was removedllvm/docs/AMDGPU/gfx9_bimm16.rst
The file was removedllvm/docs/AMDGPU/gfx9_vcc_64.rst
The file was removedllvm/docs/AMDGPU/gfx9_mod_sdwa_sext.rst
The file was removedllvm/docs/AMDGPU/gfx9_fimm16.rst
The file was addedllvm/docs/AMDGPU/gfx9_ssrc_8.rst
The file was removedllvm/docs/AMDGPU/gfx9_data_buf_atomic64.rst
The file was removedllvm/docs/AMDGPU/gfx9_offset_smem_plain.rst
The file was removedllvm/docs/AMDGPU/gfx9_src32_6.rst
The file was removedllvm/docs/AMDGPU/gfx9_dst_buf_lds.rst
The file was removedllvm/docs/AMDGPU/gfx9_src32_3.rst
The file was addedllvm/docs/AMDGPU/gfx9_simm32_1.rst
The file was removedllvm/docs/AMDGPU/gfx9_src32_2.rst
The file was removedllvm/docs/AMDGPU/gfx9_vsrc32_0.rst
The file was addedllvm/docs/AMDGPU/gfx9_vsrc_3.rst
The file was addedllvm/docs/AMDGPU/gfx9_dst.rst
The file was removedllvm/docs/AMDGPU/gfx9_samp_mimg.rst
The file was removedllvm/docs/AMDGPU/gfx9_sdst256_0.rst
The file was removedllvm/docs/AMDGPU/gfx9_vdata96_0.rst
The file was removedllvm/docs/AMDGPU/gfx9_ssrc32_4.rst
The file was removedllvm/docs/AMDGPU/gfx9_vdata64_0.rst
The file was removedllvm/docs/AMDGPU/gfx9_ssrc64_1.rst
The file was modifiedllvm/docs/AMDGPU/AMDGPUAsmGFX9.rst
The file was removedllvm/docs/AMDGPU/gfx9_data_smem_atomic128.rst
The file was removedllvm/docs/AMDGPU/gfx9_vdst32_0.rst
The file was addedllvm/docs/AMDGPU/gfx9_saddr.rst
The file was removedllvm/docs/AMDGPU/gfx9_src_exp.rst
The file was addedllvm/docs/AMDGPU/gfx9_vdst_10.rst
The file was removedllvm/docs/AMDGPU/gfx9_vaddr_flat_scratch.rst
The file was modifiedllvm/docs/AMDGPU/gfx9_hwreg.rst
The file was removedllvm/docs/AMDGPU/gfx9_src32_1.rst
The file was addedllvm/docs/AMDGPU/gfx9_sbase_2.rst
The file was addedllvm/docs/AMDGPU/gfx9_vdata_2.rst
The file was modifiedllvm/docs/AMDGPU/gfx9_waitcnt.rst
The file was removedllvm/docs/AMDGPU/gfx9_base_smem_scratch.rst
The file was removedllvm/docs/AMDGPU/gfx9_dst_buf_128.rst
The file was removedllvm/docs/AMDGPU/gfx9_dst_buf_96.rst
The file was addedllvm/docs/AMDGPU/gfx9_vdata_10.rst
The file was removedllvm/docs/AMDGPU/gfx9_ssrc64_0.rst
The file was addedllvm/docs/AMDGPU/gfx9_vsrc.rst
The file was addedllvm/docs/AMDGPU/gfx9_vaddr.rst
The file was addedllvm/docs/AMDGPU/gfx9_vdst_7.rst
The file was removedllvm/docs/AMDGPU/gfx9_ssrc32_1.rst
The file was addedllvm/docs/AMDGPU/gfx9_sdst_7.rst
The file was addedllvm/docs/AMDGPU/gfx9_imm16.rst
The file was removedllvm/docs/AMDGPU/gfx9_sdata32_0.rst
The file was removedllvm/docs/AMDGPU/gfx9_src64_0.rst
The file was removedllvm/docs/AMDGPU/gfx9_data_smem_atomic64.rst
The file was modifiedllvm/docs/AMDGPU/gfx9_imask.rst
The file was removedllvm/docs/AMDGPU/gfx9_vdata32_0.rst
The file was addedllvm/docs/AMDGPU/gfx9_vsrc_1.rst
The file was removedllvm/docs/AMDGPU/gfx9_type_dev.rst
The file was removedllvm/docs/AMDGPU/gfx9_addr_buf.rst
The file was removedllvm/docs/AMDGPU/gfx9_dst_mimg_regular.rst
The file was addedllvm/docs/AMDGPU/gfx9_src_6.rst
The file was addedllvm/docs/AMDGPU/gfx9_vdata1_1.rst
The file was addedllvm/docs/AMDGPU/gfx9_src.rst
The file was removedllvm/docs/AMDGPU/gfx9_src32_7.rst
The file was addedllvm/docs/AMDGPU/gfx9_sdata_4.rst
The file was addedllvm/docs/AMDGPU/gfx9_sdst_5.rst
The file was addedllvm/docs/AMDGPU/gfx9_src_3.rst
The file was addedllvm/docs/AMDGPU/gfx9_vdst_13.rst
The file was removedllvm/docs/AMDGPU/gfx9_dst_buf_64.rst
The file was addedllvm/docs/AMDGPU/gfx9_src_9.rst
The file was addedllvm/docs/AMDGPU/gfx9_src_2.rst
The file was addedllvm/docs/AMDGPU/gfx9_vdst_11.rst
The file was removedllvm/docs/AMDGPU/gfx9_ssrc64_2.rst
The file was addedllvm/docs/AMDGPU/gfx9_vdata_3.rst
The file was removedllvm/docs/AMDGPU/gfx9_addr_mimg.rst
The file was removedllvm/docs/AMDGPU/gfx9_vdst64_0.rst
The file was addedllvm/docs/AMDGPU/gfx9_ssrc_1.rst
The file was removedllvm/docs/AMDGPU/gfx9_ssrc64_3.rst
The file was addedllvm/docs/AMDGPU/gfx9_sdata_1.rst
The file was removedllvm/docs/AMDGPU/gfx9_dst_buf_32.rst
The file was addedllvm/docs/AMDGPU/gfx9_vdst_2.rst
The file was addedllvm/docs/AMDGPU/gfx9_sbase.rst
The file was addedllvm/docs/AMDGPU/gfx9_soffset_1.rst
The file was addedllvm/docs/AMDGPU/gfx9_srsrc.rst
The file was addedllvm/docs/AMDGPU/gfx9_vdata_8.rst
The file was addedllvm/docs/AMDGPU/gfx9_vdst_4.rst
The file was addedllvm/docs/AMDGPU/gfx9_vdst_1.rst
The file was removedllvm/docs/AMDGPU/gfx9_src32_0.rst
The file was removedllvm/docs/AMDGPU/gfx9_ssrc32_2.rst
The file was removedllvm/docs/AMDGPU/gfx9_addr_flat.rst
The file was addedllvm/docs/AMDGPU/gfx9_vdata_4.rst
The file was addedllvm/docs/AMDGPU/gfx9_vdata_6.rst
The file was addedllvm/docs/AMDGPU/gfx9_sdst_6.rst
The file was addedllvm/docs/AMDGPU/gfx9_src_4.rst
The file was removedllvm/docs/AMDGPU/gfx9_vdst128_0.rst
The file was addedllvm/docs/AMDGPU/gfx9_src_10.rst
The file was removedllvm/docs/AMDGPU/gfx9_simm16.rst
The file was removedllvm/docs/AMDGPU/gfx9_data_mimg_store.rst
The file was addedllvm/docs/AMDGPU/gfx9_vdata_1.rst
The file was addedllvm/docs/AMDGPU/gfx9_srsrc_1.rst
The file was removedllvm/docs/AMDGPU/gfx9_data_mimg_atomic_cmp.rst
The file was addedllvm/docs/AMDGPU/gfx9_sdst.rst
The file was removedllvm/docs/AMDGPU/gfx9_dst_flat_atomic64.rst
The file was removedllvm/docs/AMDGPU/gfx9_sdst32_0.rst
The file was addedllvm/docs/AMDGPU/gfx9_sdst_4.rst
The file was addedllvm/docs/AMDGPU/gfx9_vaddr_2.rst
The file was addedllvm/docs/AMDGPU/gfx9_vdata.rst
The file was addedllvm/docs/AMDGPU/gfx9_src_5.rst
The file was removedllvm/docs/AMDGPU/gfx9_vsrc128_0.rst
The file was removedllvm/docs/AMDGPU/gfx9_uimm16.rst
The file was removedllvm/docs/AMDGPU/gfx9_dst_flat_atomic32.rst
The file was removedllvm/docs/AMDGPU/gfx9_sdst32_2.rst
The file was removedllvm/docs/AMDGPU/gfx9_ret.rst
The file was removedllvm/docs/AMDGPU/gfx9_mod_vop3_abs_neg.rst
The file was removedllvm/docs/AMDGPU/gfx9_mod_dpp_sdwa_abs_neg.rst
The file was addedllvm/docs/AMDGPU/gfx9_m_1.rst
The file was removedllvm/docs/AMDGPU/gfx9_bimm32.rst
The file was addedllvm/docs/AMDGPU/gfx9_sbase_1.rst
The file was addedllvm/docs/AMDGPU/gfx9_sdata_2.rst
The file was removedllvm/docs/AMDGPU/gfx9_rsrc_buf.rst
The file was addedllvm/docs/AMDGPU/gfx9_sdst_1.rst
The file was addedllvm/docs/AMDGPU/gfx9_ssrc_3.rst
The file was addedllvm/docs/AMDGPU/gfx9_type_deviation.rst
The file was addedllvm/docs/AMDGPU/gfx9_imm16_2.rst
The file was removedllvm/docs/AMDGPU/gfx9_perm_smem.rst
The file was removedllvm/docs/AMDGPU/gfx9_rsrc_mimg.rst
The file was removedllvm/docs/AMDGPU/gfx9_data_smem_atomic32.rst
The file was addedllvm/docs/AMDGPU/gfx9_vaddr_1.rst
The file was removedllvm/docs/AMDGPU/gfx9_sdst64_0.rst
The file was removedllvm/docs/AMDGPU/gfx9_src32_4.rst
The file was removedllvm/docs/AMDGPU/gfx9_src64_1.rst
The file was removedllvm/docs/AMDGPU/gfx9_data_mimg_store_d16.rst
The file was removedllvm/docs/AMDGPU/gfx9_offset_buf.rst
The file was modifiedllvm/docs/AMDGPU/gfx9_tgt.rst
The file was addedllvm/docs/AMDGPU/gfx9_vdst_8.rst
The file was addedllvm/docs/AMDGPU/gfx9_vaddr_4.rst
The file was modifiedllvm/docs/AMDGPU/gfx9_opt.rst
The file was removedllvm/docs/AMDGPU/gfx9_dst_mimg_gather4.rst
The file was addedllvm/docs/AMDGPU/gfx9_sdata.rst
The file was addedllvm/docs/AMDGPU/gfx9_vdst.rst
The file was addedllvm/docs/AMDGPU/gfx9_sdst_3.rst
The file was addedllvm/docs/AMDGPU/gfx9_vdst_9.rst
The file was addedllvm/docs/AMDGPU/gfx9_vdst_12.rst
The file was removedllvm/docs/AMDGPU/gfx9_vsrc32_1.rst
The file was addedllvm/docs/AMDGPU/gfx9_ssrc_7.rst
The file was removedllvm/docs/AMDGPU/gfx9_data_buf_atomic32.rst
The file was addedllvm/docs/AMDGPU/gfx9_saddr_1.rst
The file was addedllvm/docs/AMDGPU/gfx9_vaddr_5.rst
The file was addedllvm/docs/AMDGPU/gfx9_ssrc_4.rst
The file was addedllvm/docs/AMDGPU/gfx9_src_7.rst
The file was removedllvm/docs/AMDGPU/gfx9_dst_mimg_regular_d16.rst
The file was addedllvm/docs/AMDGPU/gfx9_simm32.rst
The file was modifiedllvm/docs/AMDGPU/gfx9_param.rst
The file was addedllvm/docs/AMDGPU/gfx9_sdata_3.rst
The file was addedllvm/docs/AMDGPU/gfx9_ssamp.rst
The file was removedllvm/docs/AMDGPU/gfx9_vsrc64_0.rst
The file was addedllvm/docs/AMDGPU/gfx9_sdata_5.rst
The file was addedllvm/docs/AMDGPU/gfx9_soffset_2.rst
The file was addedllvm/docs/AMDGPU/gfx9_vdata0.rst
The file was removedllvm/docs/AMDGPU/gfx9_base_smem_buf.rst
The file was addedllvm/docs/AMDGPU/gfx9_sdst_2.rst
The file was removedllvm/docs/AMDGPU/gfx9_sdata64_0.rst
The file was addedllvm/docs/AMDGPU/gfx9_probe.rst
The file was addedllvm/docs/AMDGPU/gfx9_vdata_9.rst
The file was removedllvm/docs/AMDGPU/gfx9_base_smem_addr.rst
The file was addedllvm/docs/AMDGPU/gfx9_ssrc.rst
Commit 80e0bd149661e6e1735b453e44a5bd00545a9e59 by Dylan.Fleming
[SVE][IR] Fix Binary op matching in PatternMatch::m_VScale

Reviewed By: sdesmalen

Differential Revision: https://reviews.llvm.org/D105978
The file was modifiedllvm/include/llvm/IR/PatternMatch.h
The file was modifiedllvm/unittests/IR/PatternMatch.cpp
Commit fb978f092c9c1eff56906c65123944140c89f9cd by akuegel
[mlir][Complex]: Add lowerings for AddOp and SubOp from Complex dialect to
Standard.

Differential Revision: https://reviews.llvm.org/D106429
The file was modifiedmlir/test/Conversion/ComplexToStandard/convert-to-standard.mlir
The file was modifiedmlir/lib/Conversion/ComplexToStandard/ComplexToStandard.cpp
Commit 5c63bf3abdc74b02c58c21cb0571eb4ba12b5235 by anastasia.stulova
[OpenCL] Add NULL to standards prior to v2.0.

NULL was undefined in OpenCL prior to version 2.0. However, the
language specification states that "macro names defined by the C99
specification but not currently supported by OpenCL are reserved
for future use". Therefore, application developers cannot redefine
NULL.

The change is supposed to resolve inconsistency between language
versions. Currently there is no apparent reason why NULL should
be kept undefined.

Patch by Topotuna (Justas Janickas)!

Differential Revision: https://reviews.llvm.org/D105988
The file was modifiedclang/lib/Headers/opencl-c-base.h
The file was modifiedclang/test/SemaOpenCL/null_literal.cl
Commit b63833ac1fd225a538f1436824a14f401a7d8771 by lebedev.ri
[NFC][SimplifyCFG] Add test for `SpeculativelyExecuteBB()` with prof md
The file was addedllvm/test/Transforms/SimplifyCFG/speculatively-execute-block-profmd.ll
Commit 71d0fd356467e263e28b7d55d83c0871da536961 by llvm-dev
[X86][AVX] lowerV2X128Shuffle - attempt to recognise broadcastf128 subvector load

As noticed on PR50053 we were failing to recognise when a shuffle of a load was really a subvector broadcast load
The file was modifiedllvm/test/CodeGen/X86/avx-vperm2x128.ll
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit 24ffb98f9dbd489b05e1b5b36f3c0cd744dc798b by gchatelet
[libc] optimize bzero/memset for x86

This is simpy using the x86 optimized elements when targetting x86 cpus.

Differential Revision: https://reviews.llvm.org/D106551
The file was modifiedlibc/src/string/memory_utils/memset_utils.h
Commit 44fa31fa6da0c573ed972ec1d932c4ca3fb52f8f by gabor.marton
[Analyzer][solver] Fix inconsistent equivalence class data

https://bugs.llvm.org/show_bug.cgi?id=51109

When we merged two classes, `*this` became an obsolete representation of
the new `State`. This is b/c the member relations had changed during the
previous merge of another member of the same class in a way that `*this`
had no longer any members. (`mergeImpl` might keep the member relations
to `Other` and could dissolve `*this`.)

Differential Revision: https://reviews.llvm.org/D106285
The file was addedclang/test/Analysis/solver-sym-simplification-no-crash2.c
The file was modifiedclang/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp
Commit 0e64a525c12a0822683d3bdc51b6294b5265f860 by aaron.puchert
Thread safety analysis: Mock getter for private mutexes can be undefined

Usage in an annotation is no odr-use, so I think there needs to be no
definition. Upside is that in practice one will get linker errors if it
is actually odr-used instead of calling a function that returns 0.

Reviewed By: aaron.ballman

Differential Revision: https://reviews.llvm.org/D106375
The file was modifiedclang/docs/ThreadSafetyAnalysis.rst
Commit f97de4cb0be43730bd91b800fa7f5418364ba3fd by georgakoudis1
[OpenMPOpt] Move dedup runtime calls after init for target regions

Deduplication in OpenMPOpt finds redundant OpenMP runtime calls and replaces them with a single call placed in the earliest safe location in the IR. When deduplication happens in a target region this patch makes sure replacement calls are put after target_init.

Reviewed By: jdoerfert

Differential Revision: https://reviews.llvm.org/D106556
The file was addedllvm/test/Transforms/OpenMP/deduplication_target.ll
The file was modifiedllvm/lib/Transforms/IPO/OpenMPOpt.cpp
Commit 1528a4d40022925dcc3e8cb6b8af7dd109ad7075 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 addedllvm/test/CodeGen/AArch64/sve-fixed-length-trunc-stores.ll
The file was modifiedllvm/include/llvm/CodeGen/TargetLowering.h
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
The file was modifiedllvm/lib/Target/AMDGPU/R600ISelLowering.h
The file was modifiedllvm/test/CodeGen/AArch64/sve-fixed-length-masked-gather.ll
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/test/CodeGen/Mips/cconv/byval.ll
Commit a0987e350ccce4fb9c3cbaf56732be1def5f810f by kbobyrev
[clangd] Improve performance of dex by 45-60%

Take full advantage of AND's iterator children size estimation: use early reset
in sync() and prevent large overhead. The idea is that the children at the
beginning of the list are smaller and cheaper to advance. Very large children
negate the effect of this performance optimisation and hence should be
advanced only when absolutely necessary. By reducing the number of large
iterators' updates, we increase the performance by a large margin.

This change was tested on a comprehensive query dataset. The performance
boost increases with the average length of the query, on small queries it is
close to 45% but the longer they go the closer it gets to 60% and beyond.

Reviewed By: sammccall

Differential Revision: https://reviews.llvm.org/D106528
The file was modifiedclang-tools-extra/clangd/index/dex/Iterator.cpp
Commit 253b8145dedbe8d10792f44b4af7f52dbecd527f by sam.mccall
[clangd] Avoid range-loop init-list lifetime subtleties.

The original code appears to be OK per the spec, but we've had 3 reports of
crashes with certain unofficial builds of clangd that look a lot like old
compilers (GCC 5.4?) getting lifetime rules wrong.

Fixes https://github.com/clangd/clangd/issues/800

Differential Revision: https://reviews.llvm.org/D106654
The file was modifiedclang-tools-extra/clangd/GlobalCompilationDatabase.cpp
Commit 028eb436546a75a434931f9bbbb073b353920a74 by spatel
[x86] add tests for add X, (cmov constants); NFC
The file was addedllvm/test/CodeGen/X86/add-cmov.ll
Commit f060aa1cf3f42ca967c3f63e18381d3579bb12d9 by spatel
[x86] improve CMOV codegen by pushing add into operands

This is not the transform direction we want in general,
but by the time we have a CMOV, we've already tried
everything else that could be better.
The transform increases the uses of the other add operand,
but that is safe according to Alive2:
https://alive2.llvm.org/ce/z/Yn6p-A

We could probably extend this to other binops (not just add).
This is the motivating pattern discussed in:
https://llvm.org/PR51069

The test with i8 shows a missed fold because there's a trunc
sitting in front of the add. That can be handled with a small
follow-up.

Differential Revision: https://reviews.llvm.org/D106607
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/X86/add-cmov.ll
Commit af5602d369a5cfb4d77c6dd2fe1d0834de87ac76 by hubert.reinterpretcast
[ORC] Work around AIX build compiler: Replace lambda; NFC

By replacing a lambda expression with a functor class instance, this
patch works around an issue encountered on AIX where the IBM XL compiler
appears to make no progress for many hours.

Reviewed By: jsji

Differential Revision: https://reviews.llvm.org/D106554
The file was modifiedllvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp
Commit 9a977daaf6b19c6ff7a53afbe8ece2cb7011dd9e by Yaxun.Liu
Fix __hip_fabin visibility

In -fgpu-rdc case, fat binary is embedded as global variable __hip_fatbin.
It needs to have protected visibility to avoid conflict between shared
libraries.

Reviewed by: Siu Chi Chan

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

Fixes: SWDEV-292290
The file was modifiedclang/lib/Driver/ToolChains/HIP.cpp
The file was modifiedclang/test/Driver/hip-toolchain-rdc.hip
Commit dd70cd089a73bec5a8ec411ae307d65516ad70bc by benny.kra
[llvm][sve] Silence unused variable warning in Release builds. NFC
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
Commit 44dbbe61060acac4d0991a15decac4c909e26844 by Yaxun.Liu
[HIP] Preserve ASAN bitcode library functions

Address sanitizer passes may generate call of ASAN bitcode library
functions after bitcode linking in lld, therefore lld cannot add
those symbols since it does not know they will be used later.

To solve this issue, clang emits a reference to a bicode library
function which calls all ASAN functions which need to be
preserved. This basically force all ASAN functions to be
linked in.

Reviewed by: Artem Belevich

Differential Revision: https://reviews.llvm.org/D106315
The file was addedclang/test/CodeGenCUDA/amdgpu-asan.cu
The file was modifiedclang/test/Driver/hip-sanitize-options.hip
The file was modifiedclang/lib/CodeGen/CodeGenModule.cpp
The file was modifiedclang/lib/Driver/Driver.cpp
Commit 687181cabaf9c8beea32ea8346a5bdd6d6172171 by thakis
[lld/mac] Add missing REQUIRES line to new test
The file was modifiedlld/test/MachO/lto-archivecollision.ll
Commit 1722109208d57dfb05d0b9fa7ee536107f8da959 by kazu
[ARM] Remove getHWDivName (NFC)

This function seems to be unused for at least 5 years.
The file was modifiedllvm/include/llvm/Support/ARMTargetParser.h
The file was modifiedllvm/lib/Support/ARMTargetParser.cpp
Commit f86570cd52419562b4c528c6e8a05ced00450c16 by Louis Dionne
[libc++] Avoid triggering warnings for implicit conversion

This started as fixing a typo in a ADDITIONAL_COMPILE_FLAGS directive
which turned out to uncover a few places where we warned about signedness
changes.

As a fly-by fix, this updates the various __advance overloads
for style consistency.

Differential Revision: https://reviews.llvm.org/D106372
The file was modifiedlibcxx/include/__functional/hash.h
The file was modifiedlibcxx/test/std/iterators/iterator.primitives/iterator.operations/advance.pass.cpp
The file was modifiedlibcxx/include/__iterator/advance.h
The file was modifiedlibcxx/include/tuple
Commit d2a6ec8eae75b60081e081eeb37022839f4f2d04 by kadircet
[clangd] Use CommandMangler in TestTU

This makes testing setup look closer to production.

Differential Revision: https://reviews.llvm.org/D106535
The file was modifiedclang-tools-extra/clangd/unittests/TestTU.cpp
The file was modifiedclang/lib/Frontend/CreateInvocationFromCommandLine.cpp
Commit 1c0d0085bcaaf27cc8d9492eb3c5c05058e54b8e by kadircet
[clangd] Get rid of arg adjusters in CommandMangler

Differential Revision: https://reviews.llvm.org/D106562
The file was modifiedclang-tools-extra/clangd/unittests/CompileCommandsTests.cpp
The file was modifiedclang-tools-extra/clangd/Compiler.cpp
The file was modifiedclang-tools-extra/clangd/CompileCommands.h
The file was modifiedclang-tools-extra/clangd/unittests/CompilerTests.cpp
The file was modifiedclang-tools-extra/clangd/CompileCommands.cpp
Commit 7cc8a8e3849dc4044cc799e2c1f6cc241b851b70 by kadircet
[clangd] Canonicalize compile flags before applying edits

Pushes input for the compile action to the end while separating with a
`--` before applying other manglings. This ensures edits that effect only the
arguments that come after them works, like changing parse language via -x.

Fixes https://github.com/clangd/clangd/issues/555.

Differential Revision: https://reviews.llvm.org/D106527
The file was modifiedclang-tools-extra/clangd/unittests/BackgroundIndexTests.cpp
The file was modifiedclang-tools-extra/clangd/unittests/CompileCommandsTests.cpp
The file was modifiedclang-tools-extra/clangd/CompileCommands.cpp
The file was modifiedclang-tools-extra/clangd/test/did-change-configuration-params.test
Commit ba5dd945ad9124f24452987be64040a6ea6cd25e by kadircet
[clangd] Adjust compile flags to contain only the requested file as input

Depends on D106527.

Differential Revision: https://reviews.llvm.org/D106639
The file was modifiedclang-tools-extra/clangd/unittests/TestTU.cpp
The file was modifiedclang-tools-extra/clangd/CompileCommands.h
The file was modifiedclang-tools-extra/clangd/GlobalCompilationDatabase.cpp
The file was modifiedclang-tools-extra/clangd/unittests/CompileCommandsTests.cpp
The file was modifiedclang-tools-extra/clangd/CompileCommands.cpp
The file was modifiedclang-tools-extra/clangd/test/did-change-configuration-params.test
Commit 2c508cf583f89f811d507b5cab2e869c11a0c0f1 by thakis
[lld/mac] Don't crash on absolute symbols in order files

Absolute symbols have a nullptr isec. buildInputSectionPriorities()
would defer isec, causing crashes. Ordering absolute symbols doesn't
make sense, so just ignore them. This seems to match ld64.

Differential Revision: https://reviews.llvm.org/D106628
The file was modifiedlld/MachO/Writer.cpp
The file was modifiedlld/test/MachO/order-file.s
Commit 31677c6481a5ceac1eec10c8e9fbe6694bf551ba by i
[llvm-symbolizer] Remove one-dash long options

Most modern tools only accept two-dash long options. Remove one-dash
long options which are not recognized by GNU style `getopt_long`.
This ensures long options cannot collide with grouped short options.

Note: llvm-symbolizer has `-demangle={true,false}` for pprof compatibility
(for a while). They are kept.

Reviewed By: jhenderson

Differential Revision: https://reviews.llvm.org/D106377
The file was modifiedllvm/test/tools/llvm-symbolizer/pdb/pdb-columns.test
The file was modifiedllvm/test/tools/llvm-symbolizer/pdb/missing_pdb.test
The file was modifiedllvm/tools/llvm-symbolizer/Opts.td
Commit 73a9d6d0e200d7553f925ca0f4caae86dc2b2f67 by thomasraoux
[mlir][linalg] Fix bug in contraction op vectorization with output perm

When the output indexing map has a permutation we need to consider in
the contraction vector type.

Differential Revision: https://reviews.llvm.org/D106469
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
The file was modifiedmlir/include/mlir/IR/AffineMap.h
The file was modifiedmlir/lib/Dialect/Vector/VectorTransforms.cpp
The file was modifiedmlir/test/Dialect/Linalg/vectorization.mlir
Commit 9482aa98e5514f8d399bc5a16d0ff33a7f746e9d by thakis
[lld/mac] Let OutputSegment store its start address

segment$start$/segment$end$ symbols allow creating segments without
sections, so getting the segment address off the first section
won't work there. Storing the address on the segment is arguably a
bit simpler too.

No behavior change, part of PR50760.

Differential Revision: https://reviews.llvm.org/D106665
The file was modifiedlld/MachO/OutputSection.cpp
The file was modifiedlld/MachO/OutputSegment.h
The file was modifiedlld/MachO/SyntheticSections.cpp
The file was modifiedlld/MachO/Writer.cpp
Commit 0ad562b48bfd7a487eb38ceaa309cdd9a1ad87e7 by 932494295
[JITLink][RISCV] Initial Support RISCV64 in JITLink

This patch is the initial support, it implements translation from object file to JIT link graph, and very few relocations were supported. Currently, the test file ELF_pc_indirect.s is passed, the HelloWorld program(compiled with mno-relax flag) can be linked correctly and run on instruction emulator correctly.

In the downstream implementation, I have implemented the GOT, PLT function, and EHFrame and some optimization will be implement soon. I will organize the code in to patches, then gradually send it to upstream.

Differential Revision: https://reviews.llvm.org/D105429
The file was addedllvm/include/llvm/ExecutionEngine/JITLink/riscv.h
The file was modifiedllvm/lib/ExecutionEngine/JITLink/CMakeLists.txt
The file was addedllvm/include/llvm/ExecutionEngine/JITLink/ELF_riscv.h
The file was addedllvm/test/ExecutionEngine/JITLink/RISCV/ELF_pc_indirect.s
The file was addedllvm/lib/ExecutionEngine/JITLink/ELF_riscv.cpp
The file was modifiedllvm/lib/ExecutionEngine/JITLink/ELF.cpp
Commit 8eac5dcb36ddbb66dff467eda3fc0eee31d73631 by jezng
[lld-macho] Reorganize + extend ICF test

I found icf.s a bit hard to work with as it was not possible to
extend any of the functions `_a` ... `_k` to test new relocation /
referent types without modifying every single one of them. Additionally,
their one-letter names were not descriptive (though the comments
helped).

I've renamed all the functions to reflect the feature they are testing,
and shrunk them so that they contain just enough to test that one
feature.

I've also added tests for non-zero addends (via the
`_abs1a_ref_with_addend` and `_defined_ref_with_addend_1` functions).

Reviewed By: #lld-macho, gkm

Differential Revision: https://reviews.llvm.org/D106211
The file was modifiedlld/test/MachO/icf.s
Commit 3313b84481f3caa36cee3071d1379f8b9a028715 by jezng
[lld-macho] ICF: Do more work in equalsConstant, less in equalsVariable

In particular, relocations to absolute symbols or literal sections can
be handled in equalsConstant(), since their output addresses will not
change across each iteration of ICF. Offsets and addends can also be
dealt with entirely in equalsConstant(), making the code somewhat easier
to reason about. Only ConcatInputSections need to be handled in
equalsVariable().

LLD-ELF's implementation takes a similar approach.

Although this should make ICF do less work, in practice it seems like
there is no stat sig difference in time taken when linking
chromium_framework.

This refactor is motivated by an upcoming diff which improves ICF's handling of
addends.

Reviewed By: #lld-macho, gkm

Differential Revision: https://reviews.llvm.org/D106212
The file was modifiedlld/MachO/ICF.cpp
Commit cafed6f2923c63410450e80fc8cf1bbc8b63d708 by jezng
[lld-macho][nfc] Fix test to reflect that symbol attributes don't matter within an archive

We had a comment that claimed that defined symbols had priority
over common symbols if they occurred in the same archive. In fact, they
appear to have equal precedence. Our implementation already does this,
so I'm just updating the test comment. Also added a few other test
comments along the way for readability.

Reviewed By: #lld-macho, thakis

Differential Revision: https://reviews.llvm.org/D106595
The file was modifiedlld/test/MachO/common-symbol-resolution.s
The file was modifiedlld/test/MachO/weak-definition-direct-fetch.s
Commit d9a639901f8940a979cae6c501c21890e5da07cd by jezng
[lld-macho][nfc] Add test for resolution of bitcode symbols

We lacked a test for bitcode symbol precedence. We assumed that
they followed the same rules as their regular symbol counterparts, but
never had a test to verify that we were matching ld64's behavior. It
turns out that we were largely correct, though we deviate from ld64 when
there are bitcode and non-bitcode symbols of the same name. The test
added in this diff both verifies our behavior and documents the
differences.

Reviewed By: #lld-macho, thakis

Differential Revision: https://reviews.llvm.org/D106596
The file was addedlld/test/MachO/lto-symbol-resolution.ll
Commit c7c70f20a16e91e616be216ae2f3fd2586c1d30e by 932494295
[JITLink] Add riscv.cpp
The file was addedllvm/lib/ExecutionEngine/JITLink/riscv.cpp
Commit 04e21fbc44c145d5599ef8db9aaf66b159107f33 by kadircet
Revert "[clangd] Adjust compile flags to contain only the requested file as input"

This reverts commit ba5dd945ad9124f24452987be64040a6ea6cd25e.
The file was modifiedclang-tools-extra/clangd/CompileCommands.h
The file was modifiedclang-tools-extra/clangd/CompileCommands.cpp
The file was modifiedclang-tools-extra/clangd/unittests/TestTU.cpp
The file was modifiedclang-tools-extra/clangd/test/did-change-configuration-params.test
The file was modifiedclang-tools-extra/clangd/unittests/CompileCommandsTests.cpp
The file was modifiedclang-tools-extra/clangd/GlobalCompilationDatabase.cpp
Commit cc6d302c91baad2ecf3c9a75ce68d552df0a42b7 by craig.topper
[X86] Fix a bug in TEST with immediate creation

This code tries to form a TEST from CMP+AND with an optional
truncate in between. If we looked through the truncate, we may
have extra bits in the AND mask that shouldn't participate in
the checks. Normally SimplifyDemendedBits takes care of this, but
the AND may have another user. So manually mask out any extra bits.

Fixes PR51175.

Differential Revision: https://reviews.llvm.org/D106634
The file was modifiedllvm/lib/Target/X86/X86ISelDAGToDAG.cpp
The file was modifiedllvm/test/CodeGen/X86/pr51175.ll
Commit fa7a9ef1784eca70bc6653bcda6e9a02e0f900bb by caitlyncano
[libc] Add option to run specific tests

This addition reads command line input to run specific single tests
within a larger call to run all the tests for a particular function.
When the user adds a second argument to the command line, the code skips
all the tests that don't match the user's specified binary. If the user
doesn't specify a test correctly and/or no tests are run, a failure
message prints.

Reviewed By: sivachandra, aeubanks

Differential Revision: https://reviews.llvm.org/D105843
The file was modifiedlibc/utils/UnitTest/LibcTest.h
The file was modifiedlibc/cmake/modules/LLVMLibCTestRules.cmake
The file was modifiedlibc/test/utils/CMakeLists.txt
The file was addedlibc/test/utils/UnitTest/testfilter_test.cpp
The file was addedlibc/test/utils/UnitTest/CMakeLists.txt
The file was modifiedlibc/utils/UnitTest/CMakeLists.txt
The file was addedlibc/utils/UnitTest/LibcTestMain.cpp
The file was modifiedlibc/utils/UnitTest/LibcTest.cpp
Commit e5d8b93e5a25072ec27260e162f5a036a2c32dc2 by zoecarver
[libcxx][ranges] Add `ranges::common_view`.

Differential Revision: https://reviews.llvm.org/D105753
The file was modifiedlibcxx/docs/Status/RangesPaper.csv
The file was addedlibcxx/test/std/ranges/range.adaptors/range.common.view/base.pass.cpp
The file was addedlibcxx/test/std/ranges/range.adaptors/range.common.view/borrowing.compile.pass.cpp
The file was addedlibcxx/test/std/ranges/range.adaptors/range.common.view/ctad.compile.pass.cpp
The file was addedlibcxx/test/libcxx/diagnostics/detail.headers/ranges/common_view.module.verify.cpp
The file was addedlibcxx/test/std/ranges/range.adaptors/range.common.view/ctor.view.pass.cpp
The file was addedlibcxx/test/std/ranges/range.adaptors/range.common.view/size.pass.cpp
The file was addedlibcxx/test/std/ranges/range.adaptors/range.common.view/begin.pass.cpp
The file was modifiedlibcxx/include/CMakeLists.txt
The file was addedlibcxx/include/__ranges/common_view.h
The file was addedlibcxx/test/std/ranges/range.adaptors/range.common.view/ctor.default.pass.cpp
The file was modifiedlibcxx/test/support/test_iterators.h
The file was modifiedlibcxx/include/ranges
The file was addedlibcxx/test/std/ranges/range.adaptors/range.common.view/end.pass.cpp
The file was modifiedlibcxx/include/module.modulemap
Commit 1e4ba7eba607623cd12cddd459258ffcad15ee1b by zoecarver
[libcxx][nfc] Global `constexpr friend` -> `friend constexpr`.
The file was modifiedlibcxx/test/std/ranges/range.adaptors/range.common.view/begin.pass.cpp
The file was modifiedlibcxx/test/std/ranges/range.adaptors/range.common.view/ctor.default.pass.cpp
The file was modifiedlibcxx/test/std/ranges/range.adaptors/range.transform/types.h
The file was modifiedlibcxx/test/support/type_classification/swappable.h
The file was modifiedlibcxx/test/std/utilities/optional/optional.object/optional.object.assign/emplace.pass.cpp
The file was modifiedlibcxx/test/std/iterators/iterator.primitives/range.iter.ops/range.iter.ops.advance/iterator_count_sentinel.pass.cpp
The file was modifiedlibcxx/test/std/iterators/iterator.primitives/range.iter.ops/range.iter.ops.advance/iterator_sentinel.pass.cpp
The file was modifiedlibcxx/test/support/test_iterators.h
The file was modifiedlibcxx/test/std/ranges/range.adaptors/range.drop/types.h
The file was modifiedlibcxx/test/std/ranges/range.adaptors/range.common.view/size.pass.cpp
The file was modifiedlibcxx/test/std/ranges/range.adaptors/range.all/all.pass.cpp
The file was modifiedlibcxx/test/std/ranges/range.access/range.prim/data.pass.cpp
The file was modifiedlibcxx/test/std/iterators/iterator.primitives/range.iter.ops/range.iter.ops.next/iterator_sentinel.pass.cpp
The file was modifiedlibcxx/test/std/ranges/range.adaptors/range.common.view/base.pass.cpp
Commit 5edccc45815518046d715d384c168f41b578cd6c by craig.topper
[RISCV] Avoid using x0,x0 vsetvli for vmv.x.s and vfmv.f.s unless we know the sew/lmul ratio is constant.

Since we're changing VTYPE, we may change VLMAX which could
invalidate the previous VL. If we can't tell if it is safe we
should use an AVL of 1 instead of keeping the old VL.

This is a quick fix. We may want to thread VL to the pseudo
instruction instead of making up a value. That will require ISD
opcode changes and changes to the C intrinsic interface.

This fixes the issue raised in D106286.

Reviewed By: frasercrmck

Differential Revision: https://reviews.llvm.org/D106403
The file was modifiedllvm/test/CodeGen/RISCV/rvv/extractelt-int-rv64.ll
The file was modifiedllvm/test/CodeGen/RISCV/rvv/extractelt-fp-rv32.ll
The file was modifiedllvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-bitcast.ll
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vsetvli-insert.mir
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vmv.x.s-rv32.ll
The file was modifiedllvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
The file was modifiedllvm/test/CodeGen/RISCV/rvv/fixed-vectors-bitcast.ll
The file was modifiedllvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-shuffles.ll
The file was modifiedllvm/test/CodeGen/RISCV/spill-fpr-scalar.ll
The file was modifiedllvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-buildvec.ll
The file was modifiedllvm/test/CodeGen/RISCV/rvv/extractelt-fp-rv64.ll
The file was modifiedllvm/test/CodeGen/RISCV/rvv/fixed-vectors-unaligned.ll
The file was modifiedllvm/test/CodeGen/RISCV/srem-seteq-illegal-types.ll
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vfmv.f.s.ll
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vmv.x.s-rv64.ll
The file was modifiedllvm/test/CodeGen/RISCV/rvv/extractelt-int-rv32.ll
Commit f890d6b892a4bfa055b54bf61dd9b7bc1fa66e44 by llvmgnsyncbot
[gn build] Port 0ad562b48bfd
The file was modifiedllvm/utils/gn/secondary/llvm/lib/ExecutionEngine/JITLink/BUILD.gn
Commit d556d7167047d677308509f6b78f8c37a4c25070 by llvmgnsyncbot
[gn build] Port e5d8b93e5a25
The file was modifiedllvm/utils/gn/secondary/libcxx/include/BUILD.gn
Commit e7590d748adfa6afb67c4fb4f72c6f7eeb812734 by kadircet
Revert "[clangd] Canonicalize compile flags before applying edits"

This reverts commit 7cc8a8e3849dc4044cc799e2c1f6cc241b851b70.
The file was modifiedclang-tools-extra/clangd/unittests/BackgroundIndexTests.cpp
The file was modifiedclang-tools-extra/clangd/CompileCommands.cpp
The file was modifiedclang-tools-extra/clangd/unittests/CompileCommandsTests.cpp
The file was modifiedclang-tools-extra/clangd/test/did-change-configuration-params.test
Commit 1ffc3693949ce4ea6e2159ecb7d0d7386258e21f by craig.topper
[RISCV] Add a test showing an incorrect vsetvli insertion

This patch adds a reduced test case which identifies an illegal vsetvli
inserted by the compiler. The compiler emits a vsetvli which is intended
to preserve VL with the SEW/LMUL ratio e32/m1 when in fact the VL could
have been set by e64/m2 in a predecessor block.

Differential Revision: https://reviews.llvm.org/D106286
The file was addedllvm/test/CodeGen/RISCV/rvv/vsetvli-regression.ll
Commit d9908523273dbe08af76b78abb366caf607bf91e by koraq
[libcxx][nfc] Cleanup libc++ specific tests.

Move the tests to libcxx so they no longer need `REQUIRES: libc++`.
Verify tests don't need `REQUIRES: libc++`.

Reviewed By: #libc, ldionne

Differential Revision: https://reviews.llvm.org/D106673
The file was addedlibcxx/test/libcxx/input.output/filesystems/class.path/path.member/path.native.obs/string_alloc.pass.cpp
The file was addedlibcxx/test/libcxx/utilities/memory/util.smartptr/util.smartptr.shared/libcxx.control_block_layout.pass.cpp
The file was removedlibcxx/test/std/input.output/filesystems/class.path/path.member/path.native.obs/string_alloc.pass.cpp
The file was modifiedlibcxx/test/std/iterators/iterator.requirements/iterator.cust/iterator.cust.move/iter_move.nodiscard.verify.cpp
The file was removedlibcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/libcxx.control_block_layout.pass.cpp
Commit 13f95cc3d10d9884acd2dbfc112e3c7079403c0a by patacca
Update isl to isl-0.24-69-g54aac5ac

This is needed for having the functions isl_{set,map}_n_basic_{set,map}
exported to the C++ interface
The file was modifiedpolly/lib/External/isl/test_inputs/schedule/niewang.sc
The file was modifiedpolly/lib/External/isl/include/isl/cpp-checked.h
The file was modifiedpolly/lib/External/isl/isl_scheduler.c
The file was modifiedpolly/lib/External/isl/GIT_HEAD_ID
The file was modifiedpolly/lib/External/isl/isl_ctx_private.h
The file was modifiedpolly/lib/External/isl/isl_input.c
The file was modifiedpolly/lib/External/isl/Makefile.in
The file was modifiedpolly/lib/External/isl/include/isl/typed_cpp.h
The file was modifiedpolly/lib/External/isl/include/isl/aff.h
The file was modifiedpolly/lib/External/isl/include/isl/set.h
The file was modifiedpolly/lib/External/isl/isl_test.c
The file was modifiedpolly/lib/External/isl/include/isl/map.h
The file was addedpolly/lib/External/isl/check_parse_fail_test_templ.c
The file was modifiedpolly/lib/External/isl/check_reparse_test_templ.c
The file was modifiedpolly/lib/External/isl/isl_coalesce.c
The file was modifiedpolly/lib/External/isl/interface/isl.py
The file was modifiedpolly/lib/External/isl/isl_stream.c
The file was modifiedpolly/lib/External/isl/Makefile.am
The file was modifiedpolly/lib/External/isl/include/isl/cpp.h
The file was modifiedpolly/lib/External/isl/interface/template_cpp.cc
Commit 42896eeed9e3d12e7e38217a0d7e35b9736451ac by i
[clang] -falign-loops=
The file was modifiedclang/include/clang/Driver/Options.td
The file was modifiedclang/include/clang/Basic/CodeGenOptions.def
The file was modifiedllvm/include/llvm/Target/TargetOptions.h
The file was modifiedclang/lib/CodeGen/BackendUtil.cpp
The file was modifiedclang/include/clang/Basic/LangOptions.def
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp
Commit 2aa0cf19e7fe17c9eb5eb2555e10184061b933f1 by i
Revert D106562 "[clangd] Get rid of arg adjusters in CommandMangler"

This reverts commit 1c0d0085bcaaf27cc8d9492eb3c5c05058e54b8e.

This commit made unittest BuildCompilerInvocation.DropsPlugins crash.
The file was modifiedclang-tools-extra/clangd/CompileCommands.h
The file was modifiedclang-tools-extra/clangd/CompileCommands.cpp
The file was modifiedclang-tools-extra/clangd/Compiler.cpp
The file was modifiedclang-tools-extra/clangd/unittests/CompilerTests.cpp
The file was modifiedclang-tools-extra/clangd/unittests/CompileCommandsTests.cpp
Commit 7290ddd6b1090aaab5f8759581c8d307595567ae by i
Revert "[clang] -falign-loops="

This reverts commit 42896eeed9e3d12e7e38217a0d7e35b9736451ac.

Unfinished. Accidentally pushed when reverting a clangd commit.
The file was modifiedclang/lib/CodeGen/BackendUtil.cpp
The file was modifiedclang/include/clang/Driver/Options.td
The file was modifiedllvm/include/llvm/Target/TargetOptions.h
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp
The file was modifiedclang/include/clang/Basic/LangOptions.def
The file was modifiedclang/include/clang/Basic/CodeGenOptions.def
Commit 2ae7d6d42741347346d9760f6243b72a4a0c343f by patacca
Revert "Update isl to isl-0.24-69-g54aac5ac"

This reverts commit 13f95cc3d10d9884acd2dbfc112e3c7079403c0a.

The commit makes some polly tests failing
The file was modifiedpolly/lib/External/isl/isl_ctx_private.h
The file was modifiedpolly/lib/External/isl/isl_input.c
The file was modifiedpolly/lib/External/isl/test_inputs/schedule/niewang.sc
The file was modifiedpolly/lib/External/isl/GIT_HEAD_ID
The file was modifiedpolly/lib/External/isl/Makefile.in
The file was modifiedpolly/lib/External/isl/isl_coalesce.c
The file was modifiedpolly/lib/External/isl/interface/template_cpp.cc
The file was modifiedpolly/lib/External/isl/include/isl/typed_cpp.h
The file was modifiedpolly/lib/External/isl/isl_stream.c
The file was modifiedpolly/lib/External/isl/isl_test.c
The file was modifiedpolly/lib/External/isl/include/isl/map.h
The file was removedpolly/lib/External/isl/check_parse_fail_test_templ.c
The file was modifiedpolly/lib/External/isl/include/isl/cpp.h
The file was modifiedpolly/lib/External/isl/check_reparse_test_templ.c
The file was modifiedpolly/lib/External/isl/include/isl/aff.h
The file was modifiedpolly/lib/External/isl/include/isl/set.h
The file was modifiedpolly/lib/External/isl/interface/isl.py
The file was modifiedpolly/lib/External/isl/include/isl/cpp-checked.h
The file was modifiedpolly/lib/External/isl/isl_scheduler.c
The file was modifiedpolly/lib/External/isl/Makefile.am
Commit da06d1795ab0e004ec90d24b053a82a3db94df49 by michaelrj
[libc] add option to use SCUDO as the allocator

This patch adds LLVM_LIBC_INCLUDE_SCUDO as a flag. When enabled it
should link in the standalone version of SCUDO as the allocator for LLVM
libc.

Reviewed By: sivachandra

Differential Revision: https://reviews.llvm.org/D106502
The file was modifiedlibc/cmake/modules/LLVMLibCLibraryRules.cmake
The file was modifiedlibc/CMakeLists.txt
The file was modifiedlibc/lib/CMakeLists.txt
Commit ae69f46867cd99d18ec7e23509eb1d71a098d48f by tianshilei1992
[AbstractAttributor] Refine logic to indicate pessimistic fixed point when folding `__kmpc_is_spmd_exec_mode`

Since we are using assumed information now, the logic should be refined to avoid
unncessary assertion.

Reviewed By: jdoerfert

Differential Revision: https://reviews.llvm.org/D106630
The file was modifiedllvm/lib/Transforms/IPO/OpenMPOpt.cpp
Commit deebf18512266e0e6917508052f6d9bbd06c7d5e by gysit
[mlir][linalg] Add pooling_nchw_max, conv_2d_nchw as yaml ops.

- Add pooling_nchw_max.
- Move conv_2d_nchw to yaml ops and add strides and dilation attributes.

Reviewed By: gysit

Differential Revision: https://reviews.llvm.org/D106658
The file was modifiedmlir/test/Dialect/Linalg/named-ops.mlir
The file was modifiedmlir/include/mlir/Dialect/Linalg/IR/LinalgNamedStructuredOps.yaml
The file was modifiedmlir/test/Integration/Dialect/Linalg/CPU/test-conv-2d-nchw-call.mlir
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
The file was modifiedmlir/python/mlir/dialects/linalg/opdsl/ops/core_named_ops.py
The file was modifiedmlir/include/mlir/Dialect/Linalg/IR/LinalgNamedStructuredOpsSpec.tc
Commit 55e12f7080df4f2adb43e6aa8151d59e981c724a by mtrofin
[NFC][MLGO] Just use the underlying protobuf object for logging

Avoid buffering just to copy the buffered data, in 'development
mode', when logging. Instead, just populate the underlying protobuf.

Differential Revision: https://reviews.llvm.org/D106592
The file was modifiedllvm/unittests/Analysis/TFUtilsTest.cpp
The file was modifiedllvm/lib/Analysis/TFUtils.cpp
The file was modifiedllvm/include/llvm/Analysis/Utils/TFUtils.h
The file was modifiedllvm/lib/Analysis/DevelopmentModeInlineAdvisor.cpp
Commit 68ef916659b9cd4127276f9502fc2870ca6cfdea by erich.keane
Delete PrintingPolicy's copy constructor/operator.

This type is 'fat' now thanks to the callbacks, so it should never be
copied as far as I know.  Delete the copy operations so that we don't do
so accidentially.
The file was modifiedclang/include/clang/AST/PrettyPrinter.h
Commit e7afaadd8b7a41cf9fab15786e863e78a8cc1473 by erich.keane
Revert "Delete PrintingPolicy's copy constructor/operator."

My test that showed we don't copy it was wrong!

This reverts commit 68ef916659b9cd4127276f9502fc2870ca6cfdea.
The file was modifiedclang/include/clang/AST/PrettyPrinter.h
Commit 8594a24d63d8606fff344d72b6754547fb04c9b6 by Cyndy Ishida
[llvm][NFC] Fix typos in Errc.h description
The file was modifiedllvm/include/llvm/Support/Errc.h
Commit 64c2b2c69d61dbb6459037a7bfddf29e1f280c8f by kevin.neal
[FPEnv][InstSimplify] Enable more folds for constrained fadd

Precommit tests.
The file was addedllvm/test/Transforms/InstSimplify/strictfp-fadd.ll
Commit aee8457b8d4123d087c45aef95d14f24934fed53 by kevin.neal
Revert "[FPEnv][InstSimplify] Enable more folds for constrained fadd"

Build bots have started failing.

This reverts commit 64c2b2c69d61dbb6459037a7bfddf29e1f280c8f.
The file was removedllvm/test/Transforms/InstSimplify/strictfp-fadd.ll
Commit a085c23aa3c8f91866d7f4588d4f683407dc775d by mvanotti
[libunwind] Allow restoring SP while unwinding.

This commit modifies stepWithDwarf allowing for CFI directives to
specify the value of the stack pointer.

Previously, the SP would be unconditionally set to the CFA, because it
(wrongly) stated that the CFA is the stack pointer at the call site of a
function, but that is not always true.

One situation in which that is false, is for example if you have
switched stacks. In that case if you set the CFA to the SP before
switching the stack, the CFA would be far away from where the current
call frame is located.

The CFA always points to the current call frame, and that call frame
could have a CFI directive that specifies how to restore the stack
pointer. If not, it is OK to fallback and set the SP = CFA.

This change sets SP = CFA before restoring the registers during
unwinding, allowing the stack frame to be restored with a value
different than the CFA.

Reviewed By: #libunwind, phosek

Differential Revision: https://reviews.llvm.org/D106626
The file was modifiedlibunwind/src/DwarfInstructions.hpp
Commit 04e8d0b62dca05c396422048b467bea31988cac3 by thakis
[lld/mac] Implement support for section$start and section$ end symbols

With this, libclang_rt.profile_osx.a can be linked, that is coverage
and PGO-instrumented builds should now work with lld.

section$start and section$end symbols can create non-existing sections.
They're also undefined symbols that are only magic if there isn't a
regular symbol with their name, which means the need to be handled
in treatUndefined() instead of just looping over all existing
sections and adding start and end symbols like the ELF port does.

To represent the actual symbols, this uses absolute symbols that
get their value updated once an output section is layed out.

segment$start and segment$end are still missing for now, but they produce a
nicer error message after this patch.

Main part of PR50760.

Differential Revision: https://reviews.llvm.org/D106629
The file was modifiedlld/MachO/OutputSection.h
The file was addedlld/test/MachO/start-end.s
The file was modifiedlld/MachO/OutputSection.cpp
The file was modifiedlld/MachO/SymbolTable.cpp
The file was modifiedlld/MachO/Writer.cpp
Commit 0a1683f8cc0df2889f1d86da7a795914f07e5599 by martin
[llvm-rc] Allow dashes as part of resource name strings

This matches what MS rc.exe allows in practice. I'm not aware of
any legal syntax case that are broken by allowing dashes as part
of what the tokenizer considers an Identifier - but I'm not
very well versed in the RC syntax either, can @amccarth think of
any case that would be broken by this?

This fixes downstream bug
https://github.com/msys2/MINGW-packages/issues/9180.

Additionally, rc.exe allows such resource name strings to be surrounded
by quotes, ending up with e.g.

    Resource name (string): "QUOTEDNAME"

(i.e., the quotes end up as part of the string), which llvm-rc doesn't
support yet either. (I'm not aware of such cases in the wild though,
but resource string names with dashes do exist.)

This also allows including files with unquoted paths, with filenames
containing dashes (which fixes
https://github.com/msys2/MINGW-packages/issues/9130, which has been
worked around differently so far).

Differential Revision: https://reviews.llvm.org/D106598
The file was addedllvm/test/tools/llvm-rc/Inputs/resname-string.rc
The file was modifiedllvm/test/tools/llvm-rc/Inputs/tokens.rc
The file was modifiedllvm/tools/llvm-rc/ResourceScriptToken.cpp
The file was modifiedllvm/test/tools/llvm-rc/tokenizer.test
The file was addedllvm/test/tools/llvm-rc/resname-string.test
Commit b22bf7e82ae06acb91a248c69c5fa44393d49906 by martin
[CMake] Add version to libLLVM also on non-UNIX

As discussed in https://reviews.llvm.org/D87521

llvm-config expects versioned library regardless of platform.

Reviewed By: mstorsjo

Differential Revision: https://reviews.llvm.org/D89009
The file was modifiedllvm/cmake/modules/AddLLVM.cmake
Commit 18ce3d3f2c362b7fda33ebd7b4d544e9cae23ad4 by tianshilei1992
[OpenMP][Offloading] Fix data race in data mapping by using two locks

This patch tries to partially fix one of the two data race issues reported in
[1] by introducing a per-entry mutex. Additional discussion can also be found in
D104418, which will also be refined to fix another data race problem.

Here is how it works. Like before, `DataMapMtx` is still being used for mapping
table lookup and update. In any case, we will get a table entry. If we need to
make a data transfer (update the data on the device), we need to lock the entry
right before releasing `DataMapMtx`, and the issue of data transfer should be
after releasing `DataMapMtx`, and the entry is unlocked afterwards. This can
guarantee that: 1) issue of data movement is not in critical region, which will
not affect performance too much, and also will not affect other threads that don't
touch the same entry; 2) if another thread accesses the same entry, the state of
data movement is consistent (which requires that a thread must first get the
update lock before getting data movement information).

For a target that doesn't support async data transfer, issue of data movement is
data transfer. This two-lock design can potentially improve concurrency compared
with the design that guards data movement with `DataMapMtx` as well. For a target
that supports async data movement, we could simply attach the event between the
issue of data movement and unlock the entry. For a thread that wants to get the
event, it must first get the lock. This can also get rid of the busy wait until
the event pointer is valid.

Reference:
[1] https://bugs.llvm.org/show_bug.cgi?id=49940

Reviewed By: grokos

Differential Revision: https://reviews.llvm.org/D104555
The file was modifiedopenmp/libomptarget/src/omptarget.cpp
The file was modifiedopenmp/libomptarget/src/device.h
The file was modifiedopenmp/libomptarget/src/device.cpp
Commit f502683750f4240c48a3e24bf023294e4a27929e by nikita.ppv
[MergeICmps] Relax sinking check

The check for sinking instructions past the load + cmp sequence
currently checks for side-effects, which includes writing to memory
and unwinding. However, I don't believe we care about sinking the
instructions past an unwind (as they don't have any side-effects
themselves).

Differential Revision: https://reviews.llvm.org/D106591
The file was modifiedllvm/test/Transforms/MergeICmps/X86/split-block-does-work.ll
The file was modifiedllvm/lib/Transforms/Scalar/MergeICmps.cpp
Commit 3c2c9851634ab5889377b0457fac0b7bb79a935b by code
[NFC][compiler-rt] tidy up some whitespace in lit config
The file was modifiedcompiler-rt/test/lit.common.cfg.py
Commit 17de7ed556ad8df3d2dcaa9322a792fc70243194 by jurahul
[MLIR][NFC] Minor cleanup in liveness.

- Rename isLastUse to isDeadAfter to reflect what the function does.
- Avoid a second walk over all operations in BlockInfoBuilder constructor.
- use std::move() to save the new in set.

Differential Revision: https://reviews.llvm.org/D106702
The file was modifiedmlir/lib/Analysis/Liveness.cpp
The file was modifiedmlir/include/mlir/Analysis/Liveness.h
Commit d71fc323f998b0d2f063cfedf53a8d89f8857279 by code
[compiler-rt][NFC] add debugging options to iossim_run

Add the ability to:
1. tell simctl to wait for debugger when spawning process
2. print the command that is called to launch the process

Reviewed By: delcypher

Differential Revision: https://reviews.llvm.org/D106700
The file was modifiedcompiler-rt/test/sanitizer_common/ios_commands/iossim_run.py
Commit e1dedecaa6f83223efde5e0bf98a8f070aa5d6a5 by huberjn
[Libomptarget] Add unroll flag to shared variables loop

Unrolling this loop provides better performance in practice because it is
executed on the device and is likely to be very small.

Reviewed By: tianshilei1992

Differential Revision: https://reviews.llvm.org/D106692
The file was modifiedopenmp/libomptarget/deviceRTLs/common/src/parallel.cu
Commit c2c43132f69c6f7e89d97c0c2ce32b0cf2f30e90 by tianshilei1992
[OpenMP] Fix bug 50022

Bug 50022 [0] reports target nowait fails in certain case, which is added in this
patch. The root cause of the failure is, when the second task is created, its
parent's `td_incomplete_child_tasks` will not be incremented because there is no
parallel region here thus its team is serialized. Therefore, when the initial
thread is waiting for its unfinished children tasks, it thought there is only
one, the first task, because it is hidden helper task, so it is tracked. The
second task will only be pushed to the queue when the first task is finished.
However, when the first task finishes, it first decrements the counter of its
parent, and then release dependences. Once the counter is decremented, the thread
will move on because its counter is reset, but actually, the second task has not
been executed at all. As a result, since in this case, the main function finishes,
then `libomp` starts to destroy. When the second task is pushed somewhere, all
some of the structures might already have already been destroyed, then anything
could happen.

This patch simply moves `__kmp_release_deps` ahead of decrement of the counter.
In this way, we can make sure that the initial thread is aware of the existence
of another task(s) so it will not move on. In addition, in order to tackle
dependence chain starting with hidden helper thread, when hidden helper task is
encountered, we force the task to release dependences.

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

Reviewed By: AndreyChurbanov

Differential Revision: https://reviews.llvm.org/D106519
The file was modifiedopenmp/runtime/src/kmp_tasking.cpp
The file was addedopenmp/libomptarget/test/offloading/bug50022.cpp
Commit 04f5eb407c74d433589739a719c3fc75a08859b3 by thakis
[lld/mac] Fix start-stop.s test with expensive checks enabled

See e.g. https://lab.llvm.org/buildbot/#/builders/16/builds/14317
Not 100% sure why this fails yet, but this fixes it. Let's get
the bots green again first :)

Differential Revision: https://reviews.llvm.org/D106711
The file was modifiedlld/MachO/OutputSegment.cpp
Commit 5d679fc502c78eba4758d034cdffc44bc6d48efb by caitlyncano
[libc] Clean up Windows macros

This clean-up removes checks for _WIN64, as the _WIN32 macro returns 1
whenever the compilation targe is 32- or 64-bit ARM.

Reviewed By: aeubanks

Differential Revision: https://reviews.llvm.org/D106706
The file was modifiedlibc/utils/FPUtil/TestHelpers.cpp
The file was modifiedlibc/utils/FPUtil/PlatformDefs.h
The file was modifiedlibc/utils/UnitTest/PlatformDefs.h
Commit c45e17f11f508d1aea97eded3f1bda2a448f2032 by pirama
[NewPM] Add CrossDSOCFI pass irrespective of LTO optimization level

This pass is not an optimization and is needed for CFI functionality
(cross-dso verification).

Differential Revision: https://reviews.llvm.org/D106699
The file was modifiedllvm/lib/Passes/PassBuilder.cpp
The file was modifiedllvm/test/Other/new-pm-lto-defaults.ll
The file was modifiedllvm/test/Other/new-pm-O0-defaults.ll
Commit 2aa2fdeed9dc8af922e424545eae56d81c10599f by lebedev.ri
[NFC][BasicBlockUtils] Refactor GetIfCondition() to return the branch, not it's condition

Otherwise e.g. the FoldTwoEntryPHINode() has to do a lot of legwork
to re-deduce what is the dominant block (i.e. for which block
is this branch the terminator).
The file was modifiedllvm/include/llvm/Transforms/Utils/BasicBlockUtils.h
The file was modifiedllvm/lib/Transforms/Utils/SimplifyCFG.cpp
The file was modifiedllvm/lib/Transforms/Utils/FlattenCFG.cpp
The file was modifiedllvm/lib/Transforms/Utils/BasicBlockUtils.cpp
Commit 418dba06064ffe9c5e6433e0045bd88966b5ed12 by lebedev.ri
[NFC][SimplifyCFG] FoldTwoEntryPHINode(): make better use of GetIfCondition() returning dom block
The file was modifiedllvm/lib/Transforms/Utils/SimplifyCFG.cpp
Commit 943f85123b72720c1c960c6dee7d20ff1c37ea52 by lebedev.ri
[NFC][SimplifyCFG] Make 'conditional block' handling more straight-forward

This will simplify making use of profile weights
to not perform the speculation when obviously unprofitable.
The file was modifiedllvm/lib/Transforms/Utils/SimplifyCFG.cpp
Commit 4079037a3e11506e035b98b906a907cc5b60c1e7 by tianshilei1992
[OpenMP] always compile with c++14 instead of gnu++14

Fixes PR 51174. c++14 should be a more portable option than gnu++14.

Reviewed By: tianshilei1992

Differential Revision: https://reviews.llvm.org/D106632
The file was modifiedopenmp/cmake/HandleOpenMPOptions.cmake
The file was modifiedopenmp/cmake/config-ix.cmake
Commit 39c0e4afce5d1ac5e5ae4012c1201fc461218ae4 by tlively
[WebAssembly][NFC] Simplify SIMD bitconvert pattern

Differential Revision: https://reviews.llvm.org/D106680
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyInstrSIMD.td
Commit 85157c0079031b51c0446b222894aec4aad71b53 by tlively
[WebAssembly] Codegen for pmin and pmax

Replace the clang builtins and LLVM intrinsics for {f32x4,f64x2}.{pmin,pmax}
with standard codegen patterns. Since wasm_simd128.h uses an integer vector as
the standard single vector type, the IR for the pmin and pmax intrinsic
functions contains bitcasts that would not be there otherwise. Add extra codegen
patterns that can still select the pmin and pmax instructions in the presence of
these bitcasts.

Differential Revision: https://reviews.llvm.org/D106612
The file was modifiedclang/include/clang/Basic/BuiltinsWebAssembly.def
The file was modifiedclang/lib/Headers/wasm_simd128.h
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyInstrSIMD.td
The file was modifiedllvm/include/llvm/IR/IntrinsicsWebAssembly.td
The file was modifiedllvm/test/CodeGen/WebAssembly/simd-arith.ll
The file was modifiedclang/test/CodeGen/builtins-wasm.c
The file was modifiedclang/test/Headers/wasm.c
The file was modifiedclang/lib/CodeGen/CGBuiltin.cpp
The file was modifiedllvm/test/CodeGen/WebAssembly/simd-intrinsics.ll
Commit 923727e8bedac0257f5603ca3a1032737b01be96 by nikita.ppv
[ConstantFold] Extract GEP of GEP fold (NFCI)

Move this fold into a separate function and clean up the control
flow a bit.
The file was modifiedllvm/lib/IR/ConstantFold.cpp
Commit f623b3a29aa9932fedf5b043b0f3b7535a19fdb7 by nikita.ppv
[ConstantFold] Fix GEP of GEP fold with opaque pointers

This was previously combining indices even though they operate on
different types. For non-opaque pointers, the condition is
automatically satisfied based on the pointer types being equal.
The file was modifiedllvm/lib/IR/ConstantFold.cpp
The file was modifiedllvm/test/Other/force-opaque-ptrs.ll
Commit 1f341aedc923ad5bc7654eabc07429a388c0fc0c by lebedev.ri
[NFC][SimplifyCFG] Add tests for `FoldTwoEntryPHINode()` with prof md
The file was addedllvm/test/Transforms/SimplifyCFG/fold-two-entry-phi-node-with-two-blocks-profmd.ll
The file was modifiedllvm/test/Transforms/SimplifyCFG/speculatively-execute-block-profmd.ll
The file was addedllvm/test/Transforms/SimplifyCFG/fold-two-entry-phi-node-with-one-block-profmd.ll
Commit 3f2c1e99e44d028d5e9dd685f3c568f2661f2f68 by gcmn
[Bazel] Swap stray td_srcs to deps

This is the last instance of td_srcs in MLIR core build files. `deps` is
generally preferred. There are still some cases where `td_srcs` is
useful where creating a td_library would just be another layer of
indirection, so not (yet) dropping it entirely.

Differential Revision: https://reviews.llvm.org/D106716
The file was modifiedutils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel
Commit 92c085e7c45298a4f4e96f50b21f39ce309279fa by thakis
[lld/mac] Fix comment typo in new start-end.s test
The file was modifiedlld/test/MachO/start-end.s
Commit c24c18bba61fa4e9e5513b70cd133ec39eaf9e25 by sivachandra
[libc] Accommodate Fuchsia's death test framework in fenv tests.

Fuchsia's death test framework runs the closure which can die in a
different thread. Hence, the FP exceptions which cause the closure to
die should be enalbed in the closure.

Reviewed By: michaelrj

Differential Revision: https://reviews.llvm.org/D106683
The file was modifiedlibc/test/src/fenv/feholdexcept_test.cpp
The file was modifiedlibc/test/src/fenv/enabled_exceptions_test.cpp
Commit 4a3dc7dc9a03ff4864a0e2cd31b15848481c322b by listmail
[SCEV] Fix bug involving zero step and non-invariant RHS in trip count logic

Eli pointed out the issue when reviewing D104140. The max trip count logic makes an assumption that the value of IV changes. When the step is zero, the nowrap fact becomes trivial, and thus there's nothing preventing the loop from being nearly infinite. (The "nearly" part is because mustprogress may disallow an infinite loop while still allowing 999999999 iterations before RHS happens to allow an exit.)

This is very difficult to see in practice. You need a means to produce a loop varying RHS in a mustprogress loop which doesn't allow the loop to be infinite. In most cases, LICM or SCEV are smart enough to remove the loop varying expressions.

Differential Revision: https://reviews.llvm.org/D106327
The file was modifiedllvm/lib/Analysis/ScalarEvolution.cpp
The file was modifiedllvm/test/Analysis/ScalarEvolution/trip-count-unknown-stride.ll
Commit 328bb2caae810d484422a13c279939c03ac8c6b3 by stilis
[cmake] Export LLVM_HOST_TRIPLE in the LLVMConfig.cmake

This is referenced in several of the cmake files that are part of an llvm install and it is also useful by downstream components such as onnx-mlir.

Differential Revision: https://reviews.llvm.org/D106686
The file was modifiedllvm/cmake/modules/LLVMConfig.cmake.in
Commit 0cd964ff254888d563659f4f8f39c934732aa487 by kuterdinel
[Attributor][FIX] checkForAllInstructions, correctly handle declarations

checkForAllInstructions was not handling declarations correctly.
It should have been returning false when it gets called on a declaration

The patch also fixes a test case for AAFunctionReachability for it to be able
to pass after the changes to the checkForAllinstructions.

Differential Revision: https://reviews.llvm.org/D106625
The file was modifiedllvm/lib/Transforms/IPO/Attributor.cpp
The file was modifiedllvm/unittests/Transforms/IPO/AttributorTest.cpp
Commit d5401315cd29b67607b5914997c99d34427ac354 by i
[LangRef] Clarify comdat

* ELF supports `nodeduplicate`.
* ELF calls the concept "section group". `GRP_COMDAT` emulates the PE COMDAT deduplication feature.
* "COMDAT group" is an ELF term. Avoid it for PE/COFF.
* WebAssembly supports comdat but only supports the `any` selection kind. https://bugs.llvm.org/show_bug.cgi?id=50531
* A comdat must be included or omitted as a unit. Both the compiler and the linker must obey this rule.
* A global object can be a member of at most one comdat.
* COFF requires a non-local linkage for non-`nodeduplicate` selection kinds.
* llvm.global_ctors/.llvm.global_dtors: if the third field is used on ELF, it must reference a global variable or function in a comdat

Reviewed By: rnk

Differential Revision: https://reviews.llvm.org/D106300
The file was modifiedllvm/docs/LangRef.rst
Commit ec43def7003db38640597b94fee38f6bc53379f9 by listmail
Style tweaks for SCEV's computeMaxBECountForLT [NFC]
The file was modifiedllvm/lib/Analysis/ScalarEvolution.cpp
Commit e9d4bb43f8432c58d87ff6c725f4b92db084d650 by listmail
[tests] SCEV trip count w/ neg step and varying rhs
The file was modifiedllvm/test/Analysis/ScalarEvolution/trip-count-negative-stride.ll
Commit ef8c6849a235e97b8b981e0f998d430fdbd7bc2a by walter erquinigo
[source maps] fix source mapping when there are multiple matching rules

D104406 introduced an error in which, if there are multiple matchings rules for a given path, lldb was only checking for the validity in the filesystem of the first match instead of looking exhaustively one by one until a valid file is found.

Besides that, a call to consume_front was being done incorrectly, as it was modifying the input, which renders subsequent matches incorrect.

I added a test that checks for both cases.

Differential Revision: https://reviews.llvm.org/D106723
The file was modifiedlldb/include/lldb/Target/PathMappingList.h
The file was modifiedlldb/test/API/tools/lldb-vscode/breakpoint/TestVSCode_setBreakpoints.py
The file was modifiedlldb/source/Target/PathMappingList.cpp
Commit e160b3987e734ba834cbd985315765ea7f468680 by gclayton
[LLDB][GUI] Add Platform Plugin Field

This patch adds a new Platform Plugin Field. It is a choices field that
lists all the available platform plugins and can retrieve the name of the
selected plugin. The default selected plugin is the currently selected
one. This patch also allows for arbitrary scrolling to make scrolling
easier when setting choices.

Differential Revision: https://reviews.llvm.org/D106483
The file was modifiedlldb/source/Core/IOHandlerCursesGUI.cpp
Commit 80ac12b70b16a51fac9918c4b25e3bdfad05eee5 by gclayton
[LLDB][GUI] Check fields validity in actions

This patch adds a virtual method HasError to fields, it can be
overridden by fields that have errors. Additionally, a form method
CheckFieldsValidity was added to be called by actions that expects all
the field to be valid.

Differential Revision: https://reviews.llvm.org/D106459
The file was modifiedlldb/source/Core/IOHandlerCursesGUI.cpp
Commit e093cbb7ae1448379cad5520db5dfa5cf0b06bdf by pklausler
[flang] Runtime: Reset list-directed input state for each NAMELIST item

NAMELIST I/O formatting uses the runtime infrastructure for
list-directed I/O.  List-directed input processing has same state
that requires reinitialization for each successive NAMELIST input
item.  This patch fixes bugs with "null" items and repetition counts
on NAMELIST input items after the first in the group.

Differential Revision: https://reviews.llvm.org/D106694
The file was modifiedflang/runtime/namelist.cpp
The file was modifiedflang/runtime/io-stmt.h
Commit 4d42e16eb8f7bb1484a1970324aa3391809188de by pklausler
[flang] runtime: fix problems with I/O around EOF & delimited characters

When a WRITE overwrites an endfile record, we need to forget
that there was an endfile record.  When doing a BACKSPACE
after an explicit ENDFILE statement, the position afterwards
must be upon the endfile record.

Attempts to join list-directed delimited character input across
record boundaries was due to a bad reading of the standard
and has been deleted, now that the requirements are better understood.
This problem would cause a read attempt past EOF if a delimited
character input value was at the end of a record.

It turns out that delimited list-directed (and NAMELIST) character
output is required to emit contiguous doubled instances of the
delimiter character when it appears in the output value.  When
fixed-size records are being emitted, as is the case with internal
output, this is not possible when the problematic character falls
on the last position of a record.  No two other Fortran compilers
do the same thing in this situation so there is no good precedent
to follow.

Because it seems least wrong, with this patch we now emit one copy
of the delimiter as the last character of the current record and
another as the first character of the next record.  (The
second-least-wrong alternative might be to flag a runtime error,
but that seems harsh since it's not an explicit error in the standard,
and the output may not have to be usable later as input anyway.)
Consequently, the output is not suitable for use as list-directed or
NAMELIST input.

If a later standard were to clarify this case, this behavior will of
course change as needed to conform.

Differential Revision: https://reviews.llvm.org/D106695
The file was modifiedflang/runtime/unit.cpp
The file was modifiedflang/runtime/edit-output.cpp
The file was modifiedflang/docs/Extensions.md
The file was modifiedflang/runtime/edit-input.cpp
The file was modifiedflang/unittests/RuntimeGTest/Namelist.cpp
Commit 96709823ec37e98b16332f4ce19523b3f6798bdf by kuterdinel
[AMDGPU] Deduce attributes with the Attributor

This patch introduces a pass that uses the Attributor to deduce AMDGPU specific attributes.

Reviewed By: jdoerfert, arsenm

Differential Revision: https://reviews.llvm.org/D104997
The file was addedllvm/lib/Target/AMDGPU/AMDGPUAttributor.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/uniform-work-group-attribute-missing.ll
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/uniform-work-group-recursion-test.ll
The file was modifiedllvm/include/llvm/Transforms/IPO/Attributor.h
The file was modifiedllvm/test/CodeGen/AMDGPU/annotate-kernel-features-hsa-call.ll
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPU.h
The file was modifiedllvm/lib/Transforms/IPO/Attributor.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/annotate-kernel-features-hsa.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/direct-indirect-call.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/simple-indirect-call.ll
The file was modifiedllvm/lib/Transforms/IPO/AttributorAttributes.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/uniform-work-group-propagate-attribute.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/uniform-work-group-prevent-attribute-propagation.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/pal-simple-indirect-call.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/uniform-work-group-test.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/duplicate-attribute-indirect.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/addrspacecast-constantexpr.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/annotate-kernel-features.ll
The file was addedllvm/test/CodeGen/AMDGPU/uniform-work-group-multistep.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/uniform-work-group-nested-function-calls.ll
The file was modifiedllvm/lib/Target/AMDGPU/CMakeLists.txt
Commit 698fef3eb68bdce46f2f629dec6c3f39db78399e by llvmgnsyncbot
[gn build] Port 96709823ec37
The file was modifiedllvm/utils/gn/secondary/llvm/lib/Target/AMDGPU/BUILD.gn
Commit eda6afdad62cd79b05191c3cbeb62e99d0f986fa by Lang Hames
Re-re-re-apply "[ORC][ORC-RT] Add initial native-TLV support to MachOPlatform."

The ccache builders have recevied a config update that should eliminate the
build issues seen previously.
The file was modifiedcompiler-rt/lib/orc/macho_platform.cpp
The file was addedcompiler-rt/test/orc/TestCases/Darwin/x86-64/trivial-tlv.S
The file was modifiedcompiler-rt/lib/orc/macho_platform.h
The file was modifiedcompiler-rt/lib/orc/CMakeLists.txt
The file was modifiedllvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp
The file was modifiedllvm/lib/ExecutionEngine/JITLink/MachO_x86_64.cpp
The file was addedcompiler-rt/lib/orc/macho_tlv.x86-64.S
The file was modifiedllvm/include/llvm/ExecutionEngine/Orc/MachOPlatform.h

Summary

  1. Remove aarch64-sve-vector-bits-min compile flag from SVE 2 stage bot (details)
Commit 24c07902d058abcee3bcf908676bacaae1f3d448 by david.spickett
Remove aarch64-sve-vector-bits-min compile flag from SVE 2 stage bot

Our build is failing:
https://lab.llvm.org/buildbot/#/builders/176/builds/205

Due to a vectorisation issue being investigated as
https://bugs.llvm.org/show_bug.cgi?id=51182.

Remove the bits-min flag until this bug is fixed so we at least
get coverage of the 2nd stage build with SVE codegen.
The file was modifiedbuildbot/osuosl/master/config/builders.py