[AArch64][SVE] Add patterns for unpredicated load/store to frame-indices.
authorSander de Smalen <sander.desmalen@arm.com>
Wed, 22 Jan 2020 10:42:57 +0000 (10:42 +0000)
committerSander de Smalen <sander.desmalen@arm.com>
Wed, 22 Jan 2020 14:32:27 +0000 (14:32 +0000)
commit4cf16efe49766d454eda74927a547a0cf587f540
tree2b837e475b8729ad9c3ae72ddb41ec179a42006f
parente0f0d0e55cc7d389ad0692fbc9678e7895978355
[AArch64][SVE] Add patterns for unpredicated load/store to frame-indices.

This patch also fixes up a number of cases in DAGCombine and
SelectionDAGBuilder where the size of a scalable vector is used in a
fixed-width context (thus triggering an assertion failure).

Reviewers: efriedma, c-rhodes, rovka, cameron.mcinally

Reviewed By: efriedma

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D71215
12 files changed:
llvm/include/llvm/Analysis/MemoryLocation.h
llvm/lib/Analysis/Loads.cpp
llvm/lib/CodeGen/CodeGenPrepare.cpp
llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
llvm/lib/Target/AArch64/AArch64InstrFormats.td
llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h
llvm/test/CodeGen/AArch64/spillfill-sve.ll [new file with mode: 0644]