[LLVMdev] replace hardcoded function names by intrinsics
Jochen Wilhelmy
jochen.wilhelmy at googlemail.com
Fri Mar 2 04:55:18 PST 2012
Hi!
in the llvm code there are several places with hardcoded function names for
e.g. sin, sinf, sqrt, sqrtf etc., namely
ConstantFolding.cpp
InlineCost.cpp
SelectionDAGBuilder.cpp
IntrinsicLowering.cpp
TargetLowering.cpp
my question is: wouldn't it be beneficial to use intrinsics for this?
for example a c/c++
frontend (clang) could translate the function calls to intrinsics and
then in a very late
step (IntrinsicLowering.cpp?) translate it back to function calls.
an opencl frontend then could use the intrinsics on vector types and
ConstantFolding.cpp
would work on sin/cos of vector types. currently the intrinsics for
sin/cos are missing in
ConstantFolding.
To summarize, using only intrinsics would reduce complexity and increase
flexibility as
vector types are supported.
-Jochen
More information about the llvm-dev
mailing list