[LLVMdev] def-use chains and use-def chains
Duncan Sands
baldrick at free.fr
Fri Apr 20 06:52:30 PDT 2012
Hi Srikanth Vaindam,
> I frankly don't know what a variable gets converted to (SSA register or memory
> chunk).
this is pretty important, so you would do well to know.
What I meant is, for example
>
> I1: int i, j=10; I2: scanf("%d", &j); I3: i = j + 1;
>
> Here I want to know whether the value of j in I1 reaches I3 or not.
In this case you are talking about a chunk of memory. Probably you are looking
for something like memdep (MemoryDependenceAnalysis.cpp).
Ciao, Duncan.
>
>
> Best Regards,
> Srikanth Vaindam
>
>
> you didn't define what you mean by a variable. LLVM has virtual registers which
> are always in SSA form, and memory (such as created by an AllocaInst). By a
> "variable" do you mean an SSA register, or do you mean a chunk of memory?
>
> Ciao, Duncan.
>
>
> On Thu, Apr 19, 2012 at 11:35 AM, srikanth vaindam <srikanth.vaindam at gmail.com
> <mailto:srikanth.vaindam at gmail.com>> wrote:
>
> Hi,
> I need to find out all the places where the value of a variable is being
> used. For this I have to implement reaching definitions(def-use chains).
> When I searched for its implementation I found Iterating over def-use &
> use-def chains <http://llvm.org/docs/ProgrammersManual.html#iterate_chains>.
> will this work for finding the places where a variable is reaching?
>
> I tried to use "use_iterator", but couldn't make it out. Is it a must to
> write LLVM Pass to use op_iterator and use_iterator?
> please give me any references or examples to understand more about use_iterator.
>
>
> Best Regards,
> Srikanth Vaindam
>
>
>
>
>
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
More information about the llvm-dev
mailing list