FailedChanges

Summary

  1. [clang codegen] Use IR "align" attribute for static array arguments. (details)
  2. [AArch64][SVE] Allow llvm.aarch64.sve.st2/3/4 with vectors of pointers. (details)
  3. [AArch64][SVE] Add patterns for integer mla/mls. (details)
Commit 673dbe1b5eef09db39783c828a84f1213a47bad0 by efriedma
[clang codegen] Use IR "align" attribute for static array arguments.

Without the "align" attribute, marking the argument dereferenceable is
basically useless.  See also D80166.

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

Differential Revision: https://reviews.llvm.org/D84992
The file was modifiedclang/test/CodeGen/vla.c (diff)
The file was modifiedclang/lib/CodeGen/CGCall.cpp (diff)
Commit bb18532399cf01c712e18f85ecb1cfb612d664ac by efriedma
[AArch64][SVE] Allow llvm.aarch64.sve.st2/3/4 with vectors of pointers.

This isn't necessaary for ACLE, but could be useful in other situations.
And the change is simple.

Differential Revision: https://reviews.llvm.org/D85251
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp (diff)
The file was modifiedllvm/test/CodeGen/AArch64/sve-intrinsics-stores.ll (diff)
Commit be944c85f375c0faa36ee5c7ccbc79ff9a78a0d5 by efriedma
[AArch64][SVE] Add patterns for integer mla/mls.

We probably want to introduce pseudo-instructions at some point, like
we have for binary operations, but this seems okay for now.

One thing I'm not sure about is whether we should be doing this as a
DAGCombine instead of directly pattern-matching it. I don't see any big
downside to doing it this way, though.

Differential Revision: https://reviews.llvm.org/D85681
The file was modifiedllvm/lib/Target/AArch64/SVEInstrFormats.td (diff)
The file was modifiedllvm/test/CodeGen/AArch64/sve-int-arith.ll (diff)
The file was modifiedllvm/test/CodeGen/AArch64/sve-gep.ll (diff)
The file was modifiedllvm/test/CodeGen/AArch64/llvm-ir-to-intrinsic.ll (diff)
The file was modifiedllvm/lib/Target/AArch64/AArch64SVEInstrInfo.td (diff)