Changes

Summary

  1. [opt-viewer] Use safe yaml load_all (details)
  2. [LLDB] [NFC] Typo fix in usage text for "type filter" command (details)
  3. [NFC][LoopIdiom] Add more test case to runtime-determined memset size (details)
  4. [fir] Add Character helper (details)
  5. [lldb][NFC] clang-format CPlusPlusLanguage.cpp (details)
  6. [mlir][linalg][bufferize] Bufferize using PostOrder traversal (details)
  7. [mlir][linalg][bufferize][NFC] Check return value of getResultBuffer (details)
  8. [MLIR][OpenMP] Add support for ordered construct (details)
  9. [lldb] [Host] Add setters for common teletype properties to Terminal (details)
  10. [SVE][Analysis] Tune the cost model according to the tune-cpu attribute (details)
  11. [mlir][linalg][bufferize][NFC] Change findValueInReverseUseDefChain signature (details)
  12. [NARY-REASSOCIATE][NFC] Simplify min/max handling (details)
  13. [lldb] Add serial:// protocol for connecting to serial port (details)
  14. [lldb] [unittest] Disable SetParity() tests on Linux entirely (details)
  15. [lldb] [Host/Terminal] Add missing #ifdef for baudRateToConst() (details)
  16. [lldb] [Host/SerialPort] Add std::moves for better compatibility (details)
  17. [docs] Fix broken link rendering in the LLVM Coding Standards. (details)
  18. [clang] Support __float128 on DragonFlyBSD. (details)
  19. Revert "[fir] Add Character helper" (details)
  20. [libcxx] Support allocators with explicit c-tors in vector<bool> (details)
  21. [libcxx] Throw correct exception from std::vector::reserve (details)
  22. [NFC][LoopIdiom] Make for loops more readable (details)
  23. [lldb] Add omitted abstract formal parameters in DWARF symbol files (details)
  24. [mlir] Use empty() calls where possible. (details)
  25. [mlir] Fix a crash when creating a 1d zero element LLVM constant (details)
  26. [lldb] Remove ConstString from GetPluginNameStatic of some plugins (details)
  27. [lldb] Silence -Wpessimizing-move warning (details)
  28. Revert "AddGlobalAnnotations for function with or without function body." (details)
  29. [clang][deps] Ensure reported context hash is strict (details)
  30. [clang][deps] NFC: Remove redundant CompilerInstance reference (details)
  31. [clang][deps] NFC: Rename scanning CompilerInstance (details)
  32. [clang][deps] NFC: Rename building CompilerInvocation (details)
  33. [ARM] Add new abs test. NFC (details)
  34. [MIPS] Fix switching between 32/64-bit variants of r6 target triples (details)
  35. [SVE] Fix selection failure when splitting extended masked loads (details)
  36. [lldb] Fix a thinko in 2ace1e57 (details)
  37. [clang][deps] Make resource directory deduction configurable (details)
  38. Relax assert in ExprConstant to a return None. (details)
  39. [mlir][linalg][bufferize] Eliminate InitTensorOps of InsertSliceOp sources (details)
  40. [mlir][linalg][bufferize] Avoid creating copies that are never read (details)
  41. [mlir][linalg][bufferize] Fix bug in getInplaceableOpResult (details)
  42. [mlir][linalg][bufferize] Fix bufferizesToMemoryWrite for TiledLoopOp (details)
  43. [SLP]Unify vectorization of PHI and store nodes with improved tiny tree vectorization. (details)
  44. [SystemZ][z/OS] Additional test coverage for validating dialect instructions for SystemZ (details)
  45. [DAGCombiner] fold bit-hack form of usubsat (details)
  46. [SystemZ][z/OS] Initial implementation for lowerCall on z/OS (details)
  47. [runtimes] Properly handle the sysroot/triple/gcc-toolchain (details)
  48. Do not downcast uint64_t to unsigned in UniqueID hash computation (details)
  49. [InstCombine] add tests for DeMorgan with reassociation; NFC (details)
  50. [InstCombine] generalize reassociated Demorgan folds (details)
  51. [libomptarget][DeviceRTL] Generalise and simplify cmakelists (details)
  52. [mlir][Linalg] Improve conv vectorization for the stride==1 case. (details)
  53. [ORC-RT] Remove stray printf debugging output. (details)
  54. [lld-macho] Simplify lc-linker-option.ll and re-enable it on Windows (details)
  55. [libc++] Use addressof in vector. (details)
  56. [Clang] Support typedef with btf_decl_tag attributes (details)
  57. [DebugInfo] Support typedef with btf_decl_tag attributes (details)
  58. [clang] Use StringRef::contains (NFC) (details)
  59. Reapply [ORC-RT] Configure the ORC runtime for more architectures and platforms (details)
  60. [clang] Don't clear AST if we have consumers running after the main action (details)
  61. Update the C++ and C status pages now that Clang 13 has been released (details)
  62. Update the title and encoding for the C++ status page (details)
  63. [IPT] Restructure cache to allow lazy update following invalidation [NFC] (details)
  64. [RISCV] Add a test showing incorrect VSETVLI insertion (details)
  65. Reland [clang] Pass -clear-ast-before-backend in Clang::ConstructJob() (details)
  66. [VectorCombine] fold shuffle-of-binops with common operand (details)
  67. [fir] Add Character helper (details)
  68. [test][ORC-RT] Disable x86_64 tests when target arch does not match (details)
  69. Avoid infinity arithmetics when computing exp approximations (details)
  70. [NFC] Clean up a few methods within GreedyPatternRewriter (details)
  71. [mlir:GreedyPatternRewriter] Add debug logging for pattern rewriter actions (details)
  72. [SLP] Add additional tests which caused crashes with versioning. (details)
  73. Revert "[CMake] Cache the compiler-rt library search results" (details)
  74. Add the papers that were applied to the latest C2x working draft (details)
  75. Revert "[IPT] Restructure cache to allow lazy update following invalidation [NFC]" (details)
  76. [RISCV] Expand scalable vector CTTZ/CTLZ/CTPOP. (details)
  77. Revert "[compiler-rt/profile] Hide __llvm_profile_raw_version" (details)
  78. Follow-up on https://github.com/llvm/llvm-project/commit/88303693ce97cf842f0714068c2cae44cd6515e1 (details)
  79. [CodeMetrics] Don't require speculatability for ephemeral values (details)
  80. [Triple] Don't repeat the function name in comments. NFC (details)
  81. Recommit: Compress formatting of array type names (int [4] -> int[4]) (details)
  82. Enable libc++ in the build for libcxx initializerlist pretty printers (details)
  83. [test] Make sure plugin actually runs in clear-ast-before-backend-plugins.c (details)
  84. [InstCombine] Add additional store forwarding test (NFC) (details)
  85. [OpenMP][NFC] skip atomic tests for non-x86 arch (details)
  86. [modules] Fix tracking ObjCInterfaceType decl when there are multiple definitions. (details)
  87. BPF: emit BTF_KIND_DECL_TAG for typedef types (details)
  88. Modify "statistics dump" to dump JSON. (details)
  89. [gn build] Port d7b338537cf3 (details)
  90. Add test to check we can instcombine after reassociate. NFC. (details)
  91. Follow-up fixes for aee49255074fd4ef38d97e6e70cbfbf2f9fd0fa7 (details)
  92. [libcxx] [test] Add an XFAIL for the timespec test for MinGW targets (details)
  93. [libcxx] [test] Add a specific XFAIL for a MinGW env failure that is fixed in Clang 14 (details)
  94. [fir] Remove createConcatenate test temporarily (details)
  95. [AArch64][GlobalISel] Fold 64-bit cmps with 64-bit adds (details)
  96. [mlir][vector] Add patterns to convert multidimreduce to vector.contract (details)
  97. [mlir][linalg] Remove special case for contraction vectorization (details)
  98. Fix buildbots after https://reviews.llvm.org/D111686 (details)
  99. Fix escaping in RewriterGen.cpp. (details)
  100. [TargetLowering][RISCV] Prevent scalarization of fixed vector bswap. (details)
  101. Remove unused parallel-libs project (details)
  102. Make genAttributeVerifier escape the summary. (details)
  103. [MLIR] Fix FloorDivSIOpConverter that was failing for index type after the arithmetic op refactor (details)
  104. PR18733: Remove -Wweak-template-vtables (details)
  105. [libcxx] [test] Convert an XFAIL: LIBCXX-WINDOWS-FIXME into XFAIL: msvc with explanation (details)
  106. [modules] Update visibility for merged ObjCInterfaceDecl definitions. (details)
  107. [InstCombine] Precommit new and-xor-or.ll tests. NFC. (details)
  108. [LegalizeVectorOps][X86] Don't defer BITREVERSE expansion to LegalizeDAG. (details)
  109. [fir] Remove unused function in CharacterTest (details)
  110. [TargetLowering] Simplify the interface for expandCTPOP/expandCTLZ/expandCTTZ. (details)
  111. [docs] Remove Makefile.sphinx files (details)
  112. [RISCV] Remove Zvamo C intrinsics and builtins. (details)
  113. compiler-rt: Fix arch detection for ppc64le (details)
  114. [lldb] Always set the minimum OS version in the Darwin builder (details)
  115. [DebugInfo] Expand ability to load 2-byte addresses in dwarf sections (details)
  116. [lldb] Include unistd.h for sleep in profile_vrs_detach (details)
  117. [Demangle] Rename OutputStream to OutputString (details)
  118. [gn build] Make 'compiler-rt' depend on include dir (details)
  119. [mlir][linalg][bufferize] Support scf::IfOp (details)
  120. [AMDGPU] Allow to use a whole register file on gfx90a for VGPRs (details)
  121. [msan] Don't use TLS slots of noundef args (details)
  122. [libcxxabi] Fix build after D111947 (details)
  123. [gn build] Port 2e97236aacbb (details)
  124. [Coroutines] Ignore partial lifetime markers refer of an alloca (details)
  125. Fix for OutputStream->OutputBuffer rename (details)
Commit 1123e03a9d9401c5203ae55bff533dd4d133d8d2 by yikong
[opt-viewer] Use safe yaml load_all

Differential Revision: https://reviews.llvm.org/D112075
The file was modifiedllvm/tools/opt-viewer/optrecord.py
Commit d531e5cf58413e34dc006a580d2c109863bddaa1 by shivam98.tkg
[LLDB] [NFC] Typo fix in usage text for "type filter" command

When you invoke "help type filter" the resulting help shows:

Syntax: type synthetic [<sub-command-options>]

This patch fixes the help so it says "type filter" instead of "type synthetic".

patch by: "Daniel Jalkut <jalkut@red-sweater.com>"

Reviewed By: teemperor

Differential Revision: https://reviews.llvm.org/D112199
The file was modifiedlldb/source/Commands/CommandObjectType.cpp
Commit 76db6d80805a70802fa9796ca1a5bb999ff205c7 by eopxd
[NFC][LoopIdiom] Add more test case to runtime-determined memset size

This patch supplements missing test case for D107353.
- Fix wrong descriptions in 64-bit mode test case
- Added testcase under 32-bit mode

Reviewed By: bmahjour

Differential Revision: https://reviews.llvm.org/D108507
The file was addedllvm/test/Transforms/LoopIdiom/memset-runtime-64bit.ll
The file was removedllvm/test/Transforms/LoopIdiom/memset-runtime.ll
The file was addedllvm/test/Transforms/LoopIdiom/memset-runtime-32bit.ll
Commit e4ce92245c96cea9492767d7149eb9e30dee0d16 by clementval
[fir] Add Character helper

This patch is extracted from D111337. It introduce the
CharacterExprHelper that helps dealing with character in FIR.

Reviewed By: schweitz, awarzynski

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

Co-authored-by: Jean Perier <jperier@nvidia.com>
Co-authored-by: Eric Schweitz <eschweitz@nvidia.com>
Co-authored-by: V Donaldson <vdonaldson@nvidia.com>
The file was modifiedflang/include/flang/Optimizer/Builder/FIRBuilder.h
The file was modifiedflang/unittests/Optimizer/Builder/FIRBuilderTest.cpp
The file was addedflang/lib/Optimizer/Builder/Character.cpp
The file was modifiedflang/unittests/Optimizer/CMakeLists.txt
The file was modifiedflang/lib/Optimizer/Builder/CMakeLists.txt
The file was modifiedflang/lib/Optimizer/Builder/FIRBuilder.cpp
The file was modifiedflang/include/flang/Optimizer/Dialect/FIRType.h
The file was modifiedflang/include/flang/Optimizer/Dialect/FIROpsSupport.h
The file was addedflang/include/flang/Optimizer/Builder/Character.h
The file was addedflang/unittests/Optimizer/Builder/CharacterTest.cpp
Commit 46fb5d5ddffdccbd14a09c7dcff63de6fef63c07 by Raphael Isemann
[lldb][NFC] clang-format CPlusPlusLanguage.cpp
The file was modifiedlldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
Commit 9c55e718f537577f2aac9e52b2dce9e01aadd1d7 by springerm
[mlir][linalg][bufferize] Bufferize using PostOrder traversal

This is required for bufferization of scf::IfOp, which is added in a subsequent commit.

Some ops (scf::ForOp, TiledLoopOp) require PreOrder traversal to make sure that bbArgs are mapped before bufferizing the loop body.

Differential Revision: https://reviews.llvm.org/D111924
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/ComprehensiveBufferize.cpp
The file was modifiedmlir/test/Dialect/Linalg/comprehensive-module-bufferize.mlir
The file was modifiedmlir/test/Dialect/Linalg/comprehensive-module-bufferize-invalid.mlir
Commit 65ef43e288ad1e9fa7a01d2c09a13727f568b870 by springerm
[mlir][linalg][bufferize][NFC] Check return value of getResultBuffer

In a subsequent commit, getResultBuffer can return a "null" Value. This is the case when the returned buffer from an scf.if is not unique.

This commit is in preparation for scf.if support to keep the next commit smaller.

Differential Revision: https://reviews.llvm.org/D111927
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/ComprehensiveBufferize.cpp
Commit b37e5187f22fc13079a2f6d0684ccc08ecfdf0a8 by qiaopeixin
[MLIR][OpenMP] Add support for ordered construct

