Changes

Summary

  1. Revert "Remove aarch64-sve-vector-bits-min compile flag from SVE 2 stage bot" (details)
  2. Update config for aosp-O3-polly-before-vectorizer-unprofitable (details)
  3. [sanitizer] Run two builds at the time (details)
  4. [NFC][sanitizer] Remove misleading comment (details)
Commit cd75632349bb753e715bf16255b24f7c437f1b04 by david.spickett
Revert "Remove aarch64-sve-vector-bits-min compile flag from SVE 2 stage bot"

This reverts commit 24c07902d058abcee3bcf908676bacaae1f3d448.

The issue is still present but given that it's not sending out any
new notifications I'm going to leave it as is for now.

It actively building is somewhat useful for those working on
the issue to know what the current status is.
The file was modifiedbuildbot/osuosl/master/config/builders.py (diff)
Commit 809c1a1a80bc0e895c0ba9c936052f1e93c33bb5 by efriedma
Update config for aosp-O3-polly-before-vectorizer-unprofitable

The bot has moved to a new host with a newer AOSP codebase. Update the
buildbot config to match.

Change-Id: I474f4503078acdf4109ce755228379ae81a39be7
The file was modifiedzorg/buildbot/builders/AOSPBuilder.py (diff)
The file was modifiedbuildbot/osuosl/master/config/builders.py (diff)
Commit 2eb229fcf1b06b83fc9b4d95e58e9ff26c3753b8 by Vitaly Buka
[sanitizer] Run two builds at the time
The file was modifiedbuildbot/osuosl/master/config/workers.py (diff)
Commit 2e12550f4a2a23acd7dbf1347b9f1ed131a14e38 by Vitaly Buka
[NFC][sanitizer] Remove misleading comment
The file was modifiedbuildbot/osuosl/master/config/workers.py (diff)

Summary

  1. [clang][tooling] Link clangDriver to ToolingTests (details)
  2. [NFC] Reflow some debug messages. (details)
  3. [RISCV] Add support for vector saturating add/sub operations (details)
  4. [clang-cl] Expose -fmodules and related flags in the driver (PR43391) (details)
  5. Revert "sanitizer_common: split LibIgnore into fast/slow paths" (details)
  6. [clang][tooling] Link LLVMOption to ToolingTests (details)
  7. [SelectionDAG] Support scalable splats in U(ADD|SUB)SAT combines (details)
  8. [mlir] Fix typo s/applyPermuationMap/applyPermutationMap/ (details)
  9. [GlobalISel] Constant fold G_SITOFP and G_UITOFP in CSEMIRBuilder (details)
  10. [flang] Fix thinko in CPU_TIME test (details)
  11. [flang] Fix minor style issues. NFC (details)
  12. [LV] Disable Scalable VFs when tail folding is enabled b/c of low tripcount. (details)
  13. [lldb][AArch64] Add memory tag writing to lldb-server (details)
  14. [X86] Add PR37025 test coverage (details)
  15. [LangRef][NFC] Fix variable name in llvm.maxnum docs (details)
  16. [PowerPC] add more testcases for ld_splat; nfc (details)
  17. [clang/darwin] Pass libclang_rt.profile last on linker command (details)
  18. Convert the error to warning for enabling OMPD in non-Linux platform (details)
  19. [lldb] Wait in TestGuiBasicDebug for the interface to open before quitting the welcome screen (details)
  20. [DebugInfo][LoopStrengthReduction] SCEV-based salvaging for LSR (details)
  21. [clangd] Use function pointer instead of function_ref to avoid GCC 5 bug (details)
  22. [flang][driver] Make `flang` ignore `-Mfree/-Mfixed` (details)
  23. [clangd] Add platform triple (host & target) to version info (details)
  24. [DebugInfo][LoopStrengthReduction] SCEV-based salvaging for LSR (details)
  25. [DebugInfo][InstrRef] Handle llvm.frameaddress intrinsics gracefully (details)
  26. [clang][Driver] Expose driver mode detection logic (details)
  27. Revert "Revert "[clangd] Canonicalize compile flags before applying edits"" (details)
  28. Revert "Revert "[clangd] Adjust compile flags to contain only the requested file as input"" (details)
  29. [DebugInfo][LoopStrengthReduction] SCEV-based salvaging for LSR (details)
  30. [IVDescriptors] Fix bug in checkOrderedReduction (details)
  31. Handle unused variable when assertions are disabled (details)
  32. [libc++] NFC: Try to trigger Docker image rebuild on CI nodes (details)
  33. [clang-repl] Build and install clang-repl by default. (details)
  34. [DebugInfo][InstrRef] Correctly update DBG_PHIs during instr scheduling (details)
  35. [lldb][AArch64] Add memory tag writing to lldb (details)
  36. [libc++] [c++2b] [P2166] Prohibit string and string_view construction from nullptr. (details)
  37. Revert "[X86][AVX] Add getBROADCAST_LOAD helper function. NFCI." (details)
  38. Revert "Revert "[X86][AVX] Add getBROADCAST_LOAD helper function. NFCI."" (details)
  39. Revert "[X86][AVX] Add getBROADCAST_LOAD helper function. NFCI." (details)
  40. Strip undef implying attributes when moving calls (details)
  41. [SystemZ][z/OS] Initial code to generate assembly files on z/OS (details)
  42. Revert "[clang][pp] adds '#pragma include_instead'" (details)
  43. [OpenCL] NULL redefined as nullptr in C++ mode. (details)
  44. Update isl to isl-0.24-69-g54aac5ac (details)
  45. [WebAssembly] Codegen for extmul SIMD instructions (details)
  46. AMDGPU: Treat IMPLICIT_DEF like a constant lanemask source (details)
  47. [mlir][sparse] fixed bug in verification (details)
  48. Re-engineer MLIR python build support. (details)
  49. AMDGPU: Update tests for lower i1 change (details)
  50. [mlir] Math: add algebraic simplification patterns to math transforms (details)
  51. Update reduction test. Remove standalone test file (details)
  52. [LoopVectorize] Don't interleave scalar ordered reductions for inner loops (details)
  53. Enabling the copy-constant-to-alloca optimization in more instances (details)
  54. [AArch64] Update and expand min-max cost model test. NFC (details)
  55. [clang][fpenv][patch] Change clang option -ffp-model=precise to select ffp-contract=on (details)
  56. [RISCV] Select vector shl by 1 to a vector add. (details)
  57. [libc++] CI: Run -std=c++03 on Clang ToT (details)
  58. [runtimes] Always build libc++, libc++abi and libunwind with -fPIC (details)
  59. [lld/mac] When loading reexports, look for basename in -F / -L first (details)
  60. Add jump-threading optimization for deterministic finite automata (details)
  61. [Matrix] RAUW should only replace an instruction in ShapeMap if supportsShapeInfo (details)
  62. [Matrix] Fix shape for factored transpose (details)
  63. [lld/mac] Fix application-extension.s failure after 8e8701abca3d4 (details)
  64. [gn build] Port 02077da7e7a8 (details)
  65. [dfsan][NFC] Update API interfaces (details)
  66. [ASAN] NFC: Remove redundant variable (details)
  67. [AArch64][GlobalISel] Fix constraining LDXPX intrinsic selection. (details)
  68. Add test update for a11d9a1f480f which disables fallbacks. (details)
  69. Remove unused include that's also a layering violation. NFC. (details)
  70. [SystemZ][z/OS][libcxx]: Disable align_val_t test cases on z/OS (details)
  71. [lld/mac] Fix sub-library.s on Windows after 8e8701abca3d4f0 (details)
  72. [z/OS] Make MinGlobalAlign consistent with SystemZ (details)
  73. [hwasan] Fix stack safety test for old PM. (details)
  74. AMDGPU/GlobalISel: Add a few tests for unaligned truncating stores (details)
  75. AMDGPU/GlobalISel: Fix wrong addrspace in test MMOs (details)
  76. AMDGPU/GlobalISel: Fix selecting G_SEXTLOAD/G_ZEXTLOAD pre-gfx9 (details)
  77. [flang] Disallow BOZ literal constants as output list items (details)
  78. [libclang] Check LLVM_HAVE_LINK_VERSION_SCRIPT (details)
  79. [mlir][bzl] Fix typo (details)
  80. [libc++] Disable incomplete library features. (details)
  81. Fix "break delete --disabled" with no arguments. (details)
  82. When calculating the "currently selected thread" in (details)
  83. Add a test for top-level expressions using "expr --top-level". (details)
  84. [libc] Enable MPFR library for math functions test (details)
  85. [PDL] Remove RewriteEndOp and mark RewriteOp as NoTerminator (details)
  86. [mlir] Add a FailureOr copy constructor from a FailureOr of a convertible type. (details)
  87. [x86] add more tests for cmov and lea; NFC (details)
  88. [x86] update stale code comment; NFC (details)
  89. [PowerPC] Turn deprecated altivec prefetch instrs to nops on AIX (details)
  90. [libc] Fix x86_64 fenv implementation for windows (details)
  91. [dfsan][NFC] Describe how origin trace tracking works (details)
  92. [OpenMP] Creating the `omp_target_num_teams` and `omp_target_thread_limit` attributes to outlined functions (details)
  93. [lldb][NFC] Fix incorrect log and comment (details)
  94. [libc] Fix strtok_r crash when src and *saveptr are both nullptr (details)
  95. [OpenMP] Fix deadlock for detachable task with child tasks (details)
  96. [NFC][MLGO] Debug messages for what inline advisor is selected (details)
  97. [OpenMP][Tests] Fix test compatibility (details)
  98. [MLGO] fix silly LLVM_DEBUG misuse (details)
  99. [AIX] Update fetch_and_add type (details)
  100. [Libomptarget] Revert new variable sharing to use the old method (details)
  101. [gn build] manually port 71909de37495 (details)
  102. [lld][ELF] remove empty SyntheticSections from inputSections (details)
  103. Fix test/Transforms/LoopVectorize/AArch64/strict-fadd-vf1.ll. (details)
  104. [compiler-rt][hwasan][Fuchsia] Do not emit FindDynamicShadowStart for Fuchsia (details)
  105. [libcxx][nfc] Delete `cpp20_input_iterator`'s default constructor. (details)
  106. [libcxx][ranges] Add `counted_iterator`. (details)
  107. [Attributor] Disable simplification AAs if a callback is present (details)
  108. [OpenMP] Improve alignment handling in the new device runtime (details)
  109. [Attributor] Verify `checkForAllUses` return value properly (details)
  110. Revert "[Attributor] Disable simplification AAs if a callback is present" (details)
  111. [gn build] Port 8a48e6dda9f7 (details)
  112. Revert "[ELF] --gc-sections: allow GC on reserved sections in a group" (details)
  113. [Hexagon] Fix resetting dead registers in DBG_VALUE_LISTs (details)
  114. Create synthetic symbol names on demand to improve memory consumption and startup times. (details)
  115. [PDL] Fix the builders for OperationOp and PatternOp (details)
  116. [PDL] Mark PatternOp as SingleBlock (details)
  117. [X86] Fix lowering to illegal type in LowerINSERT_VECTOR_ELT (details)
  118. [libc++] Fix a few warnings in system headers with GCC (details)
  119. Add llvm::equal convenient wrapper for ranges around std::equal (details)
  120. Revert "[X86] Fix lowering to illegal type in LowerINSERT_VECTOR_ELT" (details)
  121. Reapply "[Attributor] Disable simplification AAs if a callback is present"" (details)
  122. [X86] Fix lowering to illegal type in LowerINSERT_VECTOR_ELT (details)
  123. Precommit test files for D105344 (NFC) (details)
  124. [DAGCombiner] Fold SETCC(FREEZE(x),const) to FREEZE(SETCC(x,const)) if SETCC is used by BRCOND (details)
  125. llvm/utils: guarantee revert_checker's revert ordering (details)
  126. [clang] NFC: change uses of `Expr->getValueKind` into `is?Value` (details)
  127. [OpenMP] Folding threadLimit and numThreads when single value in kernels (details)
  128. [OpenMP][Libomptarget] Adding `print_device_info` to RTL and `omptarget` (details)
  129. [lld] Replace LLVM_ATTRIBUTE_NORETURN with [[noreturn]] (details)
  130. [mlir] Replace LLVM_ATTRIBUTE_NORETURN with C++11 [[noreturn]] (details)
  131. Fix a thinko in the parsing of substitutions in CommandObjectRegexCommand. (details)
  132. [mlir][openacc] Initial translation for DataOp to LLVM IR (details)
  133. [OpenMP][Tool] Introducing the `llvm-omp-device-info` tool (details)
  134. [OpenMP] Fixing missing variables when CUDA SDK not in system (details)
  135. Bump the trunk major version to 14 (details)
  136. Emit strong definition for TypeID storage in Op/Type/Attributes definition (details)
  137. [AMDGPU] We would need FP if there is call and caller save VGPR spills (details)
  138. Revert "Emit strong definition for TypeID storage in Op/Type/Attributes definition" (details)
  139. Revert "sanitizers: increase .clang-format columns to 100" (details)
  140. [SLP][X86] Fix naming consistency of dot product tests. NFC. (details)
  141. [ORC] Fix missing include. (details)
  142. [LLDB] Skip HW breakpoints test_step_until on Arm/Linux (details)
  143. Revert "[LLDB] Skip HW breakpoints test_step_until on Arm/Linux" (details)
  144. [clang-format] Correctly attach enum braces with ShortEnums disabled (details)
  145. Revert "[DebugInfo][LoopStrengthReduction] SCEV-based salvaging for LSR" (details)
  146. [lldb] Add "memory tag write" command (details)
  147. [lldb] Temporarily bump the max length of the pexpect error message to diagnose an lldb-aarch64 test failure (details)
  148. [ARM] Extra MVE reduction vectorizer tests. NFC (details)
  149. [mlir][memref] Fix collapsed shape ops memref.cast folding with changed type (details)
  150. [LLDB] Skip HW breakpoints test_step_until on Arm/Linux (details)
  151. [LLDB] Skip TestGuiBasicDebug.py on Arm/AArch64 Linux (details)
  152. [libcxx] Bump __libcpp_version to 14 after branch (details)
  153. [mlir][linalg] Introduce a separate EraseIdentityCopyOp Pattern. (details)
  154. Allow #pragma float_control(push|pop) within a language linkage specification (details)
  155. [mlir][linalg] Specialize LinalgOp canonicalization patterns (NFC). (details)
  156. [LV][ARM] Tighten up MLA reduction costing (details)
Commit 5bcbb5ec5f07e4ab0ec8f8941bb4a98cab44d169 by Jan Svoboda
[clang][tooling] Link clangDriver to ToolingTests

This fixes a build failure introduced in 11ee699b3c812ebe56ce5d3b14ab7ef16c1e8495.
The file was modifiedclang/unittests/Tooling/CMakeLists.txt
Commit e00d67dc48be26cc9fc4958c3b2d5149eb5ec230 by david.green
[NFC] Reflow some debug messages.
The file was modifiedllvm/lib/CodeGen/DetectDeadLanes.cpp
The file was modifiedllvm/lib/CodeGen/HardwareLoops.cpp
Commit 172487fe4c67dfe97d40f4dfd0992569746ae651 by fraser
[RISCV] Add support for vector saturating add/sub operations

This patch adds support for lowering the saturating vector add/sub
intrinsics to RVV instructions, for both fixed-length and
scalable-vector forms alike.

Note that some of the DAG combines are still not triggering for the
scalable-vector tests. These require a bit more work in the DAGCombiner
itself.

Reviewed By: craig.topper

Differential Revision: https://reviews.llvm.org/D106651
The file was addedllvm/test/CodeGen/RISCV/rvv/vssub-sdnode.ll
The file was addedllvm/test/CodeGen/RISCV/rvv/vsadd-sdnode.ll
The file was addedllvm/test/CodeGen/RISCV/rvv/fixed-vectors-vssub.ll
The file was addedllvm/test/CodeGen/RISCV/rvv/fixed-vectors-vsaddu.ll
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td
The file was modifiedllvm/lib/Target/RISCV/RISCVISelLowering.h
The file was addedllvm/test/CodeGen/RISCV/rvv/fixed-vectors-vsadd.ll
The file was modifiedllvm/lib/Target/RISCV/RISCVISelLowering.cpp
The file was modifiedllvm/test/CodeGen/RISCV/rvv/combine-sats.ll
The file was addedllvm/test/CodeGen/RISCV/rvv/vsaddu-sdnode.ll
The file was addedllvm/test/CodeGen/RISCV/rvv/vssubu-sdnode.ll
The file was modifiedllvm/test/CodeGen/RISCV/rvv/saddo-sdnode.ll
The file was addedllvm/test/CodeGen/RISCV/rvv/fixed-vectors-vssubu.ll
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
Commit a648f34342740e3fe2ddf040d61909d53b09e323 by hans
[clang-cl] Expose -fmodules and related flags in the driver (PR43391)

I don't know how well this works with clang-cl, but people want to try
it out, and I think we want to make it work, so exposing the flags seems
reasonable.

Differential revision: https://reviews.llvm.org/D106791
The file was modifiedclang/include/clang/Driver/Options.td
The file was modifiedclang/test/Driver/cl-options.c
Commit 35e76a939cabbaa40aeeb572c3cf4039c3077fdf by dvyukov
Revert "sanitizer_common: split LibIgnore into fast/slow paths"

This reverts commit 1e1f7520279c93a59fa6511028ff40412065985e.

It breaks ignore_noninstrumented_modules=1.
Somehow we did not have any portable tests for this mode before
(only Darwin tests). Add a portable test as well.

Moreover, I think I was too fast uninlining all LibIgnore checks.
For Java, Darwin and OpenMP LibIgnore is always enabled,
so it makes sense to leave it as it was before.

Reviewed By: melver

Differential Revision: https://reviews.llvm.org/D106855
The file was modifiedcompiler-rt/test/tsan/ignore_lib0.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_libignore.h
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_libignore.cpp
Commit 0f98e6e87558b34cb00e2a043d471cb71466783a by Jan Svoboda
[clang][tooling] Link LLVMOption to ToolingTests

