[LLVMdev] compile time and runtime in LLVM

Vasileios Koutsoumpos bill_koutsoumpos at hotmail.com
Fri Jun 20 07:25:49 PDT 2014


Hello everybody,

I have some issues in the communication between the compile and runtime.

What I am doing is to locate an "add" instruction in the IR and then, 
after the "add" I insert some new instructions. Then I save the 
instructions in a vector (in the example the the "add", the "or" and the 
"xor"). The instrumentation part is working so far.

In the runtime,  I want to select every specific time one instruction 
from the vector I created in the compile time before, during the 
instrumentation.  Specifically, I want to select the original "add", or 
the "or" or the "xor" and pass it in the "store" instruction. However, I 
cannot pass the new value form the runtime to select which instruction 
from the vector to be stored. I try to do this in through the 
counterStop function.

call void @counterStop()
%8 = load i32* %x, align 4,
%9 = add nsw i32 %8, 2
%10 = shl i32 1, 2
%11 = or i32 %8, %10
%15 = shl i32 1, 2
%16 = xor i32 %8, %15
store i32 %9, i32* %x, align 4
...

Any ideas how to change the value in the vector through the runtime?

regards,
Vasileios



More information about the llvm-dev mailing list