[llvm] r338660 - [ADT] Add some documentation for GraphTraits.

Tim Shen via llvm-commits llvm-commits at lists.llvm.org
Wed Aug 1 17:21:12 PDT 2018


Author: timshen
Date: Wed Aug  1 17:21:12 2018
New Revision: 338660

URL: http://llvm.org/viewvc/llvm-project?rev=338660&view=rev
Log:
[ADT] Add some documentation for GraphTraits.

Summary: Add some context for GraphTraits.

Reviewers: dblaikie, asbirlea

Subscribers: sanjoy, jlebar, bixia, dexonsmith, llvm-commits

Differential Revision: https://reviews.llvm.org/D50120

Modified:
    llvm/trunk/include/llvm/ADT/GraphTraits.h

Modified: llvm/trunk/include/llvm/ADT/GraphTraits.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/ADT/GraphTraits.h?rev=338660&r1=338659&r2=338660&view=diff
==============================================================================
--- llvm/trunk/include/llvm/ADT/GraphTraits.h (original)
+++ llvm/trunk/include/llvm/ADT/GraphTraits.h Wed Aug  1 17:21:12 2018
@@ -25,6 +25,13 @@ namespace llvm {
 // GraphTraits - This class should be specialized by different graph types...
 // which is why the default version is empty.
 //
+// This template evolved from supporting `BasicBlock` to also later supporting
+// more complex types (e.g. CFG and DomTree).
+//
+// GraphTraits can be used to create a view over a graph interpreting it
+// differently without requiring a copy of the original graph. This could
+// be achieved by carrying more data in NodeRef. See LoopBodyTraits for one
+// example.
 template<class GraphType>
 struct GraphTraits {
   // Elements to provide:




More information about the llvm-commits mailing list