-
Phillip Kuznetsov authored
Summary: Topological sort was a huge contributor of execution time in the compiler, but we didn't need to use it in a lot of places. This diff reduces the compilers dependence on topo sort, especially in the rules defintiions. Most notably, added an argument ot the rules constructor so that Rule::Execute() can take the nodes in any order rather than TopologicalSorting before. Test Plan: Updated tests to match the changes, had to refactor some that assumed an order of nodes. Reviewers: nserrino, jamesbartlett, #engineering Reviewed By: jamesbartlett, #engineering JIRA Issues: PP-2059 Differential Revision: https://phab.corp.pixielabs.ai/D5731 GitOrigin-RevId: d30902087c772ecc86682834032a1e8f62f840bb
22b127d1