13 ins = [ "left", "right" ]
28 ins = [ "mem", "size" ],
29 outs = [ "M", "X_regular", "X_except", "res" ],
37 type = "ir_where_alloc"
44 ins = [ "end_block", "start_block", "end", "start",
45 "end_reg", "end_except", "initial_exec",
46 "frame", "tls", "initial_mem", "args",
70 /* macroblock header */
73 res->attr.block.is_dead = 0;
74 res->attr.block.is_mb_head = 1;
75 res->attr.block.has_label = 0;
76 res->attr.block.irg = irg;
77 res->attr.block.backedge = new_backedge_arr(irg->obst, arity);
78 res->attr.block.in_cg = NULL;
79 res->attr.block.cg_backedge = NULL;
80 res->attr.block.extblk = NULL;
81 res->attr.block.mb_depth = 0;
82 res->attr.block.label = 0;
84 set_Block_matured(res, 1);
85 set_Block_block_visited(res, 0);
94 /* Create and initialize array for Phi-node construction. */
95 if (get_irg_phase_state(current_ir_graph) == phase_building) {
96 res->attr.block.graph_arr = NEW_ARR_D(ir_node *, current_ir_graph->obst,
97 current_ir_graph->n_loc);
98 memset(res->attr.block.graph_arr, 0, sizeof(ir_node *)*current_ir_graph->n_loc);
101 for (i = arity - 1; i >= 0; i--)
102 if (is_Unknown(in[i])) {
107 if (!has_unknown) res = optimize_node(res);
109 current_ir_graph->current_block = res;
111 IRN_VRFY_IRG(res, current_ir_graph);
115 public void addPred(Node node) {
116 binding_cons.add_immBlock_pred(ptr, node.ptr);
119 public void mature() {
120 binding_cons.mature_immBlock(ptr);
124 public Block getBlock() {
128 public boolean blockVisited() {
129 return 0 != binding.Block_block_visited(ptr);
132 public void markBlockVisited() {
133 binding.mark_Block_block_visited(ptr);
144 outs = [ "M_regular", "X_regular", "X_except", "T_result", "M_except", "P_value_res_base" ],
147 type = "ir_builtin_kind",
158 ins = [ "mem", "ptr" ],
160 outs = [ "M_regular", "X_regular", "X_except", "T_result", "M_except", "P_value_res_base" ],
175 mode = "get_irn_mode(irn_op)",
182 init = "assert(is_atomic_type(type));"
187 outs = [ "False", "Eq", "Lt", "Le", "Gt", "Ge", "Lg", "Leg", "Uo", "Ue", "Ul", "Ule", "Ug", "Uge", "Ne", "True" ],
191 ins = [ "selector" ],
192 outs = [ "false", "true" ],
200 name = "default_proj",
206 type = "cond_jmp_predicate",
207 init = "COND_JMP_PRED_NONE"
213 ins = [ "value", "bound" ],
214 mode = "get_irn_mode(irn_value)",
251 ins = [ "mem", "dst", "src" ],
252 outs = [ "M", "X_regular", "X_except" ],
262 ins = [ "mem", "dividend", "divisor" ],
263 outs = [ "M", "X_regular", "X_except", "res" ],
271 type = "op_pin_state"
274 name = "no_remainder",
286 ins = [ "mem", "dividend", "divisor" ],
287 outs = [ "M", "X_regular", "X_except", "res_div", "res_mod" ],
295 type = "op_pin_state"
302 op_flags = "cfopcode",
314 ins = [ "mem", "ptr", "size" ],
323 type = "ir_where_alloc"
334 op_flags = "cfopcode",
341 op_flags = "cfopcode",
347 ins = [ "mem", "ptr" ],
348 outs = [ "M", "X_regular", "X_except", "res" ],
353 java_name = "load_mode"
358 type = "ir_cons_flags",
363 #if PRECISE_EXC_CONTEXT
364 firm_alloc_frag_arr(res, op_Load, &res->attr.load.exc.frag_arr);
374 ins = [ "mem", "dividend", "divisor" ],
375 outs = [ "M", "X_regular", "X_except", "res" ],
383 type = "op_pin_state"
397 ins = [ "sel", "false", "true" ]
421 mode = "get_irn_mode(irn_op)"
436 ins = [ "mem", "dividend", "divisor" ],
437 outs = [ "M", "X_regular", "X_except", "res" ],
445 type = "op_pin_state"
461 ins = [ "mem", "ptr" ],
463 mode = "is_Method_type(get_entity_type(entity)) ? mode_P_code : mode_P_data",
486 op_flags = "cfopcode",
493 ins = [ "mem", "ptr", "value" ],
494 outs = [ "M", "X_regular", "X_except" ],
497 type = "ir_cons_flags",
502 #if PRECISE_EXC_CONTEXT
503 firm_alloc_frag_arr(res, op_Store, &res->attr.store.exc.frag_arr);
537 block = "get_irg_start_block(irg)",