This patch supports the ordered construct in OpenMP dialect following
Section 2.19.9 of the OpenMP 5.1 standard. Also lowering to LLVM IR
using OpenMP IRBduiler. Lowering to LLVM IR for ordered simd directive
is not supported yet since LLVM optimization passes do not support it
for now.

Reviewed By: kiranchandramohan, clementval, ftynse, shraiysh

Differential Revision: https://reviews.llvm.org/D110015
The file was modifiedmlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
The file was modifiedmlir/test/Target/LLVMIR/openmp-llvm.mlir
The file was modifiedmlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
The file was modifiedmlir/test/Dialect/OpenMP/invalid.mlir
The file was modifiedmlir/test/Dialect/OpenMP/ops.mlir
The file was modifiedmlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
Commit 92fb574c9f20aef56948c51f4921a92efbb72a5b by mgorny
[lldb] [Host] Add setters for common teletype properties to Terminal

Add setters for common teletype properties to the Terminal class:

- SetRaw() to enable common raw mode options

- SetBaudRate() to set the baud rate

- SetStopBits() to select the number of stop bits

- SetParity() to control parity bit in the output

- SetHardwareControlFlow() to enable or disable hardware control flow
  (if supported)

Differential Revision: https://reviews.llvm.org/D111030
The file was modifiedlldb/unittests/Host/posix/TerminalTest.cpp
The file was modifiedlldb/include/lldb/Host/Terminal.h
The file was modifiedlldb/source/Host/common/Terminal.cpp
Commit 9448cdc90007611659ecbec4dca18a83f06bc4c3 by david.sherwood
[SVE][Analysis] Tune the cost model according to the tune-cpu attribute

This patch introduces a new function:

  AArch64Subtarget::getVScaleForTuning

that returns a value for vscale that can be used for tuning the cost
model when using scalable vectors. The VScaleForTuning option in
AArch64Subtarget is initialised according to the following rules:

1. If the user has specified the CPU to tune for we use that, else
2. If the target CPU was specified we use that, else
3. The tuning is set to "generic".

For CPUs of type "generic" I have assumed that vscale=2.

New tests added here:

  Analysis/CostModel/AArch64/sve-gather.ll
  Analysis/CostModel/AArch64/sve-scatter.ll
  Transforms/LoopVectorize/AArch64/sve-strict-fadd-cost.ll

Differential Revision: https://reviews.llvm.org/D110259
The file was modifiedllvm/lib/Target/AArch64/AArch64Subtarget.h
The file was modifiedllvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
The file was modifiedllvm/test/Analysis/CostModel/AArch64/sve-gather.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
The file was modifiedllvm/test/Transforms/LoopVectorize/AArch64/sve-strict-fadd-cost.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64Subtarget.cpp
The file was modifiedllvm/test/Analysis/CostModel/AArch64/sve-scatter.ll
The file was modifiedllvm/test/Analysis/CostModel/AArch64/sve-intrinsics.ll
Commit 36ec848dc7186b9713bb69ade134f9b2b7d65070 by springerm
[mlir][linalg][bufferize][NFC] Change findValueInReverseUseDefChain signature

This commit is in preparation for scf.if support.

* `condition` in findValueInReverseUseDefChain takes a Value instead of OpOperand*.
* Return a SetVector<Value> instead of a single Value. This SetVector always contains exactly one Value at the moment.

Differential Revision: https://reviews.llvm.org/D111928
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/ComprehensiveBufferize.cpp
Commit 1a8ec24efbae282f39eaacd5b22f37c2d8cad12f by ybrevnov
[NARY-REASSOCIATE][NFC] Simplify min/max handling

In order to explore different variants of reassociation current implementation uses "swap in a loop" approach. Unfortunately, the implementation is more complicated than it could be. This is an attempt to streamline the code. New approach is to extract core functionality into a helper function and call it explicitly as many times as required.

Reviewed By: nikic

Differential Revision: https://reviews.llvm.org/D112128
The file was modifiedllvm/lib/Transforms/Scalar/NaryReassociate.cpp
Commit 4a7b4beac759ad9001671a61846ee2bfc9076eec by mgorny
[lldb] Add serial:// protocol for connecting to serial port

Add a new serial:// protocol along with SerialPort that provides a new
API to open serial ports.  The URL consists of serial device path
followed by URL-style options, e.g.:

    serial:///dev/ttyS0?baud=115200&parity=even

If no options are provided, the serial port is only set to raw mode
and the other attributes remain unchanged.  Attributes provided via
options are modified to the specified values.  Upon closing the serial
port, its original attributes are restored.

Differential Revision: https://reviews.llvm.org/D111355
The file was modifiedlldb/include/lldb/Host/File.h
The file was modifiedlldb/source/Host/common/File.cpp
The file was modifiedlldb/source/Host/posix/ConnectionFileDescriptorPosix.cpp
The file was modifiedlldb/include/lldb/Host/posix/ConnectionFileDescriptorPosix.h
The file was modifiedlldb/test/API/functionalities/gdb_remote_client/gdbclientutils.py
The file was modifiedlldb/test/API/functionalities/gdb_remote_client/TestPty.py
Commit 4745e4178397b387263f2547e13018e3c8ee396c by mgorny
[lldb] [unittest] Disable SetParity() tests on Linux entirely

Attempting to enable PARENB causes tcsetattr() to fail on the Debian
and Ubuntu buildbots, so let's skip these tests on Linux entirely.
The file was modifiedlldb/unittests/Host/posix/TerminalTest.cpp
Commit cbe789844703fe72d45b15614fa3b350e76f8570 by mgorny
[lldb] [Host/Terminal] Add missing #ifdef for baudRateToConst()
The file was modifiedlldb/source/Host/common/Terminal.cpp
Commit b8c3683d46f92a693746217542ab4895562fa36c by mgorny
[lldb] [Host/SerialPort] Add std::moves for better compatibility
The file was modifiedlldb/source/Host/common/File.cpp
Commit 9635b2951da18ade951341f7ec6b9a7b8eb7cba3 by fred
[docs] Fix broken link rendering in the LLVM Coding Standards.
The file was modifiedllvm/docs/CodingStandards.rst
Commit b471e25a59241b6b60e75494ca7b8d775a4131a2 by fred
[clang] Support __float128 on DragonFlyBSD.

Differential Revision: https://reviews.llvm.org/D111760
The file was modifiedclang/lib/Basic/Targets/OSTargets.h
Commit 7bbd7e9c1d1d7feabe6639b1df4a11e648e2f886 by clementval
Revert "[fir] Add Character helper"

This reverts commit e4ce92245c96cea9492767d7149eb9e30dee0d16.

Buildbots not happy with the tests.
The file was removedflang/unittests/Optimizer/Builder/CharacterTest.cpp
The file was removedflang/include/flang/Optimizer/Builder/Character.h
The file was modifiedflang/include/flang/Optimizer/Dialect/FIRType.h
The file was modifiedflang/unittests/Optimizer/Builder/FIRBuilderTest.cpp
The file was removedflang/lib/Optimizer/Builder/Character.cpp
The file was modifiedflang/lib/Optimizer/Builder/FIRBuilder.cpp
The file was modifiedflang/include/flang/Optimizer/Builder/FIRBuilder.h
The file was modifiedflang/lib/Optimizer/Builder/CMakeLists.txt
The file was modifiedflang/include/flang/Optimizer/Dialect/FIROpsSupport.h
The file was modifiedflang/unittests/Optimizer/CMakeLists.txt
Commit 49be23a1eb5743fa92a8367b6081674a8a392da3 by mikhail.maltsev
[libcxx] Support allocators with explicit c-tors in vector<bool>

std::vector<bool> rebinds the supplied allocator to construct objects
of type '__storage_type' rather than 'bool'. Allocators are allowed to
use explicit conversion constructors, so care must be taken when
performing conversions.

Reviewed By: ldionne, #libc

Differential Revision: https://reviews.llvm.org/D112150
The file was modifiedlibcxx/test/std/containers/sequences/vector.bool/insert_iter_value.pass.cpp
The file was modifiedlibcxx/test/std/containers/sequences/vector.bool/insert_iter_iter_iter.pass.cpp
The file was modifiedlibcxx/test/std/containers/sequences/vector.bool/insert_iter_size_value.pass.cpp
The file was modifiedlibcxx/test/std/containers/sequences/vector.bool/reserve.pass.cpp
The file was modifiedlibcxx/include/vector
The file was modifiedlibcxx/test/std/containers/sequences/vector.bool/resize_size.pass.cpp
Commit 05a2d1766864f60210d8f337a7ea709fa0707b53 by mikhail.maltsev
[libcxx] Throw correct exception from std::vector::reserve

According to the standard [vector.capacity]/5, std::vector<T>::reserve
shall throw an exception of type std::length_error when the requested
capacity exceeds max_size().

This behavior is not implemented correctly: the function 'reserve'
simply propagates the exception from allocator<T>::allocate. Before
D110846 that exception used to be of type std::length_error (which is
correct for vector<T>::reserve, but incorrect for
allocator<T>::allocate).

This patch fixes the issue and adds regression tests.

Reviewed By: Quuxplusone, ldionne, #libc

Differential Revision: https://reviews.llvm.org/D112068
The file was modifiedlibcxx/test/std/containers/sequences/vector.bool/reserve.pass.cpp
The file was modifiedlibcxx/include/vector
The file was modifiedlibcxx/test/std/containers/sequences/vector/vector.capacity/reserve.pass.cpp
Commit 9ba5bb43099db70031e0df6a438e7cb56fb05540 by dawid_jurek
[NFC][LoopIdiom] Make for loops more readable

Patch simplifies for loops in LIR following LLVM guidelines: https://llvm.org/docs/CodingStandards.html#use-range-based-for-loops-wherever-possible.

Differential Revision: https://reviews.llvm.org/D112077
The file was modifiedllvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp
Commit 5a3556aa5563fb89693935303463881df44094de by jarin
[lldb] Add omitted abstract formal parameters in DWARF symbol files

This patch fixes a problem introduced by clang change
https://reviews.llvm.org/D95617 and described by
https://bugs.llvm.org/show_bug.cgi?id=50076#c6, where inlined functions
omit unused parameters both in the stack trace and in `frame var`
command. With this patch, the parameters are listed correctly in the
stack trace and in `frame var` command.

Specifically, we parse formal parameters from the abstract version of
inlined functions and use those formal parameters if they are missing
from the concrete version.

Differential Revision: https://reviews.llvm.org/D110571
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h
The file was addedlldb/test/API/functionalities/unused-inlined-parameters/Makefile
The file was addedlldb/test/Shell/SymbolFile/DWARF/x86/unused-inlined-params.test
The file was addedlldb/test/API/functionalities/unused-inlined-parameters/main.c
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
The file was addedlldb/test/API/functionalities/unused-inlined-parameters/TestUnusedInlinedParameters.py
The file was addedlldb/test/Shell/SymbolFile/DWARF/x86/Inputs/unused-inlined-params.s
Commit 376c1389f6f33615871cbbe986b75372cd411616 by akuegel
[mlir] Use empty() calls where possible.

These are based on findings from the ClangTidy
readability-container-size-empty check.
The file was modifiedmlir/lib/Dialect/OpenACC/IR/OpenACC.cpp
Commit 898e80964c950fb49a133ff6018079fe8a7c922b by benny.kra
[mlir] Fix a crash when creating a 1d zero element LLVM constant

Fixes a regression introduced in f9be7a7afda3c90b99c9f50e5eff1624da5a6511

Differential Revision: https://reviews.llvm.org/D112208
The file was modifiedmlir/lib/Target/LLVMIR/ModuleTranslation.cpp
The file was modifiedmlir/test/Target/LLVMIR/llvmir.mlir
Commit 2ace1e5753a49195ca17f3e175c7e189cf147760 by pavel
[lldb] Remove ConstString from GetPluginNameStatic of some plugins

This patch deals with ObjectFile, ObjectContainer and OperatingSystem
plugins. I'll convert the other types in separate patches.

In order to enable piecemeal conversion, I am leaving some ConstStrings
in the lowest PluginManager layers. I'll convert those as the last step.

Differential Revision: https://reviews.llvm.org/D112061
The file was modifiedlldb/source/Plugins/ObjectFile/PDB/ObjectFilePDB.cpp
The file was modifiedlldb/source/Plugins/ObjectFile/wasm/ObjectFileWasm.h
The file was modifiedlldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.cpp
The file was modifiedlldb/source/Commands/CommandObjectProcess.cpp
The file was modifiedlldb/source/Plugins/OperatingSystem/Python/OperatingSystemPython.cpp
The file was modifiedlldb/source/Plugins/ObjectFile/Breakpad/ObjectFileBreakpad.cpp
The file was modifiedlldb/source/Target/OperatingSystem.cpp
The file was modifiedlldb/source/Plugins/ObjectContainer/Universal-Mach-O/ObjectContainerUniversalMachO.h
The file was modifiedlldb/source/API/SBProcess.cpp
The file was modifiedlldb/source/Plugins/ObjectFile/JIT/ObjectFileJIT.h
The file was modifiedlldb/source/Plugins/ObjectFile/wasm/ObjectFileWasm.cpp
The file was modifiedlldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.h
The file was modifiedlldb/source/Plugins/ObjectContainer/BSD-Archive/ObjectContainerBSDArchive.h
The file was modifiedlldb/source/Plugins/ObjectFile/Minidump/ObjectFileMinidump.h
The file was modifiedlldb/source/Core/PluginManager.cpp
The file was modifiedlldb/source/Plugins/ObjectFile/Minidump/ObjectFileMinidump.cpp
The file was modifiedlldb/source/Plugins/ObjectContainer/Universal-Mach-O/ObjectContainerUniversalMachO.cpp
The file was modifiedlldb/source/Plugins/ObjectFile/PDB/ObjectFilePDB.h
The file was modifiedlldb/source/Plugins/ObjectFile/Breakpad/ObjectFileBreakpad.h
The file was modifiedlldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
The file was modifiedlldb/include/lldb/Core/PluginManager.h
The file was modifiedlldb/source/Plugins/ObjectContainer/BSD-Archive/ObjectContainerBSDArchive.cpp
The file was modifiedlldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
The file was modifiedlldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.h
The file was modifiedlldb/source/Plugins/OperatingSystem/Python/OperatingSystemPython.h
The file was modifiedlldb/source/Plugins/ObjectFile/JIT/ObjectFileJIT.cpp
The file was modifiedlldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.h
Commit 39724158d38766f7d8683f78f54d80d174cae96a by benny.kra
[lldb] Silence -Wpessimizing-move warning

lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp:3635:10: error: moving a local object in a return statement prevents copy elision [-Werror,-Wpessimizing-move]
  return std::move(merged);
         ^
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
Commit aad244dfc566236e9d3ef48c7aea3616bb6aab14 by aaron
Revert "AddGlobalAnnotations for function with or without function body."

This reverts commit 121b2252de0eed68f2ddf5f09e924a6c35423d47.

The following code causes a crash in some circumstances:

  struct k {
    ~k() __attribute__((annotate(""))) {}
  };
  void m() { k(); }
The file was modifiedclang/lib/CodeGen/CodeGenModule.cpp
The file was modifiedclang/test/CodeGen/annotations-global.c
The file was modifiedclang/test/CodeGenCXX/attr-annotate.cpp
Commit 954d77b98dd69c6bcf808e3dac871171d4832bad by Jan Svoboda
[clang][deps] Ensure reported context hash is strict

One of main goals of the dependency scanner is to be strict about module compatibility. This is achieved through strict context hash. This patch ensures that strict context hash is enabled not only during the scan itself (and its minimized implicit build), but also when actually reporting the dependency.

Reviewed By: dexonsmith

Differential Revision: https://reviews.llvm.org/D111720
The file was addedclang/test/ClangScanDeps/Inputs/modules-context-hash/module.modulemap
The file was addedclang/test/ClangScanDeps/modules-context-hash.c
The file was addedclang/test/ClangScanDeps/Inputs/modules-context-hash/cdb.json.template
The file was modifiedclang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp
The file was addedclang/test/ClangScanDeps/Inputs/modules-context-hash/mod.h
The file was addedclang/test/ClangScanDeps/Inputs/modules-context-hash/b/dep.h
The file was addedclang/test/ClangScanDeps/Inputs/modules-context-hash/tu.c
The file was addedclang/test/ClangScanDeps/Inputs/modules-context-hash/a/dep.h
Commit 24616664afd455d7fde9cf4c631ff30347196bbc by Jan Svoboda
[clang][deps] NFC: Remove redundant CompilerInstance reference

The `ModuleDepCollectorPP` class holds a reference to `ModuleDepCollector` as well as `ModuleDepCollector`'s `CompilerInstance`. The fact that these refer to the same object is non-obvious.

This patch removes the `CompilerInvocation` reference from `ModuleDepCollectorPP` and accesses it through `ModuleDepCollector` instead.

Reviewed By: dexonsmith

Differential Revision: https://reviews.llvm.org/D111724
The file was modifiedclang/include/clang/Tooling/DependencyScanning/ModuleDepCollector.h
The file was modifiedclang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp
Commit 207e9fdea704dd8c6db077971d958abb8b4d6d84 by Jan Svoboda
[clang][deps] NFC: Rename scanning CompilerInstance

The dependency scanner works with multiple instances of `Compiler{Instance,Invocation}`. From names of the variables/members, their purpose is not obvious.

This patch gives a distinct name to the `CompilerInstance` that's used to run the implicit build during dependency scan.

Depends on D111724.

Reviewed By: dexonsmith

Differential Revision: https://reviews.llvm.org/D111725
The file was modifiedclang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
The file was modifiedclang/include/clang/Tooling/DependencyScanning/ModuleDepCollector.h
The file was modifiedclang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp
Commit c62220f9623dde699b88baf47c0a3dca400767fb by Jan Svoboda
[clang][deps] NFC: Rename building CompilerInvocation

The dependency scanner works with multiple instances of `Compiler{Instance,Invocation}`. From names of the variables/members, their purpose is not obvious.

This patch gives descriptive name to the generated `CompilerInvocation` that can be used to derive the command-line to build a modular dependency.

Depends on D111725.

Reviewed By: dexonsmith

Differential Revision: https://reviews.llvm.org/D111728
The file was modifiedclang/tools/clang-scan-deps/ClangScanDeps.cpp
The file was modifiedclang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp
The file was modifiedclang/include/clang/Tooling/DependencyScanning/ModuleDepCollector.h
Commit 9bfe7af1597661b5ff5102605b65ff288071a394 by david.green
[ARM] Add new abs test. NFC
The file was addedllvm/test/CodeGen/Thumb2/abs.ll
Commit 302a165e18fda8318e9e1ce6f452a48925cb3857 by simon
[MIPS] Fix switching between 32/64-bit variants of r6 target triples

If clang driver gets 64-bit r6 target triple like `mipsisa64r6` and
additional option forces switching to generation of 32-bit code, it
loses r6 abi and generates 32-bit r2-r5 abi code.

```
$ clang -target mipsisa64r6-linux-gnu -mabi=32
```

This patch fixes the problem.

- Add optional `SubArchType` argument to the `Triple::setArch()` method.
- Implement generation of mips r6 target triples in the
  `Triple::getArchName()` method.

Differential Revision: https://reviews.llvm.org/D110514.diff
The file was modifiedllvm/lib/Support/Triple.cpp
The file was modifiedllvm/include/llvm/ADT/Triple.h
The file was modifiedllvm/unittests/ADT/TripleTest.cpp
Commit 0d153df69e8fe28bdf7e65195d3708f331106088 by kerry.mclaughlin
[SVE] Fix selection failure when splitting extended masked loads

When splitting a masked load, `GetDependentSplitDestVTs` is used to get the
MemVTs of the high and low parts. If the masked load is extended, this
may return VTs with different element types which are used to create the
high & low masked load instructions.
This patch changes `GetDependentSplitDestVTs` to ensure we return VTs with
the same element type.

Reviewed By: david-arm

Differential Revision: https://reviews.llvm.org/D111996
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
The file was modifiedllvm/test/CodeGen/AArch64/sve-masked-ldst-sext.ll
The file was modifiedllvm/test/CodeGen/AArch64/sve-masked-ldst-zext.ll
Commit 6c88086ba8046884bb30a72ae1a8bea95e46f022 by pavel
[lldb] Fix a thinko in 2ace1e57

An empty plugin name means we should try everything.

Picked up by the windows bot.
The file was modifiedlldb/source/Core/PluginManager.cpp
Commit b8b14b682c339c9ab85360d24ba9b888d52fdfbb by Jan Svoboda
[clang][deps] Make resource directory deduction configurable

The `clang-scan-deps` CLI tool invokes the compiler with `-print-resource-dir` in case the `-resource-dir` argument is missing from the compilation command line. This is to enable running the tool on compilation databases that use compiler from a different toolchain than `clang-scan-deps` itself. While this doesn't make sense when scanning modular builds (due to the `-cc1` arguments the tool generates), the tool can can be used to efficiently scan for file dependencies of non-modular builds too.

This patch stops deducing the resource directory by invoking the compiler by default. This mode can still be enabled by invoking `clang-scan-deps` with `--resource-dir-recipe invoke-compiler`. The new default is `--resource-dir-recipe modify-compiler-path` which relies on the resource directory deduction taking place in `Driver::Driver` which is based on the compiler path. This makes the default more aligned with the intended usage of the tool while still allowing it to serve other use-cases.

Note that this functionality was also influenced by D108979, where the dependency scanner stopped going through `ClangTool::run`. The function tried to deduce the resource directory based on the current executable path, which might not be what the users expect when invoked from within a shared library.

Depends on D108979.

Reviewed By: dexonsmith

Differential Revision: https://reviews.llvm.org/D108366
The file was modifiedclang/tools/clang-scan-deps/ClangScanDeps.cpp
The file was addedclang/test/ClangScanDeps/Inputs/resource_directory/module.modulemap
The file was addedclang/test/ClangScanDeps/resource_directory.c
The file was addedclang/test/ClangScanDeps/Inputs/resource_directory/compiler
The file was addedclang/test/ClangScanDeps/Inputs/resource_directory/mod.h
The file was addedclang/test/ClangScanDeps/Inputs/resource_directory/cdb.json.template
The file was addedclang/test/ClangScanDeps/Inputs/resource_directory/tu.c
Commit 7ff4f48adb26429086d6fd85a14336e57cd340dc by jonathanchesterfield
Relax assert in ExprConstant to a return None.

Fixes a compiler assert on passing a compile time integer to atomic builtins.

Assert introduced in D61522
Function changed from ->bool to ->Optional in D76646
Simplifies call sites to getIntegerConstantExpr to elide the now-redundant
isValueDependent checks.

Reviewed By: aaron.ballman

Differential Revision: https://reviews.llvm.org/D112159
The file was modifiedclang/lib/Sema/SemaType.cpp
The file was modifiedclang/lib/Sema/SemaDeclAttr.cpp
The file was modifiedclang/lib/AST/ExprConstant.cpp
The file was modifiedclang/lib/Sema/SemaExprCXX.cpp
The file was modifiedclang/test/SemaTemplate/atomics.cpp
The file was modifiedclang/lib/Sema/SemaAttr.cpp
The file was modifiedclang/lib/Sema/SemaTemplateDeduction.cpp
Commit c5501a7a5c582168d1b12335c092bce53b32022d by springerm
[mlir][linalg][bufferize] Eliminate InitTensorOps of InsertSliceOp sources

An InitTensorOp is replaced with an ExtractSliceOp on the InsertSliceOp's destination. This optimization is applied after analysis and only to InsertSliceOps that were decided to bufferize inplace. Another analysis on the new ExtractSliceOp is needed after the rewrite.

Differential Revision: https://reviews.llvm.org/D111955
The file was modifiedmlir/test/Dialect/Linalg/comprehensive-module-bufferize.mlir
The file was modifiedmlir/test/Dialect/Linalg/comprehensive-module-bufferize-analysis.mlir
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/ComprehensiveBufferize.cpp
Commit 7a7e93f1225c21b842171d3463bf2158c681dabf by springerm
[mlir][linalg][bufferize] Avoid creating copies that are never read

Differential Revision: https://reviews.llvm.org/D111956
The file was modifiedmlir/test/Dialect/Linalg/comprehensive-module-bufferize.mlir
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/ComprehensiveBufferize.cpp
Commit 94213bc7decb1d4c131fb6feb5101e859640478f by springerm
[mlir][linalg][bufferize] Fix bug in getInplaceableOpResult

Differential Revision: https://reviews.llvm.org/D112123
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/ComprehensiveBufferize.cpp
Commit 5f8228d310627889716b51e1acd5840ec653d899 by springerm
[mlir][linalg][bufferize] Fix bufferizesToMemoryWrite for TiledLoopOp

This is the same fix as for scf.for.

Differential Revision: https://reviews.llvm.org/D112218
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/ComprehensiveBufferize.cpp
Commit 3ea7877c8b62ba100e7b34dbf4afa0171d5b4705 by a.bataev
[SLP]Unify vectorization of PHI and store nodes with improved tiny tree vectorization.

Vectorization of PHIs and stores very similar, it might be beneficial to
try to revectorize stores (like PHIs) if the total number of stores with
the same/alternate opcode is less than the vector size but number of
stores with the same type is larger than the vector size.

Differential Revision: https://reviews.llvm.org/D109831
The file was modifiedllvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/tiny-tree.ll
Commit fa111d30855ee4d74a4b87672ea50d03a74ad85f by anirudh_prasad
[SystemZ][z/OS] Additional test coverage for validating dialect instructions for SystemZ

