[llvm-dev] Problem of getNumOperands() for CallInst

Bevin Hansson via llvm-dev llvm-dev at lists.llvm.org
Wed May 29 03:53:37 PDT 2019

Hi Tingyuan,

    For example,
             call void @_Z2f2PA100_i([100 x i32]* nonnull %arraydecay)
    If I use getNumOperands(), it will return 2.
    However, if I use getCalledFunction()->getNumParams(), it will return 1.
    According to the IR, I think the number of operands of the call instruction should be 1.

I think you'll find that the first operand of the 'call' instruction is the callee (the function being called) itself. So two operands makes sense in your case: one callee and one parameter.

/ Bevin
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20190529/e43aab44/attachment.html>

More information about the llvm-dev mailing list