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);
- add_immBlock_pred(start_block, projX);
set_store(initial_mem);
res->index = get_irp_new_irg_idx();
res->graph_nr = get_irp_new_node_nr();
#endif
- /*
- * The code generation needs it. leave it in now.
- * Use of this edge is matter of discussion, unresolved. Also possible:
- * add_immBlock_pred(res->start_block, res->start_block), but invalid typed.
- */
mature_immBlock(res->current_block);
/*-- Make a block to start with --*/
/* Proj results of start node */
set_irg_initial_mem(res, new_Proj(start, mode_M, pn_Start_M));
projX = new_Proj(start, mode_X, pn_Start_X_initial_exec);
- add_immBlock_pred(start_block, projX);
mature_immBlock(start_block);
body_block = new_immBlock();
_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);
_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())
return additional_graph_data_size += size;
}
+
+void (set_irg_state)(ir_graph *irg, ir_graph_state_t state)
+{
+ _set_irg_state(irg, state);
+}
+
+void (clear_irg_state)(ir_graph *irg, ir_graph_state_t state)
+{
+ _clear_irg_state(irg, state);
+}
+
+int (is_irg_state)(const ir_graph *irg, ir_graph_state_t state)
+{
+ return _is_irg_state(irg, state);
+}