[LLVMdev] Floating-point FABS - supporting
westdac at gmail.com
Mon May 6 11:41:54 PDT 2013
I posted a similar issue, but this relates to how to keep a function call
from being lowered to an ISD:FABS.
In this case, I don't want FABS (floating point absolute) to be converted
into an operation). In this case, what happens is that clang generates the
code for floating point absolute (fabs) as a subroutine call:
%5 = load douuble %x, align 8
%call = call double @fabs(double %5) nounwind readnone
I want the call to remain, but somewhere in LLVM, it is take the call to
fabs and translating it to a ISD:FABS.
Again, I can try to custom lower ISD:FABS to a RTLIB call, but there are
two issues about the best way to handle it:
1- Is there a better way then having a subroutine call go to ISD:FABS, only
to come back to a subroutine call?
2- FABS is not in the list of LLVM RTLIB calls, and my hope was to handle
everything in the Target generation, rather than change another directory
in the: /lib/CodeGen/SelectionDAG or include/llvm/CodeGen/ISDOpcodes.h
Is there a good practice I can follow to deal with supporting
floating-point with software-only libraries and suggestions?
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the llvm-dev