/external/mesa3d/src/glsl/ |
H A D | ir_hierarchical_visitor.cpp | 24 #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 D | ir_div_to_mul_rcp.cpp | 35 #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 D | ir_rvalue_visitor.cpp | 32 #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 D | lower_instructions.cpp | 81 #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 D | ir_validate.cpp | 31 * 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 D | ir_print_visitor.cpp | 62 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 D | ir_expression_flattening.h | 38 bool (*predicate)(ir_instruction *ir));
|
H A D | ir_if_return.cpp | 37 #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 D | ir_expression_flattening.cpp | 36 #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 D | ir_mod_to_fract.cpp | 34 #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 D | lower_vec_index_to_swizzle.cpp | 32 #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 D | lower_texture_projection.cpp | 38 #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 D | opt_swizzle_swizzle.cpp | 30 #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 D | ir_basic_block.cpp | 30 #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 D | opt_algebraic.cpp | 31 #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 D | lower_vec_index_to_cond_assign.cpp | 39 #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 D | opt_tree_grafting.cpp | 50 #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 D | opt_discard_simplification.cpp | 87 #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 D | opt_dead_code_local.cpp | 36 #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 D | lower_jumps.cpp | 61 #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 D | opt_if_simplification.cpp | 31 #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 D | opt_constant_folding.cpp | 29 #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 D | ir_set_program_inouts.cpp | 41 #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 D | lower_if_to_cond_assign.cpp | 49 #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 D | lvalue-bitcasts.cpp | 7 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...] |