I am very new to LLVM.
I am trying to write an llvm Pass to perform something akin to taint analysis. In my effort I need to iterate through the Def-use chain of specific predefined variables. For example the dis assembly of a C program the following code
@someVar = external global %struct.something
This is found above a function and I want to find all uses of this @someVar inside my function. How do I do it? I started writing a function pass. But how do I get the Def Use chain of this particular identifier?
I found this in the LLVM manual http://llvm.org/docs/ProgrammersManual.html#iterate_chains.
But I am not sure how I could use it in this context.
P.S Sorry if my question is vague or naive. I am a newbie and I dont know what information is pertinent.
I am pasting the code from the link
Function *F = ...;
for (Value::use_iterator i = F->use_begin(), e = F->use_end(); i != e; ++i)
if (Instruction *Inst = dyn_cast<Instruction>(*i)) {
errs() << "F is used in instruction:\n";
errs() << *Inst << "\n";
}
Basically F is the value for which you want to find the chain
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With