Revert "intel/fs: Do cmod prop again after scheduling"

This reverts commit ba2fa1ceaf.  Doing
optimizations after scheduling but before RA means doing them in the
middle of the scheduling loop which introduces additional dependencies
between one scheduling iteration and the next.  That won't work if we
want to make the scheduling modes independent, at least not unless we
have some way of fully cloning the IR.

Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13734>
This commit is contained in:
Jason Ekstrand 2021-11-09 20:17:42 -06:00 committed by Marge Bot
parent e6f0def97d
commit d49d092259

View file

@ -8677,23 +8677,6 @@ fs_visitor::allocate_registers(bool allow_spilling)
break;
}
/* Scheduling may create additional opportunities for CMOD propagation,
* so let's do it again. If CMOD propagation made any progress,
* eliminate dead code one more time.
*/
bool progress = false;
const int iteration = 99;
int pass_num = 0;
if (OPT(opt_cmod_propagation)) {
/* dead_code_eliminate "undoes" the fixing done by
* fixup_3src_null_dest, so we have to do it again if
* dead_code_eliminiate makes any progress.
*/
if (OPT(dead_code_eliminate))
fixup_3src_null_dest();
}
bool can_spill = allow_spilling &&
(i == ARRAY_SIZE(pre_modes) - 1);