- changed handling of Mux nodes: these are now optimized using the iropt instead...
[libfirm] / ir / ir / irgraph.c
index deb76bd..df317c7 100644 (file)
@@ -259,7 +259,6 @@ ir_graph *new_r_ir_graph(ir_entity *ent, int n_loc) {
        set_irg_frame           (res, new_Proj(start, mode_P_data, pn_Start_P_frame_base));
        set_irg_tls             (res, new_Proj(start, mode_P_data, pn_Start_P_tls));
        set_irg_args            (res, new_Proj(start, mode_T,      pn_Start_T_args));
-       set_irg_value_param_base(res, new_Proj(start, mode_P_data, pn_Start_P_value_arg_base));
        initial_mem             = new_Proj(start, mode_M, pn_Start_M);
        set_irg_initial_mem(res, initial_mem);
 
@@ -584,6 +583,10 @@ int get_irg_idx(const ir_graph *irg) {
        return irg->index;
 }
 
+ir_node *(get_idx_irn)(ir_graph *irg, unsigned idx) {
+       return _get_idx_irn(irg, idx);
+}
+
 ir_node *
 (get_irg_start_block)(const ir_graph *irg) {
        return _get_irg_start_block(irg);
@@ -695,16 +698,6 @@ void
        _set_irg_args(irg, node);
 }
 
-ir_node *
-(get_irg_value_param_base)(const ir_graph *irg) {
-       return _get_irg_value_param_base(irg);
-}
-
-void
-(set_irg_value_param_base)(ir_graph *irg, ir_node *node) {
-       _set_irg_value_param_base(irg, node);
-}
-
 ir_node *
 (get_irg_bad)(const ir_graph *irg) {
        return _get_irg_bad(irg);
@@ -755,6 +748,13 @@ void
        _set_irg_frame_type(irg, ftp);
 }
 
+/* Returns the value parameter type of an IR graph. */
+ir_type *get_irg_value_param_type(ir_graph *irg) {
+       ir_entity *ent = get_irg_entity(irg);
+       ir_type   *mtp = get_entity_type(ent);
+       return get_method_value_param_type(mtp);
+}
+
 int
 get_irg_n_locs(ir_graph *irg) {
        if (get_opt_precise_exc_context())