[CodeGen][SVE] Calculate correct type legalization for scalable vectors.
authorSander de Smalen <sander.desmalen@arm.com>
Fri, 5 Jun 2020 11:54:39 +0000 (12:54 +0100)
committerSander de Smalen <sander.desmalen@arm.com>
Fri, 5 Jun 2020 14:20:34 +0000 (15:20 +0100)
commit164f4b9d26fdf3cd640a09b63b5ec44d033cbe8a
treeddfb6e39ddc7c38fdfe74189ba4ff7739cabb768
parent977d27d881fb06c03fd8ef1d62b543b696c508d4
[CodeGen][SVE] Calculate correct type legalization for scalable vectors.

This patch updates TargetLoweringBase::computeRegisterProperties and
TargetLoweringBase::getTypeConversion to support scalable vectors,
and make the right calls on how to legalise them. These changes are required
to legalise both MVTs and EVTs.

Reviewers: efriedma, david-arm, ctetreau

Reviewed By: efriedma

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D80640
llvm/include/llvm/CodeGen/TargetLowering.h
llvm/include/llvm/Support/TypeSize.h
llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.cpp
llvm/lib/CodeGen/SelectionDAG/LegalizeTypesGeneric.cpp
llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
llvm/lib/CodeGen/TargetLoweringBase.cpp
llvm/unittests/CodeGen/AArch64SelectionDAGTest.cpp