[LLVMdev] Questions regarding the LLVM IR and the Instruction class

Canumalla Anirudh anirudh.c.93 at gmail.com
Fri May 1 01:27:45 PDT 2015


I have two questions that I need answers to . Hope somebody can help me

1) The LLVM IR has three forms of representation - In memory, bitcode
representation and the human readable form. I would like to know the
differences between the two representations if any.

2) I will explain my situation and then get to the second question:

I needed the operands of instructions represented in strings and hence I
used
 "curr_Ins->getOperand(0)->getname()", where curr_Ins was a variable of
type Instruction*
 If there is an instruction that has a direct integer as an operand, I was
unable to do this. I had to cast that operand to a ConstInt and then obtain
its value (by the getValue() function) and then convert it to a string.
If getOperand always returned Value* then why is it that if there was a
Numerical operand I was unable to invoke the getName() function with it. Is
it because getOperand(1) returned an object of different type when there
was a numerical operand. If so, what are the possible types that can come
as operands to instructions.

Thanks in advance.

Anirudh
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20150501/6d8b220b/attachment.html>


More information about the llvm-dev mailing list