Instruction Insertion

Hi everybody,

I’m trying to implement a LLVM Pass that insert instructions into a basicblock.

I’m using a FunctionPass and I want to add somthing like this :

%tmp = alloca i32, align 4
%tmp2 = alloca i32, align 4

store i32 10, i32* %tmp
store i32 2, i32* %tmp2

%tmp3 = add i32 %tmp, %tmp2

I try to follow the official tuto, I think this part is out of date. http://llvm.org/docs/ProgrammersManual.html#simplechanges
I’m using IRBuilder to create an alloc instruction but I can not for now.

Someone could help me to get started ?

Thanks !

First, there are two ways to insert instructions:

  1. Use the IRBuilder class to create instructions.
  2. Use the LLVM internal API directly and use a method of the AllocaInst class.

Either way, you should read the LLVM doxygen documentation of the class you want to use to get the latest API for it. So, in this case, either read the doxygen documentation on IRBuilder or the documentation on AllocaInst.

Doxygen docs are at . – John T.