[LLVMdev] Passing a function pointer as parameter to function call?

David Blaikie dblaikie at gmail.com
Thu Mar 12 15:09:11 PDT 2015


Easiest thing to do would be to write the equivalent C code, throw it
through Clang, and look at the IR it produces.

On Thu, Mar 12, 2015 at 3:00 PM, Kevin Hu <hxy9243 at gmail.com> wrote:

> Dear all,
>
>
> I'm writing an LLVM pass, and I want to insert a call instruction that
> takes a function pointer as a parameter. The effect would be the same as
> following:
>
> atexit(foo);
>
> Where foo is a function I insert with M.getOrInsertFunction(), which in
> LLVM is a Function class.
>
> I searched for a while and did not come up with a satisfying answer.
> Should I create a Value class of pointer type, or a Int64Ty for a pointer?
> How do I get the pointer to the function I create? I also tried passing foo
> as Function* in LLVM as parameter to create CallInst directly, and I
> doesn't seem to work.
>
> Any hints and enlightenment is appreciated. Many thanks.
>
>
> Regards,
> Yours,
> Kevin Hu
>
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20150312/d5daa829/attachment.html>


More information about the llvm-dev mailing list