/external/mesa3d/src/compiler/glsl/ |
D | lower_buffer_access.cpp | 57 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 …]
|
D | lower_vector_derefs.cpp | 57 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()
|
D | opt_function_inlining.cpp | 113 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 …]
|
D | lower_shared_reference.cpp | 71 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 …]
|
D | lower_ubo_reference.cpp | 59 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 …]
|
D | lower_texture_projection.cpp | 67 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()
|
D | lower_variable_index_to_cond_assign.cpp | 163 : 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 …]
|
D | opt_constant_propagation.cpp | 176 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 …]
|
D | opt_array_splitting.cpp | 207 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 …]
|
D | lower_buffer_access.h | 46 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,
|
D | opt_structure_splitting.cpp | 197 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/ |
D | nir_split_var_copies.c | 98 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 …]
|
D | nir_lower_vars_to_ssa.c | 44 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 …]
|
D | nir.c | 597 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 …]
|
D | nir_opt_copy_prop_vars.c | 59 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 …]
|
D | nir_lower_constant_initializers.c | 28 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()
|
D | nir_lower_locals_to_regs.c | 54 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 …]
|
D | nir_lower_indirect_derefs.c | 29 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 …]
|
D | nir_lower_clip_cull_distance_arrays.c | 103 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()
|
D | nir_lower_var_copies.c | 41 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 ©->variables[0]->deref, in nir_lower_var_copy_instr() 154 ©->variables[1]->deref, shader); in nir_lower_var_copy_instr()
|
D | nir_validate.c | 369 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/ |
D | brw_cubemap_normalize.cpp | 63 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/ |
D | MachineInstrBundle.h | 130 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/ |
D | st_nir_lower_builtin.c | 73 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/ |
D | 2008-02-01-ReturnAttrs.ll | 3 ; 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
|