[llvm-commits] [Patch] Add dotty dominance printer

Tobias Grosser grosser at fim.uni-passau.de
Sun Sep 20 06:09:39 PDT 2009


Hi,

two month ago I already submitted a patch for adding dotty dominance
printer support.

http://lists.cs.uiuc.edu/pipermail/llvmdev/2009-July/023928.html

it got reviewed however never committed.

This is the second try with some small changes:
 * Update to trunk
 * Use templates to limit code duplication
 * Split patch set to make review easier

The patch set:

1. Extend GraphTraits for Dominators
  
 * Add nodes_iterators for GraphTraits<DomTreeNode*> and   
   GraphTraits<DominatorTree*>
 * Add GraphTraits<PostDominatorTree*>
 * Unify formatting

Patch: llvm-GraphTraitsForDominators.patch
-------------------------------------------------------------------------

2. Make dotty basic block printing reusable

 * Move DOTGraphTraits<Function*> to header

This is required to reuse the basic block printing code of the
CFGPrinter for the DominancePrinter.

Patch: llvm-Move_DOTGraphTraits.patch
-------------------------------------------------------------------------

3. The Dominance Printer

It implements dotty printing for dominance trees and introduces these
new flags:

-dot-dom           : Print dominance tree of function to 'dot' file
-dot-dom-only      : Print dominance tree of function to 'dot' file 
                     (with no function bodies)
-dot-postdom       : Print postdominance tree of function to 'dot' file
-dot-postdom-only  : Print postdominance tree of function to 'dot' file
                     (with no function bodies)

-view-dom          : View dominance tree of function
-view-dom-only     : View dominance tree of function
                     (with no function bodies)
-view-postdom      : View postdominance tree of function
-view-postdom-only : View postdominance tree of function
                     (with no function bodies)

Patch: llvm-DominancePrinter.patch
-------------------------------------------------------------------------

Thanks
Tobi
-------------- next part --------------
A non-text attachment was scrubbed...
Name: llvm-DominancePrinter.patch
Type: text/x-patch
Size: 11083 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20090920/d78f11e2/attachment.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: llvm-GraphTraitsForDominators.patch
Type: text/x-patch
Size: 2705 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20090920/d78f11e2/attachment-0001.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: llvm-Move_DOTGraphTraits.patch
Type: text/x-patch
Size: 4830 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20090920/d78f11e2/attachment-0002.bin>


More information about the llvm-commits mailing list