diff --git a/llvm/include/llvm/Transforms/IPO/Attributor.h b/llvm/include/llvm/Transforms/IPO/Attributor.h --- a/llvm/include/llvm/Transforms/IPO/Attributor.h +++ b/llvm/include/llvm/Transforms/IPO/Attributor.h @@ -155,8 +155,8 @@ using DepTy = PointerIntPair; 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 Deps; static AADepGraphNode *DepGetVal(DepTy &DT) { return DT.getPointer(); } @@ -184,6 +184,11 @@ 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() {} @@ -197,7 +202,6 @@ /// 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(); }