Checking if pointer dependency is on function arguments

Hello,

Please consider the below llvm-ir snippet for my function:

define void @copy_string(i8* %target, i8* %source, i8* %test) #0 {
entry:
%target.addr = alloca i8*, align 8
%source.addr = alloca i8*, align 8

store i8* %target, i8** %target.addr, align 8
105 store i8* %source, i8** %source.addr, align 8

Hello,

Kindly ignore previous email. Sent by accident :stuck_out_tongue:

Please consider the below llvm-ir snippet for my function: copy_string

define void @copy_string(i8* %target, i8* %source) #0 {
entry:
%target.addr = alloca i8*, align 8
%source.addr = alloca i8*, align 8

store i8* %target, i8** %target.addr, align 8
store i8* %source, i8** %source.addr, align 8

%2 = load i8*, i8** %source.addr, align 8
%3 = load i8, i8* %2, align 1
%4 = load i8*, i8** %target.addr, align 8
store i8 %3, i8* %4, align 1

I am trying to analyze the last instruction. I wish to correlate – %3 back to %source and %4 back to %target i.e. the two arguments of the function.
In other words I wish to show that this instruction uses the two arguments of the function.

I fetched the two operands of the instruction and looked at functions provided by llvm for Instruction and Operand, but couldn’t figure it out.

Could you please guide me with this ?

Thanks
Arun Tewatia