[llvm-dev] How to efficiently extract the calledFunction from a complex CallInst?
Shen Liu via llvm-dev
llvm-dev at lists.llvm.org
Thu Nov 12 19:27:37 PST 2015
Hi all,
Usually if we want to get the called Function we can directly use
CallInst->getCalledFunction(), however, today i encounter an unusual
CallInst as follows:
%call11 = call double (...)* bitcast (double ()* @quantum_frand to double
(...)*)()
the original C source involve type cast:
float u,v;
extern double quantum_frand();
u = 2 * quantum_frand() - 1;
v = 2 * quantum_frand() - 1;
In this case, CallInst->getCalledFunction() returns a nullptr unusually, I
printed out the getOperand(0) and found the operand is the whole thing of
"double (...)* bitcast (double ()* @quantum_frand to double (...)*)()".
Any member function calling on that fails so i don't know whether there is
an efficient way to exactly get the called function @quantum_frand(...)
here? Thanks!
Best regards,
Shen
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20151112/61000ee3/attachment.html>
More information about the llvm-dev
mailing list