Skip to content

Commit

Permalink
Update on "[compiler] ReactiveIR: refactor Branch/Fallthrough"
Browse files Browse the repository at this point in the history
Continuing the exploration of the sea-of-nodes ReactiveIR.

Three main changes:
* ReactiveGraph has both entry and exit. Entry is mostly for completeness since it would be the first entry in the nodes map.
* Moves the 'terminal' data from JoinNode to BranchNode. Each branch has both an entry and exit, but these are intended for use with reconstruction back to ReactiveFunction and for interpreting the IR or forward data flow analysis.
* Renames JoinNode => FallthroughNode, removing the terminal.

Combined with the previous changes — ensuring that every block ends in a terminal that has controls transitively through to its entry node — it's now always possible to reach all nodes from the exit and to walk forward for forward data flow analysis or abstract/actual interpretation of the instructions.

[ghstack-poisoned]
  • Loading branch information
josephsavona committed Jan 21, 2025
2 parents e465ec7 + ae47b2e commit f0fb06a
Showing 0 changed files with 0 additions and 0 deletions.

0 comments on commit f0fb06a

Please sign in to comment.