[llvm-dev] Retrieving numeric value of instruction operand

John Criswell via llvm-dev llvm-dev at lists.llvm.org
Sun Apr 24 07:18:42 PDT 2016


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 list
> llvm-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev


-- 
John Criswell
Assistant Professor
Department of Computer Science, University of Rochester
http://www.cs.rochester.edu/u/criswell

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20160424/8ef714a7/attachment.html>


More information about the llvm-dev mailing list