[PATCH] Add llvm.experimental.patchpoint.double

Philip Reames listmail at philipreames.com
Thu Oct 9 09:19:53 PDT 2014

On 10/08/2014 09:40 PM, Kevin Modzelewski wrote:
> Hi atrick,
> It didn't seem like there was anything special that had to be done besides
> just defining the new intrinsic with the different return type.
> It seems inelegant to create a new intrinsic for a new return type, but
> we're running into a case where we'd like to return a double through a patchpoint
> and I'm not sure of a better way to do that.
You might want to take a look at how we defined the gc_result intrinsics 
in the statepoint patch which is currently up for review.  With some 
changes to the intrinsic name mangling, you can define an intrinsic per 
"family" of types.  The four we had to add were: void, int, pointer, 
float.  (float here means any floating point type, int means any integer 
type, etc..)
> http://reviews.llvm.org/D5696
> Files:
>    docs/StackMaps.rst
>    include/llvm/IR/Intrinsics.td
>    lib/CodeGen/SelectionDAG/FastISel.cpp
>    lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
>    lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
>    lib/IR/Verifier.cpp
>    lib/Target/AArch64/AArch64TargetTransformInfo.cpp
>    lib/Target/X86/X86TargetTransformInfo.cpp
>    test/CodeGen/X86/patchpoint.ll
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20141009/acab15a1/attachment.html>

More information about the llvm-commits mailing list