[LLVMdev] replace hardcoded function names by intrinsics

Hal Finkel hfinkel at anl.gov
Fri Mar 2 06:41:48 PST 2012


On Fri, 02 Mar 2012 13:55:18 +0100
Jochen Wilhelmy <jochen.wilhelmy at googlemail.com> wrote:

> 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.

I also think that this is a good idea.

 -Hal

> 
> -Jochen
> 
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev



-- 
Hal Finkel
Postdoctoral Appointee
Leadership Computing Facility
Argonne National Laboratory



More information about the llvm-dev mailing list