This fixes a build failure introduced in 11ee699b3c812ebe56ce5d3b14ab7ef16c1e8495.
The file was modifiedclang/unittests/Tooling/CMakeLists.txt
Commit 7b33b849bd337fa68accf6a61e36cb4f0a947af1 by fraser
[SelectionDAG] Support scalable splats in U(ADD|SUB)SAT combines

This patch builds on top of D106575 in which scalable-vector splats were
supported in `ISD::matchBinaryPredicate`. It teaches the DAGCombiner how
to perform a variety of the pre-existing saturating add/sub combines on
scalable-vector types.

Reviewed By: craig.topper

Differential Revision: https://reviews.llvm.org/D106652
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
The file was modifiedllvm/test/CodeGen/RISCV/rvv/combine-sats.ll
Commit 8c63c24dcaf5a5d090e40ce231c5174c15bd187e by benny.kra
[mlir] Fix typo s/applyPermuationMap/applyPermutationMap/
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
Commit dc4ca0dbbcef5eb957efbd2e08a197b4aae3d909 by jay.foad
[GlobalISel] Constant fold G_SITOFP and G_UITOFP in CSEMIRBuilder

Differential Revision: https://reviews.llvm.org/D104528
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/sdiv.i32.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/udiv.i32.ll
The file was modifiedllvm/lib/CodeGen/GlobalISel/CSEMIRBuilder.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.sbfe.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/llvm.powi.ll
The file was modifiedllvm/lib/CodeGen/GlobalISel/Utils.cpp
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/Utils.h
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/srem.i32.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/urem.i32.ll
Commit a5b2ec9c26db124dd7e7b576fff70ba94dc07842 by diana.picus
[flang] Fix thinko in CPU_TIME test

