Thanks for the response.  I was more specifically looking through the source code for a place where Reaching Definitions was implemented to derive those uses and/or to generate the SSA. To provide some context, as a student I have a project to implement a path infeasibility algorithm to "Sharpen" the results of the Reaching Definitions results in LLVM. Being new to LLVM I wasn't looking for the answer for the latter, but was looking for some pointers on how the current "Reaching Definitions" was implemented and where (or where the "uses" were otherwise built up).<br>
<br>Thanks,<br>Shone<br><br><div class="gmail_quote">On Tue, Mar 17, 2009 at 5:06 PM, Daniel Berlin <span dir="ltr"><<a href="mailto:dberlin@dberlin.org">dberlin@dberlin.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
The immediate uses info provides reaching definitions already, at<br>
least while the code is in SSA form.<br>
So uh, what more are you looking for?<br>
<br>
2009/3/17 Shone Sadler <<a href="mailto:shone.sadler@gmail.com">shone.sadler@gmail.com</a>>:<br>
<div><div></div><div class="h5">> Hello,<br>
><br>
><br>
> I am a newbie to LLVM as well as compilers and I am hoping for some<br>
> direction in finding an instance of where a Reaching Definition Analysis is<br>
> being implemented within LLVM.  I have referenced the sources files,<br>
> initially hoping to find an explicit ReachingDefinitionAnalysis.cpp file ;-)<br>
> but with no such luck.  Other than that I have found the files<br>
> SimpleRegisterCoalescing.cpp and the PreAllocSplitting.cpp which are<br>
> referencing Reaching Definitions (as VNInfo objects), which leads me to<br>
> believe that Reaching Definitions are created as part of the<br>
> LiveIntervalAnalysis, which is a MachineFunctionPass.  However, I was<br>
> expecting to find a implementation of RD Analysis earlier on.  I will<br>
> continue walking though LiveIntervalAnalysis and the rest of the code, but<br>
> was looking for some direction here if possible.<br>
><br>
> Thanks in advance!<br>
><br>
> Shone Sadler<br>
><br>
</div></div>> _______________________________________________<br>
> LLVM Developers mailing list<br>
> <a href="mailto:LLVMdev@cs.uiuc.edu">LLVMdev@cs.uiuc.edu</a>         <a href="http://llvm.cs.uiuc.edu" target="_blank">http://llvm.cs.uiuc.edu</a><br>
> <a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev</a><br>
><br>
><br>
<br>
_______________________________________________<br>
LLVM Developers mailing list<br>
<a href="mailto:LLVMdev@cs.uiuc.edu">LLVMdev@cs.uiuc.edu</a>         <a href="http://llvm.cs.uiuc.edu" target="_blank">http://llvm.cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev</a><br>
</blockquote></div><br>