From: Matt Turner Date: Mon, 3 Nov 2014 19:24:03 +0000 (-0800) Subject: i965/fs: Remove opt_drop_redundant_mov_to_flags(). X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=b449366587b5f3f64c6fb45fe22c39e4bc8a4309;p=mesa.git i965/fs: Remove opt_drop_redundant_mov_to_flags(). Dead code elimination now handles this. Reviewed-by: Kenneth Graunke --- diff --git a/src/mesa/drivers/dri/i965/brw_fs.cpp b/src/mesa/drivers/dri/i965/brw_fs.cpp index 37015ec607b..5ed42339ad8 100644 --- a/src/mesa/drivers/dri/i965/brw_fs.cpp +++ b/src/mesa/drivers/dri/i965/brw_fs.cpp @@ -3419,35 +3419,6 @@ fs_visitor::calculate_register_pressure() } } -/** - * Look for repeated FS_OPCODE_MOV_DISPATCH_TO_FLAGS and drop the later ones. - * - * The needs_unlit_centroid_workaround ends up producing one of these per - * channel of centroid input, so it's good to clean them up. - * - * An assumption here is that nothing ever modifies the dispatched pixels - * value that FS_OPCODE_MOV_DISPATCH_TO_FLAGS reads from, but the hardware - * dictates that anyway. - */ -void -fs_visitor::opt_drop_redundant_mov_to_flags() -{ - bool flag_mov_found[2] = {false}; - - foreach_block_and_inst_safe(block, fs_inst, inst, cfg) { - if (inst->is_control_flow()) { - memset(flag_mov_found, 0, sizeof(flag_mov_found)); - } else if (inst->opcode == FS_OPCODE_MOV_DISPATCH_TO_FLAGS) { - if (!flag_mov_found[inst->flag_subreg]) - flag_mov_found[inst->flag_subreg] = true; - else - inst->remove(block); - } else if (inst->writes_flag()) { - flag_mov_found[inst->flag_subreg] = false; - } - } -} - void fs_visitor::optimize() { @@ -3459,8 +3430,6 @@ fs_visitor::optimize() assign_constant_locations(); demote_pull_constants(); - opt_drop_redundant_mov_to_flags(); - #define OPT(pass, args...) do { \ pass_num++; \ bool this_progress = pass(args); \ diff --git a/src/mesa/drivers/dri/i965/brw_fs.h b/src/mesa/drivers/dri/i965/brw_fs.h index 1deb7743cea..2e6296d4f23 100644 --- a/src/mesa/drivers/dri/i965/brw_fs.h +++ b/src/mesa/drivers/dri/i965/brw_fs.h @@ -422,7 +422,6 @@ public: bool try_constant_propagate(fs_inst *inst, acp_entry *entry); bool opt_copy_propagate_local(void *mem_ctx, bblock_t *block, exec_list *acp); - void opt_drop_redundant_mov_to_flags(); bool opt_register_renaming(); bool register_coalesce(); bool compute_to_mrf();