Skip to content

Commit

Permalink
[Attributor][NFC] Update description for the dependency graph
Browse files Browse the repository at this point in the history
The word "dependency graph" is a bit misleading. When there is an
edge from node A to B (A -> B), it actually mean that B depends on
A and when the state of A is updated, B should also be updated. So
I update the comment to make the description clearer.

Reviewed By: jdoerfert

Differential Revision: https://reviews.llvm.org/D85065
  • Loading branch information
hellobbn committed Aug 1, 2020
1 parent fd69df6 commit fa30ade
Showing 1 changed file with 7 additions and 3 deletions.
10 changes: 7 additions & 3 deletions llvm/include/llvm/Transforms/IPO/Attributor.h
Expand Up @@ -155,8 +155,8 @@ struct AADepGraphNode {
using DepTy = PointerIntPair<AADepGraphNode *, 1>;

protected:
/// Set of dependency graph nodes which this one depends on.
/// The bit encodes if it is optional.
/// Set of dependency graph nodes which should be updated if this one
/// is updated. The bit encodes if it is optional.
TinyPtrVector<DepTy> Deps;

static AADepGraphNode *DepGetVal(DepTy &DT) { return DT.getPointer(); }
Expand Down Expand Up @@ -184,6 +184,11 @@ struct AADepGraphNode {
friend struct AADepGraph;
};

/// The data structure for the dependency graph
///
/// Note that in this graph if there is an edge from A to B (A -> B),
/// then it means that B depends on A, and when the state of A is
/// updated, node B should also be updated
struct AADepGraph {
AADepGraph() {}
~AADepGraph() {}
Expand All @@ -197,7 +202,6 @@ struct AADepGraph {
/// requires a single entry point, so we maintain a fake("synthetic") root
/// node that depends on every node.
AADepGraphNode SyntheticRoot;

AADepGraphNode *GetEntryNode() { return &SyntheticRoot; }

iterator begin() { return SyntheticRoot.child_begin(); }
Expand Down

0 comments on commit fa30ade

Please sign in to comment.