-
Notifications
You must be signed in to change notification settings - Fork 5.4k
Description
We currently do some optimizations (as part of Reduce method calls) while parsing as nodes are being added to the tree. We currently do other optimizations as part of a final pass over the graph once the whole tree has been parsed. We should re-examine what we do when, whether we're doing unnecessary work to rerun optimizations as we move nodes around in the tree, whether there'd be a better ordering that would result in more improvements being found for the same amount of work, and whether we're leaving any optimizations on the table by not allowing for another round of optimizations (e.g. the source generator has a larger time budget and so could rerun the optimizations one or more times to mop up after any opportunities exposed after the previous passes).