[VFABI] Read/Write functions for the VFABI attribute.
authorFrancesco Petrogalli <francesco.petrogalli@arm.com>
Wed, 30 Oct 2019 19:08:21 +0000 (19:08 +0000)
committerFrancesco Petrogalli <francesco.petrogalli@arm.com>
Tue, 12 Nov 2019 03:40:42 +0000 (03:40 +0000)
commite9a06e06064145e0baf723187ab023dd91e914f9
treeaebaac7cdf012ca7d3e2d5297ab75ab54470728b
parent31ea714e9a94d3912988c06139cb987e14478e84
[VFABI] Read/Write functions for the VFABI attribute.

The attribute is stored at the `FunctionIndex` attribute set, with the
name "vector-function-abi-variant".

The get/set methods of the attribute have assertion to verify that:

1. Each name in the attribute is a valid VFABI mangled name.

2. Each name in the attribute correspond to a function declared in the
   module.

Differential Revision: https://reviews.llvm.org/D69976
llvm/include/llvm/Analysis/VectorUtils.h
llvm/include/llvm/Transforms/Utils/ModuleUtils.h
llvm/lib/Analysis/VFABIDemangling.cpp
llvm/lib/Analysis/VectorUtils.cpp
llvm/lib/Transforms/Utils/ModuleUtils.cpp
llvm/unittests/Analysis/VectorFunctionABITest.cpp
llvm/unittests/Transforms/Utils/CMakeLists.txt
llvm/unittests/Transforms/Utils/VFABIUtils.cpp [new file with mode: 0644]