[VectorUtils] API for VFShape, update VFInfo.

Authored by fpetrogalli on Nov 20 2019, 12:51 PM.


[VectorUtils] API for VFShape, update VFInfo.

This patch introduces an API to build and modify vector shapes.

The validity of a VFShape can be checked with the
hasValidParameterList method, which is also run in an assertion each
time a VFShape is modified.

The field VFISAKind has been moved to VFInfo under the assumption that
different ISAs can map to the same VFShape (as it can be in the case
of vector extensions with the same registers size, for example AVX and

Reviewers: sdesmalen, jdoerfert, simoll, hsaito

Subscribers: hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D70513