-
Notifications
You must be signed in to change notification settings - Fork 3k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Improve processing order of blocks during region translation
Summary: Improve tracking of unprocessed predecessors. Previously, if a block became permanently unreachable in IR, we would never mark it as processed, so its reachable successor would have fake unprocessed predecessors, pessimizing the state. Process blocks without unprocessed predecessors first. This helps unblock processing of other blocks and reduces the total number of blocks processed with unprocessed preds. Finally, if there are no blocks without unprocessed predecessors, use RPO order to pick a block with unprocessed predecessor. Reduces the number of processed blocks with unprocessed preds by ~40% (rta). Reviewed By: ricklavoie Differential Revision: D66526106 fbshipit-source-id: 316072fa8f7c37341938c88fe935f807b252301f
- Loading branch information
1 parent
38ea611
commit ff12c8a
Showing
4 changed files
with
121 additions
and
61 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
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