<div dir="ltr"><div>I have two questions that I need answers to . Hope somebody can help me</div><div><br></div>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.<div><br></div><div>2) I will explain my situation and then get to the second question:</div><div> </div><div>I needed the operands of instructions represented in strings and hence I used</div><div> "curr_Ins->getOperand(0)->getname()", where curr_Ins was a variable of type Instruction*</div><div> 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. </div><div>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.<br></div><div><br></div><div>Thanks in advance.</div><div><br></div><div>Anirudh</div></div>