aboutsummaryrefslogtreecommitdiff
path: root/gcc/function.h
diff options
context:
space:
mode:
authorSteven Bosscher <steven@gcc.gnu.org>2005-02-20 11:09:16 +0000
committerSteven Bosscher <steven@gcc.gnu.org>2005-02-20 11:09:16 +0000
commita310245f28284af5e0f969dbc86ef4cb42fe83f0 (patch)
tree90c7593e6e12d11084f0ca47062016f232b3612f /gcc/function.h
parent9f9348d75afa0bbeb07232c7ad1acc4941b0d8fa (diff)
downloadgcc-a310245f28284af5e0f969dbc86ef4cb42fe83f0.zip
gcc-a310245f28284af5e0f969dbc86ef4cb42fe83f0.tar.gz
gcc-a310245f28284af5e0f969dbc86ef4cb42fe83f0.tar.bz2
re PR middle-end/19698 (Infinite loop in update_life_info)
PR middle-end/19698 * function.h (struct function): New field `max_loop_depth'. * cfgloop.c (establish_preds): Update maximum loop depth seen so far. (flow_loops_find): Reset the max loop depth count before finding loops. * flow.c (MAX_LIVENESS_ROUNDS): New constant. (update_life_info_in_dirty_blocks): Remove 2002-05-28 workaround. (calculate_global_regs_live): Make sure the loop will terminate when the initial sets are not empty. From-SVN: r95299
Diffstat (limited to 'gcc/function.h')
-rw-r--r--gcc/function.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/gcc/function.h b/gcc/function.h
index f760075..ef0f55a 100644
--- a/gcc/function.h
+++ b/gcc/function.h
@@ -284,12 +284,20 @@ struct function GTY(())
int no_debugging_symbols;
rtvec original_arg_vector;
tree original_decl_initial;
+
/* Highest label number in current function. */
int inl_max_label_num;
/* Function sequence number for profiling, debugging, etc. */
int funcdef_no;
+ /* For flow.c. */
+
+ /* Highest loop depth seen so far in loop analysis. Used in flow.c
+ for the "failure strategy" when doing liveness analysis starting
+ with non-empty initial sets. */
+ int max_loop_depth;
+
/* For md files. */
/* tm.h can use this to store whatever it likes. */