/**
* @file
* @brief Entry point to the representation of a whole program.
- * @author Goetz Lindenmaier
+ * @author Goetz Lindenmaier, Michael Beck
* @date 2000
* @version $Id$
*/
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;
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();
+}
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);
#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