- There are certain instructions most notably those with extended mnemonics that restricted to only the gnu/att variant
- There are also certain instruction aliases/mnemonic aliases that are restricted only to the HLASM variant (see https://reviews.llvm.org/D97581, https://reviews.llvm.org/D94250 and https://reviews.llvm.org/D92185 for reference)
- This patch adds a few tests to check for the behaviour introduced in the above patches. The testing coverage could not be added in at the same time, due to parallel work being done introducing the HLASM syntax

Reviewed By: uweigand, abhina.sreeskantharajan

Differential Revision: https://reviews.llvm.org/D112172
The file was addedllvm/test/MC/SystemZ/insn-bad-zos-z13.s
The file was addedllvm/test/MC/SystemZ/insn-bad-zos-z15.s
The file was addedllvm/test/MC/SystemZ/insn-good-zos-pcrel.s
The file was addedllvm/test/MC/SystemZ/insn-bad-zos-z14.s
The file was addedllvm/test/MC/SystemZ/insn-bad-zos.s
The file was addedllvm/test/MC/SystemZ/insn-bad-zos-z196.s
Commit d2198771e9ccbae27a487cdca67720eee71cea2a by spatel
[DAGCombiner] fold bit-hack form of usubsat

(i8 X ^ 128) & (i8 X s>> 7) --> usubsat X, 128

I haven't found a generalization of this identity:
https://alive2.llvm.org/ce/z/_sriEQ

Note: I was actually looking at the first form of the pattern in that link,
but that's part of a long chain of potential missed transforms in codegen
and IR....that I hope ends here!

The predicates for when this is profitable are a bit tricky. This version of
the patch excludes multi-use but includes custom lowering (as opposed to
legal only).

On x86 for example, we have custom lowering for some vector types, and that
uses umax and sub. So to enable that fold, we need add use checks to avoid
regressions. Even with legal-only lowering, we could see code with extra
reg move instructions for extra uses, so that constraint would have to be
eased very carefully to avoid penalties.

Differential Revision: https://reviews.llvm.org/D112085
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/usubsat.ll
The file was modifiedllvm/test/CodeGen/X86/psubus.ll
Commit aa3519f178fc6ea563f950a4077b34d8dc6c4470 by anirudh_prasad
[SystemZ][z/OS] Initial implementation for lowerCall on z/OS

- This patch provides the initial implementation for lowering a call on z/OS according to the XPLINK64 calling convention
- A series of changes have been made to SystemZCallingConv.td to account for these additional XPLINK64 changes including adding a new helper function to shadow the stack along with allocation of a register wherever appropriate
- For the cases of copying a f64 to a gr64 and a f128 / 128-bit vector type to a gr64, a `CCBitConvertToType` has been added and has been bitcasted appropriately in the lowering phase
- Support for the ADA register (R5) will be provided in a later patch.

Reviewed By: uweigand

Differential Revision: https://reviews.llvm.org/D111662
The file was modifiedllvm/lib/Target/SystemZ/SystemZCallingConv.cpp
The file was addedllvm/test/CodeGen/SystemZ/call-zos-vec.ll
The file was modifiedllvm/lib/Target/SystemZ/SystemZISelLowering.cpp
The file was addedllvm/test/CodeGen/SystemZ/call-zos-vararg.ll
The file was modifiedllvm/lib/Target/SystemZ/SystemZCallingConv.h
The file was modifiedllvm/lib/Target/SystemZ/SystemZRegisterInfo.h
The file was addedllvm/test/CodeGen/SystemZ/call-zos-01.ll
The file was modifiedllvm/lib/Target/TargetMachine.cpp
The file was modifiedllvm/lib/Target/SystemZ/SystemZCallingConv.td
Commit 72117f2ffeb6a096a808c34ec7ebee122c2d2e21 by Louis Dionne
[runtimes] Properly handle the sysroot/triple/gcc-toolchain

In 395271a, I simplified how we handled the target triple for the
runtimes. However, in doing so, we stopped considering the default
in CMAKE_CXX_COMPILER_TARGET, so we'd use the LLVM_DEFAULT_TARGET_TRIPLE
(which is the host triple) even if CMAKE_CXX_COMPILER_TARGET was specified.
This commit fixes that problem and also refactors the code so that it's
easy to see what the default value is.

The fact that nobody seems to have been broken by this makes me think
that perhaps nobody is using CMAKE_CXX_COMPILER_TARGET to specify the
triple -- but it should still work.

Differential Revision: https://reviews.llvm.org/D111672
The file was modifiedlibcxx/CMakeLists.txt
The file was modifiedlibcxxabi/CMakeLists.txt
The file was modifiedlibunwind/CMakeLists.txt
Commit 88303693ce97cf842f0714068c2cae44cd6515e1 by kbobyrev
Do not downcast uint64_t to unsigned in UniqueID hash computation

Context: https://reviews.llvm.org/D110925#inline-1070046
The file was modifiedllvm/include/llvm/Support/FileSystem/UniqueID.h
Commit 6b560a8e235b4f610cce6a2db8188f42ce65c5fb by spatel
[InstCombine] add tests for DeMorgan with reassociation; NFC

These are direct mutations of the tests added for D112108 -
we should handle the sibling folds for 'or'.
The file was modifiedllvm/test/Transforms/InstCombine/and-xor-or.ll
Commit 3888de9507c78d3d77a4f565f30a3bf1b2fce690 by spatel
[InstCombine] generalize reassociated Demorgan folds

This updates the recent D112108 / b92412fb286be26d
to handle the flipped logic ('or') sibling:
https://alive2.llvm.org/ce/z/Y2L6Ch
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
The file was modifiedllvm/test/Transforms/InstCombine/and-xor-or.ll
Commit a602c2b51dccc756c12e7585c34710aeaef54e0b by jonathanchesterfield
[libomptarget][DeviceRTL] Generalise and simplify cmakelists

Step towards building the DeviceRTL for amdgpu.

Mostly replaces cuda-specific toolchain finding logic with the
generic logic currently found in the amdgpu deviceRTL cmake. Also
deletes dead code and changes the default to build on systems
without cuda installed, as the library doesn't use cuda and the
amdgpu-only systems generally won't have cuda installed.

Reviewed By: Meinersbur

Differential Revision: https://reviews.llvm.org/D111983
The file was modifiedopenmp/libomptarget/DeviceRTL/CMakeLists.txt
Commit 203accf0bdde1d276646c79dfa605ee3426f1ca8 by nicolas.vasilache
[mlir][Linalg] Improve conv vectorization for the stride==1 case.

In the stride == 1 case, conv1d reads contiguous data along the input dimension. This can be advantageaously used to bulk memory transfers and compute while avoiding unrolling. Experimentally, this can yield speedups of up to 50%.

Reviewed By: antiagainst

Differential Revision: https://reviews.llvm.org/D112139
The file was modifiedmlir/test/Dialect/Linalg/vectorize-convolution.mlir
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
Commit 5c72323141e4c2935492a9aca728d549c7e544ab by Lang Hames
[ORC-RT] Remove stray printf debugging output.

These were accidentally picked up in an earlier commit.
The file was modifiedcompiler-rt/lib/orc/macho_platform.cpp
Commit 77fdc0e56bf9463b432f1a2073ac506a8df9b652 by jezng
[lld-macho] Simplify lc-linker-option.ll and re-enable it on Windows

While attempting to simplify it, I discovered a concerning discrepancy
between our handling of LC_LINKER_OPTION vs ld64's. In particular, ld64
does not appear to check for `-all_load` nor `-ObjC` when processing
those options. Thus, if/when we fix this behavior, no duplicate symbol
error will be expected regardless of the use-after-free. As such, I've
removed the test logic that tries to induce the duplicate symbol error.
We can just rely on ASAN to do the verification.

In order to make the test run on Windows, I've removed the symlink
logic. Both ld64 and LLD handle this un-symlinked framework just fine.

I also capitalized the framework name, since that's the typical
convention.

Reviewed By: #lld-macho, oontvoo

Differential Revision: https://reviews.llvm.org/D112195
The file was modifiedlld/test/MachO/lc-linker-option.ll
Commit 56df1d80e2911a8cd23b70e9b7e76fcb386c7956 by koraq
[libc++] Use addressof in vector.

This addresses the usage of `operator&` in `<vector>`.

I now added tests for the current offending cases. I wonder whether it
would be better to add one addressof test per directory and test all
possible violations. Also to guard against possible future errors?

(Note there are still more headers with the same issue.)

Reviewed By: #libc, ldionne

Differential Revision: https://reviews.llvm.org/D111961
The file was addedlibcxx/test/std/containers/sequences/vector/vector.special/swap.addressof.compile.pass.cpp
The file was addedlibcxx/test/std/containers/sequences/vector/vector.modifiers/erase_iter.addressof.compile.pass.cpp
The file was addedlibcxx/test/std/containers/sequences/vector/vector.modifiers/erase_iter_iter.addressof.compile.pass.cpp
The file was addedlibcxx/test/std/containers/sequences/vector/vector.cons/assign_move.addressof.compile.pass.cpp
The file was addedlibcxx/test/std/containers/sequences/vector/vector.modifiers/insert_iter_value.addressof.compile.pass.cpp
The file was addedlibcxx/test/std/containers/sequences/vector/vector.modifiers/insert_iter_rvalue.addressof.compile.pass.cpp
The file was modifiedlibcxx/include/__iterator/wrap_iter.h
The file was modifiedlibcxx/include/vector
The file was addedlibcxx/test/std/containers/sequences/vector/vector.modifiers/insert_iter_iter_iter.addressof.compile.pass.cpp
The file was addedlibcxx/test/std/containers/sequences/vector/vector.modifiers/insert_iter_size_value.addressof.compile.pass.cpp
The file was addedlibcxx/test/std/containers/sequences/vector/vector.modifiers/emplace.addressof.compile.pass.cpp
The file was addedlibcxx/test/std/containers/sequences/vector/vector.cons/move.addressof.compile.pass.cpp
Commit b396010240cda92f5fcfa30cba1b9ad905561eae by yhs
[Clang] Support typedef with btf_decl_tag attributes

Previously, btf_del_tag attribute supports record, field, global variable,
function and function parameter ([1], [2]). This patch added support for typedef.
The main reason is for typedef of an anonymous struct/union, we can only apply
btf_decl_tag attribute to the anonymous struct/union like below:
  typedef struct { ... } __btf_decl_tag target_type
In this case, the __btf_decl_tag attribute applies to anonymous struct,
which increases downstream implementation complexity. But if
typedef with btf_decl_tag attribute is supported, we can have
  typedef struct { ... } target_type __btf_decl_tag
which applies __btf_decl_tag to typedef "target_type" which make it
easier to directly associate btf_decl_tag with a named type.
This patch permitted btf_decl_tag with typedef types with this reason.

[1] https://reviews.llvm.org/D106614
[2] https://reviews.llvm.org/D111588

Differential Revision: https://reviews.llvm.org/D110127
The file was modifiedclang/include/clang/Basic/AttrDocs.td
The file was modifiedclang/test/Misc/pragma-attribute-supported-attributes-list.test
The file was modifiedclang/include/clang/Basic/Attr.td
The file was modifiedclang/test/Sema/attr-btf_tag.c
Commit f6811cec84218912d1c7c9b0b8d308834e6e24e3 by yhs
[DebugInfo] Support typedef with btf_decl_tag attributes

Clang patch ([1]) added support for btf_decl_tag attributes with typedef
types. This patch added llvm support including dwarf generation.
For example, for typedef
   typedef unsigned * __u __attribute__((btf_decl_tag("tag1")));
   __u u;
the following shows llvm-dwarfdump result:
   0x00000033:   DW_TAG_typedef
                   DW_AT_type      (0x00000048 "unsigned int *")
                   DW_AT_name      ("__u")
                   DW_AT_decl_file ("/home/yhs/work/tests/llvm/btf_tag/t.c")
                   DW_AT_decl_line (1)

   0x0000003e:     DW_TAG_LLVM_annotation
                     DW_AT_name    ("btf_decl_tag")
                     DW_AT_const_value     ("tag1")

   0x00000047:     NULL

  [1] https://reviews.llvm.org/D110127

Differential Revision: https://reviews.llvm.org/D110129
The file was addedclang/test/CodeGen/attr-btf_tag-typedef.c
The file was modifiedclang/lib/CodeGen/CGDebugInfo.cpp
The file was modifiedllvm/include/llvm/IR/DIBuilder.h
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp
The file was modifiedllvm/lib/IR/DIBuilder.cpp
The file was addedllvm/test/Bitcode/attr-btf_tag-typedef.ll
The file was addedllvm/test/DebugInfo/X86/attr-btf_tag-typedef.ll
Commit dccfaddc6bcc711bd972b43bff5ce6d71c1b39dc by kazu
[clang] Use StringRef::contains (NFC)
The file was modifiedclang/lib/CodeGen/TargetInfo.cpp
The file was modifiedclang/utils/TableGen/RISCVVEmitter.cpp
The file was modifiedclang/lib/ARCMigrate/Transforms.cpp
The file was modifiedclang/lib/CodeGen/CodeGenFunction.cpp
The file was modifiedclang/utils/TableGen/NeonEmitter.cpp
The file was modifiedclang/lib/Analysis/RetainSummaryManager.cpp
The file was modifiedclang/lib/ASTMatchers/ASTMatchersInternal.cpp
The file was modifiedclang/lib/Lex/LiteralSupport.cpp
The file was modifiedclang/lib/AST/Expr.cpp
The file was modifiedclang/utils/TableGen/ClangASTPropertiesEmitter.cpp
The file was modifiedclang/lib/Rewrite/Rewriter.cpp
The file was modifiedclang/lib/ARCMigrate/TransUnbridgedCasts.cpp
The file was modifiedclang/lib/Lex/HeaderSearch.cpp
The file was modifiedclang/lib/ARCMigrate/ObjCMT.cpp
Commit b8da594750762f811283820c19b02cedfb6632d4 by blangmuir
Reapply [ORC-RT] Configure the ORC runtime for more architectures and platforms

Reapply 5692ed0cce8c95, but with the ORC runtime disabled explicitly on
CrossWinToARMLinux to match the other compiler-rt runtime libraries.

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

---

Enable building the ORC runtime for 64-bit and 32-bit ARM architectures,
and for all Darwin embedded platforms (iOS, tvOS, and watchOS). This
covers building the cross-platform code, but does not add TLV runtime
support for the new architectures, which can be added independently.

Incidentally, stop building the Mach-O TLS support file unnecessarily on
other platforms.

Differential Revision: https://reviews.llvm.org/D112111
The file was modifiedcompiler-rt/lib/orc/elfnix_tls.x86-64.S
The file was modifiedcompiler-rt/lib/orc/macho_tlv.x86-64.S
The file was modifiedclang/cmake/caches/CrossWinToARMLinux.cmake
The file was modifiedcompiler-rt/cmake/config-ix.cmake
The file was modifiedcompiler-rt/lib/orc/simple_packed_serialization.h
The file was modifiedcompiler-rt/cmake/Modules/AllSupportedArchDefs.cmake
The file was modifiedcompiler-rt/lib/orc/CMakeLists.txt
Commit 2dcad7754a204d5dbb78fef8f6b13cd005456e33 by aeubanks
[clang] Don't clear AST if we have consumers running after the main action

Downstream users may have Clang plugins. By default these plugins run
after the main action if they are specified on the command line.

Since these plugins are ASTConsumers, presumably they inspect the AST.
So we shouldn't clear it if any plugins run after the main action.

Reviewed By: dblaikie, hans

Differential Revision: https://reviews.llvm.org/D112190
The file was modifiedclang/lib/Frontend/FrontendAction.cpp
The file was addedclang/test/Misc/clear-ast-before-backend-plugins.c
Commit cfca2ae1f5babaf0877bbd3ce8665b9db3344411 by aaron
Update the C++ and C status pages now that Clang 13 has been released
The file was modifiedclang/www/c_status.html
The file was modifiedclang/www/cxx_status.html
Commit acfe7d895d2f0897fe8f79151a491e75a7a99a25 by aaron
Update the title and encoding for the C++ status page
The file was modifiedclang/www/cxx_status.html
Commit baea663a6e9bc52f80995d02bb8149934c825612 by listmail
[IPT] Restructure cache to allow lazy update following invalidation [NFC]

This change restructures the cache used in IPT to point not to the first special instruction, but to the first instruction which *could* be special. That is, the cached reference is always equal to the first special, or comes before it in the block.

This avoids expensive block scans when we are removing special instructions from the beginning of the block. At the moment, this case is not heavily used, though it does trigger in GVN when doing CSE of calls. The main motivation was a change I'm no longer planning to move forward with, but the cache optimization seemed worthwhile as a minor perf win at low cost.

Differential Revision: https://reviews.llvm.org/D111768
The file was modifiedllvm/include/llvm/Analysis/InstructionPrecedenceTracking.h
The file was modifiedllvm/lib/Analysis/InstructionPrecedenceTracking.cpp
Commit 92673fad66f449f63acc76dfbb5e0bf05978663b by fraser
[RISCV] Add a test showing incorrect VSETVLI insertion

This test case, reduced from an internal test failure, shows how we may
incorrectly skip the insertion of VSETVLI instructions when doing
cross-basic-block analysis.

The entry block ends in a `e32,mf2`. Its single successor, %bb.1, ends with a
`e8,mf8`, but for a mask-type instruction, so is considered compatible.
This means that the info %bb.1 is merged into its predecessor so
produces a `e32,mf2`. When it comes to the last block, which requires a
`e32,mf2`, we skip the insertion of a vsetvli because all predecessors
were determined to preserve the right vtype.

However, when %bb.1 is actually laid out it does actually need a
`e8,mf8` vsetvli, since the previous instruction has a different tail
policy. This means that when execution flows from %bb.1 to %bb.3, the
`vadd.vx` is misconfigured.

Reviewed By: craig.topper

Differential Revision: https://reviews.llvm.org/D112223
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vsetvli-insert-crossbb.mir
Commit 19b07ec00062daffcb2fb132f4ac0f2484ff44fa by aeubanks
Reland [clang] Pass -clear-ast-before-backend in Clang::ConstructJob()

This clears the memory used for the Clang AST before we run LLVM passes.

https://llvm-compile-time-tracker.com/compare.php?from=d0a5f61c4f6fccec87fd5207e3fcd9502dd59854&to=b7437fee79e04464dd968e1a29185495f3590481&stat=max-rss
shows significant memory savings with no slowdown (in fact -O0 slightly speeds up).

For more background, see
https://lists.llvm.org/pipermail/cfe-dev/2021-September/068930.html.

Turn this off for the interpreter since it does codegen multiple times.

Relanding with fix for -print-stats: D111973

Relanding with fix for plugins: D112190

If you'd like to use this even with plugins, consider using the features
introduced in D112096.

This can be turned off with -Xclang -no-clear-ast-before-backend.

Differential Revision: https://reviews.llvm.org/D111270
The file was modifiedclang/lib/Interpreter/Interpreter.cpp
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp
Commit 66d22b4da4afe00c695d9714687aac8b9e4b7396 by spatel
[VectorCombine] fold shuffle-of-binops with common operand

shuf (bo X, Y), (bo X, W) --> bo (shuf X), (shuf Y, W)

This is motivated by an example in D111800
(although that patch avoids the problem for that particular example).

The pattern is shown in reduced form with:
https://llvm.org/PR52178
https://alive2.llvm.org/ce/z/d8zB4D

There is no difference on the PhaseOrdering test from D111800
because the aarch64 cost model says that the shuffle cost is 3 while
the fadd cost is 2.

Differential Revision: https://reviews.llvm.org/D111901
The file was modifiedllvm/lib/Transforms/Vectorize/VectorCombine.cpp
The file was modifiedllvm/test/Transforms/VectorCombine/X86/shuffle.ll
Commit 13c31539f7da403fee11fe2163249837460c3bf2 by clementval
[fir] Add Character helper

This patch is extracted from D111337. It introduce the
CharacterExprHelper that helps dealing with character in FIR.

Reviewed By: schweitz, awarzynski

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

Co-authored-by: Jean Perier <jperier@nvidia.com>
Co-authored-by: Eric Schweitz <eschweitz@nvidia.com>
Co-authored-by: V Donaldson <vdonaldson@nvidia.com>
The file was modifiedflang/include/flang/Optimizer/Builder/FIRBuilder.h
The file was modifiedflang/lib/Optimizer/Builder/FIRBuilder.cpp
The file was addedflang/include/flang/Optimizer/Builder/Character.h
The file was modifiedflang/unittests/Optimizer/Builder/FIRBuilderTest.cpp
The file was modifiedflang/include/flang/Optimizer/Dialect/FIROpsSupport.h
The file was addedflang/unittests/Optimizer/Builder/CharacterTest.cpp
The file was addedflang/lib/Optimizer/Builder/Character.cpp
The file was modifiedflang/unittests/Optimizer/CMakeLists.txt
The file was modifiedflang/include/flang/Optimizer/Dialect/FIRType.h
The file was modifiedflang/lib/Optimizer/Builder/CMakeLists.txt
Commit 92a6dd6e50c8055a4db88f42966e48a915b81c76 by blangmuir
[test][ORC-RT] Disable x86_64 tests when target arch does not match

When cross-compiling, these tests will fail. For now leave the host arch
check that was already there since I don't know why it was added.
The file was modifiedcompiler-rt/test/orc/TestCases/Linux/x86-64/lit.local.cfg.py
The file was modifiedcompiler-rt/test/orc/TestCases/FreeBSD/x86-64/lit.local.cfg.py
The file was modifiedcompiler-rt/test/orc/TestCases/Darwin/x86-64/lit.local.cfg.py
Commit 21f9e4a1ed91adc9aac0ba209ad4c264cad3b6ff by ataei
Avoid infinity arithmetics when computing exp approximations

Otherwise this can result a poison value on some platforms see https://bugs.llvm.org/show_bug.cgi?id=51204

Reviewed By: ezhulenev

Differential Revision: https://reviews.llvm.org/D112115
The file was modifiedmlir/lib/Dialect/Math/Transforms/PolynomialApproximation.cpp
The file was modifiedmlir/test/mlir-cpu-runner/math_polynomial_approx.mlir
The file was modifiedmlir/test/Dialect/Math/polynomial-approximation.mlir
Commit b7144ab7651702b7171f53cd778780fc3a52863e by riddleriver
[NFC] Clean up a few methods within GreedyPatternRewriter

Move a few methods out of line and clean up comments.
The file was modifiedmlir/lib/Transforms/Utils/GreedyPatternRewriteDriver.cpp
Commit 5652ecc3739df66b259bd9d40b210ee1b8f35248 by riddleriver
[mlir:GreedyPatternRewriter] Add debug logging for pattern rewriter actions

This effectively mirrors the logging in dialect conversion, which has proven
very useful for understanding the pattern application process.

Differential Revision: https://reviews.llvm.org/D112120
The file was modifiedmlir/docs/PatternRewriter.md
The file was modifiedmlir/lib/Transforms/Utils/GreedyPatternRewriteDriver.cpp
Commit a4b8979a81afe45463860579cd82ee7bb45d1513 by flo
[SLP] Add additional tests which caused crashes with versioning.
The file was modifiedllvm/test/Transforms/SLPVectorizer/AArch64/memory-runtime-checks.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/memory-runtime-checks.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/AArch64/memory-runtime-checks-in-loops.ll
Commit ba4920e98e2f5ef33024e16979786981e705cc80 by phosek
Revert "[CMake] Cache the compiler-rt library search results"

This reverts commit 0eed292fbae22a8856682b07e1cb968424b49941, there
are compiler-rt build failures that appear to have been introduced
by this change.
The file was modifiedlibunwind/CMakeLists.txt
The file was modifiedlibcxx/cmake/config-ix.cmake
The file was modifiedcompiler-rt/lib/builtins/CMakeLists.txt
The file was addedlibcxxabi/cmake/Modules/HandleCompilerRT.cmake
The file was modifiedcompiler-rt/cmake/Modules/AddCompilerRT.cmake
The file was modifiedlibcxxabi/src/CMakeLists.txt
The file was modifiedcompiler-rt/cmake/config-ix.cmake
The file was addedlibcxx/cmake/Modules/HandleCompilerRT.cmake
The file was modifiedlibcxx/src/CMakeLists.txt
The file was modifiedcompiler-rt/CMakeLists.txt
The file was modifiedlibcxx/CMakeLists.txt
The file was modifiedlibcxxabi/CMakeLists.txt
The file was addedcompiler-rt/cmake/Modules/HandleCompilerRT.cmake
The file was modifiedlibunwind/cmake/config-ix.cmake
The file was removedcmake/Modules/HandleCompilerRT.cmake
The file was modifiedlibcxxabi/cmake/config-ix.cmake
The file was addedlibunwind/cmake/Modules/HandleCompilerRT.cmake
Commit 408075ec6a955998eea3549fa7f79c512c6b02d1 by aaron
Add the papers that were applied to the latest C2x working draft
The file was modifiedclang/www/c_status.html
Commit 3781a46c3c70a83b2a5312aa358512578e87b9ca by aeubanks
Revert "[IPT] Restructure cache to allow lazy update following invalidation [NFC]"

This reverts commit baea663a6e9bc52f80995d02bb8149934c825612.

Causes crashes, e.g. https://lab.llvm.org/buildbot/#/builders/77/builds/10715.
The file was modifiedllvm/include/llvm/Analysis/InstructionPrecedenceTracking.h
The file was modifiedllvm/lib/Analysis/InstructionPrecedenceTracking.cpp
Commit d55be79d754890b45352611d04b6b16c4fd3c737 by craig.topper
[RISCV] Expand scalable vector CTTZ/CTLZ/CTPOP.

Differential Revision: https://reviews.llvm.org/D112233
The file was addedllvm/test/CodeGen/RISCV/rvv/ctpop-sdnode.ll
The file was addedllvm/test/CodeGen/RISCV/rvv/cttz-sdnode.ll
The file was addedllvm/test/CodeGen/RISCV/rvv/ctlz-sdnode.ll
The file was modifiedllvm/lib/Target/RISCV/RISCVISelLowering.cpp
Commit ab3d5d0533678ee93c93bd62db79c091741096f0 by pirama
Revert "[compiler-rt/profile] Hide __llvm_profile_raw_version"

This reverts commit 69708477be258dbea2711f6a35c02685659b49d3 to unblock
instrprof-darwin-exports.c failure on MacOS bots.
The file was modifiedcompiler-rt/lib/profile/InstrProfiling.h
The file was modifiedcompiler-rt/lib/profile/InstrProfilingVersionVar.c
Commit f7587a9d38f42ef80965444701aed63af0bcbdf7 by kbobyrev
Follow-up on https://github.com/llvm/llvm-project/commit/88303693ce97cf842f0714068c2cae44cd6515e1

Use hash code instead of unsigned for the hash return value.
The file was modifiedllvm/include/llvm/Support/FileSystem/UniqueID.h
Commit 184852584231c60156fb4ec7eddb228b13837c39 by nikita.ppv
[CodeMetrics] Don't require speculatability for ephemeral values

As discussed in D112016, our current requirement of speculatability
for ephemeral is overly strict: What we really care about is that
the instruction will be DCEd once the assume is dropped. For that
it is sufficient that the instruction is side-effect free and not
a terminator.

In particular, this allows non-dereferenceable loads to be ephemeral
values.

Differential Revision: https://reviews.llvm.org/D112179
The file was modifiedllvm/lib/Analysis/ValueTracking.cpp
The file was modifiedllvm/lib/Transforms/Utils/SimplifyCFG.cpp
The file was modifiedllvm/lib/Analysis/CodeMetrics.cpp
The file was modifiedllvm/test/Transforms/SimplifyCFG/unprofitable-pr.ll
The file was modifiedllvm/test/Transforms/Inline/ephemeral.ll
Commit 626f0449f345db0e27f33b5cf5a8a0a44f10cd13 by i
[Triple] Don't repeat the function name in comments. NFC
The file was modifiedllvm/include/llvm/ADT/Triple.h
Commit aee49255074fd4ef38d97e6e70cbfbf2f9fd0fa7 by dblaikie
Recommit: Compress formatting of array type names (int [4] -> int[4])

Based on post-commit review discussion on
2bd84938470bf2e337801faafb8a67710f46429d with Richard Smith.

Other uses of forcing HasEmptyPlaceHolder to false seem OK to me -
they're all around pointer/reference types where the pointer/reference
token will appear at the rightmost side of the left side of the type
name, so they make nested types (eg: the "int" in "int *") behave as
though there is a non-empty placeholder (because the "*" is essentially
the placeholder as far as the "int" is concerned).

This was originally committed in 277623f4d5a672d707390e2c3eaf30a9eb4b075c

Reverted in f9ad1d1c775a8e264bebc15d75e0c6e5c20eefc7 due to breakages
outside of clang - lldb seems to have some strange/strong dependence on
"char [N]" versus "char[N]" when printing strings (not due to that name
appearing in DWARF, but probably due to using clang to stringify type
names) that'll need to be addressed, plus a few other odds and ends in
other subprojects (clang-tools-extra, compiler-rt, etc).
The file was modifiedclang/test/CXX/dcl.decl/dcl.decomp/p2.cpp
The file was modifiedclang/test/Layout/ms-x86-misalignedarray.cpp
The file was modifiedclang/test/AST/ast-dump-color.cpp
The file was modifiedclang/test/AST/ast-dump-expr-json.m
The file was modifiedclang/test/SemaObjC/warn-write-strings.m
The file was modifiedclang/test/SemaOpenCL/half.cl
The file was modifiedlldb/test/API/lang/cpp/non-type-template-param/TestCppNonTypeTemplateParam.py
The file was modifiedclang/test/OpenMP/parallel_reduction_messages.c
The file was modifiedclang/test/SemaCXX/static-assert-cxx17.cpp
The file was modifiedclang/test/SemaCXX/attr-gnu.cpp
The file was modifiedclang/test/SemaCXX/warn-string-conversion.cpp
The file was modifiedclang/test/CodeGen/const-init.c
The file was modifiedclang/test/Sema/types.c
The file was modifiedclang/test/Analysis/scopes-cfg-output.cpp
The file was modifiedclang/test/CXX/special/class.ctor/p5-0x.cpp
The file was modifiedclang/test/CXX/dcl.decl/dcl.meaning/dcl.fct/p13.cpp
The file was modifiedlldb/test/API/functionalities/data-formatter/typedef_array/main.cpp
The file was modifiedclang/test/AST/ast-dump-template-decls-json.cpp
The file was modifiedclang/test/Sema/nullability.c
The file was modifiedclang/test/Sema/merge-decls.c
The file was modifiedclang/test/SemaObjC/method-bad-param.m
The file was modifiedlldb/source/DataFormatters/FormatManager.cpp
The file was modifiedclang/test/Layout/aix-Wpacked-expecting-diagnostics.cpp
The file was modifiedclang/test/SemaCXX/overload-call.cpp
The file was modifiedclang/test/Modules/odr_hash.cpp
The file was modifiedclang/test/SemaCXX/compare-cxx2a.cpp
The file was modifiedclang/test/CXX/expr/expr.prim/expr.prim.id/mixed-constraints.cpp
The file was modifiedclang/test/CXX/drs/dr177x.cpp
The file was modifiedclang/test/AST/ast-dump-openmp-begin-declare-variant_9.c
The file was modifiedclang/test/SemaCXX/for-range-examples.cpp
The file was modifiedclang/test/SemaObjC/argument-checking.m
The file was modifiedclang/test/Sema/compound-literal.c
The file was modifiedclang/test/CXX/expr/expr.prim/expr.prim.lambda/p4.cpp
The file was modifiedclang/test/Sema/builtin-expect-with-probability.cpp
The file was modifiedclang/test/Layout/aix-no-unique-address-with-double.cpp
The file was modifiedclang/test/CXX/dcl.dcl/dcl.spec/dcl.typedef/p2-0x.cpp
The file was modifiedclang/test/CXX/temp/temp.explicit/p8.cpp
The file was modifiedclang/test/AST/ast-dump-stmt-json.cpp
The file was modifiedclang/test/ARCMT/cxx-checking.mm
The file was modifiedclang/test/SemaCXX/dcl_init_aggr.cpp
The file was modifiedclang/test/SemaCXX/exceptions.cpp
The file was modifiedclang/test/AST/pr47636.cpp
The file was modifiedclang/test/SemaCXX/alias-template.cpp
The file was modifiedclang/test/SemaCXX/no-wchar.cpp
The file was modifiedclang/test/AST/ast-dump-records.cpp
The file was modifiedclang/test/CXX/temp/temp.arg/temp.arg.nontype/p1.cpp
The file was modifiedcompiler-rt/test/ubsan/TestCases/Misc/bounds.cpp
The file was modifiedclang/test/Sema/assign.c
The file was modifiedclang/test/AST/ast-dump-expr.cpp
The file was modifiedclang/test/ASTMerge/var/test.c
The file was modifiedclang/test/SemaOpenCLCXX/address-space-deduction.clcpp
The file was modifiedclang/test/AST/float16.cpp
The file was modifiedclang/test/CXX/dcl.decl/dcl.meaning/dcl.array/p3.cpp
The file was modifiedclang/test/OpenMP/distribute_parallel_for_firstprivate_messages.cpp
The file was modifiedclang/test/OpenMP/distribute_simd_firstprivate_messages.cpp
The file was modifiedclang/test/CXX/special/class.copy/p23-cxx11.cpp
The file was modifiedlldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
The file was modifiedclang/test/Sema/vla.cpp
The file was modifiedclang/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp
The file was modifiedclang/test/AST/sourceranges.cpp
The file was modifiedclang/test/OpenMP/distribute_parallel_for_simd_shared_messages.cpp
The file was modifiedclang/test/Layout/ms-x86-lazy-empty-nonvirtual-base.cpp
The file was modifiedclang/test/SemaCXX/cxx2a-compat.cpp
The file was modifiedclang/test/Layout/ms-x86-empty-layout.c
The file was modifiedlldb/test/Shell/SymbolFile/NativePDB/global-classes.cpp
The file was modifiedclang/test/AST/ast-dump-expr-json.cpp
The file was modifiedclang/test/Layout/ms-x86-empty-virtual-base.cpp
The file was modifiedclang/test/CodeGen/dump-struct-builtin.c
The file was modifiedclang/test/Index/print-type-size.cpp
The file was modifiedclang/test/SemaObjC/rdr-6211479-array-property.m
The file was modifiedclang/test/Sema/empty1.c
The file was modifiedclang/test/Sema/var-redecl.c
The file was modifiedlldb/test/API/lang/c/array_types/TestArrayTypes.py
The file was modifiedclang/test/SemaTemplate/temp_arg_nontype.cpp
The file was modifiedclang/test/Sema/generic-selection.c
The file was modifiedclang/test/CXX/expr/expr.prim/expr.prim.id/p4.cpp
The file was modifiedlldb/test/API/functionalities/data-formatter/data-formatter-cpp/TestDataFormatterCpp.py
The file was modifiedclang/test/Analysis/malloc-sizeof.c
The file was modifiedclang/test/AST/ast-dump-expr.c
The file was modifiedclang/test/SemaCXX/c99-variable-length-array-cxx11.cpp
The file was modifiedlldb/test/API/lang/c/vla/TestVLA.py
The file was modifiedlldb/test/API/lang/cpp/char1632_t/TestChar1632T.py
The file was modifiedclang/test/SemaCXX/cxx1z-decomposition.cpp
The file was modifiedclang/test/SemaCXX/coroutines.cpp
The file was modifiedclang/test/Layout/aix-power-alignment-typedef.cpp
The file was modifiedclang/test/Layout/ms-x86-empty-nonvirtual-bases.cpp
The file was modifiedclang/test/Index/print-type.c
The file was modifiedclang/test/OpenMP/target_teams_distribute_firstprivate_messages.cpp
The file was modifiedclang/test/SemaCXX/constant-expression-cxx2a.cpp
The file was modifiedclang-tools-extra/clangd/unittests/DiagnosticsTests.cpp
The file was modifiedclang/test/CXX/dcl.decl/dcl.init/dcl.init.list/p3.cpp
The file was modifiedclang/test/CXX/temp/temp.constr/temp.constr.constr/non-function-templates.cpp
The file was modifiedclang/test/Layout/ms-x86-pack-and-align.cpp
The file was modifiedclang/test/SemaCXX/array-bound-merge.cpp
The file was modifiedclang/test/Sema/matrix-type-builtins.c
The file was modifiedclang/test/PCH/objc_exprs.m
The file was modifiedclang/test/SemaObjCXX/message.mm
The file was modifiedclang/test/Sema/warn-sizeof-array-decay.c
The file was modifiedclang/test/SemaCXX/overload-member-call.cpp
The file was modifiedclang/test/AST/ast-dump-expr-json.c
The file was modifiedclang/test/SemaCXX/cxx0x-initializer-aggregates.cpp
The file was modifiedclang/test/Modules/cxx-templates.cpp
The file was modifiedclang/test/CXX/temp/temp.param/p10-2a.cpp
The file was modifiedclang/test/Sema/predef.c
The file was modifiedclang/test/AST/ast-dump-templates.cpp
The file was modifiedclang/test/Sema/crash-invalid-array.c
The file was modifiedclang/test/AST/ast-dump-APValue-arithmetic.cpp
The file was modifiedclang/test/AST/ast-dump-stmt.cpp
The file was modifiedclang/test/OpenMP/distribute_simd_lastprivate_messages.cpp
The file was modifiedclang/test/Analysis/auto-obj-dtors-cfg-output.cpp
The file was modifiedclang-tools-extra/clangd/unittests/HoverTests.cpp
The file was modifiedclang/test/Sema/warn-write-strings.c
The file was modifiedlldb/test/API/lang/cpp/class_static/TestStaticVariables.py
The file was modifiedclang/test/Sema/gnu-flags.c
The file was modifiedclang/test/Sema/incomplete-decl.c
The file was modifiedlldb/test/Shell/SymbolFile/DWARF/x86/DW_AT_const_value.s
The file was modifiedclang/test/SemaCXX/flexible-array-test.cpp
The file was modifiedclang/test/Analysis/explain-svals.cpp
The file was modifiedclang/test/SemaCXX/MicrosoftExtensions.cpp
The file was modifiedclang/test/AST/atomic-expr.cpp
The file was modifiedclang/test/SemaObjC/ivar-sem-check-1.m
The file was modifiedclang/test/Layout/ms-aligned-array.c
The file was modifiedclang/test/Layout/aix-double-struct-member.cpp
The file was modifiedclang/test/CXX/stmt.stmt/stmt.iter/stmt.ranged/p1.cpp
The file was modifiedclang/test/OpenMP/distribute_simd_reduction_messages.cpp
The file was modifiedclang/test/Sema/array-init.c
The file was modifiedclang/test/SemaCXX/constexpr-builtin-bit-cast.cpp
The file was modifiedclang/test/SemaTemplate/instantiate-static-var.cpp
The file was modifiedclang/test/OpenMP/distribute_parallel_for_reduction_messages.cpp
The file was modifiedclang/test/SemaObjC/flexible-array.m
The file was modifiedclang/test/Sema/extern-redecl.c
The file was modifiedclang/test/Sema/warn-sizeof-arrayarg.c
The file was modifiedlldb/test/API/lang/cpp/char8_t/TestCxxChar8_t.py
The file was modifiedclang/test/Analysis/lifetime-cfg-output.cpp
The file was modifiedclang/test/SemaCXX/cxx0x-type-convert-construct.cpp
The file was modifiedlibcxx/test/std/utilities/smartptr/unique.ptr/unique.ptr.class/unique.ptr.observers/dereference.runtime.fail.cpp
The file was modifiedclang/test/Sema/array-constraint.c
The file was modifiedlldb/test/Shell/SymbolFile/DWARF/x86/array-sizes.s
The file was modifiedclang/test/Layout/watchos-standard-layout.cpp
The file was modifiedlibcxx/test/std/concepts/concepts.lang/concept.default.init/default_initializable.verify.cpp
The file was modifiedclang/test/Parser/atomic.c
The file was modifiedclang/test/SemaOpenCL/predefined-expr.cl
The file was modifiedclang/test/Misc/integer-literal-printing.cpp
The file was modifiedclang/test/AST/ast-dump-file-line-json.c
The file was modifiedclang/test/SemaCXX/new-delete.cpp
The file was modifiedclang/test/Layout/no-unique-address.cpp
The file was modifiedclang/test/SemaCXX/constant-expression-cxx11.cpp
The file was modifiedclang/test/Misc/diag-macro-backtrace2.c
The file was modifiedlldb/test/API/functionalities/data-formatter/data-formatter-ptr-to-array/TestPtrToArrayFormatting.py
The file was modifiedclang/bindings/python/tests/cindex/test_type.py
The file was modifiedclang/test/SemaTemplate/deduction-guide.cpp
The file was modifiedlldb/test/API/functionalities/data-formatter/data-formatter-advanced/TestDataFormatterAdv.py
The file was modifiedlibcxx/test/std/utilities/smartptr/unique.ptr/unique.ptr.class/unique.ptr.observers/op_arrow.runtime.fail.cpp
The file was modifiedclang/unittests/ASTMatchers/ASTMatchersNodeTest.cpp
The file was modifiedclang/lib/AST/TypePrinter.cpp
The file was modifiedclang/test/Analysis/cfg.cpp
The file was modifiedclang/test/OpenMP/distribute_parallel_for_lastprivate_messages.cpp
The file was modifiedclang/test/Import/array-init-loop-expr/test.cpp
The file was modifiedclang-tools-extra/clangd/unittests/ClangdLSPServerTests.cpp
The file was modifiedclang/test/SemaCXX/typedef-redecl.cpp
The file was modifiedclang/test/SemaCXX/constexpr-string.cpp
The file was modifiedclang/test/AST/ast-dump-APValue-array.cpp
The file was modifiedclang/test/AST/ast-dump-array.cpp
The file was modifiedclang/test/AST/ast-dump-types-errors-json.cpp
The file was modifiedclang/test/SemaCXX/nullability.cpp
The file was modifiedclang/test/Sema/builtin-expect-with-probability-avr.cpp
The file was modifiedlldb/test/API/lang/cpp/bitfields/TestCppBitfields.py
The file was modifiedlldb/test/API/tools/lldb-vscode/variables/TestVSCode_variables.py
The file was modifiedclang/test/OpenMP/distribute_firstprivate_messages.cpp
The file was modifiedclang/test/AST/ast-dump-records.c
The file was modifiedclang/test/SemaCXX/address-space-initialize.cpp
The file was modifiedclang/test/Sema/c11-typedef-redef.c
The file was modifiedclang/test/SemaTemplate/instantiate-init.cpp
The file was modifiedclang/test/SemaTemplate/instantiate-local-class.cpp
The file was modifiedclang/test/Index/print-type.cpp
The file was modifiedclang/test/Sema/typedef-retain.c
The file was modifiedlldb/source/Commands/CommandObjectType.cpp
The file was modifiedclang/test/CXX/dcl.dcl/dcl.attr/dcl.align/p7.cpp
The file was modifiedlldb/test/API/functionalities/data-formatter/data-formatter-smart-array/TestDataFormatterSmartArray.py
The file was modifiedclang/test/AST/ast-dump-records-json.cpp
The file was modifiedclang/unittests/AST/ASTImporterTest.cpp
The file was modifiedclang/test/CXX/temp/temp.decls/temp.variadic/p2.cpp
The file was modifiedclang/test/SemaObjC/nullability.m
The file was modifiedclang/test/SemaTemplate/pack-deduction.cpp
The file was modifiedclang/test/CXX/basic/basic.types/p10.cpp
The file was modifiedclang/test/Layout/ms-x86-basic-layout.cpp
The file was modifiedclang/test/SemaCXX/c99-variable-length-array.cpp
The file was modifiedclang/test/SemaCXX/decl-init-ref.cpp
The file was modifiedclang/test/SemaOpenCL/invalid-kernel-parameters.cl
The file was modifiedclang/test/SemaCXX/typeid.cpp
The file was modifiedclang/test/Analysis/more-dtors-cfg-output.cpp
Commit d723ad5bcf7133c3f3950ebb63edf4ddfee56581 by dblaikie
Enable libc++ in the build for libcxx initializerlist pretty printers

Differential Revision: https://reviews.llvm.org/D112163
The file was modifiedlldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/initializerlist/TestInitializerList.py
The file was modifiedlldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/initializerlist/Makefile
Commit fdb66eda77a00d4ff0cb2730290f0fadf7840770 by aeubanks
[test] Make sure plugin actually runs in clear-ast-before-backend-plugins.c

Reviewed By: dblaikie

Differential Revision: https://reviews.llvm.org/D112253
The file was modifiedclang/test/Misc/clear-ast-before-backend-plugins.c
Commit 8262f45c73ae97de038e9b66ec5016938424123e by nikita.ppv
[InstCombine] Add additional store forwarding test (NFC)

Variant where the load is larger than the store. Make sure we
don't forward this.
The file was modifiedllvm/test/Transforms/InstCombine/load-store-forward.ll
Commit 52f4922ebb7bfe5f9a6c32cf7d637b84e491526a by Andrey.Churbanov
[OpenMP][NFC] skip atomic tests for non-x86 arch
The file was modifiedopenmp/runtime/test/atomic/kmp_atomic_cas_cpt.c
The file was modifiedopenmp/runtime/test/atomic/kmp_atomic_float10_max_min.c
The file was modifiedopenmp/runtime/test/atomic/kmp_atomic_cas.c
Commit d9eca3320a4d8db11ad65229ef6f564d134fc894 by vsapsai
[modules] Fix tracking ObjCInterfaceType decl when there are multiple definitions.

With the old approach we were updating `ObjCInterfaceType.Decl` to the
last encountered definition. But during loading modules
`ASTDeclReader::VisitObjCInterfaceDecl` keeps the *first* encountered
definition. So with multiple definitions imported there would be a
disagreement between expected definition in `ObjCInterfaceType.Decl` and
actual definition `ObjCInterfaceDecl::getDefinition` which can lead to
incorrect diagnostic.

Fix by not tracking definition in `ObjCInterfaceType` explicitly but by
getting it from redeclaration chain.

Partially reverted 919fc50034b44c48aae8b80283f253ec2ee17f45 keeping the
modified test case as the correct behavior is achieved in a different
way.

Differential Revision: https://reviews.llvm.org/D110452
The file was modifiedclang/lib/Sema/SemaLookup.cpp
The file was modifiedclang/lib/AST/Type.cpp
The file was modifiedclang/test/Modules/decldef.mm
The file was modifiedclang/lib/AST/DeclObjC.cpp
The file was modifiedclang/include/clang/AST/Type.h
The file was modifiedclang/test/Modules/interface-diagnose-missing-import.m
Commit 0472e83ffcc6c0506b0cd67844b97cb34eaa302e by yhs
BPF: emit BTF_KIND_DECL_TAG for typedef types

If a typedef type has __attribute__((btf_decl_tag("str"))) with
bpf target, emit BTF_KIND_DECL_TAG for that type in the BTF.

Differential Revision: https://reviews.llvm.org/D112259
The file was addedllvm/test/CodeGen/BPF/BTF/tag-typedef.ll
The file was modifiedllvm/lib/Target/BPF/BTFDebug.cpp
Commit d7b338537cf360568474d31c2be86110ac22dc32 by gclayton
Modify "statistics dump" to dump JSON.

This patch is a smaller version of a previous patch https://reviews.llvm.org/D110804.

This patch modifies the output of "statistics dump" to be able to get stats from the current target. It adds 3 new stats as well. The output of "statistics dump" is now emitted as JSON so that it can be used to track performance and statistics and the output could be used to populate a database that tracks performance. Sample output looks like:

(lldb) statistics dump
{
  "expressionEvaluation": {
    "failures": 0,
    "successes": 0
  },
  "firstStopTime": 0.34164492800000001,
  "frameVariable": {
    "failures": 0,
    "successes": 0
  },
  "launchOrAttachTime": 0.31969605400000001,
  "targetCreateTime": 0.0040863039999999998
}

The top level keys are:

"expressionEvaluation" which replaces the previous stats that were emitted as plain text. This dictionary contains the success and fail counts.
"frameVariable" which replaces the previous stats for "frame variable" that were emitted as plain text. This dictionary contains the success and fail counts.
"targetCreateTime" contains the number of seconds it took to create the target and load dependent libraries (if they were enabled) and also will contain symbol preloading times if that setting is enabled.
"launchOrAttachTime" is the time it takes from when the launch/attach is initiated to when the first private stop occurs.
"firstStopTime" is the time in seconds that it takes to stop at the first stop that is presented to the user via the LLDB interface. This value will only have meaning if you set a known breakpoint or stop location in your code that you want to measure as a performance test.

This diff is also meant as a place to discuess what we want out of the "statistics dump" command before adding more funcionality. It is also meant to clean up the previous code that was storting statistics in a vector of numbers within the lldb_private::Target class.

Differential Revision: https://reviews.llvm.org/D111686
The file was addedlldb/include/lldb/Target/Statistics.h
The file was modifiedlldb/source/Commands/CommandObjectStats.cpp
The file was modifiedlldb/source/Commands/Options.td
The file was modifiedlldb/source/Target/Process.cpp
The file was modifiedlldb/test/API/functionalities/stats_api/TestStatisticsAPI.py
The file was modifiedlldb/source/Commands/CommandObjectExpression.cpp
The file was modifiedlldb/packages/Python/lldbsuite/test/lldbtest.py
The file was addedlldb/source/Target/Statistics.cpp
The file was modifiedlldb/include/lldb/Target/Process.h
The file was modifiedlldb/test/API/commands/statistics/basic/TestStats.py
The file was modifiedlldb/source/API/SBTarget.cpp
The file was modifiedlldb/source/Target/Target.cpp
The file was modifiedlldb/source/Target/CMakeLists.txt
The file was modifiedlldb/include/lldb/Target/Target.h
The file was modifiedlldb/source/Commands/CommandObjectFrame.cpp
Commit 439fc09fed3262f40aba6110282b8c023dc4cd89 by llvmgnsyncbot
[gn build] Port d7b338537cf3
The file was modifiedllvm/utils/gn/secondary/lldb/source/Target/BUILD.gn
Commit 969b72fb662b9dc2124c6eb7797feb7e3bdd38d5 by Stanislav.Mekhanoshin
Add test to check we can instcombine after reassociate. NFC.

The pattern became optimized after b92412fb286b.

Differential Revision: https://reviews.llvm.org/D112258
The file was addedllvm/test/Transforms/PhaseOrdering/reassociate-instcombine.ll
Commit 64f002c6d36d674a924c6116ec0b2d731cc3981c by dblaikie
Follow-up fixes for aee49255074fd4ef38d97e6e70cbfbf2f9fd0fa7
The file was modifiedlldb/test/Shell/SymbolFile/PDB/udt-layout.test
The file was modifiedlldb/test/Shell/SymbolFile/PDB/typedefs.test
Commit 3087a8488948f575a81158494fd0609198ef5e9e by martin
[libcxx] [test] Add an XFAIL for the timespec test for MinGW targets

MinGW headers/libs lack timespec_get.

Differential Revision: https://reviews.llvm.org/D112213
The file was modifiedlibcxx/test/std/language.support/support.runtime/ctime.timespec.compile.pass.cpp
Commit 6836629f889194202da28b745e82d0931d000a2b by martin
[libcxx] [test] Add a specific XFAIL for a MinGW env failure that is fixed in Clang 14

This issue only occurs when linked statically in MinGW configurations,
and has been fixed for Clang 14 by https://reviews.llvm.org/D109651.

Differential Revision: https://reviews.llvm.org/D112214
The file was modifiedlibcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.constr/F.pass.cpp
Commit 2ba572a82a35051cdee91f6bb00d3db322ae13a3 by clementval
[fir] Remove createConcatenate test temporarily

This test is makeing one buildbot fail for unknown reason. Remove
it until we can investifate further.
The file was modifiedflang/unittests/Optimizer/Builder/CharacterTest.cpp
Commit 5dc339d9825f1dbe788cfb69c88210a59bbf8e3a by Jessica Paquette
[AArch64][GlobalISel] Fold 64-bit cmps with 64-bit adds

G_ICMP is selected to an arithmetic overflow op (ADDS/SUBS/etc) with a dead
destination + a CSINC instruction.

We have a fold which allows us to combine 32-bit adds with G_ICMP.

The problem with G_ICMP is that we model it as always having a 32-bit
destination even though it can be a 64-bit operation. So, we were missing some
opportunities for 64-bit folds.

This patch teaches the fold to recognize 64-bit G_ICMPs + refactors some of
the code surrounding CSINC accordingly.

(Later down the line, I think we should probably change the way we handle G_ICMP
in general.)

Differential Revision: https://reviews.llvm.org/D111088
The file was modifiedllvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/select-cmp.mir
Commit 1d8cc45b0e4e316dbc4d4724964f1115fdb3f909 by thomasraoux
[mlir][vector] Add patterns to convert multidimreduce to vector.contract

add several patterns that will simplify contraction vectorization in the
future. With those canonicalizationns we will be able to remove the special
case for contration during vectorization and rely on those transformations to
avoid materizalizing broadcast ops.

Differential Revision: https://reviews.llvm.org/D112121
The file was modifiedmlir/test/lib/Dialect/Vector/TestVectorTransforms.cpp
The file was addedmlir/test/Dialect/Vector/vector-reduce-to-contract.mlir
The file was modifiedmlir/include/mlir/Dialect/Vector/VectorOps.h
The file was modifiedmlir/lib/Dialect/Vector/VectorTransforms.cpp
Commit 93d0ade17c2da810ee6e0d747c3a594b8bfd0c12 by thomasraoux
[mlir][linalg] Remove special case for contraction vectorization

Handle contraction op like all the other generic op reductions. This
simpifies the code. We now rely on contractionOp canonicalization to
keep the same code quality.

Differential Revision: https://reviews.llvm.org/D112171
The file was modifiedmlir/test/Dialect/Linalg/transform-patterns-matmul-to-vector.mlir
The file was modifiedmlir/test/Dialect/Linalg/vectorization.mlir
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/LinalgStrategyPasses.cpp
The file was modifiedmlir/test/lib/Dialect/Linalg/TestLinalgTransforms.cpp
Commit 910838f07da7872d2b7cca5b07d64ea9915b6767 by gclayton
Fix buildbots after https://reviews.llvm.org/D111686
The file was modifiedlldb/test/API/commands/statistics/basic/TestStats.py
The file was modifiedlldb/packages/Python/lldbsuite/test/lldbtest.py
Commit 5c0369eceb2c64b80bf2db57ca6cac7db3e3957b by jeffniu22
Fix escaping in RewriterGen.cpp.

When we escape strings for C++, make sure we use C++ escape
sequences. (In particular, \x22 instead of \22)

Reviewed By: Mogball

Differential Revision: https://reviews.llvm.org/D112269
The file was modifiedmlir/tools/mlir-tblgen/RewriterGen.cpp
Commit 458ed5fcc3626d84fe13db1048dc6742a60f7624 by craig.topper
[TargetLowering][RISCV] Prevent scalarization of fixed vector bswap.

It's better to do the ands, shifts, ors in the vector domain than
to scalarize it and do those operations on each element.

Reviewed By: RKSimon

Differential Revision: https://reviews.llvm.org/D112248
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
The file was modifiedllvm/test/CodeGen/RISCV/rvv/fixed-vectors-bswap.ll
Commit db0486c46fe187475e4b01a401e14b2def593733 by dblaikie
Remove unused parallel-libs project

Differential Revision: https://reviews.llvm.org/D112265
The file was removedparallel-libs/acxxel/acxxel.h
The file was modifiedllvm/utils/docker/scripts/llvm_checksum/project_tree.py
The file was removedparallel-libs/acxxel/tests/status_test.cpp
The file was removedparallel-libs/acxxel/tests/CMakeLists.txt
The file was removedparallel-libs/acxxel/tests/acxxel_test.cpp
The file was modifiedllvm/CMakeLists.txt
The file was removedparallel-libs/acxxel/customdoxygen.css
The file was removedparallel-libs/acxxel/CMakeLists.txt
The file was removedparallel-libs/acxxel/examples/simple_example.cu
The file was removedparallel-libs/acxxel/examples/CMakeLists.txt
The file was removedparallel-libs/.clang-format
The file was removedparallel-libs/acxxel/span.h
The file was removedparallel-libs/CMakeLists.txt
The file was removedparallel-libs/README.rst
The file was removedparallel-libs/acxxel/examples/opencl_example.cpp
The file was removedparallel-libs/acxxel/.clang-format
The file was removedparallel-libs/acxxel/.clang-tidy
The file was removedparallel-libs/acxxel/opencl_acxxel.cpp
The file was removedparallel-libs/.clang-tidy
The file was modifiedllvm/projects/CMakeLists.txt
The file was removedparallel-libs/acxxel/config.h.in
The file was modifiedREADME.md
The file was removedparallel-libs/acxxel/LICENSE.TXT
The file was removedparallel-libs/acxxel/Doxyfile.in
The file was removedparallel-libs/acxxel/acxxel.cpp
The file was removedparallel-libs/acxxel/tests/opencl_test.cpp
The file was removedparallel-libs/acxxel/tests/multi_device_test.cpp
The file was modifiedllvm/docs/CMake.rst
The file was removedparallel-libs/acxxel/cuda_acxxel.cpp
The file was removedparallel-libs/acxxel/status.h
The file was removedparallel-libs/acxxel/tests/span_test.cpp
Commit 95935e8285ad0e2872b83190669c9f70f2fd2112 by jeffniu22
Make genAttributeVerifier escape the summary.

The summary can contain references to e.g. attribute defaults, which
can contain special characters. So these strings need to be C++
escaped.

Reviewed By: Mogball

Differential Revision: https://reviews.llvm.org/D112249
The file was modifiedmlir/tools/mlir-tblgen/OpDefinitionsGen.cpp
Commit 516884f58b46a60d0aa499e19d792c39f2478aa4 by jeffniu22
[MLIR] Fix FloorDivSIOpConverter that was failing for index type after the arithmetic op refactor

ConstantOp should be used instead of ConstantIntOp to be able to support index type.

Reviewed By: Mogball

Differential Revision: https://reviews.llvm.org/D112191
The file was modifiedmlir/lib/Dialect/Arithmetic/Transforms/ExpandOps.cpp
The file was modifiedmlir/test/Dialect/Arithmetic/expand-ops.mlir
Commit 8c136805242014b6ad9ff1afcac9d7f4a18bec3f by dblaikie
PR18733: Remove -Wweak-template-vtables

It isn't really pulling its weight and I think splitting it out from
-Wweak-vtables was the wrong call: I think it was just a bug in the
original warning, which was trying to not diagnose template
instantiations, implicit or explicit.
The file was modifiedclang/lib/Sema/SemaDeclCXX.cpp
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td
The file was modifiedclang/test/SemaCXX/warn-weak-vtables.cpp
Commit f5ee1acc62d5a5052fc2ca65cf2f2927a3c6e9c2 by martin
[libcxx] [test] Convert an XFAIL: LIBCXX-WINDOWS-FIXME into XFAIL: msvc with explanation

This test doesn't fail in mingw mode (which uses the same Itanium
name mangling and ABI as other platforms).

