Lines Matching refs:ssa
65 if (instr->dest.dest.ssa.divergent) in visit_alu()
71 if (instr->src[i].src.ssa->divergent) { in visit_alu()
72 instr->dest.dest.ssa.divergent = true; in visit_alu()
86 if (instr->dest.ssa.divergent) in visit_intrinsic()
140 is_divergent = instr->src[0].ssa->divergent; in visit_intrinsic()
149 is_divergent = instr->src[0].ssa->divergent || in visit_intrinsic()
150 instr->src[1].ssa->divergent; in visit_intrinsic()
159 is_divergent = instr->src[1].ssa->divergent; in visit_intrinsic()
165 is_divergent = instr->src[0].ssa->divergent; in visit_intrinsic()
173 is_divergent = instr->src[0].ssa->divergent || in visit_intrinsic()
174 instr->src[1].ssa->divergent || in visit_intrinsic()
191 is_divergent = instr->src[0].ssa->divergent; in visit_intrinsic()
233 is_divergent = instr->src[0].ssa->divergent; in visit_intrinsic()
285 if (instr->src[i].ssa->divergent) { in visit_intrinsic()
294 is_divergent = instr->src[0].ssa->divergent && in visit_intrinsic()
295 instr->src[1].ssa->divergent; in visit_intrinsic()
463 instr->dest.ssa.divergent = is_divergent; in visit_intrinsic()
470 if (instr->dest.ssa.divergent) in visit_tex()
480 is_divergent |= instr->src[i].src.ssa->divergent && in visit_tex()
486 is_divergent |= instr->src[i].src.ssa->divergent && in visit_tex()
490 is_divergent |= instr->src[i].src.ssa->divergent; in visit_tex()
495 instr->dest.ssa.divergent = is_divergent; in visit_tex()
556 if (deref->dest.ssa.divergent) in visit_deref()
566 is_divergent = deref->arr.index.ssa->divergent; in visit_deref()
570 is_divergent |= deref->parent.ssa->divergent; in visit_deref()
574 deref->parent.ssa->divergent; in visit_deref()
578 deref->dest.ssa.divergent = is_divergent; in visit_deref()
671 if (phi->dest.ssa.divergent) in visit_if_merge_phi()
677 if (src->src.ssa->divergent) { in visit_if_merge_phi()
678 phi->dest.ssa.divergent = true; in visit_if_merge_phi()
681 if (src->src.ssa->parent_instr->type != nir_instr_type_ssa_undef) { in visit_if_merge_phi()
688 phi->dest.ssa.divergent = true; in visit_if_merge_phi()
704 if (phi->dest.ssa.divergent) in visit_loop_header_phi()
710 if (src->src.ssa->divergent) { in visit_loop_header_phi()
711 phi->dest.ssa.divergent = true; in visit_loop_header_phi()
721 if (src->src.ssa->parent_instr->type == nir_instr_type_ssa_undef) in visit_loop_header_phi()
726 same = src->src.ssa; in visit_loop_header_phi()
727 else if (same != src->src.ssa) { in visit_loop_header_phi()
728 phi->dest.ssa.divergent = true; in visit_loop_header_phi()
745 if (phi->dest.ssa.divergent) in visit_loop_exit_phi()
749 phi->dest.ssa.divergent = true; in visit_loop_exit_phi()
755 if (src->src.ssa->divergent) { in visit_loop_exit_phi()
756 phi->dest.ssa.divergent = true; in visit_loop_exit_phi()
770 then_state.divergent_loop_cf |= if_stmt->condition.ssa->divergent; in visit_if()
774 else_state.divergent_loop_cf |= if_stmt->condition.ssa->divergent; in visit_if()
783 nir_instr_as_phi(instr)->dest.ssa.divergent = false; in visit_if()
785 if_stmt->condition.ssa->divergent); in visit_if()
816 if (!state->first_visit && phi->dest.ssa.divergent) in visit_loop()
821 phi->dest.ssa.divergent = src->src.ssa->divergent; in visit_loop()
825 progress |= phi->dest.ssa.divergent; in visit_loop()
860 nir_instr_as_phi(instr)->dest.ssa.divergent = false; in visit_loop()