[all-commits] [llvm/llvm-project] 01797d: Fix mechanism propagating mangled names for TLI fu...
JolantaJensen via All-commits
all-commits at lists.llvm.org
Mon Oct 2 10:58:53 PDT 2023
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 01797dad8686a1e7276ccd33f16934d31aa7c98a
https://github.com/llvm/llvm-project/commit/01797dad8686a1e7276ccd33f16934d31aa7c98a
Author: JolantaJensen <107627027+JolantaJensen at users.noreply.github.com>
Date: 2023-10-02 (Mon, 02 Oct 2023)
Changed paths:
M llvm/include/llvm/Analysis/TargetLibraryInfo.h
M llvm/include/llvm/Analysis/VecFuncs.def
M llvm/include/llvm/Analysis/VectorUtils.h
M llvm/lib/Analysis/TargetLibraryInfo.cpp
M llvm/lib/Analysis/VectorUtils.cpp
M llvm/lib/CodeGen/ReplaceWithVeclib.cpp
M llvm/lib/Transforms/Utils/InjectTLIMappings.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/veclib-calls-libsystem-darwin.ll
M llvm/test/Transforms/LoopVectorize/PowerPC/massv-calls.ll
M llvm/unittests/Analysis/VectorFunctionABITest.cpp
Log Message:
-----------
Fix mechanism propagating mangled names for TLI function mappings (#66656)
Currently the mappings from TLI are used to generate the list of
available "scalar to vector" mappings attached to scalar calls as
"vector-function-abi-variant" LLVM IR attribute. Function names from TLI
are wrapped in mangled name following the pattern:
_ZGV<isa><mask><vlen><parameters>_<scalar_name>[(<vector_redirection>)]
The problem is the mangled name uses _LLVM_ as the ISA name which
prevents the compiler to compute vectorization factor for scalable
vectors as it cannot make any decision based on the _LLVM_ ISA. If we
use "s" as the ISA name, the compiler can make decisions based on VFABI
specification where SVE spacific rules are described.
This patch is only a refactoring stage where there is no change to the
compiler's behaviour.
More information about the All-commits
mailing list