Home
last modified time | relevance | path

Searched refs:ir (Results 1 - 25 of 419) sorted by relevance

12345678910>>...17

/third_party/mesa3d/src/compiler/glsl/
H A Dir_validate.cpp31 * in the ir tree. ir_variable does appear multiple times: Once as a
36 #include "ir.h"
64 virtual ir_visitor_status visit(ir_dereference_variable *ir);
66 virtual ir_visitor_status visit_enter(ir_discard *ir);
67 virtual ir_visitor_status visit_enter(ir_if *ir);
69 virtual ir_visitor_status visit_enter(ir_function *ir);
70 virtual ir_visitor_status visit_leave(ir_function *ir);
71 virtual ir_visitor_status visit_enter(ir_function_signature *ir);
72 virtual ir_visitor_status visit_enter(ir_return *ir);
74 virtual ir_visitor_status visit_leave(ir_expression *ir);
93 visit(ir_dereference_variable *ir) visit() argument
124 visit_enter(class ir_dereference_array *ir) visit_enter() argument
167 visit_enter(class ir_dereference_record *ir) visit_enter() argument
189 visit_enter(ir_discard *ir) visit_enter() argument
203 visit_enter(ir_if *ir) visit_enter() argument
218 visit_enter(ir_function *ir) visit_enter() argument
254 visit_leave(ir_function *ir) visit_leave() argument
263 visit_enter(ir_function_signature *ir) visit_enter() argument
287 visit_enter(ir_return *ir) visit_enter() argument
298 visit_leave(ir_expression *ir) visit_leave() argument
993 visit_leave(ir_swizzle *ir) visit_leave() argument
1010 visit(ir_variable *ir) visit() argument
1080 visit_enter(ir_assignment *ir) visit_enter() argument
1121 visit_enter(ir_call *ir) visit_enter() argument
1182 validate_ir(ir_instruction *ir, void *data) validate_ir() argument
1196 check_node_type(ir_instruction *ir, void *data) check_node_type() argument
[all...]
H A Dir_rvalue_visitor.cpp32 #include "ir.h"
38 ir_rvalue_base_visitor::rvalue_visit(ir_expression *ir) in rvalue_visit() argument
42 for (operand = 0; operand < ir->num_operands; operand++) { in rvalue_visit()
43 handle_rvalue(&ir->operands[operand]); in rvalue_visit()
50 ir_rvalue_base_visitor::rvalue_visit(ir_texture *ir) in rvalue_visit() argument
52 handle_rvalue(&ir->coordinate); in rvalue_visit()
53 handle_rvalue(&ir->projector); in rvalue_visit()
54 handle_rvalue(&ir->shadow_comparator); in rvalue_visit()
55 handle_rvalue(&ir->offset); in rvalue_visit()
56 handle_rvalue(&ir in rvalue_visit()
89 rvalue_visit(ir_swizzle *ir) rvalue_visit() argument
96 rvalue_visit(ir_dereference_array *ir) rvalue_visit() argument
111 rvalue_visit(ir_dereference_record *ir) rvalue_visit() argument
118 rvalue_visit(ir_assignment *ir) rvalue_visit() argument
125 rvalue_visit(ir_call *ir) rvalue_visit() argument
139 rvalue_visit(ir_discard *ir) rvalue_visit() argument
146 rvalue_visit(ir_return *ir) rvalue_visit() argument
153 rvalue_visit(ir_if *ir) rvalue_visit() argument
160 rvalue_visit(ir_emit_vertex *ir) rvalue_visit() argument
167 rvalue_visit(ir_end_primitive *ir) rvalue_visit() argument
174 visit_leave(ir_expression *ir) visit_leave() argument
180 visit_leave(ir_texture *ir) visit_leave() argument
186 visit_leave(ir_swizzle *ir) visit_leave() argument
192 visit_leave(ir_dereference_array *ir) visit_leave() argument
198 visit_leave(ir_dereference_record *ir) visit_leave() argument
204 visit_leave(ir_assignment *ir) visit_leave() argument
210 visit_leave(ir_call *ir) visit_leave() argument
216 visit_leave(ir_discard *ir) visit_leave() argument
222 visit_leave(ir_return *ir) visit_leave() argument
228 visit_leave(ir_if *ir) visit_leave() argument
234 visit_leave(ir_emit_vertex *ir) visit_leave() argument
240 visit_leave(ir_end_primitive *ir) visit_leave() argument
246 visit_enter(ir_expression *ir) visit_enter() argument
252 visit_enter(ir_texture *ir) visit_enter() argument
258 visit_enter(ir_swizzle *ir) visit_enter() argument
264 visit_enter(ir_dereference_array *ir) visit_enter() argument
270 visit_enter(ir_dereference_record *ir) visit_enter() argument
276 visit_enter(ir_assignment *ir) visit_enter() argument
282 visit_enter(ir_call *ir) visit_enter() argument
288 visit_enter(ir_discard *ir) visit_enter() argument
294 visit_enter(ir_return *ir) visit_enter() argument
300 visit_enter(ir_if *ir) visit_enter() argument
306 visit_enter(ir_emit_vertex *ir) visit_enter() argument
312 visit_enter(ir_end_primitive *ir) visit_enter() argument
[all...]
H A Dlower_instructions.cpp73 #include "ir.h"
113 void reverse_to_shifts(ir_expression *ir);
114 void find_lsb_to_float_cast(ir_expression *ir);
115 void find_msb_to_float_cast(ir_expression *ir);
116 void imul_high_to_mul(ir_expression *ir);
117 void sqrt_to_abs_sqrt(ir_expression *ir);
144 lower_instructions_visitor::sub_to_add_neg(ir_expression *ir) in sub_to_add_neg() argument
146 ir->operation = ir_binop_add; in sub_to_add_neg()
147 ir->init_num_operands(); in sub_to_add_neg()
148 ir in sub_to_add_neg()
154 ldexp_to_arith(ir_expression *ir) ldexp_to_arith() argument
328 dldexp_to_arith(ir_expression *ir) dldexp_to_arith() argument
458 dfrexp_sig_to_arith(ir_expression *ir) dfrexp_sig_to_arith() argument
531 dfrexp_exp_to_arith(ir_expression *ir) dfrexp_exp_to_arith() argument
584 carry_to_arith(ir_expression *ir) carry_to_arith() argument
604 borrow_to_arith(ir_expression *ir) borrow_to_arith() argument
622 double_dot_to_fma(ir_expression *ir) double_dot_to_fma() argument
653 double_lrp(ir_expression *ir) double_lrp() argument
678 dceil_to_dfrac(ir_expression *ir) dceil_to_dfrac() argument
703 dfloor_to_dfrac(ir_expression *ir) dfloor_to_dfrac() argument
716 dround_even_to_dfrac(ir_expression *ir) dround_even_to_dfrac() argument
763 dtrunc_to_dfrac(ir_expression *ir) dtrunc_to_dfrac() argument
798 dsign_to_csel(ir_expression *ir) dsign_to_csel() argument
822 bit_count_to_math(ir_expression *ir) bit_count_to_math() argument
869 extract_to_shifts(ir_expression *ir) extract_to_shifts() argument
945 insert_to_shifts(ir_expression *ir) insert_to_shifts() argument
1012 reverse_to_shifts(ir_expression *ir) reverse_to_shifts() argument
1100 find_lsb_to_float_cast(ir_expression *ir) find_lsb_to_float_cast() argument
1181 find_msb_to_float_cast(ir_expression *ir) find_msb_to_float_cast() argument
1292 imul_high_to_mul(ir_expression *ir) imul_high_to_mul() argument
1437 sqrt_to_abs_sqrt(ir_expression *ir) sqrt_to_abs_sqrt() argument
1444 visit_leave(ir_expression *ir) visit_leave() argument
[all...]
H A Dir_print_visitor.cpp71 foreach_in_list(ir_instruction, ir, instructions) { in _mesa_print_ir()
72 ir->fprint(f); in _mesa_print_ir()
73 if (ir->ir_type != ir_type_function) in _mesa_print_ir()
82 const ir_instruction *ir = (const ir_instruction *)instruction; in fprint_ir() local
83 ir->fprint(f); in fprint_ir()
149 void ir_print_visitor::visit(ir_variable *ir) in visit() argument
154 if (ir->data.binding) in visit()
155 snprintf(binding, sizeof(binding), "binding=%i ", ir->data.binding); in visit()
158 if (ir->data.location != -1) in visit()
159 snprintf(loc, sizeof(loc), "location=%i ", ir in visit()
228 visit(ir_function_signature *ir) visit() argument
269 visit(ir_function *ir) visit() argument
284 visit(ir_expression *ir) visit() argument
300 visit(ir_texture *ir) visit() argument
397 visit(ir_swizzle *ir) visit() argument
416 visit(ir_dereference_variable *ir) visit() argument
423 visit(ir_dereference_array *ir) visit() argument
432 visit(ir_dereference_record *ir) visit() argument
443 visit(ir_assignment *ir) visit() argument
482 visit(ir_constant *ir) visit() argument
540 visit(ir_call *ir) visit() argument
554 visit(ir_return *ir) visit() argument
569 visit(ir_discard *ir) visit() argument
583 visit(ir_demote *ir) visit() argument
590 visit(ir_if *ir) visit() argument
628 visit(ir_loop *ir) visit() argument
645 visit(ir_loop_jump *ir) visit() argument
651 visit(ir_emit_vertex *ir) visit() argument
659 visit(ir_end_primitive *ir) visit() argument
[all...]
H A Dir_hierarchical_visitor.cpp24 #include "ir.h"
38 ir_hierarchical_visitor::visit(ir_rvalue *ir) in visit() argument
40 call_enter_leave_callbacks(ir); in visit()
46 ir_hierarchical_visitor::visit(ir_variable *ir) in visit() argument
48 call_enter_leave_callbacks(ir); in visit()
54 ir_hierarchical_visitor::visit(ir_constant *ir) in visit() argument
56 call_enter_leave_callbacks(ir); in visit()
62 ir_hierarchical_visitor::visit(ir_loop_jump *ir) in visit() argument
64 call_enter_leave_callbacks(ir); in visit()
70 ir_hierarchical_visitor::visit(ir_dereference_variable *ir) in visit() argument
78 visit(ir_barrier *ir) visit() argument
86 visit_enter(ir_loop *ir) visit_enter() argument
95 visit_leave(ir_loop *ir) visit_leave() argument
104 visit_enter(ir_function_signature *ir) visit_enter() argument
113 visit_leave(ir_function_signature *ir) visit_leave() argument
122 visit_enter(ir_function *ir) visit_enter() argument
131 visit_leave(ir_function *ir) visit_leave() argument
140 visit_enter(ir_expression *ir) visit_enter() argument
149 visit_leave(ir_expression *ir) visit_leave() argument
158 visit_enter(ir_texture *ir) visit_enter() argument
167 visit_leave(ir_texture *ir) visit_leave() argument
176 visit_enter(ir_swizzle *ir) visit_enter() argument
185 visit_leave(ir_swizzle *ir) visit_leave() argument
194 visit_enter(ir_dereference_array *ir) visit_enter() argument
203 visit_leave(ir_dereference_array *ir) visit_leave() argument
212 visit_enter(ir_dereference_record *ir) visit_enter() argument
221 visit_leave(ir_dereference_record *ir) visit_leave() argument
230 visit_enter(ir_assignment *ir) visit_enter() argument
239 visit_leave(ir_assignment *ir) visit_leave() argument
248 visit_enter(ir_call *ir) visit_enter() argument
257 visit_leave(ir_call *ir) visit_leave() argument
266 visit_enter(ir_return *ir) visit_enter() argument
275 visit_leave(ir_return *ir) visit_leave() argument
284 visit_enter(ir_discard *ir) visit_enter() argument
293 visit_leave(ir_discard *ir) visit_leave() argument
302 visit_enter(ir_demote *ir) visit_enter() argument
311 visit_leave(ir_demote *ir) visit_leave() argument
320 visit_enter(ir_if *ir) visit_enter() argument
329 visit_leave(ir_if *ir) visit_leave() argument
338 visit_enter(ir_emit_vertex *ir) visit_enter() argument
347 visit_leave(ir_emit_vertex *ir) visit_leave() argument
356 visit_enter(ir_end_primitive *ir) visit_enter() argument
365 visit_leave(ir_end_primitive *ir) visit_leave() argument
380 call_enter_leave_callbacks(class ir_instruction *ir) call_enter_leave_callbacks() argument
389 visit_tree(ir_instruction *ir, void (*callback_enter)(class ir_instruction *ir, void *data), void *data_enter, void (*callback_leave)(class ir_instruction *ir, void *data), void *data_leave) visit_tree() argument
[all...]
H A Dir_builder_print_visitor.cpp25 #include "ir.h"
63 virtual ir_visitor_status visit_enter(ir_texture *ir);
69 void print_without_declaration(const ir_rvalue *ir);
70 void print_without_declaration(const ir_constant *ir);
71 void print_without_declaration(const ir_dereference_variable *ir);
72 void print_without_declaration(const ir_swizzle *ir);
73 void print_without_declaration(const ir_expression *ir);
91 is_simple_operand(const ir_rvalue *ir, unsigned depth = 1) in is_simple_operand() argument
96 switch (ir->ir_type) { in is_simple_operand()
101 if (ir in is_simple_operand()
183 print_without_declaration(const ir_rvalue *ir) print_without_declaration() argument
204 visit(ir_variable *ir) visit() argument
257 print_without_declaration(const ir_dereference_variable *ir) print_without_declaration() argument
266 visit(ir_dereference_variable *ir) visit() argument
278 visit_enter(ir_function_signature *ir) visit_enter() argument
302 visit_leave(ir_function_signature *ir) visit_leave() argument
314 print_without_declaration(const ir_constant *ir) print_without_declaration() argument
346 visit(ir_constant *ir) visit() argument
437 print_without_declaration(const ir_swizzle *ir) print_without_declaration() argument
470 visit_leave(ir_swizzle *ir) visit_leave() argument
484 visit_enter(ir_assignment *ir) visit_enter() argument
522 visit_leave(ir_assignment *ir) visit_leave() argument
541 print_without_declaration(const ir_expression *ir) print_without_declaration() argument
595 visit_enter(ir_expression *ir) visit_enter() argument
618 visit_enter(ir_if *ir) visit_enter() argument
676 visit_leave(ir_return *ir) visit_leave() argument
688 visit_enter(ir_texture *ir) visit_enter() argument
696 visit_leave(ir_call *ir) visit_leave() argument
733 visit_enter(ir_loop *ir) visit_enter() argument
753 visit_leave(ir_loop *ir) visit_leave() argument
770 visit(ir_loop_jump *ir) visit() argument
[all...]
H A Dopt_algebraic.cpp31 #include "ir.h"
62 virtual ir_visitor_status visit_enter(ir_assignment *ir);
64 ir_rvalue *handle_expression(ir_expression *ir);
87 ir_algebraic_visitor::visit_enter(ir_assignment *ir) in visit_enter() argument
89 ir_variable *var = ir->lhs->variable_referenced(); in visit_enter()
104 is_vec_zero(ir_constant *ir) in is_vec_zero() argument
106 return (ir == NULL) ? false : ir->is_zero(); in is_vec_zero()
110 is_vec_one(ir_constant *ir) in is_vec_one() argument
112 return (ir in is_vec_one()
116 is_vec_two(ir_constant *ir) is_vec_two() argument
122 is_vec_four(ir_constant *ir) is_vec_four() argument
128 is_vec_negative_one(ir_constant *ir) is_vec_negative_one() argument
134 is_valid_vec_const(ir_constant *ir) is_valid_vec_const() argument
146 is_less_than_one(ir_constant *ir) is_less_than_one() argument
163 is_greater_than_zero(ir_constant *ir) is_greater_than_zero() argument
180 update_type(ir_expression *ir) update_type() argument
315 handle_expression(ir_expression *ir) handle_expression() argument
[all...]
H A Dopt_dead_code_local.cpp36 #include "ir.h"
51 assignment_entry(ir_variable *lhs, ir_assignment *ir) in assignment_entry() argument
54 assert(ir); in assignment_entry()
56 this->ir = ir; in assignment_entry()
57 this->unused = ir->write_mask; in assignment_entry()
61 ir_assignment *ir; member in __anon7207::assignment_entry
96 virtual ir_visitor_status visit(ir_dereference_variable *ir) in visit() argument
98 use_channels(ir->var, ~0); in visit()
103 virtual ir_visitor_status visit(ir_swizzle *ir) in visit() argument
150 visit_enter(class ir_dereference_array *ir) visit_enter() argument
156 run(ir_instruction *ir, ir_hierarchical_visitor *v) run() argument
172 process_assignment(void *lin_ctx, ir_assignment *ir, exec_list *assignments) process_assignment() argument
306 ir_instruction *ir, *ir_next; dead_code_local_basic_block() local
[all...]
H A Dlower_jumps.cpp61 #include "ir.h"
280 void truncate_after_instruction(exec_node *ir) in truncate_after_instruction()
282 if (!ir) in truncate_after_instruction()
285 while (!ir->get_next()->is_tail_sentinel()) { in truncate_after_instruction()
286 ((ir_instruction *)ir->get_next())->remove(); in truncate_after_instruction()
291 void move_outer_block_inside(ir_instruction *ir, exec_list *inner_block) in move_outer_block_inside()
293 while (!ir->get_next()->is_tail_sentinel()) { in move_outer_block_inside()
294 ir_instruction *move_ir = (ir_instruction *)ir->get_next(); in move_outer_block_inside()
305 void insert_lowered_return(ir_return *ir) in insert_lowered_return()
310 ir in insert_lowered_return()
[all...]
H A Dlower_precision.cpp31 #include "ir.h"
48 virtual ir_visitor_status visit_enter(ir_call *ir);
109 static void stack_enter(class ir_instruction *ir, void *data);
110 static void stack_leave(class ir_instruction *ir, void *data);
112 virtual ir_visitor_status visit(ir_constant *ir);
113 virtual ir_visitor_status visit(ir_dereference_variable *ir);
115 virtual ir_visitor_status visit_enter(ir_dereference_record *ir);
116 virtual ir_visitor_status visit_enter(ir_dereference_array *ir);
117 virtual ir_visitor_status visit_enter(ir_texture *ir);
118 virtual ir_visitor_status visit_enter(ir_expression *ir);
191 stack_enter(class ir_instruction *ir, void *data) stack_enter() argument
278 stack_leave(class ir_instruction *ir, void *data) stack_leave() argument
329 visit(ir_constant *ir) visit() argument
342 visit(ir_dereference_variable *ir) visit() argument
355 visit_enter(ir_dereference_record *ir) visit_enter() argument
366 visit_enter(ir_dereference_array *ir) visit_enter() argument
377 visit_enter(ir_texture *ir) visit_enter() argument
390 visit_enter(ir_expression *ir) visit_enter() argument
423 handle_call(ir_call *ir, const struct set *lowerable_rvalues) handle_call() argument
566 visit_leave(ir_call *ir) visit_leave() argument
603 visit_leave(ir_assignment *ir) visit_leave() argument
699 convert_precision(bool up, ir_rvalue *ir) convert_precision() argument
743 ir_rvalue *ir = *rvalue; handle_rvalue() local
778 visit_enter(ir_dereference_record *ir) visit_enter() argument
785 visit_enter(ir_dereference_array *ir) visit_enter() argument
794 visit_enter(ir_call *ir) visit_enter() argument
802 visit_enter(ir_texture *ir) visit_enter() argument
810 visit_leave(ir_expression *ir) visit_leave() argument
876 visit_enter(ir_call *ir) visit_enter() argument
1002 lower_constant(ir_constant *ir) lower_constant() argument
1073 fix_types_in_deref_chain(ir_dereference *ir) fix_types_in_deref_chain() argument
1124 visit_enter(ir_assignment *ir) visit_enter() argument
1205 visit_enter(ir_return *ir) visit_enter() argument
1237 ir_rvalue *ir = *rvalue; handle_rvalue() local
1293 visit_enter(ir_call *ir) visit_enter() argument
[all...]
H A Dlower_tess_level.cpp50 #include "ir.h"
66 bool is_tess_level_array(ir_rvalue *ir);
67 ir_rvalue *lower_tess_level_array(ir_rvalue *ir);
69 void visit_new_assignment(ir_assignment *ir);
103 lower_tess_level_visitor::visit(ir_variable *ir) in visit() argument
105 if ((!ir->name) || in visit()
106 ((strcmp(ir->name, "gl_TessLevelInner") != 0) && in visit()
107 (strcmp(ir->name, "gl_TessLevelOuter") != 0))) in visit()
110 assert (ir->type->is_array()); in visit()
112 if (strcmp(ir in visit()
165 is_tess_level_array(ir_rvalue *ir) is_tess_level_array() argument
194 lower_tess_level_array(ir_rvalue *ir) lower_tess_level_array() argument
250 fix_lhs(ir_assignment *ir) fix_lhs() argument
296 visit_leave(ir_assignment *ir) visit_leave() argument
366 visit_new_assignment(ir_assignment *ir) visit_new_assignment() argument
383 visit_leave(ir_call *ir) visit_leave() argument
[all...]
H A Dopt_tree_grafting.cpp50 #include "ir.h"
81 ir_visitor_status check_graft(ir_instruction *ir, ir_variable *var);
96 dereferences_variable_callback(ir_instruction *ir, void *data) in dereferences_variable_callback() argument
99 ir_dereference_variable *deref = ir->as_dereference_variable(); in dereferences_variable_callback()
106 dereferences_variable(ir_instruction *ir, ir_variable *var) in dereferences_variable() argument
113 visit_tree(ir, dereferences_variable_callback, &info); in dereferences_variable()
146 ir_tree_grafting_visitor::visit_enter(ir_loop *ir) in visit_enter() argument
148 (void)ir; in visit_enter()
159 * \param ir An instruction that writes to a variable.
163 ir_tree_grafting_visitor::check_graft(ir_instruction *ir, ir_variabl argument
178 visit_leave(ir_assignment *ir) visit_leave() argument
190 visit_enter(ir_function *ir) visit_enter() argument
197 visit_enter(ir_function_signature *ir) visit_enter() argument
204 visit_enter(ir_call *ir) visit_enter() argument
209 ir_rvalue *ir = (ir_rvalue *) actual_node; visit_enter() local
232 visit_enter(ir_expression *ir) visit_enter() argument
243 visit_enter(ir_if *ir) visit_enter() argument
255 visit_enter(ir_swizzle *ir) visit_enter() argument
264 visit_enter(ir_texture *ir) visit_enter() argument
350 ir_instruction *ir, *next; tree_grafting_basic_block() local
[all...]
H A Dglsl_to_nir.cpp32 #include "ir.h"
83 void create_function(ir_function_signature *ir);
90 nir_ssa_def *evaluate_rvalue(ir_rvalue *ir);
106 nir_deref_instr *evaluate_deref(ir_instruction *ir);
108 nir_constant *constant_copy(ir_constant *ir, void *mem_ctx);
160 virtual ir_visitor_status visit_enter(ir_function_signature *ir) in visit_enter() argument
163 if (ir->is_intrinsic()) in visit_enter()
166 foreach_in_list(ir_variable, param, &ir->parameters) { in visit_enter()
178 if (!glsl_type_is_vector_or_scalar(ir->return_type) && in visit_enter()
179 !ir in visit_enter()
194 has_unsupported_function_param(exec_list *ir) has_unsupported_function_param() argument
310 evaluate_deref(ir_instruction *ir) evaluate_deref() argument
317 constant_copy(ir_constant *ir, void *mem_ctx) constant_copy() argument
492 visit(ir_variable *ir) visit() argument
724 visit_enter(ir_function *ir) visit_enter() argument
733 create_function(ir_function_signature *ir) create_function() argument
774 visit(ir_function *ir) visit() argument
781 visit(ir_function_signature *ir) visit() argument
826 visit(ir_loop *ir) visit() argument
834 visit(ir_if *ir) visit() argument
844 visit(ir_discard *ir) visit() argument
860 visit(ir_demote *ir) visit() argument
866 visit(ir_emit_vertex *ir) visit() argument
872 visit(ir_end_primitive *ir) visit() argument
878 visit(ir_loop_jump *ir) visit() argument
897 visit(ir_return *ir) visit() argument
960 visit(ir_call *ir) visit() argument
1723 visit(ir_assignment *ir) visit() argument
1835 evaluate_rvalue(ir_rvalue* ir) evaluate_rvalue() argument
1869 visit(ir_expression *ir) visit() argument
2391 visit(ir_swizzle *ir) visit() argument
2399 visit(ir_texture *ir) visit() argument
2620 visit(ir_constant *ir) visit() argument
2637 visit(ir_dereference_variable *ir) visit() argument
2665 visit(ir_dereference_record *ir) visit() argument
2702 visit(ir_dereference_array *ir) visit() argument
[all...]
H A Dlower_distance.cpp51 #include "ir.h"
89 bool is_distance_vec8(ir_rvalue *ir);
90 ir_rvalue *lower_distance_vec8(ir_rvalue *ir);
92 void visit_new_assignment(ir_assignment *ir);
138 lower_distance_visitor::visit(ir_variable *ir) in visit() argument
143 if (!ir->name || strcmp(ir->name, in_name) != 0) in visit()
145 assert (ir->type->is_array()); in visit()
147 if (ir->data.mode == ir_var_shader_out) { in visit()
152 } else if (ir in visit()
291 is_distance_vec8(ir_rvalue *ir) is_distance_vec8() argument
331 lower_distance_vec8(ir_rvalue *ir) lower_distance_vec8() argument
399 fix_lhs(ir_assignment *ir) fix_lhs() argument
437 visit_leave(ir_assignment *ir) visit_leave() argument
507 visit_new_assignment(ir_assignment *ir) visit_new_assignment() argument
530 visit_leave(ir_call *ir) visit_leave() argument
613 visit(ir_variable *ir) visit() argument
[all...]
H A Dlower_vec_index_to_cond_assign.cpp39 #include "ir.h"
62 ir_rvalue *convert_vector_extract_to_cond_assign(ir_rvalue *ir);
77 ir_vec_index_to_cond_assign_visitor::convert_vector_extract_to_cond_assign(ir_rvalue *ir) in convert_vector_extract_to_cond_assign() argument
79 ir_expression *const expr = ir->as_expression(); in convert_vector_extract_to_cond_assign()
82 return ir; in convert_vector_extract_to_cond_assign()
97 return ir; in convert_vector_extract_to_cond_assign()
105 return new(base_ir) ir_expression(ir_binop_vector_extract, ir->type, in convert_vector_extract_to_cond_assign()
110 return ir; in convert_vector_extract_to_cond_assign()
114 ir_vec_index_to_cond_assign_visitor::visit_enter(ir_expression *ir) in visit_enter() argument
116 for (unsigned i = 0; i < ir in visit_enter()
123 visit_enter(ir_swizzle *ir) visit_enter() argument
135 visit_leave(ir_assignment *ir) visit_leave() argument
143 visit_enter(ir_call *ir) visit_enter() argument
157 visit_enter(ir_return *ir) visit_enter() argument
166 visit_enter(ir_if *ir) visit_enter() argument
[all...]
H A Dopt_if_simplification.cpp32 #include "ir.h"
55 ir_if_simplification_visitor::visit_enter(ir_assignment *ir) in visit_enter() argument
57 (void) ir; in visit_enter()
72 ir_if_simplification_visitor::visit_leave(ir_if *ir) in visit_leave() argument
75 if (ir->then_instructions.is_empty() && in visit_leave()
76 ir->else_instructions.is_empty()) { in visit_leave()
77 ir->remove(); in visit_leave()
88 ir->condition->constant_expression_value(ralloc_parent(ir)); in visit_leave()
94 ir in visit_leave()
[all...]
H A Dtest_optpass.cpp57 do_optimization(struct exec_list *ir, const char *optimization, in do_optimization() argument
66 return do_common_optimization(ir, int_0 != 0, options, true); in do_optimization()
68 return do_algebraic(ir, true, options); in do_optimization()
70 return do_constant_folding(ir); in do_optimization()
72 return do_constant_variable(ir); in do_optimization()
74 return do_constant_variable_unlinked(ir); in do_optimization()
76 return do_copy_propagation_elements(ir); in do_optimization()
78 return do_constant_propagation(ir); in do_optimization()
80 return do_dead_code(ir); in do_optimization()
82 return do_dead_code_local(ir); in do_optimization()
119 do_optimization_passes(struct exec_list *ir, char **optimizations, int num_optimizations, bool quiet, const struct gl_shader_compiler_options *options) do_optimization_passes() argument
[all...]
H A Dlower_vector_derefs.cpp23 #include "ir.h"
46 virtual ir_visitor_status visit_enter(ir_assignment *ir);
57 vector_deref_visitor::visit_enter(ir_assignment *ir) in visit_enter() argument
59 if (!ir->lhs || ir->lhs->ir_type != ir_type_dereference_array) in visit_enter()
60 return ir_rvalue_enter_visitor::visit_enter(ir); in visit_enter()
62 ir_dereference_array *const deref = (ir_dereference_array *) ir->lhs; in visit_enter()
64 return ir_rvalue_enter_visitor::visit_enter(ir); in visit_enter()
74 return ir_rvalue_enter_visitor::visit_enter(ir); in visit_enter()
78 void *mem_ctx = ralloc_parent(ir); in visit_enter()
[all...]
H A Dopt_constant_folding.cpp29 #include "ir.h"
53 virtual ir_visitor_status visit_enter(ir_discard *ir);
54 virtual ir_visitor_status visit_enter(ir_assignment *ir);
55 virtual ir_visitor_status visit_enter(ir_call *ir);
120 ir_constant_folding_visitor::visit_enter(ir_discard *ir) in visit_enter() argument
122 if (ir->condition) { in visit_enter()
123 ir->condition->accept(this); in visit_enter()
124 handle_rvalue(&ir->condition); in visit_enter()
126 ir_constant *const_val = ir->condition->as_constant(); in visit_enter()
132 ir in visit_enter()
143 visit_enter(ir_assignment *ir) visit_enter() argument
156 visit_enter(ir_call *ir) visit_enter() argument
[all...]
H A Dlower_discard_flow.cpp48 #include "ir.h"
64 ir_visitor_status visit(ir_loop_jump *ir);
65 ir_visitor_status visit_enter(ir_discard *ir);
66 ir_visitor_status visit_enter(ir_loop *ir);
67 ir_visitor_status visit_enter(ir_function_signature *ir);
78 lower_discard_flow_visitor::visit(ir_loop_jump *ir) in visit() argument
80 if (ir->mode != ir_loop_jump::jump_continue) in visit()
83 ir->insert_before(generate_discard_break()); in visit()
89 lower_discard_flow_visitor::visit_enter(ir_discard *ir) in visit_enter() argument
93 if (ir in visit_enter()
107 visit_enter(ir_loop *ir) visit_enter() argument
115 visit_enter(ir_function_signature *ir) visit_enter() argument
141 lower_discard_flow(exec_list *ir) lower_discard_flow() argument
[all...]
H A Dopt_flip_matrices.cpp35 #include "ir.h"
48 foreach_in_list(ir_instruction, ir, instructions) { in matrix_flipper()
49 ir_variable *var = ir->as_variable(); in matrix_flipper()
59 ir_visitor_status visit_enter(ir_expression *ir);
70 matrix_flipper::visit_enter(ir_expression *ir) in visit_enter() argument
72 if (ir->operation != ir_binop_mul || in visit_enter()
73 !ir->operands[0]->type->is_matrix() || in visit_enter()
74 !ir->operands[1]->type->is_vector()) in visit_enter()
77 ir_variable *mat_var = ir->operands[0]->variable_referenced(); in visit_enter()
84 ir_dereference_variable *deref = ir in visit_enter()
[all...]
H A Dlower_output_reads.cpp25 #include "ir.h"
91 output_read_remover::visit(ir_dereference_variable *ir) in visit() argument
93 if (ir->var->data.mode != ir_var_shader_out || ir->var->data.fb_fetch_output) in visit()
96 hash_entry *entry = _mesa_hash_table_search(replacements, ir->var); in visit()
101 void *var_ctx = ralloc_parent(ir->var); in visit()
102 temp = new(var_ctx) ir_variable(ir->var->type, ir->var->name, in visit()
105 temp->data.invariant = ir->var->data.invariant; in visit()
106 temp->data.precise = ir in visit()
135 ir_return *ir = (ir_return *) closure; emit_return_copy() local
148 visit_leave(ir_return *ir) visit_leave() argument
155 visit_leave(ir_emit_vertex *ir) visit_leave() argument
[all...]
H A Dopt_function_inlining.cpp30 #include "ir.h"
83 replace_return_with_assignment(ir_instruction *ir, void *data) in replace_return_with_assignment() argument
85 void *ctx = ralloc_parent(ir); in replace_return_with_assignment()
87 ir_return *ret = ir->as_return(); in replace_return_with_assignment()
238 foreach_in_list(ir_instruction, ir, &callee->body) { in generate_inline()
239 ir_instruction *new_ir = ir->clone(ctx, ht); in generate_inline()
292 ir_function_inlining_visitor::visit_enter(ir_expression *ir) in visit_enter() argument
294 (void) ir; in visit_enter()
300 ir_function_inlining_visitor::visit_enter(ir_return *ir) in visit_enter() argument
302 (void) ir; in visit_enter()
308 visit_enter(ir_texture *ir) visit_enter() argument
316 visit_enter(ir_swizzle *ir) visit_enter() argument
324 visit_enter(ir_call *ir) visit_enter() argument
397 visit_leave(ir_texture *ir) visit_leave() argument
405 visit_leave(ir_assignment *ir) visit_leave() argument
414 visit_leave(ir_expression *ir) visit_leave() argument
423 visit_leave(ir_return *ir) visit_leave() argument
431 visit_leave(ir_dereference_array *ir) visit_leave() argument
438 visit_leave(ir_dereference_record *ir) visit_leave() argument
445 visit_leave(ir_call *ir) visit_leave() argument
[all...]
/third_party/mesa3d/src/gallium/drivers/r600/sfn/
H A Dsfn_instr_alu.cpp1431 AluInstr *ir = nullptr; in emit_alu_op1_64bit() local
1441 ir = new AluInstr(opcode, in emit_alu_op1_64bit()
1445 group->add_instruction(ir); in emit_alu_op1_64bit()
1447 if (alu.src[0].abs) ir->set_alu_flag(alu_src0_abs); in emit_alu_op1_64bit()
1448 if (alu.src[0].negate) ir->set_alu_flag(alu_src0_neg); in emit_alu_op1_64bit()
1450 if (ir) in emit_alu_op1_64bit()
1451 ir->set_alu_flag(alu_last_instr); in emit_alu_op1_64bit()
1460 AluInstr *ir = nullptr; in emit_alu_mov_64bit() local
1464 ir = new AluInstr(op1_mov, in emit_alu_mov_64bit()
1468 shader.emit_instruction(ir); in emit_alu_mov_64bit()
1484 AluInstr *ir = nullptr; emit_alu_neg() local
1512 auto ir = new AluInstr(op1_mov, value_factory.dest(alu.dest, 1, pin_chan), emit_alu_abs64() local
1524 AluInstr *ir = nullptr; emit_alu_op2_64bit() local
1580 AluInstr *ir = nullptr; emit_alu_op2_64bit_one_dst() local
1616 AluInstr *ir = nullptr; emit_alu_op1_64bit_trans() local
1641 AluInstr *ir = nullptr; emit_alu_fma_64bit() local
1674 AluInstr *ir = nullptr; emit_alu_b2f64() local
1702 AluInstr *ir = nullptr; emit_alu_i2f64() local
1768 AluInstr *ir = nullptr; emit_alu_f2f64() local
1788 AluInstr *ir = nullptr; emit_alu_f2f32() local
1806 AluInstr *ir = nullptr; emit_alu_b2x() local
1830 AluInstr *ir = nullptr; emit_alu_op1() local
1872 AluInstr *ir = nullptr; emit_alu_op2() local
1914 AluInstr *ir = nullptr; emit_alu_op3() local
1939 AluInstr *ir = nullptr; emit_any_all_fcomp2() local
1977 AluInstr *ir = nullptr; emit_any_all_fcomp() local
2044 AluInstr *ir = nullptr; emit_any_all_icomp() local
2111 AluInstr *ir = new AluInstr(op, dest, srcs, AluInstr::last_write, 4); emit_dot() local
2144 AluInstr *ir = new AluInstr(op, dest, srcs, AluInstr::last_write, 4); emit_fdph() local
2160 AluInstr *ir = nullptr; emit_create_vec() local
2184 AluInstr *ir = nullptr; emit_alu_i2orf2_b1() local
2205 AluInstr *ir = nullptr; emit_alu_comb_with_zero() local
2226 AluInstr *ir = nullptr; emit_pack_64_2x32_split() local
2239 AluInstr *ir = nullptr; emit_pack_64_2x32() local
2253 AluInstr *ir = nullptr; emit_unpack_64_2x32() local
2266 AluInstr *ir = nullptr; emit_alu_vec2_64() local
2340 AluInstr *ir = nullptr; emit_alu_trans_op1_eg() local
2363 AluInstr *ir = nullptr; emit_alu_f2i32_or_u32_eg() local
2409 auto ir = new AluInstr(opcode, dest, srcs, AluInstr::last_write, 4); emit_alu_trans_op1_cayman() local
2431 AluInstr *ir = nullptr; emit_alu_trans_op2_eg() local
2470 auto ir = new AluInstr(opcode, emit_alu_trans_op2_cayman() local
2530 AluInstr *ir = nullptr; emit_alu_cube() local
[all...]
/third_party/mesa3d/src/freedreno/ir3/
H A Dir3_dce.c102 find_and_remove_unused(struct ir3 *ir, struct ir3_shader_variant *so) in find_and_remove_unused() argument
107 ir3_clear_mark(ir); in find_and_remove_unused()
112 foreach_block (block, &ir->block_list) { in find_and_remove_unused()
131 foreach_array (arr, &ir->array_list) in find_and_remove_unused()
134 foreach_block (block, &ir->block_list) { in find_and_remove_unused()
144 foreach_block (block, &ir->block_list) { in find_and_remove_unused()
149 foreach_array_safe (arr, &ir->array_list) { in find_and_remove_unused()
157 foreach_block (block, &ir->block_list) { in find_and_remove_unused()
170 for (i = 0; i < ir->a0_users_count; i++) { in find_and_remove_unused()
171 struct ir3_instruction *instr = ir in find_and_remove_unused()
197 ir3_dce(struct ir3 *ir, struct ir3_shader_variant *so) ir3_dce() argument
[all...]

Completed in 16 milliseconds

12345678910>>...17