Lines Matching defs:deref
113 ir_save_lvalue_visitor::visit_enter(ir_dereference_array *deref)
115 if (deref->array_index->ir_type != ir_type_constant) {
116 void *ctx = ralloc_parent(deref);
120 index = new(ctx) ir_variable(deref->array_index->type, "saved_idx", ir_var_temporary);
124 deref->array_index);
127 deref->array_index = new(ctx) ir_dereference_variable(index);
130 deref->array->accept(this);
245 /* If any opaque types were passed in, replace any deref of the
246 * opaque variable with a deref of the argument.
254 ir_dereference *deref = param->as_dereference();
256 do_variable_replacement(&new_instructions, sig_param, deref);
365 void replace_deref(ir_dereference **deref);
373 ir_variable_replacement_visitor::replace_deref(ir_dereference **deref)
375 ir_dereference_variable *deref_var = (*deref)->as_dereference_variable();
377 *deref = this->repl->clone(ralloc_parent(*deref), NULL);
387 ir_dereference *deref = (*rvalue)->as_dereference();
389 if (!deref)
392 replace_deref(&deref);
393 *rvalue = deref;