Lines Matching refs:ir

28 static bool is_loop_terminator(ir_if *ir);
53 loop_state::insert(ir_loop *ir)
57 hash_table_insert(this->ht, ls, ir);
65 loop_state::get(const ir_loop *ir)
67 return (loop_variable_state *) hash_table_find(this->ht, ir);
72 loop_variable_state::get(const ir_variable *ir)
74 return (loop_variable *) hash_table_find(this->var_hash, ir);
99 t->ir = if_stmt;
142 loop_analysis::visit(ir_loop_jump *ir)
144 (void) ir;
158 loop_analysis::visit_enter(ir_call *ir)
173 loop_analysis::visit(ir_dereference_variable *ir)
183 ir_variable *var = ir->variable_referenced();
215 loop_analysis::visit_enter(ir_loop *ir)
217 loop_variable_state *ls = this->loops->insert(ir);
224 loop_analysis::visit_leave(ir_loop *ir)
241 foreach_list(node, &ir->body_instructions) {
354 loop_analysis::visit_enter(ir_if *ir)
356 (void) ir;
365 loop_analysis::visit_leave(ir_if *ir)
367 (void) ir;
376 loop_analysis::visit_enter(ir_assignment *ir)
383 this->current_assignment = ir;
389 loop_analysis::visit_leave(ir_assignment *ir)
396 assert(this->current_assignment == ir);
411 virtual ir_visitor_status visit(ir_dereference_variable *ir)
414 (loop_variable *) hash_table_find(this->loop_variables, ir->var);
432 all_expression_operands_are_loop_constant(ir_rvalue *ir, hash_table *variables)
436 ir->accept(&v);
443 get_basic_induction_increment(ir_assignment *ir, hash_table *var_hash)
447 ir_expression *const rhs = ir->rhs->as_expression();
457 ir_variable *const var = ir->lhs->variable_referenced();
481 void *mem_ctx = ralloc_parent(ir);
501 is_loop_terminator(ir_if *ir)
503 if (!ir->else_instructions.is_empty())
507 (ir_instruction *) ir->then_instructions.get_head();