Home
last modified time | relevance | path

Searched refs:deref (Results 1 – 25 of 109) sorted by relevance

12345

/external/mesa3d/src/compiler/glsl/
Dlower_buffer_access.cpp57 ir_dereference *deref, in emit_access() argument
65 if (deref->type->is_record()) { in emit_access()
68 for (unsigned i = 0; i < deref->type->length; i++) { in emit_access()
70 &deref->type->fields.structure[i]; in emit_access()
72 new(mem_ctx) ir_dereference_record(deref->clone(mem_ctx, NULL), in emit_access()
89 if (deref->type->is_array()) { in emit_access()
91 deref->type->fields.array->std430_array_stride(row_major) : in emit_access()
92 glsl_align(deref->type->fields.array->std140_size(row_major), 16); in emit_access()
94 for (unsigned i = 0; i < deref->type->length; i++) { in emit_access()
97 new(mem_ctx) ir_dereference_array(deref->clone(mem_ctx, NULL), in emit_access()
[all …]
Dlower_vector_derefs.cpp57 ir_dereference_array *const deref = (ir_dereference_array *) ir->lhs; in visit_enter() local
58 if (!deref->array->type->is_vector()) in visit_enter()
61 ir_dereference *const new_lhs = (ir_dereference *) deref->array; in visit_enter()
64 ir_constant *old_index_constant = deref->array_index->constant_expression_value(); in visit_enter()
71 deref->array_index); in visit_enter()
86 ir_dereference_array *const deref = (ir_dereference_array *) *rv; in handle_rvalue() local
87 if (!deref->array->type->is_vector()) in handle_rvalue()
90 void *mem_ctx = ralloc_parent(deref); in handle_rvalue()
92 deref->array, in handle_rvalue()
93 deref->array_index); in handle_rvalue()
Dopt_function_inlining.cpp113 ir_save_lvalue_visitor::visit_enter(ir_dereference_array *deref) in visit_enter() argument
115 if (deref->array_index->ir_type != ir_type_constant) { in visit_enter()
116 void *ctx = ralloc_parent(deref); in visit_enter()
120 index = new(ctx) ir_variable(deref->array_index->type, "saved_idx", ir_var_temporary); in visit_enter()
124 deref->array_index, 0); in visit_enter()
127 deref->array_index = new(ctx) ir_dereference_variable(index); in visit_enter()
130 deref->array->accept(this); in visit_enter()
246 ir_dereference *deref = param->as_dereference(); in generate_inline() local
248 assert(deref); in generate_inline()
249 do_variable_replacement(&new_instructions, sig_param, deref); in generate_inline()
[all …]
Dlower_shared_reference.cpp71 void insert_buffer_access(void *mem_ctx, ir_dereference *deref,
87 ir_call *shared_store(void *mem_ctx, ir_rvalue *deref, ir_rvalue *offset,
124 ir_dereference *deref = (*rvalue)->as_dereference(); in handle_rvalue() local
125 if (!deref) in handle_rvalue()
128 ir_variable *var = deref->variable_referenced(); in handle_rvalue()
143 setup_buffer_access(mem_ctx, deref, in handle_rvalue()
162 deref = new(mem_ctx) ir_dereference_variable(load_var); in handle_rvalue()
164 emit_access(mem_ctx, false, deref, load_offset, const_offset, row_major, in handle_rvalue()
167 *rvalue = deref; in handle_rvalue()
182 ir_dereference *deref = ir->lhs->as_dereference(); in handle_assignment() local
[all …]
Dlower_ubo_reference.cpp59 ir_rvalue *deref,
74 void write_to_memory(void *mem_ctx, ir_dereference *deref, ir_variable *var,
76 ir_call *ssbo_store(void *mem_ctx, ir_rvalue *deref, ir_rvalue *offset,
87 void insert_buffer_access(void *mem_ctx, ir_dereference *deref,
101 unsigned calculate_unsized_array_stride(ir_dereference *deref,
270 ir_rvalue *deref, in setup_for_load_or_store() argument
281 deref, &nonconst_block_index); in setup_for_load_or_store()
323 setup_buffer_access(mem_ctx, deref, offset, const_offset, row_major, in setup_for_load_or_store()
333 ir_dereference *deref = (*rvalue)->as_dereference(); in handle_rvalue() local
334 if (!deref) in handle_rvalue()
[all …]
Dlower_texture_projection.cpp67 ir_dereference *deref = new(mem_ctx) ir_dereference_variable(var); in visit_leave() local
72 ir_assignment *assign = new(mem_ctx) ir_assignment(deref, expr, NULL); in visit_leave()
75 deref = new(mem_ctx) ir_dereference_variable(var); in visit_leave()
79 deref); in visit_leave()
82 deref = new(mem_ctx) ir_dereference_variable(var); in visit_leave()
86 deref); in visit_leave()
Dlower_variable_index_to_cond_assign.cpp163 : deref(NULL) in find_variable_index()
172 this->deref = ir; in visit_enter()
182 ir_dereference_array *deref; member in __anon92125f3b0111::find_variable_index
307 ir_dereference_variable *deref = in bisect() local
312 deref, middle_c); in bisect()
360 bool storage_type_needs_lowering(ir_dereference_array *deref) const in storage_type_needs_lowering()
368 const ir_variable *const var = deref->array->variable_referenced(); in storage_type_needs_lowering()
445 bool needs_lowering(ir_dereference_array *deref) const in needs_lowering()
447 if (deref == NULL || deref->array_index->as_constant() in needs_lowering()
448 || !is_array_or_matrix(deref->array)) in needs_lowering()
[all …]
Dopt_constant_propagation.cpp176 ir_dereference_variable *deref = (*rvalue)->as_dereference_variable(); in constant_propagation() local
177 if (!deref) { in constant_propagation()
182 deref = swiz->val->as_dereference_variable(); in constant_propagation()
183 if (!deref) in constant_propagation()
207 if (entry->var == deref->var && entry->write_mask & (1 << channel)) { in constant_propagation()
246 *rvalue = new(ralloc_parent(deref)) ir_constant(type, &data); in constant_propagation()
483 ir_dereference_variable *deref = ir->lhs->as_dereference_variable(); in add_constant() local
486 if (!deref || !constant) in add_constant()
492 if (!deref->var->type->is_vector() && !deref->var->type->is_scalar()) in add_constant()
500 if (deref->var->data.mode == ir_var_shader_storage || in add_constant()
[all …]
Dopt_array_splitting.cpp207 ir_dereference_variable *deref = ir->array->as_dereference_variable(); in visit_enter() local
208 if (!deref) in visit_enter()
211 variable_entry *entry = this->get_variable_entry(deref->var); in visit_enter()
300 void split_deref(ir_dereference **deref);
322 ir_array_splitting_visitor::split_deref(ir_dereference **deref) in split_deref() argument
324 ir_dereference_array *deref_array = (*deref)->as_dereference_array(); in split_deref()
341 *deref = new(entry->mem_ctx) in split_deref()
354 *deref = new(entry->mem_ctx) ir_dereference_variable(temp); in split_deref()
364 ir_dereference *deref = (*rvalue)->as_dereference(); in handle_rvalue() local
366 if (!deref) in handle_rvalue()
[all …]
Dlower_buffer_access.h46 insert_buffer_access(void *mem_ctx, ir_dereference *deref,
50 void emit_access(void *mem_ctx, bool is_write, ir_dereference *deref,
55 bool is_dereferenced_thing_row_major(const ir_rvalue *deref);
57 void setup_buffer_access(void *mem_ctx, ir_rvalue *deref,
Dopt_structure_splitting.cpp197 void split_deref(ir_dereference **deref);
222 ir_structure_splitting_visitor::split_deref(ir_dereference **deref) in split_deref() argument
224 if ((*deref)->ir_type != ir_type_dereference_record) in split_deref()
227 ir_dereference_record *deref_record = (ir_dereference_record *)*deref; in split_deref()
244 *deref = new(entry->mem_ctx) ir_dereference_variable(entry->components[i]); in split_deref()
253 ir_dereference *deref = (*rvalue)->as_dereference(); in handle_rvalue() local
255 if (!deref) in handle_rvalue()
258 split_deref(&deref); in handle_rvalue()
259 *rvalue = deref; in handle_rvalue()
/external/mesa3d/src/compiler/nir/
Dnir_split_var_copies.c98 nir_deref_array *deref = nir_deref_array_create(state->dead_ctx); in split_var_copy_instr() local
99 deref->deref.type = glsl_get_array_element(src_tail->type); in split_var_copy_instr()
100 deref->deref_array_type = nir_deref_array_type_wildcard; in split_var_copy_instr()
108 src_tail->child = &deref->deref; in split_var_copy_instr()
109 dest_tail->child = &deref->deref; in split_var_copy_instr()
129 nir_deref_struct *deref = nir_deref_struct_create(state->dead_ctx, i); in split_var_copy_instr() local
130 deref->deref.type = glsl_get_struct_field(src_tail->type, i); in split_var_copy_instr()
138 src_tail->child = &deref->deref; in split_var_copy_instr()
139 dest_tail->child = &deref->deref; in split_var_copy_instr()
155 nir_deref_array *deref = nir_deref_array_create(state->dead_ctx); in split_var_copy_instr() local
[all …]
Dnir_lower_vars_to_ssa.c44 nir_deref_var *deref; member
103 node->deref = NULL; in deref_node_create()
135 get_deref_node(nir_deref_var *deref, struct lower_variables_state *state) in get_deref_node() argument
140 struct deref_node *node = get_deref_node_for_var(deref->var, state); in get_deref_node()
141 assert(deref->deref.type == node->type); in get_deref_node()
143 for (nir_deref *tail = deref->deref.child; tail; tail = tail->child) { in get_deref_node()
210 node->deref = deref; in get_deref_node()
211 assert(deref->var != NULL); in get_deref_node()
221 foreach_deref_node_worker(struct deref_node *node, nir_deref *deref, in foreach_deref_node_worker() argument
226 if (deref->child == NULL) { in foreach_deref_node_worker()
[all …]
Dnir.c597 nir_deref_var *deref = ralloc(mem_ctx, nir_deref_var); in nir_deref_var_create() local
598 deref->deref.deref_type = nir_deref_type_var; in nir_deref_var_create()
599 deref->deref.child = NULL; in nir_deref_var_create()
600 deref->deref.type = var->type; in nir_deref_var_create()
601 deref->var = var; in nir_deref_var_create()
602 return deref; in nir_deref_var_create()
608 nir_deref_array *deref = ralloc(mem_ctx, nir_deref_array); in nir_deref_array_create() local
609 deref->deref.deref_type = nir_deref_type_array; in nir_deref_array_create()
610 deref->deref.child = NULL; in nir_deref_array_create()
611 deref->deref_array_type = nir_deref_array_type_direct; in nir_deref_array_create()
[all …]
Dnir_opt_copy_prop_vars.c59 nir_deref_var *deref; member
142 nir_deref *a_tail = &a->deref; in compare_derefs()
143 nir_deref *b_tail = &b->deref; in compare_derefs()
260 nir_deref_var *deref, in lookup_entry_for_deref() argument
264 if (compare_derefs(iter->dst, deref) & allowed_comparisons) in lookup_entry_for_deref()
273 nir_deref_var *deref, unsigned components) in mark_aliased_entries_as_read() argument
276 if (compare_derefs(iter->dst, deref) & derefs_may_alias_bit) in mark_aliased_entries_as_read()
283 nir_deref_var *deref, in get_entry_and_kill_aliases() argument
290 if (compare_derefs(iter->src.deref, deref) & derefs_may_alias_bit) { in get_entry_and_kill_aliases()
296 enum deref_compare_result comp = compare_derefs(iter->dst, deref); in get_entry_and_kill_aliases()
[all …]
Dnir_lower_constant_initializers.c28 deref_apply_constant_initializer(nir_deref_var *deref, void *state) in deref_apply_constant_initializer() argument
33 nir_deref_get_const_initializer_load(b->shader, deref); in deref_apply_constant_initializer()
36 nir_store_deref_var(b, deref, &initializer->def, 0xf); in deref_apply_constant_initializer()
54 nir_deref_var deref; in lower_const_initializer() local
55 deref.deref.deref_type = nir_deref_type_var, in lower_const_initializer()
56 deref.deref.child = NULL; in lower_const_initializer()
57 deref.deref.type = var->type, in lower_const_initializer()
58 deref.var = var; in lower_const_initializer()
60 nir_deref_foreach_leaf(&deref, deref_apply_constant_initializer, b); in lower_const_initializer()
Dnir_lower_locals_to_regs.c54 for (const nir_deref *deref = deref_var->deref.child; in hash_deref() local
55 deref; deref = deref->child) { in hash_deref()
56 if (deref->deref_type == nir_deref_type_struct) { in hash_deref()
57 const nir_deref_struct *deref_struct = nir_deref_as_struct(deref); in hash_deref()
74 for (const nir_deref *a = a_var->deref.child, *b = b_var->deref.child; in derefs_equal()
94 get_reg_for_deref(nir_deref_var *deref, struct locals_to_regs_state *state) in get_reg_for_deref() argument
96 uint32_t hash = hash_deref(deref); in get_reg_for_deref()
98 assert(deref->var->constant_initializer == NULL); in get_reg_for_deref()
101 _mesa_hash_table_search_pre_hashed(state->regs_table, hash, deref); in get_reg_for_deref()
106 nir_deref *tail = &deref->deref; in get_reg_for_deref()
[all …]
Dnir_lower_indirect_derefs.c29 nir_deref_var *deref, nir_deref *tail,
34 nir_deref_var *deref, nir_deref *arr_parent, in emit_indirect_load_store() argument
50 arr_parent->child = &direct.deref; in emit_indirect_load_store()
51 emit_load_store(b, orig_instr, deref, &direct.deref, dest, src); in emit_indirect_load_store()
52 arr_parent->child = &arr->deref; in emit_indirect_load_store()
64 emit_indirect_load_store(b, orig_instr, deref, arr_parent, in emit_indirect_load_store()
68 emit_indirect_load_store(b, orig_instr, deref, arr_parent, in emit_indirect_load_store()
98 nir_deref_var *deref, nir_deref *tail, in emit_load_store() argument
111 emit_indirect_load_store(b, orig_instr, deref, tail, -arr->base_offset, in emit_load_store()
125 load->variables[0] = nir_deref_var_clone(deref, load); in emit_load_store()
[all …]
Dnir_lower_clip_cull_distance_arrays.c103 nir_deref *deref = &var_ref->deref; in rewrite_references() local
104 while (deref) { in rewrite_references()
105 deref->type = type; in rewrite_references()
106 deref = deref->child; in rewrite_references()
112 nir_deref *tail = nir_deref_tail(&intrin->variables[0]->deref); in rewrite_references()
Dnir_lower_var_copies.c41 deref_next_wildcard_parent(nir_deref *deref) in deref_next_wildcard_parent() argument
43 for (nir_deref *tail = deref; tail->child; tail = tail->child) { in deref_next_wildcard_parent()
107 &dest_arr->deref, &src_arr->deref, shader); in emit_copy_load_store()
153 &copy->variables[0]->deref, in nir_lower_var_copy_instr()
154 &copy->variables[1]->deref, shader); in nir_lower_var_copy_instr()
Dnir_validate.c369 validate_deref_chain(nir_deref *deref, validate_state *state) in validate_deref_chain() argument
371 validate_assert(state, deref->child == NULL || ralloc_parent(deref->child) == deref); in validate_deref_chain()
374 while (deref != NULL) { in validate_deref_chain()
375 switch (deref->deref_type) { in validate_deref_chain()
377 validate_assert(state, deref->type == glsl_get_array_element(parent->type)); in validate_deref_chain()
378 if (nir_deref_as_array(deref)->deref_array_type == in validate_deref_chain()
380 validate_src(&nir_deref_as_array(deref)->indirect, state); in validate_deref_chain()
385 validate_assert(state, deref->type == in validate_deref_chain()
387 nir_deref_as_struct(deref)->index)); in validate_deref_chain()
398 parent = deref; in validate_deref_chain()
[all …]
/external/mesa3d/src/mesa/drivers/dri/i965/
Dbrw_cubemap_normalize.cpp63 ir_dereference *deref = new(mem_ctx) ir_dereference_variable(var); in visit_leave() local
64 ir_assignment *assign = new(mem_ctx) ir_assignment(deref, ir->coordinate, in visit_leave()
68 deref = new(mem_ctx) ir_dereference_variable(var); in visit_leave()
69 ir_rvalue *swiz0 = new(mem_ctx) ir_swizzle(deref, 0, 0, 0, 0, 1); in visit_leave()
70 deref = new(mem_ctx) ir_dereference_variable(var); in visit_leave()
71 ir_rvalue *swiz1 = new(mem_ctx) ir_swizzle(deref, 1, 0, 0, 0, 1); in visit_leave()
72 deref = new(mem_ctx) ir_dereference_variable(var); in visit_leave()
73 ir_rvalue *swiz2 = new(mem_ctx) ir_swizzle(deref, 2, 0, 0, 0, 1); in visit_leave()
/external/llvm/include/llvm/CodeGen/
DMachineInstrBundle.h130 MachineOperand &deref() const { return *OpI; } in deref() function
225 MachineOperand &operator* () const { return deref(); }
226 MachineOperand *operator->() const { return &deref(); }
235 const MachineOperand &operator* () const { return deref(); }
236 const MachineOperand *operator->() const { return &deref(); }
245 MachineOperand &operator* () const { return deref(); }
246 MachineOperand *operator->() const { return &deref(); }
256 const MachineOperand &operator* () const { return deref(); }
257 const MachineOperand *operator->() const { return &deref(); }
/external/mesa3d/src/mesa/state_tracker/
Dst_nir_lower_builtin.c73 get_element(const struct gl_builtin_uniform_desc *desc, nir_deref_var *deref) in get_element() argument
75 nir_deref *tail = &deref->deref; in get_element()
99 get_variable(lower_builtin_state *state, nir_deref_var *deref, in get_variable() argument
107 if (deref->deref.child->deref_type == nir_deref_type_array) { in get_variable()
108 nir_deref_array *darr = nir_deref_as_array(deref->deref.child); in get_variable()
/external/llvm/test/Transforms/ArgumentPromotion/
D2008-02-01-ReturnAttrs.ll3 ; CHECK: define internal i32 @deref(i32 %x.val) #0 {
4 define internal i32 @deref(i32* %x) nounwind {
14 ; CHECK: %tmp1 = call i32 @deref(i32 %x_addr.val) [[NUW:#[0-9]+]]
15 %tmp1 = call i32 @deref( i32* %x_addr ) nounwind

12345