X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fana%2Firscc.c;h=13c1d7c214e10ebb0678318df9c465a8a7c858e1;hb=78bac126e7f9ca55761ab892ebfa9c19a4a65fcf;hp=0da5fd65a8a5fac86f1343fb5abbadd34e7cf948;hpb=ce6161a7e42a48f7422b7babcc64d8ace18e2687;p=libfirm diff --git a/ir/ana/irscc.c b/ir/ana/irscc.c index 0da5fd65a..13c1d7c21 100644 --- a/ir/ana/irscc.c +++ b/ir/ana/irscc.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 1995-2008 University of Karlsruhe. All right reserved. + * Copyright (C) 1995-2011 University of Karlsruhe. All right reserved. * * This file is part of libFirm. * @@ -58,7 +58,7 @@ static int loop_node_cnt = 0; /** Counter to generate depth first numbering of visited nodes. */ static int current_dfn = 1; -static int max_loop_depth = 0; +static unsigned max_loop_depth = 0; void link_to_reg_end(ir_node *n, void *env); void set_projx_link(ir_node *cb_projx, ir_node *end_projx); @@ -197,7 +197,7 @@ ir_loop * get_irn_loop(ir_node *n) /**********************************************************************/ static ir_node **stack = NULL; -static int tos = 0; /* top of stack */ +static size_t tos = 0; /* top of stack */ /** * initializes the stack @@ -229,10 +229,10 @@ static void finish_stack(void) static inline void push(ir_node *n) { if (tos == ARR_LEN(stack)) { - int nlen = ARR_LEN(stack) * 2; + size_t nlen = ARR_LEN(stack) * 2; ARR_RESIZE(ir_node *, stack, nlen); } - stack [tos++] = n; + stack[tos++] = n; mark_irn_in_stack(n); } @@ -243,7 +243,10 @@ static inline void push(ir_node *n) */ static inline ir_node *pop(void) { - ir_node *n = stack[--tos]; + ir_node *n; + + assert(tos > 0); + n = stack[--tos]; mark_irn_not_in_stack(n); return n; } @@ -271,7 +274,7 @@ static inline void pop_scc_to_loop(ir_node *n) can't they have two loops as sons? Does it never get that far? ) */ static void close_loop(ir_loop *l) { - int last = get_loop_n_elements(l) - 1; + size_t last = get_loop_n_elements(l) - 1; loop_element lelement = get_loop_element(l, last); ir_loop *last_son = lelement.son; @@ -821,7 +824,7 @@ void free_loop_information(ir_graph *irg) void free_all_loop_information(void) { - int i; + size_t i; for (i = 0; i < get_irp_n_irgs(); i++) { free_loop_information(get_irp_irg(i)); } @@ -833,7 +836,7 @@ void free_all_loop_information(void) static int is_loop_variant(ir_loop *l, ir_loop *b) { - int i, n_elems; + size_t i, n_elems; if (l == b) return 1;