[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?


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

-------------- 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