@@ -285,8 +285,8 @@ Dependence on Cycles Headers
285
285
Contradictions in *convergence-before * are possible only between two
286
286
nodes that are inside some cycle. The dynamic instances of such nodes
287
287
may be interleaved in the same thread, and this interleaving may be
288
- different for different threads.
289
-
288
+ different for different threads. Cycle headers serve as implicit
289
+ * points of convergence * in the maximal converged-with relation.
290
290
When a thread executes a node ``X `` once and then executes it again,
291
291
it must have followed a closed path in the CFG that includes ``X ``.
292
292
Such a path must pass through the header of at least one cycle --- the
@@ -295,14 +295,6 @@ thread, two dynamic instances of ``X`` are either separated by the
295
295
execution of at least one cycle header, or ``X `` itself is a cycle
296
296
header.
297
297
298
- In reducible cycles (natural loops), each execution of the header is
299
- equivalent to the start of a new iteration of the cycle. But this
300
- analogy breaks down in the presence of explicit constraints on the
301
- converged-with relation, such as those described in :ref: `future
302
- work<convergence-note-convergence>`. Instead, cycle headers should be
303
- treated as implicit *points of convergence * in a maximal
304
- converged-with relation.
305
-
306
298
Consider a sequence of nested cycles ``C1 ``, ``C2 ``, ..., ``Ck `` such
307
299
that ``C1 `` is the outermost cycle and ``Ck `` is the innermost cycle,
308
300
with headers ``H1 ``, ``H2 ``, ..., ``Hk `` respectively. When a thread
0 commit comments