[llvm-commits] [PATCH] Prepare for arbitrary graph node pointer types

Peter Collingbourne peter at pcc.me.uk
Sat Jul 24 19:20:54 PDT 2010


Hi,

This patch series extends LLVM's graph infrastructure to support
arbitrary node pointer types (NodePtrType) in GraphTraits
specialisations.  This is part of planned work to implement a
whole-AST visualisation for Clang's AST, for which we will need a
polymorphic pointer type to represent the various Clang AST node types
(i.e. PointerUnion).

I am developing this work in an incremental fashion.  I introduced
a new class, GraphTraitsBase, to be used as a base class for
all GraphTraits specialisations, and updated all GraphTraits
specialisations in the LLVM code base.  I also prepared df_iterator
for NodePtrType (I could not find any other class which needed
preparation).  Once all GraphTraits specialisations are updated to use
GraphTraitsBase, we can modify the graph iterators to use NodePtrType.

OK to commit?

Thanks,
-- 
Peter
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-Add-default-Pred-Succ-Iterator-ctor.patch
Type: text/x-diff
Size: 2346 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20100725/a8d83541/attachment.patch>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0002-Fix-default-value_use_iterator-ctor.patch
Type: text/x-diff
Size: 693 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20100725/a8d83541/attachment-0001.patch>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0003-Add-default-RegionIterator-ctor.patch
Type: text/x-diff
Size: 3747 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20100725/a8d83541/attachment-0002.patch>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0004-Have-DepthFirstIterator-use-default-ctor-for-iterato.patch
Type: text/x-diff
Size: 3276 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20100725/a8d83541/attachment-0003.patch>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0005-Provide-a-simpler-inverse-inverse-specialisation-of-.patch
Type: text/x-diff
Size: 1431 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20100725/a8d83541/attachment-0004.patch>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0006-Introduce-GraphTraitsBase-class.patch
Type: text/x-diff
Size: 2779 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20100725/a8d83541/attachment-0005.patch>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0007-Have-all-GraphTraits-specialisations-use-GraphTraits.patch
Type: text/x-diff
Size: 20321 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20100725/a8d83541/attachment-0006.patch>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0008-Add-NodePtrType-to-GraphTraits.patch
Type: text/x-diff
Size: 1210 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20100725/a8d83541/attachment-0007.patch>


More information about the llvm-commits mailing list