[LLVMdev] Control Dependence Graph builder

Scott Moore sdmoore at fas.harvard.edu
Fri Apr 12 16:06:41 PDT 2013


Hi Arsen,
I wrote a pass that computes a control dependence graph as described in
Ferrante et al's "The Program Dependence Graph and Its Use in
Optimization." It is available at
https://github.com/thinkmoore/llvm-analysis.
Cheers,
Scott


On Fri, Apr 12, 2013 at 5:04 PM, John Criswell <criswell at illinois.edu>wrote:

> On 4/12/13 3:19 PM, Arsen wrote:
>
>> Thank you John.
>> Actually the opt tool (from LLVM 3.2 version) can generate the needed
>> graphs
>> (with pass "-domfrontier").
>> But I just want to surely know is there some pass or builder which can be
>> integrated somehow so it will be possible directly to generate CDG?
>>
>
> Yes and no.  There's isn't a control dependence pass in LLVM per se, but I
> believe that is primarily because control dependence is very easy to
> compute with the existing analysis passes in LLVM.  With
> PostDominanceFrontier, it was extremely simple (I think it was calling two
> methods in the PostDominanceFrontier pass).
>
> It might be slightly more work to compute it with PostDominatorTree, but
> not significantly.  And, IIRC, you'll want to use PostDominatorTree instead
> of DominatorTree.  For control dependence, I believe you essentially flip
> the CFG upside-down and compute the dominance frontier.  Using post
> dominators instead of dominators does the same thing and is described in
> the Allen and Kennedy book.
>
> -- John T.
>
>
>
>>
>>
>> --
>> View this message in context: http://llvm.1065342.n5.nabble.**
>> com/Control-Dependence-Graph-**builder-tp56687p56689.html<http://llvm.1065342.n5.nabble.com/Control-Dependence-Graph-builder-tp56687p56689.html>
>> Sent from the LLVM - Dev mailing list archive at Nabble.com.
>> ______________________________**_________________
>> LLVM Developers mailing list
>> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
>> http://lists.cs.uiuc.edu/**mailman/listinfo/llvmdev<http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev>
>>
>
> ______________________________**_________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/**mailman/listinfo/llvmdev<http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20130412/07d8737c/attachment.html>


More information about the llvm-dev mailing list