[llvm-dev] Retrieving numeric value of instruction operand

Ammar Naqvi via llvm-dev llvm-dev at lists.llvm.org
Sun Apr 24 10:27:32 PDT 2016


hey john,

yes indeed, that's what I'm trying, retreiving the values of %a and %b in
an LLVM pass,  sorry about the confusion.
On Apr 24, 2016 7:18 AM, "John Criswell" <jtcriswel at gmail.com> wrote:

> Dear Ammar,
>
> It is not clear what you are asking.  %a and %b in your code below are not
> constants; there is no way, at compile time, to determine what numeric
> values they will hold at run-time.
>
> Are you asking how to write an LLVM pass that will add code to summ() to
> print out its result?
>
> Regards,
>
> John Criswell
>
> On 4/24/16 2:27 AM, Ammar Naqvi via llvm-dev wrote:
>
> Hello Everyone,
>
> I need some help in retrieving the numeric value of an instruction operand
> from LLVM IR.
>
> this is what the IR looks like for a simple add function that adds two i32
> integers
>
> define i32 @summ(i32 %a, i32 %b) #0 {
> entry:
>   %add = add nsw i32 %b, %a
>   ret i32 %add
> }
>
> i would like to know the integer value of %a and %b.
>
> I've tried
>
> -i->getOpcodeName() which gives me the string add
>
> -i->getOperand(0) which gives me the string i32 %b
>
> -i->getOperand(0)->getName() which gives me the string a
>
> what method exists to get the actual integer value of the operands?
> for example we called summ(1,2), how to retrieve the values 1 and 2 held
> in the operands?
>
> Any help and guidance is greatly appreciated! :)
>
> Best,
> Ammar
>
>
> _______________________________________________
> LLVM Developers mailing listllvm-dev at lists.llvm.orghttp://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>
>
>
> --
> John Criswell
> Assistant Professor
> Department of Computer Science, University of Rochesterhttp://www.cs.rochester.edu/u/criswell
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20160424/62122b5e/attachment.html>


More information about the llvm-dev mailing list