Changes

Summary

  1. [llvm] Pass LLVM_CHECK_ENABLED_PROJECTS through in cross builds (details)
  2. [IR] Add the constructor of ShuffleVector for one-input-vector. (details)
  3. [AMDGPU][MC][GFX10] Enabled dlc for FLAT and GLOBAL atomics (details)
  4. [InstCombine] add tests for mask-shift with trunc; NFC (details)
  5. [NFC] Update the list of subprojects in docs. (details)
  6. [clang-offload-bundler][docs][NFC] Add archive unbundling documentation (details)
  7. [InstCombine] Improve TryToSinkInstruction with multiple uses (details)
  8. [OpenCL] Defines helper function for OpenCL default address space (details)
  9. [RISCV] Optimize (add (mul x, c0), c1) (details)
  10. [NFC] `goto fail` has failed us in the past... (details)
  11. [mlir][linalg] Assert tile loop nest invariants in fusion. (details)
  12. [mlir][Linalg] Revisit RAW dependence interference in comprehensive bufferize. (details)
  13. [mlir][Linalg] Revisit heuristic ordering of tensor.insert_slice in comprehensive bufferize. (details)
  14. [AArch64] Regenerate test lines in and-mask-removal.ll (details)
Commit e9ea03c62ccc1ed4e3ed4f20e37640cfdd76cbcf by thakis
[llvm] Pass LLVM_CHECK_ENABLED_PROJECTS through in cross builds
The file was modifiedllvm/cmake/modules/CrossCompile.cmake
Commit 043733d677310d6b0ac465b938e82733a9f4cfce by gusrb406
[IR] Add the constructor of ShuffleVector for one-input-vector.

One of the two inputs of the Shufflevector is often a placeholder.
Previously, there were cases where the placeholder was undef, and there were cases where it was poison.
I added these constructors to create a placeholder consistently.

Changing to use the newly added constructor will be written in a separate patch.

Reviewed By: spatel

Differential Revision: https://reviews.llvm.org/D110146
The file was modifiedllvm/include/llvm/IR/Instructions.h
The file was modifiedllvm/lib/IR/Instructions.cpp
Commit b8e7f5320825812fc4b597ee5df3dccc53fe78bb by dmitry.preobrazhensky
[AMDGPU][MC][GFX10] Enabled dlc for FLAT and GLOBAL atomics

Differential Revision: https://reviews.llvm.org/D109614
The file was modifiedllvm/test/MC/AMDGPU/gfx10_asm_flat.s
The file was modifiedllvm/lib/Target/AMDGPU/FLATInstructions.td
The file was modifiedllvm/test/MC/Disassembler/AMDGPU/flat_gfx10.txt
Commit af1c5312d76000bf134d8b81cdb7343607c6ee64 by spatel
[InstCombine] add tests for mask-shift with trunc; NFC
The file was modifiedllvm/test/Transforms/InstCombine/and-narrow.ll
Commit 17a26f585127fde64fdf1b2393e90454e81f143c by diana.picus
[NFC] Update the list of subprojects in docs.

The updated list is based on the output of
cmake -G Ninja -S llvm -B build -DLLVM_ENABLE_PROJECTS='foo'.

Differential Revision: https://reviews.llvm.org/D110124
The file was modifiedREADME.md
The file was modifiedllvm/docs/GettingStarted.rst
Commit ee31ad0ab5f7d443b0bd582582a3524dcf7f13f0 by Saiyedul.Islam
[clang-offload-bundler][docs][NFC] Add archive unbundling documentation

Add documentation of unbundling of heterogeneous device archives to
create device specific archives, as introduced by D93525. Also, add
documentation for supported text file formats.

Reviewed By: yaxunl

Differential Revision: https://reviews.llvm.org/D110083
The file was modifiedclang/docs/ClangOffloadBundler.rst
Commit 69921f6f4558a2c5c8e48c5b12d83a65127bfecc by anna
[InstCombine] Improve TryToSinkInstruction with multiple uses

This patch allows sinking an instruction which can have multiple uses in a
single user. We were previously over-restrictive by looking for exactly one use,
rather than one user.

Also added an API for retrieving a unique undroppable user.

Reviewed By: nikic

Differential Revision: https://reviews.llvm.org/D109700
The file was modifiedllvm/test/Transforms/InstCombine/icmp-mul-zext.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/blending-shuffle.ll
The file was modifiedllvm/test/Transforms/InstCombine/sink_instruction.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/blending-shuffle-inseltpoison.ll
The file was modifiedllvm/include/llvm/IR/Value.h
The file was modifiedllvm/lib/IR/Value.cpp
The file was modifiedllvm/lib/Transforms/InstCombine/InstructionCombining.cpp
Commit 32b994bca66641cdac8586f25315daf349921ebc by Justas.Janickas
[OpenCL] Defines helper function for OpenCL default address space

Helper function `getDefaultOpenCLPointeeAddrSpace()` introduced to
`ASTContext` class. It returns default OpenCL address space
depending on language version and enabled features. If generic
address space is supported, the helper function returns value
`LangAS::opencl_generic`. Otherwise, value `LangAS::opencl_private`
is returned. Code refactoring changes performed in several suitable
places.

