/**
* @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 = 1; /* 0 is reserved as non-label */
#ifdef DEBUG_libfirm
res->max_node_nr = 0;
void add_irp_opcode(ir_op *opcode) {
assert(opcode != NULL);
assert(irp);
- assert(opcode->code == ARR_LEN(irp->opcodes) && "new_ir_op() called in wrong order");
+ assert(opcode->code == (unsigned) ARR_LEN(irp->opcodes) && "new_ir_op() called in wrong order");
ARR_APP1(ir_op *, irp->opcodes, opcode);
}
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();
+}