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

1234567

/external/mesa3d/src/glsl/
H A Dir_hierarchical_visitor.cpp24 #include "ir.h"
36 ir_hierarchical_visitor::visit(ir_variable *ir) argument
39 this->callback(ir, this->data);
45 ir_hierarchical_visitor::visit(ir_constant *ir) argument
48 this->callback(ir, this->data);
54 ir_hierarchical_visitor::visit(ir_loop_jump *ir) argument
57 this->callback(ir, this->data);
63 ir_hierarchical_visitor::visit(ir_dereference_variable *ir) argument
66 this->callback(ir, this->data);
72 ir_hierarchical_visitor::visit_enter(ir_loop *ir) argument
81 visit_leave(ir_loop *ir) argument
88 visit_enter(ir_function_signature *ir) argument
97 visit_leave(ir_function_signature *ir) argument
104 visit_enter(ir_function *ir) argument
113 visit_leave(ir_function *ir) argument
120 visit_enter(ir_expression *ir) argument
129 visit_leave(ir_expression *ir) argument
136 visit_enter(ir_texture *ir) argument
145 visit_leave(ir_texture *ir) argument
152 visit_enter(ir_swizzle *ir) argument
161 visit_leave(ir_swizzle *ir) argument
168 visit_enter(ir_dereference_array *ir) argument
177 visit_leave(ir_dereference_array *ir) argument
184 visit_enter(ir_dereference_record *ir) argument
193 visit_leave(ir_dereference_record *ir) argument
200 visit_enter(ir_assignment *ir) argument
209 visit_leave(ir_assignment *ir) argument
216 visit_enter(ir_call *ir) argument
225 visit_leave(ir_call *ir) argument
232 visit_enter(ir_return *ir) argument
241 visit_leave(ir_return *ir) argument
248 visit_enter(ir_discard *ir) argument
257 visit_leave(ir_discard *ir) argument
264 visit_enter(ir_if *ir) argument
273 visit_leave(ir_if *ir) argument
287 visit_tree(ir_instruction *ir, void (*callback)(class ir_instruction *ir, void *data), void *data) argument
[all...]
H A Dir_div_to_mul_rcp.cpp35 #include "ir.h"
60 ir_div_to_mul_rcp_visitor::visit_leave(ir_expression *ir) argument
62 if (ir->operation != ir_binop_div)
65 if (ir->operands[1]->type->base_type != GLSL_TYPE_INT &&
66 ir->operands[1]->type->base_type != GLSL_TYPE_UINT) {
69 expr = new(ir) ir_expression(ir_unop_rcp,
70 ir->operands[1]->type,
71 ir->operands[1],
75 ir->operation = ir_binop_mul;
76 ir
[all...]
H A Dir_rvalue_visitor.cpp32 #include "ir.h"
39 ir_rvalue_visitor::visit_leave(ir_expression *ir) argument
43 for (operand = 0; operand < ir->get_num_operands(); operand++) {
44 handle_rvalue(&ir->operands[operand]);
51 ir_rvalue_visitor::visit_leave(ir_texture *ir) argument
53 handle_rvalue(&ir->coordinate);
54 handle_rvalue(&ir->projector);
55 handle_rvalue(&ir->shadow_comparitor);
57 switch (ir->op) {
61 handle_rvalue(&ir
77 visit_leave(ir_swizzle *ir) argument
84 visit_leave(ir_dereference_array *ir) argument
99 visit_leave(ir_dereference_record *ir) argument
106 visit_leave(ir_assignment *ir) argument
115 visit_leave(ir_call *ir) argument
130 visit_leave(ir_return *ir) argument
137 visit_leave(ir_if *ir) argument
[all...]
H A Dlower_instructions.cpp81 #include "ir.h"
119 lower_instructions_visitor::sub_to_add_neg(ir_expression *ir) argument
121 ir->operation = ir_binop_add;
122 ir->operands[1] = new(ir) ir_expression(ir_unop_neg, ir->operands[1]->type,
123 ir->operands[1], NULL);
128 lower_instructions_visitor::div_to_mul_rcp(ir_expression *ir) argument
130 if (!ir->operands[1]->type->is_integer()) {
133 expr = new(ir) ir_expressio
180 exp_to_exp2(ir_expression *ir) argument
191 pow_to_exp2(ir_expression *ir) argument
205 log_to_log2(ir_expression *ir) argument
215 mod_to_fract(ir_expression *ir) argument
250 visit_leave(ir_expression *ir) argument
[all...]
H A Dir_validate.cpp31 * in the ir tree. ir_variable does appear multiple times: Once as a
37 #include "ir.h"
61 virtual ir_visitor_status visit(ir_dereference_variable *ir);
62 virtual ir_visitor_status visit(ir_if *ir);
64 virtual ir_visitor_status visit_leave(ir_loop *ir);
65 virtual ir_visitor_status visit_enter(ir_function *ir);
66 virtual ir_visitor_status visit_leave(ir_function *ir);
67 virtual ir_visitor_status visit_enter(ir_function_signature *ir);
69 virtual ir_visitor_status visit_leave(ir_expression *ir);
70 virtual ir_visitor_status visit_leave(ir_swizzle *ir);
83 visit(ir_dereference_variable *ir) argument
104 visit(ir_if *ir) argument
119 visit_leave(ir_loop *ir) argument
155 visit_enter(ir_function *ir) argument
180 visit_leave(ir_function *ir) argument
189 visit_enter(ir_function_signature *ir) argument
207 visit_leave(ir_expression *ir) argument
428 visit_leave(ir_swizzle *ir) argument
445 visit(ir_variable *ir) argument
460 visit_enter(ir_assignment *ir) argument
492 validate_ir(ir_instruction *ir, void *data) argument
506 check_node_type(ir_instruction *ir, void *data) argument
525 ir_instruction *ir = (ir_instruction *)iter.get(); local
[all...]
H A Dir_print_visitor.cpp62 ir_instruction *ir = (ir_instruction *)iter.get(); local
63 ir->print();
64 if (ir->ir_type != ir_type_function)
93 void ir_print_visitor::visit(ir_variable *ir) argument
97 const char *const cent = (ir->centroid) ? "centroid " : "";
98 const char *const inv = (ir->invariant) ? "invariant " : "";
104 cent, inv, mode[ir->mode], interp[ir->interpolation]);
106 print_type(ir->type);
107 printf(" %s@%p)", ir
111 visit(ir_function_signature *ir) argument
154 visit(ir_function *ir) argument
170 visit(ir_expression *ir) argument
186 visit(ir_texture *ir) argument
235 visit(ir_swizzle *ir) argument
254 visit(ir_dereference_variable *ir) argument
261 visit(ir_dereference_array *ir) argument
270 visit(ir_dereference_record *ir) argument
278 visit(ir_assignment *ir) argument
310 visit(ir_constant *ir) argument
348 visit(ir_call *ir) argument
361 visit(ir_return *ir) argument
376 visit(ir_discard *ir) argument
390 visit(ir_if *ir) argument
432 visit(ir_loop *ir) argument
463 visit(ir_loop_jump *ir) argument
[all...]
H A Dir_expression_flattening.h38 bool (*predicate)(ir_instruction *ir));
H A Dir_if_return.cpp37 #include "ir.h"
49 ir_visitor_status move_outer_block_inside(ir_instruction *ir,
51 void move_returns_after_block(ir_instruction *ir,
75 truncate_after_instruction(ir_instruction *ir) argument
77 if (!ir)
80 while (!ir->get_next()->is_tail_sentinel())
81 ((ir_instruction *)ir->get_next())->remove();
91 ir_instruction *ir = (ir_instruction *)iter.get(); local
92 if (ir->ir_type == ir_type_return)
93 return (ir_return *)ir;
100 move_returns_after_block(ir_instruction *ir, ir_return *then_return, ir_return *else_return) argument
131 move_outer_block_inside(ir_instruction *ir, exec_list *inner_block) argument
159 visit_enter(ir_function_signature *ir) argument
209 visit_leave(ir_if *ir) argument
[all...]
H A Dir_expression_flattening.cpp36 #include "ir.h"
44 ir_expression_flattening_visitor(bool (*predicate)(ir_instruction *ir)) argument
55 bool (*predicate)(ir_instruction *ir);
60 bool (*predicate)(ir_instruction *ir))
65 ir_instruction *ir = (ir_instruction *)iter.get(); local
67 ir->accept(&v);
76 ir_rvalue *ir = *rvalue; local
78 if (!ir || !this->predicate(ir))
81 void *ctx = hieralloc_parent(ir);
59 do_expression_flattening(exec_list *instructions, bool (*predicate)(ir_instruction *ir)) argument
[all...]
H A Dir_mod_to_fract.cpp34 #include "ir.h"
58 ir_mod_to_fract_visitor::visit_leave(ir_expression *ir) argument
60 if (ir->operation != ir_binop_mod)
63 ir_variable *temp = new(ir) ir_variable(ir->operands[1]->type, "mod_b",
70 assign = new(ir) ir_assignment(new(ir) ir_dereference_variable(temp),
71 ir->operands[1], NULL);
74 expr = new(ir) ir_expression(ir_binop_div,
75 ir
[all...]
H A Dlower_vec_index_to_swizzle.cpp32 #include "ir.h"
61 ir_vec_index_to_swizzle_visitor::convert_vec_index_to_swizzle(ir_rvalue *ir) argument
63 ir_dereference_array *deref = ir->as_dereference_array();
67 return ir;
70 return ir;
75 return ir;
77 void *ctx = hieralloc_parent(ir);
84 ir_vec_index_to_swizzle_visitor::visit_enter(ir_expression *ir) argument
88 for (i = 0; i < ir->get_num_operands(); i++) {
89 ir
96 visit_enter(ir_swizzle *ir) argument
108 visit_enter(ir_assignment *ir) argument
117 visit_enter(ir_call *ir) argument
132 visit_enter(ir_return *ir) argument
142 visit_enter(ir_if *ir) argument
[all...]
H A Dlower_texture_projection.cpp38 #include "ir.h"
47 ir_visitor_status visit_leave(ir_texture *ir);
53 lower_texture_projection_visitor::visit_leave(ir_texture *ir) argument
55 if (!ir->projector)
58 void *mem_ctx = hieralloc_parent(ir);
60 ir_variable *var = new(mem_ctx) ir_variable(ir->projector->type,
65 ir->projector->type,
66 ir->projector,
72 ir->coordinate = new(mem_ctx) ir_expression(ir_binop_mul,
73 ir
[all...]
H A Dopt_swizzle_swizzle.cpp30 #include "ir.h"
48 ir_swizzle_swizzle_visitor::visit_enter(ir_swizzle *ir) argument
52 ir_swizzle *swiz2 = ir->val->as_swizzle();
66 if (ir->mask.num_components >= 1)
67 ir->mask.x = mask2[ir->mask.x];
68 if (ir->mask.num_components >= 2)
69 ir->mask.y = mask2[ir->mask.y];
70 if (ir
[all...]
H A Dir_basic_block.cpp30 #include "ir.h"
43 virtual ir_visitor_status visit_enter(ir_call *ir) argument
45 (void) ir;
54 ir_has_call(ir_instruction *ir) argument
57 ir->accept(&v);
88 ir_instruction *ir = (ir_instruction *)iter.get(); local
94 leader = ir;
96 if ((ir_if = ir->as_if())) {
97 callback(leader, ir, data);
102 } else if ((ir_loop = ir
[all...]
H A Dopt_algebraic.cpp31 #include "ir.h"
53 ir_rvalue *handle_expression(ir_expression *ir);
72 is_vec_zero(ir_constant *ir) argument
74 return (ir == NULL) ? false : ir->is_zero();
78 is_vec_one(ir_constant *ir) argument
80 return (ir == NULL) ? false : ir->is_one();
84 update_type(ir_expression *ir) argument
86 if (ir
177 handle_expression(ir_expression *ir) argument
[all...]
H A Dlower_vec_index_to_cond_assign.cpp39 #include "ir.h"
68 ir_vec_index_to_cond_assign_visitor::convert_vec_index_to_cond_assign(ir_rvalue *ir) argument
70 ir_dereference_array *orig_deref = ir->as_dereference_array();
79 return ir;
83 return ir;
85 void *mem_ctx = hieralloc_parent(ir);
99 var = new(base_ir) ir_variable(ir->type, "vec_index_tmp_v",
127 ir_vec_index_to_cond_assign_visitor::visit_enter(ir_expression *ir) argument
131 for (i = 0; i < ir->get_num_operands(); i++) {
132 ir
139 visit_enter(ir_swizzle *ir) argument
151 visit_leave(ir_assignment *ir) argument
218 visit_enter(ir_call *ir) argument
233 visit_enter(ir_return *ir) argument
243 visit_enter(ir_if *ir) argument
[all...]
H A Dopt_tree_grafting.cpp50 #include "ir.h"
92 dereferences_variable_callback(ir_instruction *ir, void *data) argument
95 ir_dereference_variable *deref = ir->as_dereference_variable();
102 dereferences_variable(ir_instruction *ir, ir_variable *var) argument
109 visit_tree(ir, dereferences_variable_callback, &info);
142 ir_tree_grafting_visitor::visit_enter(ir_loop *ir) argument
144 (void)ir;
152 ir_tree_grafting_visitor::visit_leave(ir_assignment *ir) argument
154 if (do_graft(&ir->rhs) ||
155 do_graft(&ir
175 visit_enter(ir_function *ir) argument
182 visit_enter(ir_function_signature *ir) argument
189 visit_enter(ir_call *ir) argument
195 ir_rvalue *ir = (ir_rvalue *)iter.get(); local
212 visit_enter(ir_expression *ir) argument
223 visit_enter(ir_if *ir) argument
235 visit_enter(ir_swizzle *ir) argument
244 visit_enter(ir_texture *ir) argument
315 ir_instruction *ir, *next; local
[all...]
H A Dopt_discard_simplification.cpp87 #include "ir.h"
106 ir_discard *ir = ((ir_instruction *) n)->as_discard(); local
107 if (ir != NULL && ir->condition == NULL)
108 return ir;
121 discard_simplifier::visit_enter(ir_if *ir) argument
123 ir_discard *then_discard = find_unconditional_discard(ir->then_instructions);
124 ir_discard *else_discard = find_unconditional_discard(ir->else_instructions);
132 ir->replace_with(then_discard);
139 ir
152 visit_enter(ir_loop *ir) argument
[all...]
H A Dopt_dead_code_local.cpp36 #include "ir.h"
46 assignment_entry(ir_variable *lhs, ir_instruction *ir) argument
49 assert(ir);
51 this->ir = ir;
55 ir_instruction *ir; member in class:assignment_entry
65 virtual ir_visitor_status visit(ir_dereference_variable *ir) argument
67 ir_variable *const var = ir->variable_referenced();
93 virtual ir_visitor_status visit_enter(class ir_dereference_array *ir) argument
95 ir
99 run(ir_instruction *ir, ir_hierarchical_visitor *v) argument
114 process_assignment(void *ctx, ir_assignment *ir, exec_list *assignments) argument
187 ir_instruction *ir, *ir_next; local
[all...]
H A Dlower_jumps.cpp61 #include "ir.h"
200 void truncate_after_instruction(exec_node *ir) argument
202 if (!ir)
205 while (!ir->get_next()->is_tail_sentinel()) {
206 ((ir_instruction *)ir->get_next())->remove();
211 void move_outer_block_inside(ir_instruction *ir, exec_list *inner_block) argument
213 while (!ir->get_next()->is_tail_sentinel()) {
214 ir_instruction *move_ir = (ir_instruction *)ir->get_next();
221 virtual void visit(class ir_loop_jump * ir) argument
223 truncate_after_instruction(ir);
227 visit(class ir_return * ir) argument
233 visit(class ir_discard * ir) argument
237 get_jump_strength(ir_instruction* ir) argument
252 should_lower_jump(ir_jump* ir) argument
296 visit(ir_if *ir) argument
494 visit(ir_loop *ir) argument
527 visit(ir_function_signature *ir) argument
548 visit(class ir_function * ir) argument
[all...]
H A Dopt_if_simplification.cpp31 #include "ir.h"
56 ir_if_simplification_visitor::visit_leave(ir_if *ir) argument
63 ir_constant *condition_constant = ir->condition->constant_expression_value();
69 foreach_iter(exec_list_iterator, then_iter, ir->then_instructions) {
71 ir->insert_before(then_ir);
74 foreach_iter(exec_list_iterator, else_iter, ir->else_instructions) {
76 ir->insert_before(else_ir);
79 ir->remove();
H A Dopt_constant_folding.cpp29 #include "ir.h"
51 virtual ir_visitor_status visit_enter(ir_assignment *ir);
52 virtual ir_visitor_status visit_enter(ir_call *ir);
88 ir_constant_folding_visitor::visit_enter(ir_assignment *ir) argument
90 ir->rhs->accept(this);
91 handle_rvalue(&ir->rhs);
93 if (ir->condition) {
94 ir->condition->accept(this);
95 handle_rvalue(&ir->condition);
97 ir_constant *const_val = ir
118 visit_enter(ir_call *ir) argument
[all...]
H A Dir_set_program_inouts.cpp41 #include "ir.h"
89 ir_set_program_inouts_visitor::visit(ir_dereference_variable *ir) argument
91 if (hash_table_find(this->ht, ir->var) == NULL)
94 if (ir->type->is_array()) {
95 for (unsigned int i = 0; i < ir->type->length; i++) {
96 mark(this->prog, ir->var, i,
97 ir->type->length * ir->type->fields.array->matrix_columns);
100 mark(this->prog, ir->var, 0, ir
107 visit_enter(ir_dereference_array *ir) argument
134 visit(ir_variable *ir) argument
145 visit_enter(ir_function_signature *ir) argument
[all...]
H A Dlower_if_to_cond_assign.cpp49 #include "ir.h"
79 check_control_flow(ir_instruction *ir, void *data) argument
82 switch (ir->ir_type) {
108 ir_instruction *ir = (ir_instruction *)iter.get(); local
110 if (ir->ir_type == ir_type_assignment) {
111 ir_assignment *assign = (ir_assignment *)ir;
135 ir->remove();
136 if_ir->insert_before(ir);
141 ir_if_to_cond_assign_visitor::visit_enter(ir_if *ir) argument
143 (void) ir;
149 visit_leave(ir_if *ir) argument
[all...]
/external/clang/test/CodeGenCXX/
H A Dlvalue-bitcasts.cpp7 void reinterpret_cast_test(int &ir, float &fr, X &xr) { argument
11 ir = reinterpret_cast<int&>(fr);
15 ir = reinterpret_cast<int&>(xr);
19 fr = reinterpret_cast<float&>(ir);
27 xr = reinterpret_cast<X&>(ir);
38 cfr = reinterpret_cast<_Complex float&>(ir);
52 void c_cast(int &ir, float &fr, X &xr) { argument
56 ir = (int&)fr;
60 ir = (int&)xr;
64 fr = (float&)ir;
97 functional_cast(int &ir, float &fr, X &xr) argument
[all...]

Completed in 208 milliseconds

1234567