X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fir%2Fircons_t.h;h=46066ccef310d9a27b75e2a1e3c59065eb9b9c09;hb=a947c2090825c6a49b3fbfaafc00c8c34d649a40;hp=64cb2b7fd3203c9f6b1af603a6c099c809556612;hpb=d697a307b98ca3812f0ed43c6f8a404b29613c7e;p=libfirm diff --git a/ir/ir/ircons_t.h b/ir/ir/ircons_t.h index 64cb2b7fd..46066ccef 100644 --- a/ir/ir/ircons_t.h +++ b/ir/ir/ircons_t.h @@ -56,20 +56,28 @@ ir_node *new_Anchor(ir_graph *irg); */ void firm_alloc_frag_arr(ir_node *irn, ir_op *op, ir_node ***frag_store); -/* inline functions */ - -static INLINE ir_node * -_new_d_Bad(void) { - return get_irg_bad(current_ir_graph); -} - -static INLINE ir_node * -_new_d_NoMem(void) { - return get_irg_no_mem(current_ir_graph); -} - +/** + * Restarts SSA construction on the given graph with n_loc + * new values. + * + * @param irg the graph on which the SSA construction is restarted + * @param n_loc number of new variables + * + * After this function is complete, the graph is in phase_building + * again and set_value()/get_value() and mature_block() can be used + * to construct new values. + * + * @note do not use get_mem()/set_mem() they will build a new memory + * instead of modifying the old one which might be not what you expect... + */ +void ssa_cons_start(ir_graph *irg, int n_loc); -#define new_d_Bad() _new_d_Bad() -#define new_d_NoMem() _new_d_NoMem() +/** + * Finalize the (restarted) SSA construction. Matures all blocks that are + * not matured yet and reset the graph state to phase_high. + * + * @param irg the graph on which the SSA construction was restarted + */ +void ssa_cons_finish(ir_graph *irg); #endif