i965/fs: Remove opt_drop_redundant_mov_to_flags().
Dead code elimination now handles this. Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
This commit is contained in:
@@ -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); \
|
||||
|
||||
@@ -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();
|
||||
|
||||
Reference in New Issue
Block a user