[SVE] Add flag to specify SVE register size, using this to calculate legal vector...
authorPaul Walker <paul.walker@arm.com>
Fri, 13 Dec 2019 15:03:17 +0000 (15:03 +0000)
committerPaul Walker <paul.walker@arm.com>
Thu, 18 Jun 2020 12:11:16 +0000 (12:11 +0000)
commit4612f391200d0b4e21bc040a098227d73679de53
treeac83948bc30dab53932ef4d16b27d36df1bc56d4
parent7aad220795b50bee591cf34dfdbb030ca4d5bdc0
[SVE] Add flag to specify SVE register size, using this to calculate legal vector types.

Adds aarch64-sve-vector-bits-{min,max} to allow the size of SVE
data registers (in bits) to be specified. This allows the code
generator to make assumptions it normally couldn't. As a starting
point this information is used to mark fixed length vector types
that can fit within the specified size as legal.

Reviewers: rengolin, efriedma

Subscribers: tschuett, kristof.beyls, hiraditya, rkruppe, psnobl, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D80384
llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
llvm/lib/Target/AArch64/AArch64ISelLowering.h
llvm/lib/Target/AArch64/AArch64Subtarget.cpp
llvm/lib/Target/AArch64/AArch64Subtarget.h
llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
llvm/test/Analysis/CostModel/AArch64/sve-fixed-length.ll [new file with mode: 0644]