Differential Revision: https://reviews.llvm.org/D109874
The file was modifiedclang/lib/Sema/Sema.cpp
The file was modifiedclang/lib/Sema/SemaTemplateDeduction.cpp
The file was modifiedclang/lib/Sema/SemaType.cpp
The file was modifiedclang/lib/AST/Expr.cpp
The file was modifiedclang/include/clang/AST/ASTContext.h
Commit b3052013b43617defd777b1f3b4339540c4c07df by powerman1st
[RISCV] Optimize (add (mul x, c0), c1)

Optimize (add (mul x, c0), c1) -> (ADDI (MUL (ADDI, c1/c0), c0), c1%c0),
if c1/c0 and c1%c0 are simm12, while c1 is not.

Optimize (add (mul x, c0), c1) -> (MUL (ADDI, c1/c0), c0),
if c1%c0 is zero, and c1/c0 is simm12 while c1 is not.

Reviewed By: craig.topper

Differential Revision: https://reviews.llvm.org/D108607
The file was modifiedllvm/test/CodeGen/RISCV/addimm-mulimm.ll
The file was modifiedllvm/lib/Target/RISCV/RISCVISelLowering.cpp
Commit 744ec74b305a5039dc74e2d043e1c136e06beac1 by chris.bieneman
[NFC] `goto fail` has failed us in the past...

This patch replaces reliance on `goto failure` pattern with
`llvm::scope_exit`.

Reviewed By: bkramer

Differential Revision: https://reviews.llvm.org/D109865
The file was modifiedclang/lib/Frontend/FrontendAction.cpp
Commit c8eed8f9a7e019382ab236c90ac1ee0f5d81c54f by gysit
[mlir][linalg] Assert tile loop nest invariants in fusion.

Assert the tile loop nest invariants are satisfied instead of failing silently.

Reviewed By: nicolasvasilache

Differential Revision: https://reviews.llvm.org/D110137
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/FusionOnTensors.cpp
Commit 0d2c54e851f12594b38f45e76ced03e3f5cc5443 by nicolas.vasilache
[mlir][Linalg] Revisit RAW dependence interference in comprehensive bufferize.

Previously, comprehensive bufferize would consider all aliasing reads and writes to
the result buffer and matching operand. This resulted in spurious dependences
being considered and resulted in too many unnecessary copies.

Instead, this revision revisits the gathering of read and write alias sets.
This results in fewer alloc and copies.
An exhaustive test cases is added that considers all possible permutations of
`matmul(extract_slice(fill), extract_slice(fill), ...)`.
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/ComprehensiveBufferize.cpp
The file was addedmlir/test/Dialect/Linalg/comprehensive-bufferize-analysis-2fill-extract-matmul-all-perms.mlir
The file was modifiedmlir/test/Dialect/Linalg/comprehensive-module-bufferize-analysis.mlir
Commit 101d017a643845b537687467e3f7c2a5d963df6e by nicolas.vasilache
[mlir][Linalg] Revisit heuristic ordering of tensor.insert_slice in comprehensive bufferize.

It was previously assumed that tensor.insert_slice should be bufferized first in a greedy fashion to avoid out-of-place bufferization of the large tensor. This heuristic does not hold upon further inspection.

This CL removes the special handling of such ops and adds a test that exhibits better behavior and appears in real use cases.

The only test adversely affected is an artificial test which results in a returned memref: this pattern is not allowed by comprehensive bufferization in real scenarios anyway and the offending test is deleted.

Differential Revision: https://reviews.llvm.org/D110072
The file was modifiedmlir/test/Dialect/Linalg/comprehensive-module-bufferize.mlir
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/ComprehensiveBufferize.cpp
The file was modifiedmlir/test/Dialect/Linalg/comprehensive-module-bufferize-analysis.mlir
Commit a502294b2d9594e06be01fab344e937ddae22cd1 by david.green
[AArch64] Regenerate test lines in and-mask-removal.ll
The file was modifiedllvm/test/CodeGen/AArch64/and-mask-removal.ll

Summary

  1. [LNT] Fixed incomplete feature for submit JSON to a local instance (details)
  2. Added missed spaces in log messages, NFC (details)
Commit 4f49f39d8167add7d3a4edb46f3f23081bc0103f by kosov.pavel
[LNT] Fixed incomplete feature for submit JSON to a local instance

LNT parses the test suite from the specified url for the submit command. But the suite is always default (nts) in case of using a local path to the instance instead of the url. This patch allows to specify the test suite in the submit command.

Reviewed By: thopre

Differential Revision: https://reviews.llvm.org/D109578
The file was modifiedlnt/lnttool/main.py (diff)
The file was modifiedlnt/util/ServerUtil.py (diff)
Commit b4db71089b2ab669e4071dc6cdc3c60959ddc1d5 by kosov.pavel
Added missed spaces in log messages, NFC
The file was modifiedlnt/server/db/rules/rule_update_fixed_regressions.py (diff)