Differential Revision: https://reviews.llvm.org/D112210
The file was modifiedlibcxx/test/libcxx/language.support/support.rtti/type.info/type_info.comparison.merged.sh.cpp
Commit 048d2c76efcddf4265987914e30d3d4f49395496 by vsapsai
[modules] Update visibility for merged ObjCInterfaceDecl definitions.

We keep using the first encountered definition and need to take into
account visibility from subsequent definitions. For example, if the
first definition is hidden and the second is visible, we need to make
the first one visible too.

rdar://82263843

Differential Revision: https://reviews.llvm.org/D110453
The file was modifiedclang/lib/Serialization/ASTReaderDecl.cpp
The file was addedclang/test/Modules/merge-objc-interface-visibility.m
Commit c0d6e1b9e0b1c5426e77ef31f076850b87dee08b by Stanislav.Mekhanoshin
[InstCombine] Precommit new and-xor-or.ll tests. NFC.
The file was modifiedllvm/test/Transforms/InstCombine/and-xor-or.ll
Commit ff37b1105d6eb7b9a4e4515c2ced95e9837567aa by craig.topper
[LegalizeVectorOps][X86] Don't defer BITREVERSE expansion to LegalizeDAG.

By expanding early it allows the shifts to be custom lowered in
LegalizeVectorOps. Then a DAG combine is able to run on them before
LegalizeDAG handles the BUILD_VECTORS for the masks used.

