Lines Matching refs:parent

181          nir_deref_instr *parent = *(p - 1);
182 offset += struct_type_get_field_offset(parent->type, size_align,
211 nir_deref_instr *parent = *(p - 1);
213 struct_type_get_field_offset(parent->type, size_align,
278 assert(deref->parent.is_ssa);
279 nir_deref_instr *parent =
280 nir_instr_as_deref(deref->parent.ssa->parent_instr);
281 parent_mode = parent->mode;
538 nir_deref_instr *parent = nir_src_as_deref(deref->parent);
539 if (parent) {
540 parent = rematerialize_deref_in_block(parent, state);
541 new_deref->parent = nir_src_for_ssa(&parent->dest.ssa);
543 nir_src_copy(&new_deref->parent, &deref->parent, new_deref);
640 nir_deref_instr *parent = nir_src_as_deref(cast->parent);
641 if (!parent)
644 return cast->mode == parent->mode &&
645 cast->type == parent->type &&
646 cast->dest.ssa.num_components == parent->dest.ssa.num_components &&
647 cast->dest.ssa.bit_size == parent->dest.ssa.bit_size;
655 nir_deref_instr *parent = nir_src_as_deref(cast->parent);
657 if (parent->deref_type == nir_deref_type_array) {
659 glsl_get_explicit_stride(nir_deref_instr_parent(parent)->type);
660 } else if (parent->deref_type == nir_deref_type_ptr_as_array) {
662 nir_deref_instr_ptr_as_array_stride(parent);
684 nir_deref_instr *parent = nir_deref_instr_parent(first_cast);
685 if (parent == NULL || parent->deref_type != nir_deref_type_cast)
687 first_cast = parent;
692 nir_instr_rewrite_src(&cast->instr, &cast->parent,
693 nir_src_for_ssa(first_cast->parent.ssa));
709 nir_deref_instr *parent = nir_src_as_deref(cast->parent);
710 if (!parent)
713 if (!glsl_type_is_struct(parent->type))
716 if (glsl_get_struct_field_offset(parent->type, 0) != 0)
719 if (cast->type != glsl_get_struct_field(parent->type, 0))
722 nir_deref_instr *replace = nir_build_deref_struct(b, parent, 0);
743 assert(cast->parent.is_ssa);
753 nir_instr_rewrite_src(use_src->parent_instr, use_src, cast->parent);
769 nir_deref_instr *parent = nir_deref_instr_parent(deref);
774 * and we can just replace its uses with its parent.
782 if (parent->deref_type == nir_deref_type_cast &&
783 is_trivial_deref_cast(parent))
784 parent = nir_deref_instr_parent(parent);
786 nir_src_for_ssa(&parent->dest.ssa));
791 if (parent->deref_type != nir_deref_type_array &&
792 parent->deref_type != nir_deref_type_ptr_as_array)
795 assert(parent->parent.is_ssa);
796 assert(parent->arr.index.is_ssa);
799 nir_ssa_def *new_idx = nir_iadd(b, parent->arr.index.ssa,
802 deref->deref_type = parent->deref_type;
803 nir_instr_rewrite_src(&deref->instr, &deref->parent, parent->parent);