Home | History | Annotate | Download | only in nir

Lines Matching refs:src

46    if (instr->src[0].abs || instr->src[0].negate)
49 if (!instr->src[0].src.is_ssa)
59 if (!instr->src[i].src.is_ssa)
63 if (instr->src[i].abs || instr->src[i].negate)
79 if (instr->src[0].swizzle[i] != i)
86 if (instr->src[i].swizzle[0] != i)
90 def = instr->src[i].src.ssa;
91 } else if (instr->src[i].src.ssa != def) {
102 copy_prop_src(nir_src *src, nir_instr *parent_instr, nir_if *parent_if)
104 if (!src->is_ssa) {
105 if (src->reg.indirect)
106 return copy_prop_src(src->reg.indirect, parent_instr, parent_if);
110 nir_instr *src_instr = src->ssa->parent_instr;
126 alu_instr->src[0].src.ssa->num_components)
131 nir_instr_rewrite_src(parent_instr, src,
132 nir_src_for_ssa(alu_instr->src[0].src.ssa));
134 assert(src == &parent_if->condition);
136 nir_src_for_ssa(alu_instr->src[0].src.ssa));
145 nir_alu_src *src = &parent_alu_instr->src[index];
146 if (!src->src.is_ssa) {
147 if (src->src.reg.indirect)
148 return copy_prop_src(src->src.reg.indirect, &parent_alu_instr->instr,
153 nir_instr *src_instr = src->src.ssa->parent_instr;
167 new_swizzle[i] = alu_instr->src[0].swizzle[src->swizzle[i]];
168 def = alu_instr->src[0].src.ssa;
176 nir_ssa_def *new_def = alu_instr->src[src->swizzle[i]].src.ssa;
183 new_swizzle[i] = alu_instr->src[src->swizzle[i]].swizzle[0];
188 src->swizzle[i] = new_swizzle[i];
190 nir_instr_rewrite_src(&parent_alu_instr->instr, &src->src,
202 copy_prop_src_cb(nir_src *src, void *_state)
205 while (copy_prop_src(src, state->parent_instr, NULL))