- for (i=0; i <(get_Block_n_cfgpreds(n)); i++) {
- in[i] = get_Block_cfgpred (n, i);
- }
- res = new_r_Block (current_ir_graph, get_Block_n_cfgpreds(n), in);
- set_new_node(n, res);
- }
- break;
- case iro_Start:
- res = new_r_Start (current_ir_graph, get_new_node(n));
- set_new_node(n, res);
- break;
- case iro_End:
- res = new_r_End (current_ir_graph, get_new_node(n));
- set_new_node(n, res);
- break;
- case iro_Jmp:
- res = new_r_Jmp (current_ir_graph, get_new_node(n));
- set_new_node(n, res);
- break;
- case iro_Cond:
- res = new_r_Cond (current_ir_graph, get_new_node(n),
- get_Cond_selector(n));
- set_new_node(n, res);
- break;
- case iro_Return:
- {
- /*CS malloc*/
- ir_node *in [get_Return_n_res(n)];
- for (i=0; i <(get_Return_n_res(n)); i++) {
- in[i] = get_Return_res (n, i);
- }
- res = new_r_Return (current_ir_graph, get_new_node(n),
- get_Return_mem (n), get_Return_n_res(n), in);
- set_new_node(n, res);
- }
- break;
- case iro_Raise:
- res = new_r_Raise (current_ir_graph, get_new_node(n),
- get_Raise_mem(n), get_Raise_exoptr(n));
- set_new_node(n, res);
- break;
- case iro_Const:
- res = new_r_Const (current_ir_graph, get_new_node(n),
- get_irn_mode(n), get_Const_tarval(n));
- set_new_node(n, res);
- break;
- case iro_SymConst:
- {
- type_or_id *value;
- value = (type_or_id *) malloc (sizeof (type_or_id));
- 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(n), value,
- get_SymConst_kind (n));
- set_new_node(n, res);
- }
- break;
- case iro_Sel:
- {
- /*CS*/
- ir_node *in [get_Sel_n_index(n)];
- for (i=0; i <(get_Sel_n_index(n)); i++) {
- in[i] = get_Sel_index (n, i);
- }
- res = new_r_Sel (current_ir_graph, get_new_node(n),
- get_Sel_mem(n), get_Sel_ptr(n), get_Sel_n_index(n),
- in, get_Sel_entity(n));
- set_new_node(n, res);
- }
- break;
- case iro_Call:
- {
- /*CS*/
- ir_node *in [get_Call_arity(n)];
- for (i=0; i <(get_Call_arity(n)); i++) {
- in[i] = get_Call_param (n, i);
- }
- res = new_r_Call (current_ir_graph, get_new_node(n), get_Call_mem(n),
- get_Call_ptr(n), get_Call_arity(n),
- in, get_Call_type (n));
- set_new_node(n, res);
- }
- break;
- case iro_Add:
- res = new_r_Add (current_ir_graph, get_new_node(n),
- get_new_node(a), get_new_node(b), get_irn_mode(n));
- set_new_node(n, res);
- break;
- case iro_Sub:
- {
- ir_node *temp_node;
- temp_node = get_nodes_Block(n);
- res = new_r_Sub (current_ir_graph, get_new_node(temp_node),
- get_new_node(a), get_new_node(b), get_irn_mode(n));
- set_new_node(n, res);
- }
- break;
- case iro_Minus:
- res = new_r_Minus (current_ir_graph, get_new_node(n), get_new_node(a),
- get_irn_mode(n));
- set_new_node(n, res);
- break;
- case iro_Mul:
- res = new_r_Mul (current_ir_graph, get_new_node(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(n), 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(n), 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(n), 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(n), 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(n), get_Abs_op(n),
- get_irn_mode(n));
- break;
- case iro_And:
- res = new_r_And (current_ir_graph, get_new_node(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(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(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(n), get_Not_op(n),
- get_irn_mode(n));
- break;
- case iro_Cmp:
- res = new_r_Cmp (current_ir_graph, get_new_node(n), get_Cmp_left(n),
- get_Cmp_right(n));
- break;
- case iro_Shl:
- res = new_r_Shl (current_ir_graph, get_new_node(n), get_Shl_left(n),
- get_Shl_right(n), get_irn_mode(n));
- break;
- case iro_Shr:
- res = new_r_Shr (current_ir_graph, get_new_node(n), get_Shr_left(n),
- get_Shr_right(n), get_irn_mode(n));
- break;
- case iro_Shrs:
- res = new_r_Shrs (current_ir_graph, get_new_node(n), get_Shrs_left(n),
- get_Shrs_right(n), get_irn_mode(n));
- break;
- case iro_Rot:
- res = new_r_Rot (current_ir_graph, get_new_node(n), get_Rot_left(n),
- get_Rot_right(n), get_irn_mode(n));
- break;
- case iro_Conv:
- res = new_r_Conv (current_ir_graph, get_new_node(n), get_Conv_op(n),
- get_irn_mode(n));
- break;
- case iro_Phi:
- /*CS malloc*/
- {
- ir_node *in [get_Phi_n_preds(n)];
- for (i=0; i <(get_Phi_n_preds(n)); i++) {
- in[i] = get_Phi_pred (n, i);
- }
- res = new_r_Phi (current_ir_graph, get_new_node(n),
- get_Phi_n_preds(n), in, get_irn_mode(n));
- set_new_node(n, res);