diff options
author | Rob Clark <[email protected]> | 2018-04-02 10:47:23 -0400 |
---|---|---|
committer | Rob Clark <[email protected]> | 2018-04-03 06:08:56 -0400 |
commit | 91f9450b3222469d93c270b8ca5fb4bf2ef584f2 (patch) | |
tree | f116835d71b69b7cffb9212b2ff1322388cd3a1e /src/gallium/drivers/freedreno/ir3/ir3.h | |
parent | 7e9b7ec094500f1245eed518592f99244e54a753 (diff) |
freedreno/ir3: fix fallout of unused false-depth elimination
Since we were MARK flag for both preventing loops, and tracking whether
instructions were used, we could end up in an infinite loop due to
bd2ca2bcdd. Instead invert the logic.. mark all instructions UNUSED
up front and clear the flag as we visit them.
Fixes: bd2ca2bcdd freedreno/ir3: eliminate unused false-deps
Signed-off-by: Rob Clark <[email protected]>
Diffstat (limited to 'src/gallium/drivers/freedreno/ir3/ir3.h')
-rw-r--r-- | src/gallium/drivers/freedreno/ir3/ir3.h | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/src/gallium/drivers/freedreno/ir3/ir3.h b/src/gallium/drivers/freedreno/ir3/ir3.h index 500faa85377..1152ea300b1 100644 --- a/src/gallium/drivers/freedreno/ir3/ir3.h +++ b/src/gallium/drivers/freedreno/ir3/ir3.h @@ -762,7 +762,6 @@ static inline bool writes_pred(struct ir3_instruction *instr) static inline struct ir3_instruction *ssa(struct ir3_register *reg) { if (reg->flags & (IR3_REG_SSA | IR3_REG_ARRAY)) { - debug_assert(!(reg->instr && (reg->instr->flags & IR3_INSTR_UNUSED))); return reg->instr; } return NULL; |