-
Notifications
You must be signed in to change notification settings - Fork 286
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[LowerFirReg] Reimplement the mux reachability analysis (#6709)
The PR implements a new heuristic to determine if a Mux is reachable from a FirReg. In general an operation is reachable from a register if its in the fanout of the register. For FirReg lowering, an if/else structure is required for proper enable inference, if a mux is within the fanout from the register. The fanout path can only consist of MuxOp, ArrayGetOp or ArrayCreateOp. Thus any ops other than MuxOp, ArrayGetOp or ArrayCreateOp block the reachability. The analysis is built lazily when its queried and the result is cached to avoid redundant traversal of the IR.
- Loading branch information
Showing
3 changed files
with
154 additions
and
40 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters