From: Michael Beck Date: Tue, 24 Jul 2007 14:06:57 +0000 (+0000) Subject: get_irp_next_label_nr() added X-Git-Url: http://nsz.repo.hu/git/?a=commitdiff_plain;h=162b3cdaabf621e5a68431521abfa203a5e351ff;p=libfirm get_irp_next_label_nr() added [r15308] --- diff --git a/ir/ir/irprog.c b/ir/ir/irprog.c index e48f791f3..9cbd7a6b2 100644 --- a/ir/ir/irprog.c +++ b/ir/ir/irprog.c @@ -20,7 +20,7 @@ /** * @file * @brief Entry point to the representation of a whole program. - * @author Goetz Lindenmaier + * @author Goetz Lindenmaier, Michael Beck * @date 2000 * @version $Id$ */ @@ -67,6 +67,7 @@ static ir_prog *new_incomplete_ir_prog(void) { res->modes = NEW_ARR_F(ir_mode *, 0); res->opcodes = NEW_ARR_F(ir_op *, 0); res->last_region_nr = 0; + res->last_label_nr = 0; #ifdef DEBUG_libfirm res->max_node_nr = 0; @@ -394,3 +395,8 @@ void set_irp_callee_info_state(irg_callee_info_state s) { ir_exc_region_t (get_irp_next_region_nr)(void) { return _get_irp_next_region_nr(); } + +/* Returns a new, unique label number. */ +ir_label_t (get_irp_next_label_nr)(void) { + return _get_irp_next_label_nr(); +} diff --git a/ir/ir/irprog_t.h b/ir/ir/irprog_t.h index 4b9de62f9..761434804 100644 --- a/ir/ir/irprog_t.h +++ b/ir/ir/irprog_t.h @@ -132,6 +132,13 @@ _get_irp_next_region_nr(void) { return ++irp->last_region_nr; } +/** Returns a new, unique label number. */ +static INLINE ir_label_t +_get_irp_next_label_nr(void) { + assert(irp); + return ++irp->last_label_nr; +} + void set_irp_ip_outedges(ir_node ** ip_outedges); ir_node** get_irp_ip_outedges(void); @@ -154,5 +161,6 @@ void init_irprog_2(void); #define get_glob_type() _get_glob_type() #define get_tls_type() _get_tls_type() #define get_irp_next_region_nr() _get_irp_next_region_nr() +#define get_irp_next_label_nr() _get_irp_next_label_nr() #endif