v16Xi8 shift lowering on X86 requires a mask to be applied to a v8i16
shift. The BITREVERSE expansion applied an AND mask before SHL ops and
after SRL ops. This was done to share the same mask constant for both shifts.
It looks like this patch allows DAG combine to remove the AND mask added
after v16i8 SHL by X86 lowering. This maintains the mask sharing that
BITREVERSE was trying to achieve. Prior to this patch it looks like
we kept the mask after the SHL instead which required an extra constant
pool or a PANDN to invert it.

This is dependent on D112248 because RISCV will end up scalarizing the BSWAP
portion of the BITREVERSE expansion if we don't disable BSWAP scalarization in
LegalizeVectorOps first.

Reviewed By: RKSimon

Differential Revision: https://reviews.llvm.org/D112254
The file was modifiedllvm/test/CodeGen/X86/bitreverse.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
The file was modifiedllvm/test/CodeGen/X86/combine-bitreverse.ll
The file was modifiedllvm/test/CodeGen/X86/vector-bitreverse.ll
Commit 0bf230d4220660af8b2667506f8905df2f716bdf by clementval
[fir] Remove unused function in CharacterTest
The file was modifiedflang/unittests/Optimizer/Builder/CharacterTest.cpp
Commit 996123e5e8d9b2894c88e02e98ce09abdf33bb7e by craig.topper
[TargetLowering] Simplify the interface for expandCTPOP/expandCTLZ/expandCTTZ.

