- res = new_r_Return (current_ir_graph, get_new_node(get_nodes_Block(n)),
- get_new_node(get_Return_mem(n)),
- get_Return_n_res(n), in);
- }
- break;
- case iro_Raise:
- res = new_r_Raise (current_ir_graph, get_new_node(get_nodes_Block(n)),
- get_new_node(get_Raise_mem(n)),
- get_new_node(get_Raise_exo_ptr(n)));
- break;
- case iro_Const:
- res = new_r_Const (current_ir_graph, get_new_node(get_nodes_Block(n)),
- get_irn_mode(n), get_Const_tarval(n));
- break;
- case iro_SymConst:
- {
- type_or_id *value = NULL;
-
- if ((get_SymConst_kind(n)==type_tag) || (get_SymConst_kind(n)==size))
- {
-
- value = (type_or_id *) get_SymConst_type(n);
- }
- else
- {
- if (get_SymConst_kind(n)==linkage_ptr_info)
- {
- value = (type_or_id *) get_SymConst_ptrinfo(n);
- }
- }
- res = new_r_SymConst (current_ir_graph, get_new_node(get_nodes_Block(n)),
- value, get_SymConst_kind (n));
- }
- break;
- case iro_Sel:
- {
- ir_node **in = get_Sel_index_arr(n);
- for (i = 0; i < get_Sel_n_index(n); i++)
- set_Sel_index(n, i, get_new_node(get_Sel_index(n, i)));
- res = new_r_Sel (current_ir_graph, get_new_node(get_nodes_Block(n)),
- get_new_node(get_Sel_mem(n)),
- get_new_node(get_Sel_ptr(n)), get_Sel_n_index(n),
- in, get_Sel_entity(n));
- }
- break;
- case iro_Call:
- {
- ir_node **in = get_Call_param_arr(n);
- for (i = 0; i < get_Call_arity(n); i++)
- set_Call_param(n, i, get_new_node(get_Call_param(n, i)));
- res = new_r_Call (current_ir_graph, get_new_node(get_nodes_Block(n)),
- get_new_node(get_Call_mem(n)),
- get_new_node(get_Call_ptr(n)), get_Call_arity(n),
- in, get_Call_type (n));
- }
- break;
- case iro_Add:
- res = new_r_Add (current_ir_graph, get_new_node(get_nodes_Block(n)),
- get_new_node(a), get_new_node(b), get_irn_mode(n));
- break;
- case iro_Sub:
- {
- res = new_r_Sub (current_ir_graph, get_new_node(get_nodes_Block(n)),
- get_new_node(a), get_new_node(b), get_irn_mode(n));
- }
- break;
- case iro_Minus:
- res = new_r_Minus (current_ir_graph, get_new_node(get_nodes_Block(n)),
- get_new_node(a), get_irn_mode(n));
- break;
- case iro_Mul:
- res = new_r_Mul (current_ir_graph, get_new_node(get_nodes_Block(n)),
- get_new_node(a), get_new_node(b), get_irn_mode(n));
- break;
- case iro_Quot:
- res = new_r_Quot (current_ir_graph, get_new_node(get_nodes_Block(n)),
- get_new_node(get_Quot_mem(n)), get_new_node(a),
- get_new_node(b));
- break;
- case iro_DivMod:
- res = new_r_DivMod (current_ir_graph, get_new_node(get_nodes_Block(n)),
- get_new_node(get_DivMod_mem(n)), get_new_node(a),
- get_new_node(b));
- break;
- case iro_Div:
- res = new_r_Div (current_ir_graph, get_new_node(get_nodes_Block(n)),
- get_new_node(get_Div_mem(n)), get_new_node(a),
- get_new_node(b));
- break;
- case iro_Mod:
- res = new_r_Mod (current_ir_graph, get_new_node(get_nodes_Block(n)),
- get_new_node(get_Mod_mem(n)), get_new_node(a),
- get_new_node(b));
- break;
- case iro_Abs:
- res = new_r_Abs (current_ir_graph, get_new_node(get_nodes_Block(n)),
- get_new_node(get_Abs_op(n)), get_irn_mode(n));
- break;
- case iro_And:
- res = new_r_And (current_ir_graph, get_new_node(get_nodes_Block(n)),
- get_new_node(a), get_new_node(b), get_irn_mode(n));
- break;
- case iro_Or:
- res = new_r_Or (current_ir_graph, get_new_node(get_nodes_Block(n)),
- get_new_node(a), get_new_node(b), get_irn_mode(n));
- break;
- case iro_Eor:
- res = new_r_Eor (current_ir_graph, get_new_node(get_nodes_Block(n)),
- get_new_node(a), get_new_node(b), get_irn_mode(n));
- break;
- case iro_Not:
- res = new_r_Not (current_ir_graph, get_new_node(get_nodes_Block(n)),
- get_new_node(get_Not_op(n)), get_irn_mode(n));
- break;
- case iro_Cmp:
- res = new_r_Cmp (current_ir_graph, get_new_node(get_nodes_Block(n)),
- get_new_node(get_Cmp_left(n)),
- get_new_node(get_Cmp_right(n)));
- break;
- case iro_Shl:
- res = new_r_Shl (current_ir_graph, get_new_node(get_nodes_Block(n)),
- get_new_node(get_Shl_left(n)),
- get_new_node(get_Shl_right(n)), get_irn_mode(n));
- break;
- case iro_Shr:
- res = new_r_Shr (current_ir_graph, get_new_node(get_nodes_Block(n)),
- get_new_node(get_Shr_left(n)),
- get_new_node(get_Shr_right(n)), get_irn_mode(n));
- break;
- case iro_Shrs:
- res = new_r_Shrs (current_ir_graph, get_new_node(get_nodes_Block(n)),
- get_new_node(get_Shrs_left(n)),
- get_new_node(get_Shrs_right(n)), get_irn_mode(n));
- break;
- case iro_Rot:
- res = new_r_Rot (current_ir_graph, get_new_node(get_nodes_Block(n)),
- get_new_node(get_Rot_left(n)),
- get_new_node(get_Rot_right(n)), get_irn_mode(n));
- break;
- case iro_Conv:
- res = new_r_Conv (current_ir_graph, get_new_node(get_nodes_Block(n)),
- get_new_node(get_Conv_op(n)),
- get_irn_mode(n));
- break;
- case iro_Phi:
- {
- ir_node **in = get_Phi_preds_arr(n);
- for (i = 0; i < get_Phi_n_preds(n); i++)
- set_Phi_pred(n, i, get_new_node(get_Phi_pred(n, i)));
- res = new_r_Phi (current_ir_graph, get_new_node(get_nodes_Block(n)),
- get_Phi_n_preds(n), in, get_irn_mode(n));
- }
- break;
- case iro_Load:
- res = new_r_Load (current_ir_graph, get_new_node(get_nodes_Block(n)),
- get_new_node(get_Load_mem(n)),
- get_new_node(get_Load_ptr(n)));
- break;
- case iro_Store:
- res = new_r_Store (current_ir_graph, get_new_node(get_nodes_Block(n)),
- get_new_node(get_Store_mem(n)),
- get_new_node(get_Store_ptr(n)),
- get_new_node(get_Store_value(n)));
- break;
- case iro_Alloc:
- res = new_r_Alloc (current_ir_graph, get_new_node(get_nodes_Block(n)),
- get_new_node(get_Alloc_mem(n)),
- get_new_node(get_Alloc_size(n)),
- get_Alloc_type(n), get_Alloc_where(n));
-
- break;
- case iro_Free:
- res = new_r_Free (current_ir_graph, get_new_node(get_nodes_Block(n)),
- get_new_node(get_Free_mem(n)),
- get_new_node(get_Free_ptr(n)),
- get_new_node(get_Free_size(n)), get_Free_type(n));
- break;
- case iro_Sync:
- {
- ir_node **in = get_Sync_preds_arr(n);
- for (i = 0; i < get_Sync_n_preds(n); i++)
- set_Sync_pred(n, i, get_new_node(get_Sync_pred(n, i)));
- res = new_r_Sync (current_ir_graph, get_new_node(get_nodes_Block(n)),
- get_Sync_n_preds(n), in);
- }
- break;
- case iro_Proj:
- res = new_r_Proj (current_ir_graph, get_new_node(get_nodes_Block(n)),
- get_new_node(get_Proj_pred(n)), get_irn_mode(n),
- get_Proj_proj(n));
- break;
- case iro_Tuple:
- {
- ir_node **in = get_Tuple_preds_arr(n);
- for (i = 0; i < get_Tuple_n_preds(n); i++)
- set_Tuple_pred(n, i, get_new_node(get_Tuple_pred(n, i)));
- res = new_r_Tuple (current_ir_graph, get_new_node(get_nodes_Block(n)),
- get_Tuple_n_preds(n), in);
- }
- break;
- case iro_Id:
- res = new_r_Id (current_ir_graph, get_new_node(get_nodes_Block(n)),
- get_new_node(get_Id_pred(n)), get_irn_mode(n));
- break;
- case iro_Bad:
- res = new_r_Bad ();
- break;