We used to test that end > start, but it can well be >= (otherwise the
loop doesn't make sense).
The file was modifiedflang/unittests/RuntimeGTest/Time.cpp
Commit dc721064b43a40ed57454caebd533f89df16da7e by diana.picus
[flang] Fix minor style issues. NFC
The file was modifiedflang/unittests/RuntimeGTest/Time.cpp
The file was modifiedflang/runtime/time-intrinsic.cpp
Commit d7dd12aee399a19e890143604b6993f02232ca24 by sander.desmalen
[LV] Disable Scalable VFs when tail folding is enabled b/c of low tripcount.

The loop vectorizer may decide to use tail folding when the trip-count
is low. When that happens, scalable VFs are no longer a candidate,
since tail folding/predication is not yet supported for scalable vectors.

This can be re-enabled in a future patch.

Reviewed By: kmclaughlin

Differential Revision: https://reviews.llvm.org/D106657
The file was addedllvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding.ll
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Commit 7d27230de3336b8c79bfdc90f59858f6dad28fa5 by david.spickett
[lldb][AArch64] Add memory tag writing to lldb-server

This is implemented using the QMemTags packet, as specified
by GDB in:
https://sourceware.org/gdb/current/onlinedocs/gdb/General-Query-Packets.html#General-Query-Packets

(recall that qMemTags was previously added to read tags)

On receipt of a valid packet lldb-server will:
* align the given address and length to granules
  (most of the time lldb will have already done this
  but the specification doesn't guarantee it)
* Repeat the supplied tags as many times as needed to cover
  the range. (if tags > range we just use as many as needed)
* Call ptrace POKEMTETAGS to write the tags.

The ptrace step will loop just like the tag read does,
until all tags are written or we get an error.
Meaning that if ptrace succeeds it could be a partial write.
So we call it again and if we then get an error, return an error to
lldb.

We are not going to attempt to restore tags after a partial
write followed by an error. This matches the behaviour of the
existing memory writes.

The lldb-server tests have been extended to include read and
write in the same test file. With some updated function names
since "qMemTags" vs "QMemTags" isn't very clear when they're
next to each other.

Reviewed By: omjavaid

Differential Revision: https://reviews.llvm.org/D105180
The file was modifiedlldb/test/API/tools/lldb-server/memory-tagging/TestGdbRemoteMemoryTagging.py
The file was modifiedlldb/source/Plugins/Process/Linux/NativeProcessLinux.h
The file was modifiedlldb/source/Utility/StringExtractorGDBRemote.cpp
The file was modifiedlldb/include/lldb/Host/common/NativeProcessProtocol.h
The file was modifiedlldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp
The file was modifiedlldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp
The file was modifiedlldb/include/lldb/Utility/StringExtractorGDBRemote.h
The file was modifiedlldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.h
The file was modifiedlldb/source/Host/common/NativeProcessProtocol.cpp
Commit 16ec706cc4b65dce5d6fb7ccf452ef3517a5fc76 by llvm-dev
[X86] Add PR37025 test coverage
The file was addedllvm/test/CodeGen/X86/pr37025.ll
Commit 71b7608df169da51d14684f373255629a84acae9 by fraser
[LangRef][NFC] Fix variable name in llvm.maxnum docs
The file was modifiedllvm/docs/LangRef.rst
Commit 47632352c85e020f5d70257ff1dd2ff190f0253c by czhengsz
[PowerPC] add more testcases for ld_splat; nfc
The file was modifiedllvm/test/CodeGen/PowerPC/load-and-splat.ll
Commit 452095fe2f58528c174ca780265f227439e3e07e by thakis
[clang/darwin] Pass libclang_rt.profile last on linker command

This reverts the functional change of https://reviews.llvm.org/D35385 because
it sounds like this is no longer necessary
(https://bugs.llvm.org/show_bug.cgi?id=51135#c11) and makes clang's behavior
more uniform across platforms.

Differential Revision: https://reviews.llvm.org/D106733
The file was modifiedclang/lib/Driver/ToolChains/Darwin.h
The file was modifiedclang/test/Driver/darwin-ld.c
The file was modifiedclang/lib/Driver/ToolChains/Darwin.cpp
Commit 23eced9ead21c4282cc68c1e93016ad4433a12d6 by Vignesh.Balasubrmanian
Convert the error to warning for enabling OMPD in non-Linux platform

OMPD is enabled by default on Linux machines and disabled on others.
However, if explicitly enabled it throws an error and exit while configuring.

It is mentioned in Bug: https://bugs.llvm.org/show_bug.cgi?id=51121

This patch, instead of throwing error, disables OMPD support with a warning message,
so configuration can continue.

Reviewed By: @protze.joachim
Differential Revision: https://reviews.llvm.org/D106682
The file was modifiedopenmp/runtime/CMakeLists.txt
Commit 43e45f0ec920b45d6073c0aff47597c44948f52c by Raphael Isemann
[lldb] Wait in TestGuiBasicDebug for the interface to open before quitting the welcome screen

Speculative fix for the failing lldb-aarch64-ubuntu bot.
The file was modifiedlldb/test/API/commands/gui/basicdebug/TestGuiBasicDebug.py
Commit 76f3ffb2b285998f02639db8fd42fb0de8a540d0 by chris.jackson
[DebugInfo][LoopStrengthReduction] SCEV-based salvaging for LSR

This patch extends salvaging of debuginfo in the Loop Strength Reduction
(LSR) pass by translating Scalar Evaluations (SCEV) into DIExpressions.
The method is as follows:
- Cache dbg.value intrinsics that are salvageable.
- Obtain a loop Induction Variable (IV) from ScalarExpressionExpander or
  the loop header.
- Translate the IV SCEV into an expression that recovers the current
  loop iteration count. Combine this with the dbg.value's location
  op SCEV to create a DIExpression that salvages the value.

Review by: jmorse

Differential Revision: https://reviews.llvm.org/D105207
The file was modifiedllvm/test/Transforms/LoopStrengthReduce/dbg-preserve-0.ll
The file was modifiedllvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
The file was modifiedllvm/test/Transforms/LoopStrengthReduce/dbg-preserve-2.ll
The file was addedllvm/test/Transforms/LoopStrengthReduce/debuginfo-scev-salvage-3.ll
The file was addedllvm/test/Transforms/LoopStrengthReduce/debuginfo-scev-salvage-4.ll
The file was modifiedllvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
The file was modifiedllvm/include/llvm/Transforms/Utils/ScalarEvolutionExpander.h
The file was addedllvm/test/Transforms/LoopStrengthReduce/debuginfo-scev-salvage-0.ll
The file was addedllvm/test/Transforms/LoopStrengthReduce/debuginfo-scev-salvage-1.ll
The file was addedllvm/test/Transforms/LoopStrengthReduce/debuginfo-scev-salvage-2.ll
Commit ec1fb9533305e9bd69294ede7e5e7d9befbb2225 by sam.mccall
[clangd] Use function pointer instead of function_ref to avoid GCC 5 bug

With GCC <6 constructing a function_ref from a free function reference
leads to it referencing a temporary function pointer. If the lifetime of
that temporary is insufficient it can crash.

Fixes https://github.com/clangd/clangd/issues/800
The file was modifiedclang-tools-extra/clangd/GlobalCompilationDatabase.cpp
Commit cad2affb789201f0d7ccb4b5542f652b37c51c3a by andrzej.warzynski
[flang][driver] Make `flang` ignore `-Mfree/-Mfixed`

`-Mfixed` is not supported by the new driver and hence
`flang`, the bash wrapper script, forwards it to the host compiler.
The forwarded options are used by the host compiler when compiling the
unparsed files. As the unparsed source files are always in the free
form, forwarding `-Mfixed` is problematic.

With this patch, `-Mfixed` (and `-Mfree` for consistency) will be
ignored altogether. The user will only see a warning. This is not a
particularly sound approach, but `flang` is only a temporary solution
for us and this workaround is a fair compromise.

Differential Revision: https://reviews.llvm.org/D106428
The file was modifiedflang/tools/f18/flang.in
Commit e2559e5dc62445a92a9a5344db79f78f735e1e61 by sam.mccall
[clangd] Add platform triple (host & target) to version info

Useful in logs to understand issues around some platforms we don't have much
experience with (e.g. m1, mingw)

Differential Revision: https://reviews.llvm.org/D105681
The file was modifiedclang-tools-extra/clangd/Features.cpp
The file was modifiedclang-tools-extra/clangd/ClangdLSPServer.cpp
The file was modifiedclang-tools-extra/clangd/tool/ClangdMain.cpp
The file was modifiedclang-tools-extra/clangd/index/remote/Client.cpp
The file was modifiedclang-tools-extra/clangd/Features.h
Commit 1930c4410d6b48645b7b7c58cf4403a2a0e3836d by chris.jackson
[DebugInfo][LoopStrengthReduction] SCEV-based salvaging for LSR

This reverts commit 76f3ffb2b285998f02639db8fd42fb0de8a540d0 because
of a failure on sanitixer-X86-64-linux-autoconf.
The file was removedllvm/test/Transforms/LoopStrengthReduce/debuginfo-scev-salvage-3.ll
The file was modifiedllvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
The file was removedllvm/test/Transforms/LoopStrengthReduce/debuginfo-scev-salvage-2.ll
The file was modifiedllvm/test/Transforms/LoopStrengthReduce/dbg-preserve-0.ll
The file was modifiedllvm/test/Transforms/LoopStrengthReduce/dbg-preserve-2.ll
The file was removedllvm/test/Transforms/LoopStrengthReduce/debuginfo-scev-salvage-1.ll
The file was modifiedllvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
The file was modifiedllvm/include/llvm/Transforms/Utils/ScalarEvolutionExpander.h
The file was removedllvm/test/Transforms/LoopStrengthReduce/debuginfo-scev-salvage-4.ll
The file was removedllvm/test/Transforms/LoopStrengthReduce/debuginfo-scev-salvage-0.ll
Commit 7dc9d7373186827a92d6ca08ad7192208dfea389 by jeremy.morse
[DebugInfo][InstrRef] Handle llvm.frameaddress intrinsics gracefully

When working out which instruction defines a value, the
instruction-referencing variable location code has a few special cases for
physical registers:
* Arguments are never defined by instructions,
* Constant physical registers always read the same value, are never def'd

This patch adds a third case for the llvm.frameaddress intrinsics: you can
read the framepointer in any block if you so choose, and use it as a
variable location, as shown in the added test.

This rather violates one of the assumptions behind instruction referencing,
that LLVM-ir shouldn't be able to read from an arbitrary register at some
arbitrary point in the program. The solution for now is to just emit a
DBG_PHI that reads the register value: this works, but if we wanted to do
something clever with DBG_PHIs in the future then this would probably get
in the way. As it stands, this patch avoids a crash.

Differential Revision: https://reviews.llvm.org/D106659
The file was addedllvm/test/DebugInfo/X86/instr-ref-framereg-read.ll
The file was modifiedllvm/lib/CodeGen/MachineFunction.cpp
Commit ce90b60bd09da41c52006374a4715425122572ab by kadircet
[clang][Driver] Expose driver mode detection logic

Also use it in other places that performed it on their own.

Differential Revision: https://reviews.llvm.org/D106789
The file was modifiedclang/lib/Driver/Driver.cpp
The file was modifiedclang/tools/driver/driver.cpp
The file was modifiedclang/include/clang/Driver/Driver.h
The file was modifiedclang/lib/Tooling/InterpolatingCompilationDatabase.cpp
Commit ab714ba056c14bce00ab67cc10e34678f9d77b5a by kadircet
Revert "Revert "[clangd] Canonicalize compile flags before applying edits""

Set driver mode before parsing arglist.

Depends on D106789.

Differential Revision: https://reviews.llvm.org/D106794
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 259e365deaa3a6920b30f49e3d03d3508f1d4900 by kadircet
Revert "Revert "[clangd] Adjust compile flags to contain only the requested file as input""

This reverts commit 04e21fbc44c145d5599ef8db9aaf66b159107f33.
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/test/did-change-configuration-params.test
The file was modifiedclang-tools-extra/clangd/CompileCommands.cpp
The file was modifiedclang-tools-extra/clangd/GlobalCompilationDatabase.cpp
The file was modifiedclang-tools-extra/clangd/unittests/CompileCommandsTests.cpp
Commit 796b84d26f4d461fb50e7b4e84e15a10eaca88fc by chris.jackson
[DebugInfo][LoopStrengthReduction] SCEV-based salvaging for LSR

This reapplies commit 76f3ffb2b285998f02639db8fd42fb0de8a540d0 that was
reverted due to buildbot failures.

- Update lit tests with REQUIRES condition.
- Abandon salvage attempt if SCEVUnknown::getValue() returns nullptr.

Differential Revision: https://reviews.llvm.org/D105207
The file was addedllvm/test/Transforms/LoopStrengthReduce/debuginfo-scev-salvage-3.ll
The file was modifiedllvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
The file was addedllvm/test/Transforms/LoopStrengthReduce/debuginfo-scev-salvage-1.ll
The file was modifiedllvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
The file was addedllvm/test/Transforms/LoopStrengthReduce/debuginfo-scev-salvage-0.ll
The file was addedllvm/test/Transforms/LoopStrengthReduce/debuginfo-scev-salvage-2.ll
The file was modifiedllvm/test/Transforms/LoopStrengthReduce/dbg-preserve-2.ll
The file was modifiedllvm/include/llvm/Transforms/Utils/ScalarEvolutionExpander.h
The file was modifiedllvm/test/Transforms/LoopStrengthReduce/dbg-preserve-0.ll
The file was addedllvm/test/Transforms/LoopStrengthReduce/debuginfo-scev-salvage-4.ll
Commit 68ffed12b7e29c498e5b6d563a218f8710c46e61 by anna
[IVDescriptors] Fix bug in checkOrderedReduction

The Exit instruction passed in for checking if it's an ordered reduction need not be
an FPAdd operation. We need to bail out at that point instead of
assuming it is an FPAdd (and hence has two operands). See added testcase.
It crashes without the patch because the Exit instruction is a phi with
exactly one operand.
This latent bug was exposed by 95346ba which added support for
multi-exit loops for vectorization.

Reviewed-By: kmclaughlin
Differential Revision: https://reviews.llvm.org/D106843
The file was modifiedllvm/lib/Analysis/IVDescriptors.cpp
The file was addedllvm/test/Transforms/LoopVectorize/fp-reduction-crash.ll
Commit d9e3449aa82541d289f4843617e23e93800bc278 by tpopp
Handle unused variable when assertions are disabled
The file was modifiedllvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
Commit 496a3815f43d20853a4fad77c7d70414385c3b06 by Louis Dionne
[libc++] NFC: Try to trigger Docker image rebuild on CI nodes
The file was modifiedlibcxx/utils/ci/Dockerfile
Commit da58ca51f0cf4b415bbfc299ac7cef0666243c6c by v.g.vassilev
[clang-repl] Build and install clang-repl by default.

We have the basic infrastructure in place. We can recover from simple errors
(recovering from errors in template instantiations is not yet supported). It
looks like we are in a reasonably functional state for llvm13.

Differential revision: https://reviews.llvm.org/D106813
The file was modifiedclang/tools/clang-repl/CMakeLists.txt
Commit ec9da5172491413f098af7cd5b5bc5d1c8b9f07d by jeremy.morse
[DebugInfo][InstrRef] Correctly update DBG_PHIs during instr scheduling

Avoid several crashes when DBG_INSTR_REF and DBG_PHI instructions are fed
to the instruction scheduler. DBG_INSTR_REFs should be treated like
DBG_LABELs, and just ignored for the purpose of scheduling [0].

DBG_PHIs however behave much more like DBG_VALUEs: they refer to register
operands, and if some register defs get shuffled around during instruction
scheduling, there's a risk that the debug instr will refer to the wrong
value. There's already a facility for updating DBG_VALUEs to reflect this;
add DBG_PHI to the list of instructions that it will update.

[0] Suboptimal, but it's what instr scheduling does right now.

Differential Revision: https://reviews.llvm.org/D106663
The file was modifiedllvm/include/llvm/CodeGen/AntiDepBreaker.h
The file was modifiedllvm/test/CodeGen/X86/post-ra-sched-with-debug.mir
The file was modifiedllvm/lib/CodeGen/ScheduleDAGInstrs.cpp
Commit 5ea091a8174bcce78839156bd044831cb5211d06 by david.spickett
[lldb][AArch64] Add memory tag writing to lldb

This adds memory tag writing to Process and the
GDB remote code. Supporting work for the
"memory tag write" command. (to follow)

Process WriteMemoryTags is similair to ReadMemoryTags.
It will pack the tags then call DoWriteMemoryTags.
That function will send the QMemTags packet to the gdb-remote.

The QMemTags packet follows the GDB specification in:
https://sourceware.org/gdb/current/onlinedocs/gdb/General-Query-Packets.html#General-Query-Packets

Note that lldb-server will be treating partial writes as
complete failures. So lldb doesn't need to handle the partial
write case in any special way.

Reviewed By: omjavaid

Differential Revision: https://reviews.llvm.org/D105181
The file was modifiedlldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.h
The file was modifiedlldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
The file was modifiedlldb/source/Target/Process.cpp
The file was modifiedlldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h
The file was modifiedlldb/include/lldb/Target/Process.h
The file was modifiedlldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
The file was modifiedlldb/unittests/Process/gdb-remote/GDBRemoteCommunicationClientTest.cpp
Commit 775caa58fcf9005494acdd132a07c8d7edb534b2 by marek.kurdej+llvm.org
[libc++] [c++2b] [P2166] Prohibit string and string_view construction from nullptr.

* https://wg21.link/P2166

Reviewed By: ldionne, #libc

Differential Revision: https://reviews.llvm.org/D106801
The file was modifiedlibcxx/test/libcxx/debug/db_string_view.pass.cpp
The file was modifiedlibcxx/include/string_view
The file was addedlibcxx/test/std/strings/string.view/string.view.cons/nullptr.compile.pass.cpp
The file was modifiedlibcxx/docs/Status/Cxx2bPapers.csv
The file was modifiedlibcxx/include/string
The file was addedlibcxx/test/std/strings/basic.string/string.cons/nullptr.compile.pass.cpp
Commit d7bbb1230a94cb239aa4a8cb896c45571444675d by tpopp
Revert "[X86][AVX] Add getBROADCAST_LOAD helper function. NFCI."

This reverts commit 1cfecf4fc4278afb0005923f6dff595cd372da5c.

This commit broke LLVM code generated through XLA by removing a
conditional on Ld->getExtensionType() == ISD::NON_EXTLOAD
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit 70fa9479b2e803c1bab745d89f3c7883fa72b591 by tpopp
Revert "Revert "[X86][AVX] Add getBROADCAST_LOAD helper function. NFCI.""

This reverts commit d7bbb1230a94cb239aa4a8cb896c45571444675d.

There were follow up uses of a deleted method and I didn't run the
tests. Undo the revert, so I can do it properly.
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit d225de60c933d8feffde917c49a5bbb72530ae28 by tpopp
Revert "[X86][AVX] Add getBROADCAST_LOAD helper function. NFCI."

This reverts commit 1cfecf4fc4278afb0005923f6dff595cd372da5c.

This commit broke LLVM code generated through XLA by removing a
conditional on Ld->getExtensionType() == ISD::NON_EXTLOAD

This is not a perfect revert. The new function is left as other uses of
it exist now.
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit 8ee5759fd50d147328f9e2a7ca9d6894721d0770 by anna
Strip undef implying attributes when moving calls

When hoisting/moving calls to locations, we strip unknown metadata. Such calls are usually marked `speculatable`, i.e. they are guaranteed to not cause undefined behaviour when run anywhere. So, we should strip attributes that can cause immediate undefined behaviour if those attributes are not valid in the context where the call is moved to.

This patch introduces such an API and uses it in relevant passes. See
updated tests.

Fix for PR50744.

Reviewed By: nikic, jdoerfert, lebedev.ri

Differential Revision: https://reviews.llvm.org/D104641
The file was modifiedllvm/lib/Transforms/Utils/Local.cpp
The file was modifiedllvm/test/Transforms/LICM/call-hoisting.ll
The file was modifiedllvm/lib/IR/Instruction.cpp
The file was modifiedllvm/lib/Transforms/Scalar/LICM.cpp
The file was modifiedllvm/include/llvm/IR/Instruction.h
The file was modifiedllvm/lib/Transforms/Utils/SimplifyCFG.cpp
The file was modifiedllvm/test/Transforms/SimplifyCFG/speculate-call.ll
The file was modifiedllvm/test/Transforms/SimplifyCFG/fold-branch-to-common-dest.ll
Commit a8cfa4b9bda3014a88e089cadcc6d366317aec5b by anirudh_prasad
[SystemZ][z/OS] Initial code to generate assembly files on z/OS

- This patch consists of the bare basic code needed in order to generate some assembly for the z/OS target.
- Only the .text and the .bss sections are added for now.
- The relevant MCSectionGOFF/Symbol interfaces have been added. This enables us to print out the GOFF machine code sections.
- This patch enables us to add simple lit tests wherever possible, and contribute to the testing coverage for the z/OS target
- Further improvements and additions will be made in future patches.

Reviewed By: tmatheson

Differential Revision: https://reviews.llvm.org/D106380
The file was modifiedllvm/include/llvm/MC/MCObjectFileInfo.h
The file was modifiedllvm/include/llvm/MC/MCSymbol.h
The file was modifiedllvm/include/llvm/MC/MCSection.h
The file was modifiedllvm/lib/MC/MCObjectFileInfo.cpp
The file was modifiedllvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h
The file was modifiedllvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
The file was modifiedllvm/lib/MC/MCParser/AsmParser.cpp
The file was modifiedllvm/include/llvm/MC/MCContext.h
The file was addedllvm/include/llvm/MC/MCSymbolGOFF.h
The file was modifiedllvm/lib/MC/MCContext.cpp
The file was modifiedllvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
The file was addedllvm/include/llvm/MC/MCSectionGOFF.h
The file was addedllvm/test/CodeGen/SystemZ/zos-simple-test.ll
The file was modifiedllvm/lib/Target/SystemZ/SystemZTargetMachine.cpp
Commit 973de7185606a21fd5e9d5e8c014fbf898c0e72f by hans
Revert "[clang][pp] adds '#pragma include_instead'"

> `#pragma clang include_instead(<header>)` is a pragma that can be used
> by system headers (and only system headers) to indicate to a tool that
> the file containing said pragma is an implementation-detail header and
> should not be directly included by user code.
>
> The library alternative is very messy code that can be seen in the first
> diff of D106124, and we'd rather avoid that with something more
> universal.
>
> This patch takes the first step by warning a user when they include a
> detail header in their code, and suggests alternative headers that the
> user should include instead. Future work will involve adding a fixit to
> automate the process, as well as cleaning up modules diagnostics to not
> suggest said detail headers. Other tools, such as clangd can also take
> advantage of this pragma to add the correct user headers.
>
> Differential Revision: https://reviews.llvm.org/D106394

This caused compiler crashes in Chromium builds involving PCH and an include
directive with macro expansion, when Token::getLiteralData() returned null. See
the code review for details.

This reverts commit e8a64e5491260714c79dab65d1aa73245931d314.
The file was removedclang/test/Preprocessor/Inputs/include_instead/public-before.h
The file was removedclang/test/Preprocessor/Inputs/include_instead/public-empty.h
The file was modifiedclang/lib/Lex/Pragma.cpp
The file was removedclang/test/Preprocessor/Inputs/include_instead/private1.h
The file was modifiedclang/include/clang/Lex/PreprocessorLexer.h
The file was modifiedclang/lib/Lex/PPDirectives.cpp
The file was removedclang/test/Preprocessor/Inputs/include_instead/non-system-header.h
The file was removedclang/test/Preprocessor/Inputs/include_instead/private-x.h
The file was removedclang/test/Preprocessor/Inputs/include_instead/private3.h
The file was removedclang/test/Preprocessor/Inputs/include_instead/private2.h
The file was modifiedclang/lib/Lex/Lexer.cpp
The file was modifiedclang/include/clang/Lex/HeaderSearch.h
The file was modifiedclang/include/clang/Lex/Preprocessor.h
The file was removedclang/test/Preprocessor/Inputs/include_instead/bad-syntax.h
The file was modifiedclang/include/clang/Basic/DiagnosticLexKinds.td
The file was removedclang/test/Preprocessor/include_instead.cpp
The file was modifiedclang/lib/Lex/PPLexerChange.cpp
The file was removedclang/test/Preprocessor/include_instead_file_not_found.cpp
The file was removedclang/test/Preprocessor/Inputs/include_instead/public-after.h
The file was removedclang/test/Preprocessor/Inputs/include_instead/file-not-found.h
Commit e5f47eedeb02595247e433ad756607e6c1397ae3 by anastasia.stulova
[OpenCL] NULL redefined as nullptr in C++ mode.

Redefines NULL as nullptr instead of ((void*)0)
in C++ for OpenCL.

Such internal representation of NULL provides
compatibility with C++11 and later language
standards.

Patch by Topotuna (Justas Janickas)!

Differential Revision: https://reviews.llvm.org/D105987
The file was modifiedclang/lib/Headers/opencl-c-base.h
The file was modifiedclang/test/SemaOpenCL/null_literal.cl
Commit ec3da1a43f1f0fe706e7ea511ab66a3e1dd0a2f2 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.
Some tests have been modified to reflect the isl changes.
The file was addedpolly/lib/External/isl/check_parse_fail_test_templ.c
The file was modifiedpolly/lib/External/isl/Makefile.in
The file was modifiedpolly/lib/External/isl/include/isl/cpp-checked.h
The file was modifiedpolly/lib/External/isl/isl_test.c
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/isl_scheduler.c
The file was modifiedpolly/lib/External/isl/interface/template_cpp.cc
The file was modifiedpolly/test/JSONExporter/ImportAccesses/ImportAccesses-Bad-relation.ll
The file was modifiedpolly/lib/External/isl/interface/isl.py
The file was modifiedpolly/lib/External/isl/isl_ctx_private.h
The file was modifiedpolly/test/JSONExporter/ImportSchedule/ImportSchedule-Schedule-not-valid.ll
The file was modifiedpolly/lib/External/isl/include/isl/typed_cpp.h
The file was modifiedpolly/lib/External/isl/include/isl/map.h
The file was modifiedpolly/lib/External/isl/isl_coalesce.c
The file was modifiedpolly/lib/External/isl/GIT_HEAD_ID
The file was modifiedpolly/lib/External/isl/include/isl/cpp.h
The file was modifiedpolly/test/JSONExporter/ImportContext/ImportContext-Unvalid-Context.ll
The file was modifiedpolly/lib/External/isl/include/isl/set.h
The file was modifiedpolly/lib/External/isl/test_inputs/schedule/niewang.sc
The file was modifiedpolly/lib/External/isl/isl_input.c
The file was modifiedpolly/lib/External/isl/isl_stream.c
The file was modifiedpolly/lib/External/isl/Makefile.am
Commit 33786576fd3a7f79a6627a51386b173940bab0e9 by tlively
[WebAssembly] Codegen for extmul SIMD instructions

Replace the clang builtins and LLVM intrinsics for the SIMD extmul instructions
with normal codegen patterns.

Differential Revision: https://reviews.llvm.org/D106724
The file was modifiedclang/test/Headers/wasm.c
The file was modifiedllvm/test/CodeGen/WebAssembly/simd-arith.ll
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyInstrSIMD.td
The file was modifiedllvm/test/CodeGen/WebAssembly/simd-intrinsics.ll
The file was modifiedclang/include/clang/Basic/BuiltinsWebAssembly.def
The file was modifiedclang/lib/CodeGen/CGBuiltin.cpp
The file was modifiedclang/test/CodeGen/builtins-wasm.c
The file was modifiedllvm/include/llvm/IR/IntrinsicsWebAssembly.td
The file was modifiedclang/lib/Headers/wasm_simd128.h
Commit b32d3d9e81cdd9275d19cd2a396c461edc9e7189 by arsenm2
AMDGPU: Treat IMPLICIT_DEF like a constant lanemask source

This is partially a workaround. SILowerI1Copies does not understand
unstructured loops. This would result in inserting instructions to
merge a mask register in the same block where it was defined in an
unstructured loop.
The file was addedllvm/test/CodeGen/AMDGPU/lower-i1-copies-implicit-def-unstructured-loop.mir
The file was modifiedllvm/lib/Target/AMDGPU/SILowerI1Copies.cpp
Commit c2415d67a5644eae870328497d46d97b28d5a974 by ajcbik
[mlir][sparse] fixed bug in verification

The order of testing in two sparse tensor ops was incorrect,
which could cause an invalid cast (crashing the compiler instead
of reporting the error). This revision fixes that bug.

Reviewed By: gussmith23

Differential Revision: https://reviews.llvm.org/D106841
The file was modifiedmlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp
The file was modifiedmlir/test/Dialect/SparseTensor/invalid.mlir
Commit 310c9496d80961188e8d8f8ad306cdf44bd7541f by stellaraccident
Re-engineer MLIR python build support.

* Implements all of the discussed features:
  - Links against common CAPI libraries that are self contained.
  - Stops using the 'python/' directory at the root for everything, opening the namespace up for multiple projects to embed the MLIR python API.
  - Separates declaration of sources (py and C++) needed to build the extension from building, allowing external projects to build custom assemblies from core parts of the API.
  - Makes the core python API relocatable (i.e. it could be embedded as something like 'npcomp.ir', 'npcomp.dialects', etc). Still a bit more to do to make it truly isolated but the main structural reset is done.
  - When building statically, installed python packages are completely self contained, suitable for direct setup and upload to PyPi, et al.
  - Lets external projects assemble their own CAPI common runtime library that all extensions use. No more possibilities for TypeID issues.
  - Begins modularizing the API so that external projects that just include a piece pay only for what they use.
* I also rolled in a re-organization of the native libraries that matches how I was packaging these out of tree and is a better layering (i.e. all libraries go into a nested _mlir_libs package). There is some further cleanup that I resisted since it would have required source changes that I'd rather do in a followup once everything stabilizes.
* Note that I made a somewhat odd choice in choosing to recompile all extensions for each project they are included into (as opposed to compiling once and just linking). While not leveraged yet, this will let us set definitions controlling the namespacing of the extensions so that they can be made to not conflict across projects (with preprocessor definitions).
* This will be a relatively substantial breaking change for downstreams. I will handle the npcomp migration and will coordinate with the circt folks before landing. We should stage this and make sure it isn't causing problems before landing.
* Fixed a couple of absolute imports that were causing issues.

Differential Revision: https://reviews.llvm.org/D106520
The file was removedmlir/lib/Bindings/Python/CMakeLists.txt
The file was removedmlir/python/mlir/dialects/CMakeLists.txt
The file was modifiedmlir/docs/Bindings/Python.md
The file was removedmlir/lib/Bindings/CMakeLists.txt
The file was modifiedmlir/lib/CMakeLists.txt
The file was modifiedmlir/python/mlir/_cext_loader.py
The file was modifiedmlir/cmake/modules/AddMLIRPython.cmake
The file was removedmlir/lib/Bindings/Python/Transforms/CMakeLists.txt
The file was modifiedmlir/python/mlir/dialects/_builtin_ops_ext.py
The file was removedmlir/lib/Bindings/Python/Conversions/CMakeLists.txt
The file was removedmlir/test/python/CMakeLists.txt
The file was modifiedmlir/python/mlir/dialects/linalg/opdsl/lang/emitter.py
The file was modifiedmlir/python/mlir/dialects/_linalg_ops_ext.py
The file was modifiedmlir/test/lit.cfg.py
The file was modifiedmlir/cmake/modules/AddMLIR.cmake
The file was addedmlir/python/mlir/_mlir_libs/__init__.py
The file was modifiedmlir/test/CMakeLists.txt
The file was modifiedmlir/python/CMakeLists.txt
The file was addedmlir/python/mlir/dialects/PythonTest.td
The file was modifiedmlir/test/python/ir/operation.py
Commit 9b1bcaea4e0e32636e13e767ecee4de398ce7bd2 by arsenm2
AMDGPU: Update tests for lower i1 change

I forgot to squash the test updates for b32d3d9e81cdd9275d19cd2a396c461edc9e7189
The file was modifiedllvm/test/CodeGen/AMDGPU/loop_break.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/sgpr-control-flow.ll
Commit d94426d22a25559f25fd86276d7e9aefbd9d05ab by ezhulenev
[mlir] Math: add algebraic simplification patterns to math transforms

Reviewed By: bkramer

Differential Revision: https://reviews.llvm.org/D106822
The file was modifiedmlir/include/mlir/Dialect/Math/Transforms/Passes.h
The file was modifiedmlir/tools/mlir-opt/mlir-opt.cpp
The file was addedmlir/test/lib/Dialect/Math/TestAlgebraicSimplification.cpp
The file was modifiedmlir/lib/Dialect/Math/Transforms/CMakeLists.txt
The file was modifiedmlir/test/lib/Dialect/Math/CMakeLists.txt
The file was addedmlir/lib/Dialect/Math/Transforms/AlgebraicSimplification.cpp
The file was addedmlir/test/Dialect/Math/algebraic-simplification.mlir
Commit c78b9542e36f6092390a766e98660e60adf1d521 by anna
Update reduction test. Remove standalone test file

Based on post commit review comments at 68ffed12b.
The file was modifiedllvm/test/Transforms/LoopVectorize/reduction-order.ll
The file was removedllvm/test/Transforms/LoopVectorize/fp-reduction-crash.ll
Commit a5dd6c6cf9356f7e7c4611a0d5c198ae7cd34106 by david.sherwood
[LoopVectorize] Don't interleave scalar ordered reductions for inner loops

Consider the following loop:

  void foo(float *dst, float *src, int N) {
    for (int i = 0; i < N; i++) {
      dst[i] = 0.0;
      for (int j = 0; j < N; j++) {
        dst[i] += src[(i * N) + j];
      }
    }
  }

When we are not building with -Ofast we may attempt to vectorise the
inner loop using ordered reductions instead. In addition we also try
to select an appropriate interleave count for the inner loop. However,
when choosing a VF=1 the inner loop will be scalar and there is existing
code in selectInterleaveCount that limits the interleave count to 2
for reductions due to concerns about increasing the critical path.
For ordered reductions this problem is even worse due to the additional
data dependency, and so I've added code to simply disable interleaving
for scalar ordered reductions for now.

Test added here:

  Transforms/LoopVectorize/AArch64/strict-fadd-vf1.ll

Differential Revision: https://reviews.llvm.org/D106646
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp
The file was addedllvm/test/Transforms/LoopVectorize/AArch64/strict-fadd-vf1.ll
Commit b373b5990d5991a920c421b21a352e4ccf4c4993 by andrew.kaylor
Enabling the copy-constant-to-alloca optimization in more instances

Patch by Mohammad Fawaz

This patch allows lifetime calls to be ignored (and later erased) if we
know that the copy-constant-to-alloca optimization is going to happen.
The case that is missed is when the global variable is in a different address
space than the alloca (as shown in the example added to the lit test.)

This used to work before https://github.com/llvm/llvm-project/commit/6da31fa4a61d68af21dfa1e144e726ed6d77903e

Differential Revision: https://reviews.llvm.org/D106573
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
The file was modifiedllvm/test/Transforms/InstCombine/memcpy-from-global.ll
Commit 098984a80c630404df0c7c12bd987722e3dc83a2 by david.green
[AArch64] Update and expand min-max cost model test. NFC

This expands the cost model test for min/max to many more types,
including floating point minnum/maxnum and minimum/maximum, and FP16
with and without fullfp16.  The old llc run lines are removed, as those
are better tested by CodeGen tests.
The file was modifiedllvm/test/Analysis/CostModel/AArch64/min-max.ll
Commit 48ad446a0fb2c9b98cb7047e4daf8a84c29cef8f by melanie.blower
[clang][fpenv][patch] Change clang option -ffp-model=precise to select ffp-contract=on

Change the ffp-model=precise to enables -ffp-contract=on (previously
-ffp-model=precise enabled -ffp-contract=fast). This is a follow-up
to Andy Kaylor's comments in the llvm-dev discussion "Floating Point
semantic modes". From the same email thread, I put Andy's distillation
of floating point options and floating point modes into UsersManual.rst
Also fixes bugs.llvm.org/show_bug.cgi?id=50222

I had to revert this a few times because of failures on the x86-64
buildbot but I think we finally have that fixed by LNT/79f2b03c51.

Reviewed By: rjmccall, andrew.kaylor

Differential Revision: https://reviews.llvm.org/D74436
The file was modifiedclang/test/CodeGen/ppc-xmmintrin.c
The file was modifiedclang/test/Driver/fp-model.c
The file was modifiedclang/test/CodeGen/ppc-emmintrin.c
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp
The file was modifiedclang/test/CodeGen/ffp-contract-option.c
The file was modifiedclang/docs/UsersManual.rst
Commit 3852b8c70fbf5ad55e87ab5ccb0bd2f0a5c65977 by craig.topper
[RISCV] Select vector shl by 1 to a vector add.

A vector add may be faster than a vector shift.

Reviewed By: frasercrmck

Differential Revision: https://reviews.llvm.org/D106689
The file was modifiedllvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-scatter.ll
The file was modifiedllvm/test/CodeGen/RISCV/rvv/mscatter-sdnode.ll
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vshl-sdnode-rv32.ll
The file was modifiedllvm/test/CodeGen/RISCV/urem-seteq-illegal-types.ll
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
The file was modifiedllvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-gather.ll
The file was modifiedllvm/test/CodeGen/RISCV/rvv/mgather-sdnode.ll
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vshl-sdnode-rv64.ll
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td
The file was modifiedllvm/test/CodeGen/RISCV/rvv/fixed-vectors-bitreverse.ll
The file was modifiedllvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-buildvec.ll
Commit 45478619e3eb5860e48a9258a7ac1cfb09fcbb5f by Louis Dionne
[libc++] CI: Run -std=c++03 on Clang ToT

Differential Revision: https://reviews.llvm.org/D106104
The file was modifiedlibcxx/utils/ci/Dockerfile
The file was modifiedlibcxx/utils/ci/run-buildbot
Commit 21c24ae9029a1fcd1c76b61b1c48b81b5c66c606 by Louis Dionne
[runtimes] Always build libc++, libc++abi and libunwind with -fPIC

Building the libraries with -fPIC ensures that we can link an executable
against the static libraries with -fPIE. Furthermore, there is apparently
basically no downside to building the libraries with position independent
code, since modern toolchains are sufficiently clever.

This commit enforces that we always build the runtime libraries with -fPIC.
This is another take on D104327, which instead makes the decision of whether
to build with -fPIC or not to the build script that drives the runtimes'
build.

Fixes http://llvm.org/PR43604.

Differential Revision: https://reviews.llvm.org/D104328
The file was modifiedlibcxxabi/src/CMakeLists.txt
The file was modifiedlibcxx/src/CMakeLists.txt
The file was modifiedlibunwind/src/CMakeLists.txt
Commit 8e8701abca3d4f05bd00762cd13df6a96635c3ef by thakis
[lld/mac] When loading reexports, look for basename in -F / -L first

Matches ld64 (cf Options::findIndirectDylib()), and fixes PR51218.

Differential Revision: https://reviews.llvm.org/D106842
The file was modifiedlld/MachO/InputFiles.cpp
The file was modifiedlld/test/MachO/sub-library.s
Commit 02077da7e7a8ff76c0576bb33adb462c337013f5 by dancgr
Add jump-threading optimization for deterministic finite automata

The current JumpThreading pass does not jump thread loops since it can
result in irreducible control flow that harms other optimizations. This
prevents switch statements inside a loop from being optimized to use
unconditional branches.

This code pattern occurs in the core_state_transition function of
Coremark. The state machine can be implemented manually with goto
statements resulting in a large runtime improvement, and this transform
makes the switch implementation match the goto version in performance.

This patch specifically targets switch statements inside a loop that
have the opportunity to be threaded. Once it identifies an opportunity,
it creates new paths that branch directly to the correct code block.
For example, the left CFG could be transformed to the right CFG:

```
          sw.bb                        sw.bb
        /   |   \                    /   |   \
   case1  case2  case3          case1  case2  case3
        \   |   /                /       |       \
        latch.bb             latch.2  latch.3  latch.1
         br sw.bb              /         |         \
                           sw.bb.2     sw.bb.3     sw.bb.1
                            br case2    br case3    br case1
```

Co-author: Justin Kreiner @jkreiner
Co-author: Ehsan Amiri @amehsan

Reviewed By: SjoerdMeijer

Differential Revision: https://reviews.llvm.org/D99205
The file was modifiedllvm/lib/Transforms/Scalar/CMakeLists.txt
The file was addedllvm/test/Transforms/DFAJumpThreading/dfa-unfold-select.ll
The file was modifiedllvm/include/llvm/InitializePasses.h
The file was modifiedllvm/include/llvm/Transforms/Scalar.h
The file was modifiedllvm/include/llvm/LinkAllPasses.h
The file was addedllvm/include/llvm/Transforms/Scalar/DFAJumpThreading.h
The file was modifiedllvm/lib/Transforms/Scalar/Scalar.cpp
The file was addedllvm/test/Transforms/DFAJumpThreading/max-path-length.ll
The file was addedllvm/test/Transforms/DFAJumpThreading/dfa-jump-threading-transform.ll
The file was addedllvm/test/Transforms/DFAJumpThreading/dfa-jump-threading-analysis.ll
The file was addedllvm/lib/Transforms/Scalar/DFAJumpThreading.cpp
The file was modifiedllvm/lib/Passes/PassBuilder.cpp
The file was modifiedllvm/lib/Transforms/IPO/PassManagerBuilder.cpp
The file was addedllvm/test/Transforms/DFAJumpThreading/negative.ll
The file was addedllvm/test/Transforms/DFAJumpThreading/dfa-constant-propagation.ll
The file was modifiedllvm/lib/Passes/PassRegistry.def
Commit bf7eb48454872cce85da42e0c006fa214e38fc0a by anemet
[Matrix] RAUW should only replace an instruction in ShapeMap if supportsShapeInfo

As an instruction is replaced in optimizeTransposes RAUW will replace it in
the ShapeMap (ShapeMap is ValueMap so that uses are updated).  In
finalizeLowering however we skip updating uses if they are in the ShapeMap
since they will be lowered separately at which point we pick up the lowered
operands.

In the testcase what happened was that since we replaced the doubled-transpose
with the shuffle, it ended up in the ShapeMap.  As we lowered the
columnwise-load the use in the shuffle was not updated.  Then as we removed
the original columnwise-load we changed that to an undef.  I.e. we ended up
with:

```
%shuf = shufflevector <8 x double> undef, <8 x double> poison, <6 x i32>
                                   ^^^^^
                                  <i32 0, i32 1, i32 2, i32 4, i32 5, i32 6>
```

Besides the fix itself, I have fortified this last bit.  As we change uses to
undef when removing instruction we track the undefed instruction to make sure
we eventually remove those too.  This would have caught the issue at compile
time.

Differential Revision: https://reviews.llvm.org/D106714
The file was modifiedllvm/test/Transforms/LowerMatrixIntrinsics/transpose-opts.ll
The file was modifiedllvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp
Commit d87d3615f75502b3adf93d05d4a217f6ab947fdd by anemet
[Matrix] Fix shape for factored transpose

The shape of the input is C x R.

Differential Revision: https://reviews.llvm.org/D106722
The file was modifiedllvm/test/Transforms/LowerMatrixIntrinsics/transpose-opts.ll
The file was modifiedllvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp
Commit e26356a00ecba749b471ee7096b47d199b622c85 by thakis
[lld/mac] Fix application-extension.s failure after 8e8701abca3d4

The test accidentally tested something else that makes lld fail
with a different (correct-looking) error that wasn't the one the
test tries to test for. (The test case before this change makes
ld64 hang in an infinite loop.)
The file was modifiedlld/test/MachO/application-extension.s
Commit df95697db32ba0ff9e78b59f536b7a11e8f73b07 by llvmgnsyncbot
[gn build] Port 02077da7e7a8
The file was modifiedllvm/utils/gn/secondary/llvm/lib/Transforms/Scalar/BUILD.gn
Commit 00411ebeeb718da63d1ec0e0ffc8e5012e474fe9 by jianzhouzh
[dfsan][NFC] Update API interfaces

Reviewed By: gbalats

Differential Revision: https://reviews.llvm.org/D106895
The file was modifiedclang/docs/DataFlowSanitizerDesign.rst
Commit 1ee6559ef698301eeb220126937b563858999d92 by Vitaly Buka
[ASAN] NFC: Remove redundant variable

`StackAlignment` has only one use: `StackAlignment = std::max(StackAlignment, AI.getAlignment());` So it is redundant.

Reviewed By: vitalybuka, MTC

Differential Revision: https://reviews.llvm.org/D106741
The file was modifiedllvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
Commit a11d9a1f480ff83f98c550a6139637ff69c9c07c by Amara Emerson
[AArch64][GlobalISel] Fix constraining LDXPX intrinsic selection.

Causes a fallback because of lack of regclasses on vregs, unless its without
asserts, where we end up crashing later in codegen.
The file was modifiedllvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
Commit fac6c5cf9b65fba6e028d9d2fdbec5c3114db542 by Amara Emerson
Add test update for a11d9a1f480f which disables fallbacks.
The file was modifiedllvm/test/CodeGen/AArch64/arm64-ldxr-stxr.ll
Commit 05815c9f638c2a62e1ce9b28b26d74c7bea81f2e by benny.kra
Remove unused include that's also a layering violation. NFC.
The file was modifiedllvm/lib/Transforms/Scalar/DFAJumpThreading.cpp
Commit 3dc39f282996c5785915f115fd37fb981f8d479a by muiez
[SystemZ][z/OS][libcxx]: Disable align_val_t test cases on z/OS

align_val_t is not supported on z/OS, it causes failure on z/OS. similar to https://reviews.llvm.org/rGd0fe294729a2ac45625ed45a5619c8405a14db49 , we will need to disable those test cases on z/OS platform.

Differential Revision: https://reviews.llvm.org/D106810
The file was modifiedlibcxx/test/std/language.support/support.dynamic/align_val_t.pass.cpp
The file was modifiedlibcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_size_align_nothrow.verify.cpp
The file was modifiedlibcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new_size_align.verify.cpp
The file was modifiedlibcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new_size_align_nothrow.verify.cpp
The file was modifiedlibcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_size_align.verify.cpp
Commit dd57915b1ef6568e335053131e600eb4c26d1f1e by thakis
[lld/mac] Fix sub-library.s on Windows after 8e8701abca3d4f0

The endswith() check for the framework name fails when joining
with the native path separator. Always use the posix separator as fix.
The file was modifiedlld/MachO/InputFiles.cpp
Commit a2d4b064644bdf146d0649c6a70e595567f1213f by fanbo.meng
[z/OS] Make MinGlobalAlign consistent with SystemZ

Remove overriding MinGlobalAlign to 0 for z/OS target to be consistent with SystemZ.

Reviewed By: abhina.sreeskantharajan

Differential Revision: https://reviews.llvm.org/D106890
The file was modifiedclang/lib/Basic/Targets/OSTargets.h
Commit 835ef6f93d5789d3d7d905462e7574a38b30577d by fmayer
[hwasan] Fix stack safety test for old PM.

With the old PM, the stub for __hwasan_generate_tag is still generated
in the IR, but never called.

Reviewed By: vitalybuka

Differential Revision: https://reviews.llvm.org/D106858
The file was modifiedclang/test/CodeGen/hwasan-stack-safety-analysis.c
Commit 74c65906bcb77bf79cd7a102456e6e46d001290a by arsenm2
AMDGPU/GlobalISel: Add a few tests for unaligned truncating stores
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-store.mir
Commit 82ab1ae54e91619c8e56d8184ae5fcf1d1fa23e3 by arsenm2
AMDGPU/GlobalISel: Fix wrong addrspace in test MMOs
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-private.mir
Commit d7d2e4545e6b04ea29ffd05ebef2f7c26590b925 by arsenm2
AMDGPU/GlobalISel: Fix selecting G_SEXTLOAD/G_ZEXTLOAD pre-gfx9

The patterns for the m0 glue patterns were failing to import.
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUGISel.td
The file was addedllvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-zextload-local.mir
The file was addedllvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-sextload-local.mir
Commit 571673ce390a2f4973946c06801dfb2037115750 by psteinfeld
[flang] Disallow BOZ literal constants as output list items

According to C7109, "A boz-literal-constant shall appear only as a
data-stmt-constant in a DATA statement, or where explicitly allowed in
16.9 as an actual argument of an intrinsic procedure."  This change
enforces that constraint for output list items.

I also added a general interface to determine if an expression is a BOZ
literal constant and changed all of the places I could find where it
could be used.

I also added a test.

This change stemmed from the following issue --
  https://gitlab-master.nvidia.com/fortran/f18-stage/issues/108

Differential Revision: https://reviews.llvm.org/D106893
The file was modifiedflang/lib/Semantics/data-to-inits.cpp
The file was modifiedflang/lib/Semantics/check-call.cpp
The file was modifiedflang/lib/Semantics/expression.cpp
The file was modifiedflang/include/flang/Evaluate/tools.h
The file was modifiedflang/lib/Semantics/check-io.cpp
The file was modifiedflang/lib/Evaluate/intrinsics.cpp
The file was modifiedflang/test/Semantics/boz-literal-constants.f90
Commit e07f9342be7132f433963880d95e471ae2246d64 by Jinsong Ji
[libclang] Check LLVM_HAVE_LINK_VERSION_SCRIPT

There are some platform that might not have version script support,
don't try to use version script on those.

Reviewed By: MaskRay, hubert.reinterpretcast

Differential Revision: https://reviews.llvm.org/D106914
The file was modifiedclang/tools/libclang/CMakeLists.txt
Commit d1c7a57fe8e051aa7886a7d4052627f6bc4a4ae6 by jpienaar
[mlir][bzl] Fix typo
The file was modifiedutils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Commit 71909de37495c82e31ae3a59f366f48e8fb66e54 by koraq
[libc++] Disable incomplete library features.

Adds a new CMake option to disable the usage of incomplete headers.
These incomplete headers are not guaranteed to be ABI stable. This
option is intended to be used by vendors so they can avoid their users
from code that's not ready for production usage.

The option is enabled by default.

Differential Revision: https://reviews.llvm.org/D106763
The file was modifiedlibcxx/test/std/ranges/range.adaptors/range.drop/ctor.default.pass.cpp
The file was modifiedlibcxx/test/std/utilities/format/format.formatter/format.parse.ctx/types.compile.pass.cpp
The file was modifiedlibcxx/test/std/containers/associative/set/range_concept_conformance.compile.pass.cpp
The file was modifiedlibcxx/test/std/ranges/range.adaptors/range.transform/iterator/base.pass.cpp
The file was modifiedlibcxx/test/libcxx/ranges/range.nonprop.cache/deref.pass.cpp
The file was modifiedlibcxx/test/std/ranges/range.access/range.prim/data.pass.cpp
The file was modifiedlibcxx/test/std/ranges/range.utility/range.subrange/enable_borrowed_range.compile.pass.cpp
The file was modifiedlibcxx/test/std/containers/unord/unord.multiset/range_concept_conformance.compile.pass.cpp
The file was modifiedlibcxx/test/std/ranges/range.req/range.range/enable_borrowed_range.compile.pass.cpp
The file was modifiedlibcxx/test/std/containers/unord/unord.set/range_concept_conformance.compile.pass.cpp
The file was modifiedlibcxx/test/std/ranges/range.req/range.range/range.compile.pass.cpp
The file was modifiedlibcxx/include/ranges
The file was modifiedlibcxx/test/std/ranges/range.adaptors/range.transform/iterator/sentinel.pass.cpp
The file was modifiedlibcxx/test/std/ranges/range.req/range.view/view_base.compile.pass.cpp
The file was modifiedlibcxx/test/std/ranges/range.adaptors/range.transform/iterator/plus_minus.pass.cpp
The file was modifiedlibcxx/test/std/ranges/range.req/range.refinements/viewable_range.compile.pass.cpp
The file was modifiedlibcxx/docs/BuildingLibcxx.rst
The file was modifiedlibcxx/test/std/ranges/range.access/range.access.cend/incomplete.compile.verify.cpp
The file was modifiedlibcxx/test/std/ranges/range.utility/range.subrange/ctor/pair_like_conv.pass.cpp
The file was modifiedlibcxx/test/libcxx/ranges/range.nonprop.cache/assign.copy.pass.cpp
The file was modifiedlibcxx/test/libcxx/ranges/range.nonprop.cache/ctor.default.pass.cpp
The file was modifiedlibcxx/test/std/utilities/format/format.formatter/format.parse.ctx/check_arg_id.pass.cpp
The file was modifiedlibcxx/test/std/ranges/range.adaptors/range.drop/base.pass.cpp
The file was modifiedlibcxx/test/std/containers/unord/unord.map/range_concept_conformance.compile.pass.cpp
The file was modifiedlibcxx/test/std/ranges/range.access/range.access.end/end.pass.cpp
The file was modifiedlibcxx/test/std/ranges/range.access/range.prim/ssize.pass.cpp
The file was modifiedlibcxx/test/std/ranges/range.adaptors/range.common.view/ctor.default.pass.cpp
The file was modifiedlibcxx/test/std/containers/associative/map/range_concept_conformance.compile.pass.cpp
The file was modifiedlibcxx/test/std/ranges/range.adaptors/range.drop/begin.pass.cpp
The file was modifiedlibcxx/test/libcxx/ranges/range.adaptors/range.copy.wrap/ctor.default.pass.cpp
The file was modifiedlibcxx/test/std/ranges/range.range/borrowed_range.compile.pass.cpp
The file was modifiedlibcxx/test/libcxx/ranges/range.adaptors/range.copy.wrap/assign.copy.pass.cpp
The file was modifiedlibcxx/test/std/ranges/range.req/range.range/range_size_t.compile.pass.cpp
The file was modifiedlibcxx/test/std/ranges/range.utility/range.subrange/ctor/range_size.pass.cpp
The file was modifiedlibcxx/utils/generate_feature_test_macro_components.py
The file was modifiedlibcxx/test/libcxx/ranges/range.adaptors/range.copy.wrap/ctor.in_place.pass.cpp
The file was modifiedlibcxx/test/libcxx/ranges/range.nonprop.cache/has_value.pass.cpp
The file was modifiedlibcxx/test/std/ranges/range.utility/range.subrange/access/get.pass.cpp
The file was modifiedlibcxx/test/std/ranges/range.adaptors/range.transform/iterator/types.pass.cpp
The file was modifiedlibcxx/test/std/ranges/range.adaptors/range.transform/iterator/subscript.pass.cpp
The file was modifiedlibcxx/test/std/ranges/range.adaptors/range.transform/general.pass.cpp
The file was modifiedlibcxx/test/libcxx/ranges/range.utility.helpers/has_arrow.compile.pass.cpp
The file was modifiedlibcxx/test/std/ranges/range.req/range.range/sentinel_t.compile.pass.cpp
The file was modifiedlibcxx/test/std/ranges/range.adaptors/range.transform/size.pass.cpp
The file was modifiedlibcxx/test/std/utilities/format/format.formatter/format.parse.ctx/advance_to.pass.cpp
The file was modifiedlibcxx/test/std/containers/sequences/list/range_concept_conformance.compile.pass.cpp
The file was modifiedlibcxx/test/std/input.output/filesystems/class.path/range_concept_conformance.compile.pass.cpp
The file was modifiedlibcxx/test/std/ranges/range.utility/range.dangling/dangling.pass.cpp
The file was modifiedlibcxx/test/std/ranges/range.adaptors/range.ref.view.pass.cpp
The file was modifiedlibcxx/test/std/ranges/range.req/range.refinements/forward_range.compile.pass.cpp
The file was modifiedlibcxx/test/std/ranges/range.adaptors/range.drop/ctad.compile.pass.cpp
The file was modifiedlibcxx/test/std/ranges/range.req/range.view/enable_view.compile.pass.cpp
The file was modifiedlibcxx/include/format
The file was modifiedlibcxx/test/libcxx/double_include.sh.cpp
The file was modifiedlibcxx/test/std/containers/sequences/vector/range_concept_conformance.compile.pass.cpp
The file was modifiedlibcxx/test/std/utilities/format/format.formatter/format.parse.ctx/begin.pass.cpp
The file was modifiedlibcxx/test/libcxx/ranges/range.adaptors/range.copy.wrap/deref.pass.cpp
The file was modifiedlibcxx/test/libcxx/ranges/range.adaptors/range.copy.wrap/no_unique_address.pass.cpp
The file was modifiedlibcxx/test/std/ranges/range.adaptors/range.transform/iterator/iter_move.pass.cpp
The file was modifiedlibcxx/test/std/utilities/format/format.error/format.error.pass.cpp
The file was modifiedlibcxx/test/std/ranges/range.req/range.range/helper_aliases.compile.pass.cpp
The file was modifiedlibcxx/test/libcxx/ranges/range.nonprop.cache/assign.move.pass.cpp
The file was modifiedlibcxx/test/std/ranges/range.adaptors/range.transform/end.pass.cpp
The file was modifiedlibcxx/test/std/strings/string.view/range_concept_conformance.compile.pass.cpp
The file was modifiedlibcxx/test/std/ranges/range.access/range.access.begin/incomplete.compile.verify.cpp
The file was modifiedlibcxx/test/std/ranges/range.adaptors/range.all/all_t.compile.pass.cpp
The file was modifiedlibcxx/test/std/ranges/range.utility/range.subrange/general.compile.pass.cpp
The file was modifiedlibcxx/src/CMakeLists.txt
The file was modifiedlibcxx/test/std/ranges/range.adaptors/range.transform/iterator/requirements.compile.pass.cpp
The file was modifiedlibcxx/test/std/ranges/range.adaptors/range.drop/ctor.view.pass.cpp
The file was modifiedlibcxx/test/std/ranges/range.adaptors/range.transform/begin.pass.cpp
The file was modifiedlibcxx/test/std/ranges/range.utility/range.subrange/access/advance.pass.cpp
The file was modifiedlibcxx/test/std/ranges/range.req/range.refinements/random_access_range.compile.pass.cpp
The file was modifiedlibcxx/test/std/ranges/range.req/range.refinements/subsumption.compile.pass.cpp
The file was modifiedlibcxx/test/std/utilities/format/format.formatter/format.parse.ctx/end.pass.cpp
The file was modifiedlibcxx/CMakeLists.txt
The file was modifiedlibcxx/test/libcxx/ranges/range.nonprop.cache/ctor.move.pass.cpp
The file was modifiedlibcxx/test/libcxx/ranges/range.adaptors/range.copy.wrap/properties.compile.pass.cpp
The file was modifiedlibcxx/test/std/containers/sequences/vector.bool/range_concept_conformance.compile.pass.cpp
The file was modifiedlibcxx/test/std/ranges/range.adaptors/range.common.view/base.pass.cpp
The file was modifiedlibcxx/test/std/containers/sequences/array/range_concept_conformance.compile.pass.cpp
The file was modifiedlibcxx/test/std/ranges/range.adaptors/range.drop/size.pass.cpp
The file was modifiedlibcxx/test/std/ranges/range.req/range.range/iterator_t.compile.pass.cpp
The file was modifiedlibcxx/test/std/ranges/range.access/range.access.cbegin/incomplete.compile.verify.cpp
The file was modifiedlibcxx/test/std/strings/basic.string/range_concept_conformance.compile.pass.cpp
The file was modifiedlibcxx/cmake/caches/Apple.cmake
The file was modifiedlibcxx/test/std/ranges/range.req/range.refinements/common_range.compile.pass.cpp
The file was modifiedlibcxx/test/std/containers/associative/multimap/range_concept_conformance.compile.pass.cpp
The file was modifiedlibcxx/test/libcxx/no_assert_include.compile.pass.cpp
The file was modifiedlibcxx/utils/generate_header_tests.py
The file was modifiedlibcxx/test/std/ranges/range.req/range.view/view.subsumption.compile.pass.cpp
The file was modifiedlibcxx/test/std/ranges/range.req/range.refinements/bidirectional_range.compile.pass.cpp
The file was modifiedlibcxx/test/std/ranges/range.adaptors/range.common.view/begin.pass.cpp
The file was modifiedlibcxx/test/libcxx/ranges/range.utility.helpers/different_from.compile.pass.cpp
The file was modifiedlibcxx/test/std/containers/associative/multiset/range_concept_conformance.compile.pass.cpp
The file was modifiedlibcxx/test/std/ranges/range.adaptors/range.transform/base.pass.cpp
The file was modifiedlibcxx/test/std/ranges/range.adaptors/range.transform/iterator/arithmetic.pass.cpp
The file was modifiedlibcxx/test/std/ranges/range.req/range.refinements/contiguous_range.compile.pass.cpp
The file was modifiedlibcxx/test/std/ranges/range.utility/range.subrange/ctad.compile.pass.cpp
The file was modifiedlibcxx/test/std/language.support/support.limits/support.limits.general/format.version.pass.cpp
The file was modifiedlibcxx/test/std/ranges/range.adaptors/range.common.view/borrowing.compile.pass.cpp
The file was modifiedlibcxx/test/std/ranges/range.req/range.refinements/input_range.compile.pass.cpp
The file was modifiedlibcxx/test/std/utilities/format/format.formatter/format.parse.ctx/ctor.pass.cpp
The file was modifiedlibcxx/test/std/ranges/range.utility/range.subrange/ctor/range.pass.cpp
The file was modifiedlibcxx/test/std/language.support/support.limits/support.limits.general/ranges.version.pass.cpp
The file was modifiedlibcxx/test/libcxx/ranges/range.utility.helpers/simple_view.compile.pass.cpp
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.transform/iterator/compare.pass.cpp
The file was modifiedlibcxx/test/std/ranges/range.adaptors/range.common.view/ctad.compile.pass.cpp
The file was modifiedlibcxx/test/std/utilities/format/format.formatter/format.parse.ctx/next_arg_id.pass.cpp
The file was modifiedlibcxx/utils/libcxx/test/features.py
The file was modifiedlibcxx/test/std/containers/sequences/deque/range_concept_conformance.compile.pass.cpp
The file was modifiedlibcxx/test/std/iterators/predef.iterators/iterators.common/assign.pass.cpp
The file was modifiedlibcxx/test/std/ranges/range.utility/range.subrange/access/primitives.pass.cpp
The file was modifiedlibcxx/test/std/input.output/filesystems/class.directory_iterator/range_concept_conformance.compile.pass.cpp
The file was modifiedlibcxx/test/std/ranges/range.adaptors/range.transform/iterator/ctor.pass.cpp
The file was modifiedlibcxx/test/std/ranges/range.utility/range.dangling/borrowed_subrange.compile.pass.cpp
The file was modifiedlibcxx/test/std/ranges/range.range/borrowed_range.subsumption.compile.pass.cpp
The file was modifiedlibcxx/test/std/ranges/range.adaptors/range.common.view/ctor.view.pass.cpp
The file was modifiedlibcxx/utils/generate_header_inclusion_tests.py
The file was modifiedlibcxx/test/libcxx/utilities/format/version.compile.pass.cpp
The file was modifiedlibcxx/test/std/ranges/range.adaptors/range.drop/dangling.cache.pass.cpp
The file was modifiedlibcxx/test/libcxx/ranges/range.adaptors/range.copy.wrap/assign.move.pass.cpp
The file was modifiedlibcxx/test/std/ranges/range.req/range.sized/sized_range.compile.pass.cpp
The file was modifiedlibcxx/test/std/re/re.results/range_concept_conformance.compile.pass.cpp
The file was modifiedlibcxx/test/std/ranges/range.access/range.access.end/incomplete.compile.verify.cpp
The file was modifiedlibcxx/test/std/ranges/range.adaptors/range.drop/end.pass.cpp
The file was modifiedlibcxx/test/libcxx/ranges/version.compile.pass.cpp
The file was modifiedlibcxx/test/std/ranges/range.access/range.access.begin/begin.pass.cpp
The file was modifiedlibcxx/test/libcxx/ranges/range.nonprop.cache/ctor.copy.pass.cpp
The file was modifiedlibcxx/test/std/ranges/range.adaptors/range.transform/iterator/deref.pass.cpp
The file was modifiedlibcxx/test/std/ranges/range.access/range.prim/data.incomplete.verify.cpp
The file was modifiedlibcxx/test/std/ranges/range.adaptors/range.common.view/end.pass.cpp
The file was modifiedlibcxx/test/std/ranges/range.adaptors/range.all/all.pass.cpp
The file was modifiedlibcxx/test/std/ranges/range.req/range.view/view.compile.pass.cpp
The file was modifiedlibcxx/include/__config_site.in
The file was modifiedlibcxx/test/libcxx/min_max_macros.compile.pass.cpp
The file was modifiedlibcxx/test/std/containers/unord/unord.multimap/range_concept_conformance.compile.pass.cpp
The file was modifiedlibcxx/test/std/ranges/range.access/range.prim/empty.incomplete.verify.cpp
The file was modifiedlibcxx/test/std/ranges/range.req/range.sized/subsumption.compile.pass.cpp
The file was modifiedlibcxx/test/std/ranges/range.req/range.refinements/output_range.compile.pass.cpp
The file was modifiedlibcxx/test/libcxx/ranges/range.adaptors/range.copy.wrap/has_value.pass.cpp
The file was modifiedlibcxx/test/std/ranges/range.adaptors/range.empty/empty_view.pass.cpp
The file was modifiedlibcxx/test/std/ranges/range.utility/range.subrange/ctor/begin_end_size.pass.cpp
The file was modifiedlibcxx/test/libcxx/inclusions/ranges.inclusions.compile.pass.cpp
The file was modifiedlibcxx/test/libcxx/ranges/range.nonprop.cache/constraints.compile.pass.cpp
The file was modifiedlibcxx/test/std/containers/sequences/forwardlist/range_concept_conformance.compile.pass.cpp
The file was modifiedlibcxx/test/std/ranges/range.access/range.prim/size.pass.cpp
The file was modifiedlibcxx/test/std/ranges/range.adaptors/range.transform/ctad.compile.pass.cpp
The file was modifiedlibcxx/test/std/ranges/range.utility/range.dangling/borrowed_iterator.compile.pass.cpp
The file was modifiedlibcxx/test/std/ranges/range.utility/view.interface/view.interface.pass.cpp
The file was modifiedlibcxx/test/std/containers/views/range_concept_conformance.compile.pass.cpp
The file was modifiedlibcxx/test/std/ranges/range.adaptors/range.drop/general.pass.cpp
The file was modifiedlibcxx/test/std/ranges/range.access/range.prim/empty.pass.cpp
The file was modifiedlibcxx/test/std/ranges/range.utility/range.subrange/ctor/begin_end.pass.cpp
Commit 0018c7123be3e090ba546fb730ed316fa2567655 by jingham
Fix "break delete --disabled" with no arguments.

The code that figured out which breakpoints to delete was supposed
to set the result status if it found breakpoints, and then the code
that actually deleted them checked that the result's status was set.

The code for "break delete --disabled" failed to set the status if
no "protected" breakpoints were provided.  This was a confusing way
to implement this, so I reworked it with early returns so it was less
error prone, and added a test case for the no arguments case.

Differential Revision: https://reviews.llvm.org/D106623
The file was modifiedlldb/test/API/functionalities/breakpoint/breakpoint_command/TestBreakpointCommand.py
The file was modifiedlldb/source/Commands/CommandObjectBreakpoint.cpp
Commit 910353c1048e5efac64b639a65b4d968aba3aa81 by jingham
When calculating the "currently selected thread" in
Process::HandleStateChangedEvent, we check whether a thread stopped
for eStopReasonSignal is stopped for a signal that's currently set to
"no-stop". If it is, then we don't set that thread as the currently
selected thread.

But that only happens in the part of the algorithm that's handling the
case where the previously selected thread has no stop reason. Since we
want to keep on a thread as long as it is doing something interesting,
we always prefer the current thread. That's almost right, but we
forgot to check whether the previously selected thread stopped with an
eStopReasonSignal for a "no-stop" signal. If it did, then we shouldn't
select it.

This patch adds that check. I can't figure out a good way to test
this. This is the sort of thing that Ismail's scripted process plugin
will make easy once it is a real boy. But figuring out how to do this
in a real process is not trivial.

Differential Revision: https://reviews.llvm.org/D106712
The file was modifiedlldb/source/Target/Process.cpp
Commit 69529286ce2dcd90563bca97537ce570c6d115b4 by jingham
Add a test for top-level expressions using "expr --top-level".

This was broken for a while even though the Python version
continued to work.  This adds a test so it doesn't regress.
The file was modifiedlldb/test/API/commands/expression/top-level/TestTopLevelExprs.py
Commit 8baa87d91811a3da0dc69550b84a773d98902c8b by hedingarcia
[libc] Enable MPFR library for math functions test

Included more math functions to Windows's entrypoints
and made a cmake option (-DLLVM_LIBC_MPFR_INSTALL_PATH)
where the user can specify the install path where the MPFR
library was built so it can be linked. The try_compile was
moved to LLVMLibCCheckMPFR.cmake, so the variable that is
set after this process can retain its value in other files
of the same parent file. A direct reason for this is for
LIBC_TESTS_CAN_USE_MPFR to be true when the user specifies
MPFR's path and retain its value even after leaving the file.

Reviewed By: sivachandra

Differential Revision: https://reviews.llvm.org/D106894
The file was addedlibc/cmake/modules/LLVMLibCCheckMPFR.cmake
The file was modifiedlibc/config/windows/entrypoints.txt
The file was modifiedlibc/utils/MPFRWrapper/CMakeLists.txt
The file was modifiedlibc/config/windows/README.md
The file was modifiedlibc/CMakeLists.txt
Commit ddd84821172152592f76c2d5bf3debed436fc05e by riddleriver
[PDL] Remove RewriteEndOp and mark RewriteOp as NoTerminator

RewriteEndOp was a fake terminator operation that is no longer needed now that blocks are not required to have terminators.

Differential Revision: https://reviews.llvm.org/D106911
The file was modifiedmlir/test/Dialect/PDL/invalid.mlir
The file was modifiedmlir/include/mlir/Dialect/PDL/IR/PDLOps.td
Commit e90a0d6381911fba87ae55fc1e6f877a3f3890d9 by riddleriver
[mlir] Add a FailureOr copy constructor from a FailureOr of a convertible type.
The file was modifiedmlir/include/mlir/Support/LogicalResult.h
Commit 0b8d30b16e01b1ce9915aa7626ba6bacf1becc3b by spatel
[x86] add more tests for cmov and lea; NFC
The file was modifiedllvm/test/CodeGen/X86/add-cmov.ll
Commit 156ba620b3805f6b0b106b3751ec68a4722e35ff by spatel
[x86] update stale code comment; NFC

The transform was generalized with:
1ce05ad619a5
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit 778932c673c28ce5fb75e551f1aa6bb5a542c563 by nemanja.i.ibm
[PowerPC] Turn deprecated altivec prefetch instrs to nops on AIX

The dst/dstt/dstst/dststt instructions are nop's on all PowerPC
cores that AIX supports. The AIX assembler also does not accept
these mnemonics. Turn them into nop's on AIX (similar to dstall).
The file was modifiedllvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
The file was modifiedllvm/test/CodeGen/PowerPC/2007-09-04-AltivecDST.ll
Commit dd8b93a9e76bc5e3c8fc521fcb06c779371211d3 by sivachandra
[libc] Fix x86_64 fenv implementation for windows

All fenv functions are also enabled for windows. Since two tests,
enabled_exceptions_test and feholdexcept_test are still failing on
windows, they have been disabled.

Reviewed By: aeubanks

Differential Revision: https://reviews.llvm.org/D106808
The file was modifiedlibc/utils/FPUtil/x86_64/FEnvImpl.h
The file was modifiedlibc/config/windows/entrypoints.txt
The file was modifiedlibc/test/src/fenv/CMakeLists.txt
Commit c49df15c278857adecd12db6bb1cdc96885f7079 by jianzhouzh
[dfsan][NFC] Describe how origin trace tracking works

Reviewed By: gbalats

Differential Revision: https://reviews.llvm.org/D106903
The file was modifiedclang/docs/DataFlowSanitizerDesign.rst
Commit 0276db14167b9348904322084e7fc1a04cc72452 by tianshilei1992
[OpenMP] Creating the `omp_target_num_teams` and `omp_target_thread_limit` attributes to outlined functions

The device runtime contains several calls to __kmpc_get_hardware_num_threads_in_block
and __kmpc_get_hardware_num_blocks. If the thread_limit and the num_teams are constant,
these calls can be folded to the constant value.

In commit D106033 we have the optimization phase. This commit adds the attributes to
the outlined function for the grid size. the two attributes are `omp_target_num_teams` and
`omp_target_thread_limit`. These values are added as long as they are constant.

Two functions are created `getNumThreadsExprForTargetDirective` and
`getNumTeamsExprForTargetDirective`. The original functions `emitNumTeamsForTargetDirective`
and `emitNumThreadsForTargetDirective` identify the expresion and emit the code.
However, for the Device version of the outlined function, we cannot emit anything.
Therefore, this is a first attempt to separate emision of code from deduction of the
values.

Reviewed By: jdoerfert

Differential Revision: https://reviews.llvm.org/D106298
The file was modifiedclang/test/OpenMP/target_teams_distribute_simd_private_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_simd_firstprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/nvptx_multi_target_parallel_codegen.cpp
The file was modifiedclang/test/OpenMP/nvptx_target_parallel_codegen.cpp
The file was modifiedclang/test/OpenMP/target_parallel_for_debug_codegen.cpp
The file was modifiedclang/test/OpenMP/nvptx_target_parallel_num_threads_codegen.cpp
The file was modifiedclang/test/OpenMP/target_map_codegen_03.cpp
The file was modifiedclang/lib/CodeGen/CGOpenMPRuntime.h
The file was modifiedclang/test/OpenMP/target_parallel_for_codegen.cpp
The file was modifiedclang/test/OpenMP/target_parallel_debug_codegen.cpp
The file was modifiedclang/test/OpenMP/target_parallel_num_threads_codegen.cpp
The file was modifiedclang/test/OpenMP/target_parallel_for_simd_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_simd_reduction_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_thread_limit_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_simd_lastprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/target_parallel_codegen.cpp
The file was modifiedclang/test/OpenMP/nvptx_target_teams_distribute_parallel_for_simd_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_simd_dist_schedule_codegen.cpp
The file was modifiedclang/test/OpenMP/nvptx_target_codegen.cpp
The file was modifiedclang/test/OpenMP/target_parallel_if_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_codegen.cpp
The file was modifiedclang/test/OpenMP/nvptx_lambda_capturing.cpp
The file was modifiedclang/test/OpenMP/target_teams_num_teams_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_simd_codegen.cpp
The file was addedclang/test/OpenMP/target_num_teams_num_threads_attributes.cpp
The file was modifiedclang/test/OpenMP/nvptx_target_teams_distribute_parallel_for_codegen.cpp
The file was modifiedclang/lib/CodeGen/CGOpenMPRuntime.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_simd_collapse_codegen.cpp
The file was modifiedclang/test/OpenMP/declare_target_codegen_globalization.cpp
Commit 0a74fbb7b1d3e04ac03389f1fc455ac593c2e5ee by apl
[lldb][NFC] Fix incorrect log and comment

Likely copy & paste issue that was overlooked years ago
The file was modifiedlldb/source/Plugins/ABI/AArch64/ABIMacOSX_arm64.cpp
Commit 0784e62c3c4a4aaabdf29f6fa0b5f8f7598a90d4 by sivachandra
[libc] Fix strtok_r crash when src and *saveptr are both nullptr

While working and testing my refactoring of multiple string functions in libc, I came across a bug that needs to be addressed in a patch on its own: src is checked for nullptr and assigned to *saveptr if it is nullptr. However, saveptr is initially nullptr when it comes to reentry. This could cause a problem if both saveptr and src are null; we need to do the check first and return nullptr if both are nullptr.

Reviewed By: sivachandra

Differential Revision: https://reviews.llvm.org/D106885
The file was modifiedlibc/src/string/string_utils.h
The file was modifiedlibc/test/src/string/strtok_r_test.cpp
Commit 3c76e992911afdf0cb2394e3fba3f13c17c15b26 by protze
[OpenMP] Fix deadlock for detachable task with child tasks

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

For detachable tasks, the assumption breaks that the proxy task cannot have
remaining child tasks when the proxy completes.
In stead of increment/decrement the incomplete task count, a high-order bit
is flipped to mark and wait for the incomplete proxy task.

Differential Revision: https://reviews.llvm.org/D101082
The file was modifiedopenmp/runtime/src/kmp_tasking.cpp
The file was addedopenmp/runtime/test/tasking/detach_nested_task.c
Commit eb76ca573d755fd445596e63ef1f0d30937097f6 by mtrofin
[NFC][MLGO] Debug messages for what inline advisor is selected

We already have an indication (error) if the desired inline advisor
cannot be enabled, but we don't have a positive indication. Added
LLVM_DEBUG messages for the latter.
The file was modifiedllvm/lib/Analysis/InlineAdvisor.cpp
Commit e32e1dae61f20569fc16951b15ab9f63b9acfe08 by protze
[OpenMP][Tests] Fix test compatibility

gcc and clang disagree in how the event handle needs to be handled.
According to OpenMP LC, gcc is right. Will open clang bug report
The file was modifiedopenmp/runtime/test/tasking/detach_nested_task.c
Commit 935dea2cb2f3266bdb7bd7ae669dd8220820052b by mtrofin
[MLGO] fix silly LLVM_DEBUG misuse
The file was modifiedllvm/lib/Analysis/InlineAdvisor.cpp
Commit edbdf8e5b5aad9f1d7f12dd4025d6811a6fff0b2 by Jinsong Ji
[AIX] Update fetch_and_add type

It turns out that the AIX kernel is defining int instead of unsigned int for fetch_and_add.

Legacy XL also defines this to be signed.

https://www.ibm.com/docs/en/aix/7.2?topic=f-fetch-add-kernel-services

So update the type for compat.

Reviewed By: hubert.reinterpretcast

Differential Revision: https://reviews.llvm.org/D106920
The file was modifiedclang/test/CodeGen/builtins-ppc-xlcompat-fetch-error.c
The file was modifiedclang/test/CodeGen/builtins-ppc-xlcompat-fetch.c
The file was modifiedclang/include/clang/Basic/BuiltinsPPC.def
Commit e3ee76245ead4eebad2aec0e24c2582ffa9c7378 by huberjn
[Libomptarget] Revert new variable sharing to use the old method

The new method of sharing variables introduces a `__kmpc_alloc_shared` call
that cannot be removed in the middle end because of its non-constant argument
and unconnected free. This patch reverts this to the old method that used a
static amount of shared memory for sharing variables.

Reviewed By: jdoerfert

Differential Revision: https://reviews.llvm.org/D106905
The file was modifiedopenmp/libomptarget/DeviceRTL/include/Interface.h
The file was modifiedopenmp/libomptarget/DeviceRTL/src/State.cpp
The file was modifiedopenmp/libomptarget/DeviceRTL/src/Parallelism.cpp
Commit 38880394030ea5c126884d3571dc742487b6df13 by thakis
[gn build] manually port 71909de37495
The file was modifiedllvm/utils/gn/secondary/libcxx/include/BUILD.gn
Commit b9cf1769de54152c05614e6bf00c89f2a67f6d8d by amilendra.kodithuwakku
[lld][ELF] remove empty SyntheticSections from inputSections

Change removeUnusedSyntheticSections() to actually remove empty
SyntheticSections in inputSections.

In addition to doing what removeUnusedSyntheticSections() was meant
to do, this will also make the shuffle-sections tests, which shuffles
inputSections, less sensitive to empty Synthetic Sections that
will not appear in the final image.

Reviewed By: MaskRay

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

Change-Id: I589eaf596472161a4395fb658aea0fad73318088
The file was modifiedlld/test/ELF/shuffle-sections-init-fini.s
The file was modifiedlld/ELF/Writer.cpp
The file was modifiedlld/test/ELF/shuffle-sections.s
Commit 3d272eea08b1e018a0dfbd6dbd602272382aa99a by jyknight
Fix test/Transforms/LoopVectorize/AArch64/strict-fadd-vf1.ll.

It was writing to the source directory (which may not be writeable),
rather than using %t.

Fixes: a5dd6c6cf935 ("[LoopVectorize] Don't interleave scalar ordered reductions for inner loops")
The file was modifiedllvm/test/Transforms/LoopVectorize/AArch64/strict-fadd-vf1.ll
Commit 86832c9440fbf1a8d707dc7ce25bdce197735fa1 by leonardchan
[compiler-rt][hwasan][Fuchsia] Do not emit FindDynamicShadowStart for Fuchsia

This function is unused because fuchsia does not support a dynamic shadow.

Differential Revision: https://reviews.llvm.org/D105735
The file was modifiedcompiler-rt/lib/hwasan/hwasan_dynamic_shadow.cpp
Commit b187e0389d13d72056c7c15e10bcb7f429a9aa87 by zoecarver
[libcxx][nfc] Delete `cpp20_input_iterator`'s default constructor.

This will make it conform only to the minimum requirements for an `input_iterator`.
The file was modifiedlibcxx/test/support/test_iterators.h
Commit 8a48e6dda9f7fb9c7ae7207dcb9570d2c11255ad by zoecarver
[libcxx][ranges] Add `counted_iterator`.

Differential Revision: https://reviews.llvm.org/D106205
The file was addedlibcxx/test/std/iterators/predef.iterators/counted.iterator/iterator_traits.compile.pass.cpp
The file was addedlibcxx/test/std/iterators/predef.iterators/counted.iterator/iterator_concept_conformance.compile.pass.cpp
The file was addedlibcxx/test/std/iterators/predef.iterators/counted.iterator/decrement.pass.cpp
The file was modifiedlibcxx/include/module.modulemap
The file was addedlibcxx/include/__iterator/counted_iterator.h
The file was addedlibcxx/test/std/iterators/predef.iterators/counted.iterator/minus.eq.pass.cpp
The file was addedlibcxx/test/std/iterators/predef.iterators/counted.iterator/compare.pass.cpp
The file was addedlibcxx/test/std/iterators/predef.iterators/counted.iterator/minus.iter.pass.cpp
The file was addedlibcxx/test/std/iterators/predef.iterators/counted.iterator/subscript.pass.cpp
The file was addedlibcxx/test/std/iterators/predef.iterators/counted.iterator/deref.pass.cpp
The file was addedlibcxx/test/std/iterators/predef.iterators/counted.iterator/increment.cpp
The file was addedlibcxx/test/std/iterators/predef.iterators/counted.iterator/iter_move.pass.cpp
The file was modifiedlibcxx/docs/Status/RangesPaper.csv
The file was addedlibcxx/test/std/iterators/predef.iterators/counted.iterator/base.pass.cpp
The file was addedlibcxx/test/std/iterators/predef.iterators/counted.iterator/arrow.pass.cpp
The file was addedlibcxx/test/std/iterators/predef.iterators/counted.iterator/iter_swap.pass.cpp
The file was addedlibcxx/test/std/iterators/predef.iterators/counted.iterator/plus.pass.cpp
The file was addedlibcxx/test/std/iterators/predef.iterators/counted.iterator/ctor.default.pass.cpp
The file was addedlibcxx/test/libcxx/diagnostics/detail.headers/iterator/counted_iterator.module.verify.cpp
The file was addedlibcxx/test/std/iterators/predef.iterators/counted.iterator/ctor.iter.pass.cpp
The file was modifiedlibcxx/include/iterator
The file was addedlibcxx/test/std/iterators/predef.iterators/counted.iterator/count.pass.cpp
The file was addedlibcxx/test/std/iterators/predef.iterators/counted.iterator/assign.pass.cpp
The file was addedlibcxx/test/std/iterators/predef.iterators/counted.iterator/minus.size.pass.cpp
The file was addedlibcxx/test/std/iterators/predef.iterators/counted.iterator/minus.default_sentinel.pass.cpp
The file was modifiedlibcxx/include/CMakeLists.txt
The file was addedlibcxx/test/std/iterators/predef.iterators/counted.iterator/ctor.conv.pass.cpp
The file was addedlibcxx/test/std/iterators/predef.iterators/counted.iterator/member_types.compile.pass.cpp
The file was addedlibcxx/test/std/iterators/predef.iterators/counted.iterator/three_way_compare.pass.cpp
Commit cbb709e25124dc38ee593882051fc88c987fe591 by johannes
[Attributor] Disable simplification AAs if a callback is present

AAValueSimplify, AAValueConstantRange, and AAPotentialValues all look at
the IR by default. If queried for a IR position which has a
simplification callback we should either look at the callback return, or
give up. We do the latter for now.
The file was modifiedllvm/include/llvm/Transforms/IPO/Attributor.h
The file was modifiedllvm/lib/Transforms/IPO/AttributorAttributes.cpp
Commit ed7ec860f03caf6b702f27a74c3682d061f60e1d by johannes
[OpenMP] Improve alignment handling in the new device runtime
The file was modifiedopenmp/libomptarget/DeviceRTL/src/State.cpp
The file was modifiedopenmp/libomptarget/DeviceRTL/include/Utils.h
Commit fd520e75f173f380de530f101005e16256a6de42 by johannes
[Attributor] Verify `checkForAllUses` return value properly

Also do not emit more than one remark after Heap2Stack failed.
The file was modifiedllvm/lib/Transforms/IPO/AttributorAttributes.cpp
Commit aa27430a625b2fd059707a87f8ba2df8f480ff11 by johannes
Revert "[Attributor] Disable simplification AAs if a callback is present"

This reverts commit cbb709e25124dc38ee593882051fc88c987fe591 as it
breaks the tests, which was not supposed to happen. Investigating now.
The file was modifiedllvm/lib/Transforms/IPO/AttributorAttributes.cpp
The file was modifiedllvm/include/llvm/Transforms/IPO/Attributor.h
Commit 7809e04e3c5fd0912f35fb5ec951378a6a2f0e83 by llvmgnsyncbot
[gn build] Port 8a48e6dda9f7
The file was modifiedllvm/utils/gn/secondary/libcxx/include/BUILD.gn
Commit b00c8ab1b915d7f32ad7a60255f33f210e12a3c6 by i
Revert "[ELF] --gc-sections: allow GC on reserved sections in a group"

clang may place dynamic initializations for explicitly specialized class
template static data members in comdat.
Such in-comdat SHT_INIT_ARRAY was an abuse but we have to work around it for a while.
The file was modifiedlld/ELF/MarkLive.cpp
The file was modifiedlld/test/ELF/gc-sections-group.s
Commit 64d5b6e3737c02742b3568e797d84d831f7e8734 by kparzysz
[Hexagon] Fix resetting dead registers in DBG_VALUE_LISTs

This fixes https://llvm.org/PR51229.
The file was addedllvm/test/CodeGen/Hexagon/hwloop-dbg-register.mir
The file was modifiedllvm/lib/Target/Hexagon/HexagonHardwareLoops.cpp
Commit ec1a49170129ddb62f268ff0b3f12b3d09987a7e by gclayton
Create synthetic symbol names on demand to improve memory consumption and startup times.

This is a resubmission of https://reviews.llvm.org/D105160 after fixing testing issues.

This fix was created after profiling the target creation of a large C/C++/ObjC application that contained almost 4,000,000 redacted symbol names. The symbol table parsing code was creating names for each of these synthetic symbols and adding them to the name indexes. The code was also adding the object file basename to the end of the symbol name which doesn't allow symbols from different shared libraries to share the names in the constant string pool.

Prior to this fix this was creating 180MB of "___lldb_unnamed_symbol" symbol names and was taking a long time to generate each name, add them to the string pool and then add each of these names to the name index.

This patch fixes the issue by:

not adding a name to synthetic symbols at creation time, and allows name to be dynamically generated when accessed
doesn't add synthetic symbol names to the name indexes, but catches this special case as name lookup time. Users won't typically set breakpoints or lookup these synthetic names, but support was added to do the lookup in case it does happen
removes the object file baseanme from the generated names to allow the names to be shared in the constant string pool
Prior to this fix the startup times for a large application was:
12.5 seconds (cold file caches)
8.5 seconds (warm file caches)

After this fix:
9.7 seconds (cold file caches)
5.7 seconds (warm file caches)

The names of the symbols are auto generated by appending the symbol's UserID to the end of the "___lldb_unnamed_symbol" string and is only done when the name is requested from a synthetic symbol if it has no name.

Differential Revision: https://reviews.llvm.org/D106837
The file was modifiedlldb/test/Shell/SymbolFile/Breakpad/symtab.test
The file was modifiedlldb/include/lldb/Symbol/ObjectFile.h
The file was modifiedlldb/include/lldb/Symbol/Symtab.h
The file was modifiedlldb/test/Shell/ObjectFile/ELF/eh_frame-symbols.yaml
The file was modifiedlldb/include/lldb/Symbol/Symbol.h
The file was modifiedlldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
The file was modifiedlldb/source/Symbol/ObjectFile.cpp
The file was modifiedlldb/source/Symbol/Symbol.cpp
The file was modifiedlldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
The file was modifiedlldb/source/Symbol/Symtab.cpp
Commit 6b4ce5fd52e03dc2a5dcf0930353c021a48605bb by riddleriver
[PDL] Fix the builders for OperationOp and PatternOp
The file was modifiedmlir/include/mlir/Dialect/PDL/IR/PDLOps.td
The file was modifiedmlir/lib/Dialect/PDL/IR/PDL.cpp
Commit 2f7511c82239a11b902dba7ac170668183fdca74 by riddleriver
[PDL] Mark PatternOp as SingleBlock

This provides access to the SingleBlock accessor methods, e.g. getBody().
The file was modifiedmlir/include/mlir/Dialect/PDL/IR/PDLOps.td
Commit 6ff73efea94621e74642e4d7a15cc86a5fb6d411 by xiang1.zhang
[X86] Fix lowering to illegal type in LowerINSERT_VECTOR_ELT
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/X86/insertelement-var-index.ll
Commit 2e4755ff6058b5032b77ccca04aa6dab7db081a5 by Louis Dionne
[libc++] Fix a few warnings in system headers with GCC

This isn't fixing all of them, but at least it's making some progress.

Differential Revision: https://reviews.llvm.org/D106283
The file was modifiedlibcxx/include/__ranges/transform_view.h
The file was modifiedlibcxx/include/barrier
The file was modifiedlibcxx/include/memory
The file was modifiedlibcxx/include/semaphore
The file was modifiedlibcxx/include/__config
The file was modifiedlibcxx/include/compare
The file was modifiedlibcxx/include/cmath
The file was modifiedlibcxx/include/regex
The file was modifiedlibcxx/include/charconv
The file was modifiedlibcxx/include/random
The file was modifiedlibcxx/include/__hash_table
Commit aaacd8c40622f11f9f98c1a33373f97437e228d6 by joker.eph
Add llvm::equal convenient wrapper for ranges around std::equal

Differential Revision: https://reviews.llvm.org/D106913
The file was modifiedllvm/include/llvm/ADT/STLExtras.h
The file was modifiedmlir/include/mlir/IR/OpBase.td
Commit 2ca3937131d92d7111964ee9ab8b9ab1d35e8a08 by xiang1.zhang
Revert "[X86] Fix lowering to illegal type in LowerINSERT_VECTOR_ELT"

This reverts commit 6ff73efea94621e74642e4d7a15cc86a5fb6d411.
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/X86/insertelement-var-index.ll
Commit 3dca83961c9a35b6f640d9f7fdc244ec07bffe71 by johannes
Reapply "[Attributor] Disable simplification AAs if a callback is present""

This reapplies commit cbb709e25124dc38ee593882051fc88c987fe591 and
includes the use of the lookup method instead of operator[] to avoid
accidentally setting (empty) simplification callbacks.

This reverts commit aa27430a625b2fd059707a87f8ba2df8f480ff11.
The file was modifiedllvm/include/llvm/Transforms/IPO/Attributor.h
The file was modifiedllvm/lib/Transforms/IPO/Attributor.cpp
The file was modifiedllvm/lib/Transforms/IPO/AttributorAttributes.cpp
Commit 3223d41017f1667d47a828fc98b86008bdecddb0 by xiang1.zhang
[X86] Fix lowering to illegal type in LowerINSERT_VECTOR_ELT

Differential Revision: https://reviews.llvm.org/D106780
The file was modifiedllvm/test/CodeGen/X86/insertelement-var-index.ll
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit 784f258c0970ec978dc761e390b32cc2ef84d29d by aqjune
Precommit test files for D105344 (NFC)
The file was addedllvm/test/CodeGen/X86/setcc-freeze.ll
Commit 4f71f59bf3d9914188a11d0c41bedbb339d36ff5 by aqjune
[DAGCombiner] Fold SETCC(FREEZE(x),const) to FREEZE(SETCC(x,const)) if SETCC is used by BRCOND

This patch adds a peephole optimization `SETCC(FREEZE(x),const)` => `FREEZE(SETCC(x,const))`
if the SETCC is only used by BRCOND.

Combined with `BRCOND(FREEZE(X)) => BRCOND(X)`, this leads to a nice improvement in the generated assembly when x is a masked loaded value.

Reviewed By: efriedma

Differential Revision: https://reviews.llvm.org/D105344
The file was modifiedllvm/include/llvm/CodeGen/SelectionDAGNodes.h
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
The file was modifiedllvm/test/CodeGen/X86/setcc-freeze.ll
Commit ce2a5fa72be3fd1d606505f98d3831706c28cfa8 by George Burgess IV
llvm/utils: guarantee revert_checker's revert ordering

At the moment, the revert ordering from this tool is unspecified (though
it happens to be in `git log` order, so newest reverts come first).

From the standpoint of tooling and users, this seems to be the opposite
of what we want by default: tools and users will generally try to apply
these reverts as cherry-picks. If two reverts in the list are close
enough to each other, if the reverts get applied out of order, we'll get
a merge conflict.

Rather than having `reverse`s for all tools (and mental reverses for
manual users), just guarantee an oldest-first output ordering for this
function.

Differential Revision: https://reviews.llvm.org/D106838
The file was modifiedllvm/utils/revert_checker_test.py
The file was modifiedllvm/utils/revert_checker.py
Commit 4819b751bd875f458eb0060f7c586aa9ac41965c by mizvekov
[clang] NFC: change uses of `Expr->getValueKind` into `is?Value`

Signed-off-by: Matheus Izvekov <mizvekov@gmail.com>

Reviewed By: rsmith

Differential Revision: https://reviews.llvm.org/D100733
The file was modifiedclang/lib/Sema/SemaCoroutine.cpp
The file was modifiedclang/lib/Sema/SemaInit.cpp
The file was modifiedclang/include/clang/AST/ExprCXX.h
The file was modifiedclang/lib/CodeGen/CGExprScalar.cpp
The file was modifiedclang/lib/Sema/SemaExprCXX.cpp
The file was modifiedclang/lib/AST/Expr.cpp
The file was modifiedclang/lib/Sema/Sema.cpp
The file was modifiedclang/lib/CodeGen/CGDecl.cpp
The file was modifiedclang/lib/AST/ExprClassification.cpp
The file was modifiedclang/lib/Sema/SemaExpr.cpp
Commit 5ab6aedda9d959a44453b7163b59f645012dbb83 by tianshilei1992
[OpenMP] Folding threadLimit and numThreads when single value in kernels

The device runtime contains several calls to `__kmpc_get_hardware_num_threads_in_block`
and `__kmpc_get_hardware_num_blocks`. If the thread_limit and the num_teams are constant,
these calls can be folded to the constant value.

In this patch we use the already introduced `AAFoldRuntimeCall` and the `NumTeams` and
`NumThreads` kernel attributes (to be introduced in a different patch) to fold these functions.
The code checks all the kernels, and if their attributes match, the functions are folded.

In the future we will explore specializing for multiple values of NumThreads and NumTeams.

Depends on D106390

Reviewed By: jdoerfert, JonChesterfield

Differential Revision: https://reviews.llvm.org/D106033
The file was addedllvm/test/Transforms/OpenMP/get_hardware_num_threads_in_block_fold.ll
The file was modifiedllvm/include/llvm/Frontend/OpenMP/OMPKinds.def
The file was modifiedopenmp/libomptarget/deviceRTLs/target_interface.h
The file was modifiedllvm/lib/Transforms/IPO/OpenMPOpt.cpp
Commit d2f85d0910ce94cf55793d9cda09beaaa03e881e by tianshilei1992
[OpenMP][Libomptarget] Adding `print_device_info` to RTL and `omptarget`

This patch introduces a function in the device's plugin to print the
device information. This patch relates to another patch that introduces
a CLI tool to obtain the device information from the omplibrary directly.
It is inspired by PGI's pgaccelinfo.

The modifications are as follows:
1. Introduce the optional `void __tgt_rtl_print_device_info(RTLdevID)` function into the RTL.
2. Introduce the `bool __tgt_print_device_info(devID)` function into `omptarget` interface. Returns false if the RTL is not implemented
3. Added `bool printDeviceInfo(RTLDevID)` to the `DeviceTy`
4. Implement the `__tgt_rtl_print_device_info` for CUDA. Added additional CUDA Runtime calls.

Reviewed By: jdoerfert

Differential Revision: https://reviews.llvm.org/D106751
The file was modifiedopenmp/libomptarget/src/device.h
The file was modifiedopenmp/libomptarget/plugins/exports
The file was modifiedopenmp/libomptarget/src/device.cpp
The file was modifiedopenmp/libomptarget/src/rtl.cpp
The file was modifiedopenmp/libomptarget/plugins/cuda/dynamic_cuda/cuda.h
The file was modifiedopenmp/libomptarget/include/omptargetplugin.h
The file was modifiedopenmp/libomptarget/plugins/cuda/dynamic_cuda/cuda.cpp
The file was modifiedopenmp/libomptarget/src/interface.cpp
The file was modifiedopenmp/libomptarget/src/exports
The file was modifiedopenmp/libomptarget/include/omptarget.h
The file was modifiedopenmp/libomptarget/src/rtl.h
The file was modifiedopenmp/libomptarget/plugins/cuda/src/rtl.cpp
Commit 323b9bf862552c126865319d84afbad16a9f4941 by i
[lld] Replace LLVM_ATTRIBUTE_NORETURN with [[noreturn]]

[[noreturn]] can be used since 2016 when the minimum compiler requirement was bumped to GCC 4.8/MSVC 2015.
The file was modifiedlld/include/lld/Common/ErrorHandler.h
The file was modifiedlld/tools/lld/lld.cpp
Commit f2026f5d6e4fc593ba1d5f0fb5a3393688b8e6dc by i
[mlir] Replace LLVM_ATTRIBUTE_NORETURN with C++11 [[noreturn]]

[[noreturn]] can be used since 2016 when the minimum compiler requirement was bumped to GCC 4.8/MSVC 2015.
The file was modifiedmlir/lib/Interfaces/DataLayoutInterfaces.cpp
Commit 3c4547692368239fca21ec294a5a406ea5a44889 by jingham
Fix a thinko in the parsing of substitutions in CommandObjectRegexCommand.

The old code incorrectly calculated the start position for the search
for the third (and subsequent) instance of a particular substitution
pattern (e.g. %1).

I also added a few test cases for this parsing covering this failure.
The file was modifiedlldb/source/Commands/CommandObjectRegexCommand.cpp
The file was addedlldb/test/API/commands/command/regex/echo_command.py
The file was addedlldb/test/API/commands/command/regex/TestRegexCommand.py
Commit fe7ca1a9fca0ccea7495224e0e837de705e69699 by clementval
[mlir][openacc] Initial translation for DataOp to LLVM IR

Add basic translation of acc.data to LLVM IR with runtime calls.

Reviewed By: jdoerfert

Differential Revision: https://reviews.llvm.org/D104301
The file was modifiedllvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
The file was modifiedmlir/lib/Target/LLVMIR/Dialect/OpenACC/OpenACCToLLVMIRTranslation.cpp
The file was modifiedmlir/test/Target/LLVMIR/openacc-llvm.mlir
The file was modifiedllvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
The file was modifiedllvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
Commit 313c5239959b8f9e5cc182b982c914978f437ae1 by tianshilei1992
[OpenMP][Tool] Introducing the `llvm-omp-device-info` tool

This patch introduces the `llvm-omp-device-info` tool, which uses the
omptarget library and interface to query the device info from all the
available devices as seen by OpenMP. This is inspired by PGI's `pgaccelinfo`

Since omptarget usually requires a description structure with executable
kernels, I split the initialization of the RTLs and Devices to be able to
initialize all possible devices and query each of them.

This revision relies on the patch that introduces the print device info.

A limitation is that the order in which the devices are initialized, and the
corresponding device ID is not necesarily the one seen by OpenMP.

The changes are as follows:
1. Separate the RTL initialization that was performed in `RegisterLib` to its own `initRTLonce` function
2. Create an `initAllRTLs` method that initializes all available RTLs at runtime
3. Created the `llvm-deviceinfo.cpp` tool that uses `omptarget` to query each device and prints its information.

Example Output:
```
Device (0):
    print_device_info not implemented

Device (1):
    print_device_info not implemented

Device (2):
    print_device_info not implemented

Device (3):
    print_device_info not implemented

Device (4):
    CUDA Driver Version:                11000
    CUDA Device Number:                 0
    Device Name:                        Quadro P1000
    Global Memory Size:                 4236312576 bytes
    Number of Multiprocessors:          5
    Concurrent Copy and Execution:      Yes
    Total Constant Memory:              65536 bytes
    Max Shared Memory per Block:        49152 bytes
    Registers per Block:                65536
    Warp Size:                          32 Threads
    Maximum Threads per Block:          1024
    Maximum Block Dimensions:           1024, 1024, 64
    Maximum Grid Dimensions:            2147483647 x 65535 x 65535
    Maximum Memory Pitch:               2147483647 bytes
    Texture Alignment:                  512 bytes
    Clock Rate:                         1480500 kHz
    Execution Timeout:                  Yes
    Integrated Device:                  No
    Can Map Host Memory:                Yes
    Compute Mode:                       DEFAULT
    Concurrent Kernels:                 Yes
    ECC Enabled:                        No
    Memory Clock Rate:                  2505000 kHz
    Memory Bus Width:                   128 bits
    L2 Cache Size:                      1048576 bytes
    Max Threads Per SMP:                2048
    Async Engines:                      Yes (2)
    Unified Addressing:                 Yes
    Managed Memory:                     Yes
    Concurrent Managed Memory:          Yes
    Preemption Supported:               Yes
    Cooperative Launch:                 Yes
    Multi-Device Boars:                 No
    Compute Capabilities:               61
```

Reviewed By: tianshilei1992

Differential Revision: https://reviews.llvm.org/D106752
The file was modifiedopenmp/libomptarget/include/omptarget.h
The file was modifiedopenmp/libomptarget/src/interface.cpp
The file was addedopenmp/libomptarget/tools/CMakeLists.txt
The file was modifiedopenmp/libomptarget/plugins/cuda/src/rtl.cpp
The file was modifiedopenmp/libomptarget/src/exports
The file was addedopenmp/libomptarget/tools/deviceinfo/llvm-omp-device-info.cpp
The file was modifiedopenmp/libomptarget/CMakeLists.txt
The file was modifiedopenmp/libomptarget/src/rtl.cpp
The file was addedopenmp/libomptarget/tools/deviceinfo/CMakeLists.txt
The file was modifiedopenmp/libomptarget/src/rtl.h
Commit 88e66fa60ae5bad764455b5a0337aa47233f657d by johannes
[OpenMP] Fixing missing variables when CUDA SDK not in system

This patch fixes the error reported in D106751. When there is no CUDA SDK
installed in the system, the build fails due to missing `CU_DEVICE_ATTRIBUTE`
variables.

Using @zsrkmyn sugested fix

Reviewed By: jdoerfert

Differential Revision: https://reviews.llvm.org/D106933
The file was modifiedopenmp/libomptarget/plugins/cuda/dynamic_cuda/cuda.h
Commit 08c766a7318ab37bf1d77e0c683cd3b00e700877 by tstellar
Bump the trunk major version to 14

and clear the release notes.
The file was modifiedpstl/test/pstl/version.pass.cpp
The file was modifiedclang-tools-extra/docs/ReleaseNotes.rst
The file was modifiedlld/docs/ReleaseNotes.rst
The file was modifiedllvm/utils/lit/lit/__init__.py
The file was modifiedllvm/CMakeLists.txt
The file was modifiedlibcxx/CMakeLists.txt
The file was modifiedlibunwind/docs/conf.py
The file was modifiedpolly/docs/ReleaseNotes.rst
The file was modifiedclang/docs/ReleaseNotes.rst
The file was modifiedlibcxx/include/__config
The file was modifiedllvm/docs/ReleaseNotes.rst
The file was modifiedlibcxx/docs/ReleaseNotes.rst
The file was modifiedpolly/docs/conf.py
The file was modifiedpstl/include/pstl/internal/pstl_config.h
The file was modifiedllvm/utils/gn/secondary/llvm/version.gni
The file was modifiedclang-tools-extra/docs/conf.py
The file was modifiedlibunwind/CMakeLists.txt
The file was modifiedlld/docs/conf.py
The file was modifiedclang/docs/analyzer/conf.py
The file was modifiedlibcxx/docs/conf.py
The file was modifiedllvm/utils/release/build_llvm_package.bat
The file was modifiedpstl/docs/ReleaseNotes.rst
Commit b349d4c5e1852091aad97d3750e286493cac7178 by joker.eph
Emit strong definition for TypeID storage in Op/Type/Attributes definition

By making an explicit template specialization for the TypeID provided by these classes,
the compiler will not emit an inline weak definition and rely on the linker to unique it.
Instead a single definition will be emitted in the C++ file alongside the implementation
for these classes. That will turn into a linker error what is now a hard-to-debug runtime
behavior where instances of the same class may be using a different TypeID inside of
different DSOs.

Differential Revision: https://reviews.llvm.org/D105903
The file was modifiedmlir/tools/mlir-tblgen/AttrOrTypeDefGen.cpp
The file was modifiedmlir/tools/mlir-tblgen/DialectGen.cpp
The file was modifiedmlir/include/mlir/Support/TypeID.h
The file was modifiedmlir/tools/mlir-tblgen/OpDefinitionsGen.cpp
Commit 1a8c57179a129300c2b0c20032286ded8c7af77c by VenkataRamanaiah.Nalamothu
[AMDGPU] We would need FP if there is call and caller save VGPR spills

Since https://reviews.llvm.org/D98319, determineCalleeSavesSGPR() needs
to consider caller save VGPR spills as well while anticipating if we
require FP.

Fixes: SWDEV-295978

Reviewed By: arsenm

Differential Revision: https://reviews.llvm.org/D106758
The file was modifiedllvm/lib/Target/AMDGPU/SIFrameLowering.cpp
The file was removedllvm/test/CodeGen/AMDGPU/need-fp-from-csr-vgpr-spill.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/gfx-callable-preserved-registers.ll
The file was addedllvm/test/CodeGen/AMDGPU/need-fp-from-vgpr-spills.ll
Commit 1cc29f027fe433770a478bb0a67956c5646f61b2 by joker.eph
Revert "Emit strong definition for TypeID storage in Op/Type/Attributes definition"

This reverts commit b349d4c5e1852091aad97d3750e286493cac7178.
This broke a bot that exposes some missing CMake dependencies that need
to be fixed first.
The file was modifiedmlir/include/mlir/Support/TypeID.h
The file was modifiedmlir/tools/mlir-tblgen/AttrOrTypeDefGen.cpp
The file was modifiedmlir/tools/mlir-tblgen/OpDefinitionsGen.cpp
The file was modifiedmlir/tools/mlir-tblgen/DialectGen.cpp
Commit 440e936c47f5271a741b13e96f8ff36388ea96b5 by dvyukov
Revert "sanitizers: increase .clang-format columns to 100"

This reverts commit 5d1df6d220f1d6f726d9643848679d781750db64.

There is a strong objection to this change:
https://reviews.llvm.org/D106436#2905618

Reviewed By: dblaikie

Differential Revision: https://reviews.llvm.org/D106847
The file was modifiedcompiler-rt/lib/sanitizer_common/.clang-format
The file was modifiedcompiler-rt/lib/interception/.clang-format
The file was modifiedcompiler-rt/lib/tsan/.clang-format
The file was modifiedcompiler-rt/lib/dfsan/.clang-format
The file was modifiedcompiler-rt/lib/lsan/.clang-format
The file was modifiedcompiler-rt/lib/hwasan/.clang-format
The file was modifiedcompiler-rt/lib/msan/.clang-format
The file was modifiedcompiler-rt/lib/asan/.clang-format
The file was modifiedcompiler-rt/lib/safestack/.clang-format
Commit cf0ddf7ee5522c731b89dc5174b3d370f782119b by llvm-dev
[SLP][X86] Fix naming consistency of dot product tests. NFC.
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/dot-product.ll
Commit 0a1ca2ad4ce239abc8d844f33048af58648edb80 by Lang Hames
[ORC] Fix missing include.

Aims to fix bot failures for some module builds, e.g.
https://green.lab.llvm.org/green/blue/organizations/jenkins/lldb-cmake/detail/lldb-cmake/33934/pipeline/
The file was modifiedllvm/include/llvm/ExecutionEngine/Orc/OrcRPCExecutorProcessControl.h
Commit ab5b8ee1a7a18fe097419e21224ac4f15591bcd7 by omair.javaid
[LLDB] Skip HW breakpoints test_step_until on Arm/Linux

test_step_until xpasses on some machines while fails on others. I am
marking it as skipped for now.
The file was modifiedlldb/test/API/functionalities/breakpoint/hardware_breakpoints/require_hw_breakpoints/TestRequireHWBreakpoints.py
Commit 6cd0e35f43ac7aab8ff05acb4c5dfaa9071958d5 by omair.javaid
Revert "[LLDB] Skip HW breakpoints test_step_until on Arm/Linux"

This reverts commit ab5b8ee1a7a18fe097419e21224ac4f15591bcd7.

This caused some failure on buildbots so reverting it for now.
The file was modifiedlldb/test/API/functionalities/breakpoint/hardware_breakpoints/require_hw_breakpoints/TestRequireHWBreakpoints.py
Commit 71616722d4092f88861e9eb337e2902bbab2cbd4 by marek.kurdej+llvm.org
[clang-format] Correctly attach enum braces with ShortEnums disabled

Previously, with AllowShortEnumsOnASingleLine disabled, enums that would have otherwise fit on a single line would always put the opening brace on its own line.
This patch ensures that these enums will only put the brace on its own line if the existing attachment rules indicate that it should.

Reviewed By: HazardyKnusperkeks, curdeius

Differential Revision: https://reviews.llvm.org/D99840
The file was modifiedclang/lib/Format/UnwrappedLineParser.cpp
The file was modifiedclang/include/clang/Format/Format.h
The file was modifiedclang/unittests/Format/FormatTestCSharp.cpp
The file was modifiedclang/docs/ReleaseNotes.rst
The file was modifiedclang/unittests/Format/FormatTest.cpp
Commit 04b94c7caee48919d937350c312604d6c39365a4 by chris.jackson
Revert "[DebugInfo][LoopStrengthReduction] SCEV-based salvaging for LSR"

Crashes were reported on the upstreamm revision:
https://reviews.llvm.org/D105207

This reverts commit 796b84d26f4d461fb50e7b4e84e15a10eaca88fc.
The file was modifiedllvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
The file was modifiedllvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
The file was removedllvm/test/Transforms/LoopStrengthReduce/debuginfo-scev-salvage-4.ll
The file was modifiedllvm/include/llvm/Transforms/Utils/ScalarEvolutionExpander.h
The file was removedllvm/test/Transforms/LoopStrengthReduce/debuginfo-scev-salvage-1.ll
The file was removedllvm/test/Transforms/LoopStrengthReduce/debuginfo-scev-salvage-3.ll
The file was modifiedllvm/test/Transforms/LoopStrengthReduce/dbg-preserve-2.ll
The file was removedllvm/test/Transforms/LoopStrengthReduce/debuginfo-scev-salvage-0.ll
The file was removedllvm/test/Transforms/LoopStrengthReduce/debuginfo-scev-salvage-2.ll
The file was modifiedllvm/test/Transforms/LoopStrengthReduce/dbg-preserve-0.ll
Commit 6a7a2ee8161da84d9a58a88b497b0b47c8df99f3 by david.spickett
[lldb] Add "memory tag write" command

This adds a new command for writing memory tags.
It is based on the existing "memory write" command.

Syntax: memory tag write <address-expression> <value> [<value> [...]]
(where "value" is a tag value)

(lldb) memory tag write mte_buf 1 2
(lldb) memory tag read mte_buf mte_buf+32
Logical tag: 0x0
Allocation tags:
[0xfffff7ff9000, 0xfffff7ff9010): 0x1
[0xfffff7ff9010, 0xfffff7ff9020): 0x2

The range you are writing to will be calculated by
aligning the address down to a granule boundary then
adding as many granules as there are tags.

(a repeating mode with an end address will be in a follow
up patch)

This is why "memory tag write" uses MakeTaggedRange but has
some extra steps to get this specific behaviour.

The command does all the usual argument validation:
* Address must evaluate
* You must supply at least one tag value
  (though lldb-server would just treat that as a nop anyway)
* Those tag values must be valid for your tagging scheme
  (e.g. for MTE the value must be > 0 and < 0xf)
* The calculated range must be memory tagged

That last error will show you the final range, not just
the start address you gave the command.

(lldb) memory tag write mte_buf_2+page_size-16 6
(lldb) memory tag write mte_buf_2+page_size-16 6 7
error: Address range 0xfffff7ffaff0:0xfffff7ffb010 is not in a memory tagged region

(note that we do not check if the region is writeable
since lldb can write to it anyway)

The read and write tag tests have been merged into
a single set of "tag access" tests as their test programs would
have been almost identical.
(also I have renamed some of the buffers to better
show what each one is used for)

Reviewed By: omjavaid

Differential Revision: https://reviews.llvm.org/D105182
The file was removedlldb/test/API/linux/aarch64/mte_tag_read/TestAArch64LinuxMTEMemoryTagRead.py
The file was removedlldb/test/API/linux/aarch64/mte_tag_read/Makefile
The file was addedlldb/test/API/linux/aarch64/mte_tag_access/TestAArch64LinuxMTEMemoryTagAccess.py
The file was modifiedlldb/test/API/functionalities/memory/tag/TestMemoryTag.py
The file was modifiedlldb/source/Commands/CommandObjectMemoryTag.cpp
The file was removedlldb/test/API/linux/aarch64/mte_tag_read/main.c
The file was addedlldb/test/API/linux/aarch64/mte_tag_access/main.c
The file was addedlldb/test/API/linux/aarch64/mte_tag_access/Makefile
Commit 5db8e232126fc4c0f5d5b0339bdc5a49830268d1 by Raphael Isemann
[lldb] Temporarily bump the max length of the pexpect error message to diagnose an lldb-aarch64 test failure

This is only temporarily to gather some logs before this gets reverted. See
D106873 for a discussion about how/if we can make this change permanent.
The file was modifiedlldb/third_party/Python/module/pexpect-4.6/pexpect/pty_spawn.py
Commit 037b7715dd0e60369271217f90004e4b2d7c88e0 by david.green
[ARM] Extra MVE reduction vectorizer tests. NFC
The file was modifiedllvm/test/Transforms/LoopVectorize/ARM/mve-reductions.ll
Commit 8ed66cb88b7b00d7e9a96f2030e7ec343cfe2c6a by nicolas.vasilache
[mlir][memref] Fix collapsed shape ops memref.cast folding with changed type

`memref.collapse_shape` has verification logic to make sure
result dim must be static if all the collapsing src dims are static.
Cast folding might add more static information for the src operand
of `memref.collapse_shape` which might change a valid collapsing
operation to be invalid. Add `CollapseShapeOpMemRefCastFolder` pattern
to fix this.

Minor changes to `convertReassociationIndicesToExprs` to use `context`
instead of `builder` to avoid extra steps to construct temporary
builders.

Reviewed By: nicolasvasilache, mravishankar

Differential Revision: https://reviews.llvm.org/D106670
The file was modifiedmlir/lib/Dialect/Utils/ReshapeOpsUtils.cpp
The file was modifiedmlir/test/Dialect/MemRef/canonicalize.mlir
The file was modifiedmlir/include/mlir/Dialect/Linalg/IR/LinalgOps.td
The file was modifiedmlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
The file was modifiedmlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
The file was modifiedmlir/include/mlir/Dialect/Utils/ReshapeOpsUtils.h
Commit 30308d1eb966afa35ee2fd5c5b47b17eb0382896 by omair.javaid
[LLDB] Skip HW breakpoints test_step_until on Arm/Linux

test_step_until xpasses on some machines while fails on others.
Marking it as skipped for now.
The file was modifiedlldb/test/API/functionalities/breakpoint/hardware_breakpoints/require_hw_breakpoints/TestRequireHWBreakpoints.py
Commit 0dc9c88aa38ed330ddffe92bae79d4066832c38e by omair.javaid
[LLDB] Skip TestGuiBasicDebug.py on Arm/AArch64 Linux

TestGuiBasicDebug.py randomly fails due to timeouts sending out false
negatives on LLDB Arm and AArch64 Linux buildbots. I havnt found a
reliable wayy to set pexpect timeout for this test to pass regularly.

Skipping it on Arm and AArch64 Linux to silence buildbot failures.
The file was modifiedlldb/test/API/commands/gui/basicdebug/TestGuiBasicDebug.py
Commit 4fd42e2e803d8a532845f448fca4002ede3070f5 by david.spickett
[libcxx] Bump __libcpp_version to 14 after branch

This was missed in 08c766a7318ab37bf1d77e0c683cd3b00e700877
and caused test failures in the buildkite bots:
libcpp_version.pass.cpp:22:1:
error: static_assert failed due to requirement '14000 == libcpp_version'
"_LIBCPP_VERSION doesn't match __libcpp_version
The file was modifiedlibcxx/include/__libcpp_version
Commit ca0d244e99f4325711638359eb69f8129b41a63a by gysit
[mlir][linalg] Introduce a separate EraseIdentityCopyOp Pattern.

Split out an EraseIdentityCopyOp from the existing RemoveIdentityLinalgOps pattern. Introduce an additional check to ensure the pattern checks the permutation maps match. This is a preparation step to specialize RemoveIdentityLinalgOps to GenericOp only.

Reviewed By: nicolasvasilache

Differential Revision: https://reviews.llvm.org/D105622
The file was modifiedmlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
The file was modifiedmlir/include/mlir/Dialect/Linalg/IR/LinalgStructuredOps.td
The file was modifiedmlir/test/Dialect/Linalg/canonicalize.mlir
Commit b0ef3d8f666fa6008abb09340b73d9340d442569 by aaron
Allow #pragma float_control(push|pop) within a language linkage specification

Currently, we prohibit this pragma from appearing within a language
linkage specification, but this is useful functionality that is
supported by MSVC (which is where we inherited this feature from).
This patch allows you to use the pragma within an extern "C" {} (etc)
block.
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td
The file was modifiedclang/docs/LanguageExtensions.rst
The file was modifiedclang/lib/Sema/SemaAttr.cpp
The file was modifiedclang/test/Parser/fp-floatcontrol-syntax.cpp
Commit 09635dc7bfa42bed2809e3ee4edc96d0decdb9db by gysit
[mlir][linalg] Specialize LinalgOp canonicalization patterns (NFC).

Specialize the DeduplicateInputs and RemoveIdentityLinalgOps patterns for GenericOp instead of implementing them for the LinalgOp interface.

This revsion is based on https://reviews.llvm.org/D105622 that moves the logic to erase identity CopyOps in a separate pattern.

Reviewed By: nicolasvasilache

Differential Revision: https://reviews.llvm.org/D105291
The file was modifiedmlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
The file was modifiedmlir/include/mlir/Dialect/Linalg/IR/LinalgStructuredOps.td
Commit 41cedb1c9a380628ac162bf76148cbd143f41450 by david.green
[LV][ARM] Tighten up MLA reduction costing

This makes a couple of changes to the costing of MLA reduction patterns,
to more accurately cost various patterns that can come up from
vectorization.

- The Arm implementation of getExtendedAddReductionCost is altered to
   only provide costs for legal or smaller types. Larger than legal types
   need to be split, which currently does not work very well, especially
   for predicated reductions where the predicate may be legal but needs to
   be split. Currently we limit it to legal or smaller input types.
- The getReductionPatternCost has learnt that reduce(ext(mul(ext, ext))
   is a pattern that can come up, and can be treated the same as
   reduce(mul(ext, ext)) providing the extension types match.
- And it has been adjusted to not count the ext in reduce(mul(ext, ext))
   as part of a reduce(mul) pattern.

Together these changes help to more accurately cost the mla reductions
in cases such as where the extend types don't match or the extend
opcodes are different, picking better vector factors that don't result
in expanded reductions.

Differential Revision: https://reviews.llvm.org/D106166
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp
The file was modifiedllvm/test/Transforms/LoopVectorize/ARM/mve-reductions.ll
The file was modifiedllvm/lib/Target/ARM/ARMTargetTransformInfo.cpp

Summary

  1. Revert "Remove aarch64-sve-vector-bits-min compile flag from SVE 2 stage bot" (details)
  2. Update config for aosp-O3-polly-before-vectorizer-unprofitable (details)
  3. [sanitizer] Run two builds at the time (details)
  4. [NFC][sanitizer] Remove misleading comment (details)
Commit cd75632349bb753e715bf16255b24f7c437f1b04 by david.spickett
Revert "Remove aarch64-sve-vector-bits-min compile flag from SVE 2 stage bot"

This reverts commit 24c07902d058abcee3bcf908676bacaae1f3d448.

The issue is still present but given that it's not sending out any
new notifications I'm going to leave it as is for now.

It actively building is somewhat useful for those working on
the issue to know what the current status is.
The file was modifiedbuildbot/osuosl/master/config/builders.py
Commit 809c1a1a80bc0e895c0ba9c936052f1e93c33bb5 by efriedma
Update config for aosp-O3-polly-before-vectorizer-unprofitable

The bot has moved to a new host with a newer AOSP codebase. Update the
buildbot config to match.

Change-Id: I474f4503078acdf4109ce755228379ae81a39be7
The file was modifiedzorg/buildbot/builders/AOSPBuilder.py
The file was modifiedbuildbot/osuosl/master/config/builders.py
Commit 2eb229fcf1b06b83fc9b4d95e58e9ff26c3753b8 by Vitaly Buka
[sanitizer] Run two builds at the time
The file was modifiedbuildbot/osuosl/master/config/workers.py
Commit 2e12550f4a2a23acd7dbf1347b9f1ed131a14e38 by Vitaly Buka
[NFC][sanitizer] Remove misleading comment
The file was modifiedbuildbot/osuosl/master/config/workers.py