There is no need to return a bool and have an SDValue output
parameter. Just return the SDValue and let the caller check if it
is null.

I have another patch to add more callers of these so I thought
I'd clean up the interface first.

Reviewed By: RKSimon

Differential Revision: https://reviews.llvm.org/D112267
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
The file was modifiedllvm/include/llvm/CodeGen/TargetLowering.h
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
Commit c16655f138b1c2b203f6cdac179baa5accf2a737 by tstellar
[docs] Remove Makefile.sphinx files

Does anyone still use these?  I want to make some changes to the sphinx
html generation and I don't want to have to implement the changes in
two places.

Reviewed By: sylvestre.ledru, #libc, ldionne

Differential Revision: https://reviews.llvm.org/D112030
The file was removedclang/docs/Makefile.sphinx
The file was removedllvm/docs/Makefile.sphinx
The file was removedlibcxx/docs/Makefile.sphinx
Commit 6c6abb1ded8d91760e8a3b500f959fee5b767406 by craig.topper
[RISCV] Remove Zvamo C intrinsics and builtins.

Zvamo is not part of the 1.0 V spec. Remove the intrinsics
for now. This helps reduce clang binary size and lit test time.

Reviewed By: HsiangKai

Differential Revision: https://reviews.llvm.org/D111692
The file was removedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vamoand.c
The file was removedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vamomax.c
The file was removedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vamoswap.c
The file was removedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vamomin.c
The file was removedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vamoxor.c
The file was removedclang/test/CodeGen/RISCV/rvv-intrinsics/vamoadd.c
The file was removedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vamoadd.c
The file was removedclang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vamoor.c
The file was removedclang/test/CodeGen/RISCV/rvv-intrinsics/vamomin.c
The file was modifiedclang/include/clang/Basic/riscv_vector.td
The file was removedclang/test/CodeGen/RISCV/rvv-intrinsics/vamoor.c
The file was modifiedclang/utils/TableGen/RISCVVEmitter.cpp
The file was removedclang/test/CodeGen/RISCV/rvv-intrinsics/vamoswap.c
The file was removedclang/test/CodeGen/RISCV/rvv-intrinsics/vamomax.c
The file was removedclang/test/CodeGen/RISCV/rvv-intrinsics/vamoxor.c
The file was removedclang/test/CodeGen/RISCV/rvv-intrinsics/vamoand.c
Commit 05c21f54a454ebfa44be7825707e6061dc32afab by tstellar
compiler-rt: Fix arch detection for ppc64le

