panfrost/midgard: Optimize MIR in progress loop

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
This commit is contained in:
Alyssa Rosenzweig 2019-04-22 04:58:53 +00:00
parent e9f84f1447
commit 4d995e0da8
1 changed files with 11 additions and 5 deletions

View File

@ -3685,12 +3685,18 @@ midgard_compile_shader_nir(nir_shader *nir, midgard_program *program, bool is_bl
util_dynarray_init(compiled, NULL);
/* Peephole optimizations */
/* MIR-level optimizations */
mir_foreach_block(ctx, block) {
midgard_opt_copy_prop(ctx, block);
midgard_opt_dead_code_eliminate(ctx, block);
}
bool progress = false;
do {
progress = false;
mir_foreach_block(ctx, block) {
progress |= midgard_opt_copy_prop(ctx, block);
progress |= midgard_opt_dead_code_eliminate(ctx, block);
}
} while (progress);
/* Schedule! */
schedule_program(ctx);