[LLVMdev] Operand, instruction
criswell at uiuc.edu
Tue Apr 13 13:31:39 PDT 2010
> Can you please give an example of creating an instruction (for example add
> instructions with two operand a and b)? I am trying instruction() for a
> while, but no success yet.
You need to look for the appropriate subclass of llvm::Instruction and
find the method for creating a new instruction. The method is usually a
static method and takes arguments pointing to the values to use as
operands. Doxygen is your best resource for finding these methods.
For example, if you look at
http://llvm.org/doxygen/classllvm_1_1AllocaInst.html, you can see that
the AllocaInst class (which represents an alloca instruction) has a
standard constructor method that takes the type of object to allocate,
the name of the new alloca instruction, an instruction before which to
insert the alloca instruction, etc.
As another example, the CallInst class
(http://llvm.org/doxygen/classllvm_1_1CallInst.html) represents a call
instruction and has a static Create() method that you can use to create
a new call instruction.
-- John T.
More information about the llvm-dev