diff options
author | Steven Bosscher <steven@gcc.gnu.org> | 2005-02-20 11:09:16 +0000 |
---|---|---|
committer | Steven Bosscher <steven@gcc.gnu.org> | 2005-02-20 11:09:16 +0000 |
commit | a310245f28284af5e0f969dbc86ef4cb42fe83f0 (patch) | |
tree | 90c7593e6e12d11084f0ca47062016f232b3612f /gcc/function.h | |
parent | 9f9348d75afa0bbeb07232c7ad1acc4941b0d8fa (diff) | |
download | gcc-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.h | 8 |
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. */ |