Reviewed By: MaskRay

Differential Revision: https://reviews.llvm.org/D110377
The file was modifiedcompiler-rt/cmake/base-config-ix.cmake
Commit 09b95b9dc9afb0c12e7d10faea17ed0cb6920b9f by Jonas Devlieghere
[lldb] Always set the minimum OS version in the Darwin builder
The file was modifiedlldb/packages/Python/lldbsuite/test/builders/darwin.py
Commit d7733f84228bde1079117e82b36fac94e9b323ed by dblaikie
[DebugInfo] Expand ability to load 2-byte addresses in dwarf sections

Some dwarf loaders in LLVM are hard-coded to only accept 4-byte and 8-byte address sizes. This patch generalizes acceptance into `DWARFContext::isAddressSizeSupported` and provides a common way to generate rejection errors.

The MSP430 target has been given new tests to cover dwarf loading cases that previously failed due to 2-byte addresses.

Reviewed By: dblaikie

Differential Revision: https://reviews.llvm.org/D111953
The file was modifiedllvm/unittests/DebugInfo/DWARF/DWARFDebugArangeSetTest.cpp
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFDebugArangeSet.cpp
The file was modifiedllvm/test/tools/llvm-dwarfdump/X86/debug_addr_invalid_addr_size.s
The file was addedllvm/test/DebugInfo/MSP430/cu-ranges.ll
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFUnit.cpp
The file was addedllvm/test/DebugInfo/MSP430/dwarf-basics-v5.ll
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFDebugAddr.cpp
The file was modifiedllvm/include/llvm/DebugInfo/DWARF/DWARFContext.h
The file was modifiedllvm/include/llvm/DebugInfo/DWARF/DWARFDebugRangeList.h
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFDebugRangeList.cpp
The file was modifiedllvm/test/tools/llvm-dwarfdump/X86/debug_rnglists_invalid.s
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFListTable.cpp
The file was addedllvm/test/DebugInfo/MSP430/ranges_always.ll
Commit 08f4b56fb9795b5d271378fb62c3fed67ab1b754 by Jonas Devlieghere
[lldb] Include unistd.h for sleep in profile_vrs_detach
The file was modifiedlldb/test/API/macosx/profile_vrs_detach/main.c
Commit 2e97236aacbbcd58873826deb9a0e6a0704be8db by dblaikie
[Demangle] Rename OutputStream to OutputString

This patch is a refactor to implement prepend afterwards. Since this changes a lot of files and to conform with guidelines, I will separate this from the implementation of prepend. Related to the discussion in https://reviews.llvm.org/D111414 , so please read it for more context.

Reviewed By: #libc_abi, dblaikie, ldionne

Differential Revision: https://reviews.llvm.org/D111947
The file was modifiedlibcxxabi/src/demangle/ItaniumDemangle.h
The file was modifiedllvm/include/llvm/Demangle/ItaniumDemangle.h
The file was modifiedlibcxxabi/src/demangle/Utility.h
The file was modifiedllvm/lib/Demangle/MicrosoftDemangleNodes.cpp
The file was modifiedllvm/include/llvm/Demangle/Utility.h
The file was modifiedllvm/lib/Demangle/MicrosoftDemangle.cpp
The file was modifiedllvm/include/llvm/Demangle/MicrosoftDemangleNodes.h
The file was modifiedllvm/lib/Demangle/RustDemangle.cpp
The file was modifiedllvm/unittests/Demangle/ItaniumDemangleTest.cpp
The file was removedllvm/unittests/Demangle/OutputStreamTest.cpp
The file was modifiedllvm/unittests/Demangle/CMakeLists.txt
The file was addedllvm/unittests/Demangle/OutputBufferTest.cpp
The file was modifiedllvm/lib/Demangle/ItaniumDemangle.cpp
Commit 4976be1e955d2f5ebd4e28df07235d86e9228e09 by thakis
[gn build] Make 'compiler-rt' depend on include dir

That way, the headers in llvm/utils/gn/secondary/compiler-rt/include
are copied when running `ninja compiler-rt`. (Previously, they were
only copied when running `check-hwasan` or when building the
compiler-rt/include target.)

(Since they should be copied only once, depend on the target in the
host toolchain. I think default_toolchain should work just as well,
it just needs to be a single fixed toolchain. check-hwasan depends
through host_toolchain, so let's use that here too.)

Prevents errors like

    testing/fuzzed_data_provider.h:8:10: fatal error: 'fuzzer/FuzzedDataProvider.h' file not found

when building with locally-built clang. (For now, you still have to
explicitly build the 'compiler-rt' target. Maybe we should make the
clang target depend on that in the GN build?)

Differential Revision: https://reviews.llvm.org/D112238
The file was modifiedllvm/utils/gn/secondary/compiler-rt/BUILD.gn
Commit 3bbc869e2ef26f3bc296d5b4e23ee8678a20fc0b by springerm
[mlir][linalg][bufferize] Support scf::IfOp

This commit adds support for scf::IfOp to comprehensive bufferization. Support is currently limited to cases where both branches yield tensors that bufferize to the same buffer.

To keep the analysis simple, scf::IfOp are treated as memory writes for analysis purposes, even if no op inside any branch is writing. (scf::ForOps are handled in the same way.)

Differential Revision: https://reviews.llvm.org/D111929
The file was modifiedmlir/test/Dialect/Linalg/comprehensive-module-bufferize.mlir
The file was modifiedmlir/test/Dialect/Linalg/comprehensive-module-bufferize-analysis.mlir
The file was modifiedmlir/test/Dialect/Linalg/comprehensive-module-bufferize-invalid.mlir
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/ComprehensiveBufferize.cpp
Commit ca0c92d6a1cc93ea83411511848644cb217c31ce by Stanislav.Mekhanoshin
[AMDGPU] Allow to use a whole register file on gfx90a for VGPRs

In a kernel which does not have calls or AGPR usage we can allocate
the whole vector register budget for VGPRs and have no AGPRs as
long as VGPRs stay addressable (i.e. below 256).

Differential Revision: https://reviews.llvm.org/D111764
The file was modifiedllvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/attr-amdgpu-flat-work-group-size-vgpr-limit.ll
The file was addedllvm/test/CodeGen/AMDGPU/vgpr-agpr-limit-gfx90a.ll
The file was modifiedllvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp
The file was modifiedllvm/lib/Target/AMDGPU/SIMachineFunctionInfo.h
The file was modifiedllvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-idiv.ll
Commit b7ea298dfd835a9ff4e5e97d4f145099240ba3aa by Vitaly Buka
[msan] Don't use TLS slots of noundef args

Transformations may strip the attribute from the
argument, e.g. for unused, which will result in
shadow offsets mismatch between caller and
callee.

Stripping noundef for used arguments can be
a problem, as TLS is not going to be set
by caller. However this is not the goal of the
patch and I am not aware if that's even
possible.

Differential Revision: https://reviews.llvm.org/D112197
The file was modifiedllvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
The file was modifiedllvm/test/Instrumentation/MemorySanitizer/msan_eager.ll
Commit 34c97d5ae35405106b7e34763882756a65ff2d67 by Vitaly Buka
[libcxxabi] Fix build after D111947
The file was modifiedlibcxxabi/src/cxa_demangle.cpp
Commit a48bfc2c09ac13091154adbe5c9d842637f09ee4 by llvmgnsyncbot
[gn build] Port 2e97236aacbb
The file was modifiedllvm/utils/gn/secondary/llvm/unittests/Demangle/BUILD.gn
Commit ddbf1961941b86a61e824fb6bab1ab11f8b3ea90 by yedeng.yd
[Coroutines] Ignore partial lifetime markers refer of an alloca

When I playing with Coroutines, I found that it is possible to generate
following IR:
```
%struct = alloca ...
%sub.element = getelementptr %struct, i64 0, i64 index ; index is not
%zero
lifetime.marker.start(%sub.element)
% use of %sub.element
lifetime.marker.end(%sub.element)
store %struct to xxx ;  %struct is escaping!

<suspend points>
```

Then the AllocaUseVisitor would collect the lifetime marker for
sub.element and treat it as the lifetime markers of the alloca! So it
judges that the alloca could be put on the stack instead of the frame by
judging the lifetime markers only.
The root cause for the bug is that AllocaUseVisitor collects wrong
lifetime markers.

This patch fixes this.

Reviewed By: lxfind

Differential Revision: https://reviews.llvm.org/D112216
The file was modifiedllvm/lib/Transforms/Coroutines/CoroFrame.cpp
The file was addedllvm/test/Transforms/Coroutines/coro-alloca-09.ll
Commit 85bf221f204eafc1142a064f1650ffa9d9e03dad by dblaikie
Fix for OutputStream->OutputBuffer rename
The file was modifiedlibcxxabi/src/cxa_demangle.cpp