freedreno/ir3: fix cp cmps.s opt
Need to use ir3_instr_set_address(), otherwise the instruction might not get added to the indirects table. This becomes a problem when we turn on copy propagation for relative accesses, as check_instr() in the sched pass won't realize there is an indirect consumer of address register load that is ready to be scheduled. Signed-off-by: Rob Clark <robdclark@chromium.org> Reviewed-by: Eric Anholt <eric@anholt.net>
This commit is contained in:
parent
e59bfc820b
commit
d9ad6f54dc
|
@ -643,7 +643,7 @@ instr_cp(struct ir3_cp_ctx *ctx, struct ir3_instruction *instr)
|
|||
instr->opc = cond->opc;
|
||||
instr->flags = cond->flags;
|
||||
instr->cat2 = cond->cat2;
|
||||
instr->address = cond->address;
|
||||
ir3_instr_set_address(instr, cond->address);
|
||||
instr->regs[1] = cond->regs[1];
|
||||
instr->regs[2] = cond->regs[2];
|
||||
instr->barrier_class |= cond->barrier_class;
|
||||
|
|
Loading…
Reference in New Issue