You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
With input probes no longer being valid IR, this pass can be simplified.
Paths are now append-only and can be resolved in a single post-order (considering all entry points / instance-graph nodes not just the "main" top) and strictly following their flow via define and ref.sub/ref.cast operations.
(or similar/equivalent formulations, just pointing to what simplification is now possible)
Instead of needing to walk IR repeatedly until convergence (cc #5732), follow the flow of the refs along the dataflow and walk that once[1].
[1] at least once our IR supports the efficient thing here, as-is need to walk the IR to extract the requisite dataflow graph anyway, so shrug. Point is this is a simple flow along the flow of refs now (and bottom-up re:module visiting), shouldn't need to track things to resolve using information discovered later 👍.
The text was updated successfully, but these errors were encountered:
With input probes no longer being valid IR, this pass can be simplified.
Paths are now append-only and can be resolved in a single post-order (considering all entry points / instance-graph nodes not just the "main" top) and strictly following their flow via
define
andref.sub
/ref.cast
operations.(or similar/equivalent formulations, just pointing to what simplification is now possible)
Instead of needing to walk IR repeatedly until convergence (cc #5732), follow the flow of the refs along the dataflow and walk that once[1].
[1] at least once our IR supports the efficient thing here, as-is need to walk the IR to extract the requisite dataflow graph anyway, so shrug. Point is this is a simple flow along the flow of refs now (and bottom-up re:module visiting), shouldn't need to track things to resolve using information discovered later 👍.
The text was updated successfully, but these errors were encountered: