These are both pretty big changes, the block walker is more efficient, and doesn't walk over the same block twice. The combined GVN pass also inserts phis at the same time, which is essentially the same task. This also allows us to break GVN out of the main loop, and only run it in an early loop.
These are both pretty big changes, the block walker is more efficient, and doesn't walk over the same block twice. The combined GVN pass also inserts phis at the same time, which is essentially the same task. This also allows us to break GVN out of the main loop, and only run it in an early loop.