vc4: DCE instructions with a NULL destination.
I'm going to add an optimization for redundant SF update removal, which will just remove the SF and leave us (in many cases) with an instruction with a NULL destination and no side effects. Rather than teaching that pass whether the whole instruction can be removed, leave that responsibility to this pass.
This commit is contained in:
parent
2a8973fb78
commit
aa76ba6f2f
|
@ -86,8 +86,9 @@ qir_opt_dead_code(struct vc4_compile *c)
|
|||
|
||||
list_for_each_entry_safe_rev(struct qinst, inst, &c->instructions,
|
||||
link) {
|
||||
if (inst->dst.file == QFILE_TEMP &&
|
||||
!used[inst->dst.index] &&
|
||||
if ((inst->dst.file == QFILE_NULL ||
|
||||
(inst->dst.file == QFILE_TEMP &&
|
||||
!used[inst->dst.index])) &&
|
||||
!inst->sf &&
|
||||
!qir_has_side_effects(c, inst) &&
|
||||
!has_nonremovable_reads(c, inst)) {
|
||||
|
|
Loading…
Reference in New Issue