nir/opt_sink: Move more instructions
This MR adds support for moving more instructions in nir_opt_sink/nir_opt_move. The heuristics added err on the side of conservative: none of these heuristics should hurt register pressure in typical cases. The first two patches are AGX-specific and should not affect other drivers. The remaining two patches are general... (Someone should probably run fossil-db on radv+aco to confirm that they're a win there too.)
This series is the fruit of optimizing Dolphin ubershaders on AGX... It looks like the LLVM blob requires significantly fewer registers and gets better occupancy as a result, which accounts for a significant fps difference. These four patches together bring a small but significant fps uplift for dolphin ubers.