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

Tingyuan LIANG via llvm-dev llvm-dev at lists.llvm.org
Thu May 30 00:31:43 PDT 2019

Dear Craig and Bevin,

    THANKS for your information! I get it!
    Sorry that I ignore the callee and thanks for your suggestion!!!!

Best regards,
Tingyuan LIANG
MPhil Student
Department of Electronic and Computer Engineering
The Hong Kong University of Science and Technology
From: Craig Topper <craig.topper at gmail.com>
Sent: Wednesday, May 29, 2019 10:21 PM
To: Bevin Hansson
Cc: llvm-dev at lists.llvm.org; Tingyuan LIANG
Subject: Re: [llvm-dev] Problem of getNumOperands() for CallInst

There's a getNumArgOperands() that counts just arguments to the function and not the callee itself.


On Wed, May 29, 2019 at 3:53 AM Bevin Hansson via llvm-dev <llvm-dev at lists.llvm.org<mailto:llvm-dev at lists.llvm.org>> wrote:

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

LLVM Developers mailing list
llvm-dev at lists.llvm.org<mailto:llvm-dev at lists.llvm.org>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20190530/2bcfc26a/attachment-0001.html>

More information about the llvm-dev mailing list