[llvm-dev] intrinsics
Friedman, Eli via llvm-dev
llvm-dev at lists.llvm.org
Tue Jul 11 11:16:13 PDT 2017
On 7/11/2017 10:26 AM, Anastasiya Ruzhanskaya via llvm-dev wrote:
> Hello,
> I would like to find out a detail about intrinsics functions. When I
> use memset form a standard library it is always converted to llvm's
> memset, however the usage of some others as sqrt, pow, sin do not lead
> to the same. How can I get the same effect?
For math functions in particular, the intrinsics don't really match the
semantics of the actual C library functions, so clang doesn't normally
convert them. (If you use -ffast-math, clang will convert them
anyway.) This is an area which could probably be improved, but it's
complicated because we depend on the host's libm.
> Why there is no overall LLVM pass like IntrinsicLowerinPass.cpp (it
> has only some specific ones)? There is only a function that does this.
Some intrinsics expose functionality which can't be expressed using IR
instructions.
-Eli
--
Employee of Qualcomm Innovation Center, Inc.
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project
More information about the llvm-dev
mailing list