@@ -127,10 +127,7 @@ class DependencyGraphImpl {
127
127
// / In other words, this Job "cascades"; the need to recompile it causes other
128
128
// / recompilations. It is possible that the current code marks things that do
129
129
// / not need to be marked. Nothing would break if that were the case.
130
- // /
131
- // / "Marked" does NOT mean that any successors in the graph have been
132
- // / processed. The traversal routines use "Visited" to avoid endless
133
- // / "recursion".
130
+
134
131
llvm::SmallPtrSet<const void *, 16 > Marked;
135
132
136
133
// / A list of all external dependencies that cannot be resolved from just this
@@ -163,11 +160,7 @@ class DependencyGraphImpl {
163
160
(void )newlyInserted;
164
161
}
165
162
166
- // / Starting at \p node, visit the transitive closure of every dependent node.
167
- // / Assume that the starting node is "cascading"; that all dependencies must
168
- // / be dirty if the start is dirty. Therefore, mark the start. For each
169
- // / visited node, add it to visited, and mark it if it cascades. The start
170
- // / node is NOT added to visited.
163
+ // / See DependencyGraph::markTransitive.
171
164
172
165
void markTransitive (SmallVectorImpl<const void *> &visited,
173
166
const void *node, MarkTracerImpl *tracer = nullptr );
@@ -280,6 +273,15 @@ class DependencyGraph : public DependencyGraphImpl {
280
273
// /
281
274
// / If you want to see how each node gets added to \p visited, pass a local
282
275
// / MarkTracer instance to \p tracer.
276
+ // /
277
+ // / Assumes that the starting node is "cascading"; that all dependencies must
278
+ // / be dirty if the start is dirty. Therefore, mark the start. For each
279
+ // / visited node, add it to visited, and mark it if it cascades. The start
280
+ // / node is NOT added to visited.
281
+ // /
282
+ // / Do not confused "Marked" with "Visited".
283
+ // / "Marked" does NOT influence the traversal. The traversal routines use
284
+ // / "Visited" to avoid endless "recursion".
283
285
template <unsigned N>
284
286
void markTransitive (SmallVector<T, N> &visited, T node,
285
287
MarkTracer *tracer = nullptr ) {
0 commit comments