[VFABI] Add LLVM internal mangling for vector functions.
authorFrancesco Petrogalli <francesco.petrogalli@arm.com>
Mon, 11 Nov 2019 16:48:51 +0000 (16:48 +0000)
committerFrancesco Petrogalli <francesco.petrogalli@arm.com>
Wed, 13 Nov 2019 03:26:39 +0000 (03:26 +0000)
commitd8b6b1114307558a5245de3806bb70f53f6f3efe
tree77063d7ed72c4c99148d79b02c68cee900a9dacc
parentbc4bc5aa0d84413e4e3f082dee0d30cf839fb7ea
[VFABI] Add LLVM internal mangling for vector functions.

Summary:
This patch adds a custom ISA for vector functions for internal use
in LLVM. The <isa> token is set to "_LLVM_", and it is not attached
to any specific instruction Vector ISA, or Vector Function ABI.

The ISA is used as a token for handling Vector Function ABI-style
vectorization for those vector functions that are not directly
associated to any existing Vector Function ABI (for example, some of
the vector functions exposed by TargetLibraryInfo). The demangling
function for this ISA in a Vector Function ABI context is set to be
the same as the common one shared between X86 and AArch64.

Reviewers: jdoerfert, sdesmalen, simoll

Subscribers: kristof.beyls, hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D70089
llvm/include/llvm/Analysis/VectorUtils.h
llvm/lib/Analysis/VFABIDemangling.cpp
llvm/unittests/Analysis/VectorFunctionABITest.cpp