diff options
author | Zdenek Dvorak <dvorakz@suse.cz> | 2006-01-25 00:37:25 +0100 |
---|---|---|
committer | Zdenek Dvorak <rakdver@gcc.gnu.org> | 2006-01-24 23:37:25 +0000 |
commit | 7faaba2884bb256dc3e2c9addd5357fbde4e2c9c (patch) | |
tree | 2723447de8bdc4d36e534c51281d7fce24085ae3 /gcc/loop-iv.c | |
parent | 801a91f9c23b08fd6eff0a429472d669b46db2dc (diff) | |
download | gcc-7faaba2884bb256dc3e2c9addd5357fbde4e2c9c.zip gcc-7faaba2884bb256dc3e2c9addd5357fbde4e2c9c.tar.gz gcc-7faaba2884bb256dc3e2c9addd5357fbde4e2c9c.tar.bz2 |
loop-iv.c (iv_analysis_loop_init): Use df analysis in a more efficient way.
* loop-iv.c (iv_analysis_loop_init): Use df analysis in a more
efficient way.
From-SVN: r110188
Diffstat (limited to 'gcc/loop-iv.c')
-rw-r--r-- | gcc/loop-iv.c | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/gcc/loop-iv.c b/gcc/loop-iv.c index 0321faa..e3ec78b 100644 --- a/gcc/loop-iv.c +++ b/gcc/loop-iv.c @@ -250,11 +250,14 @@ iv_analysis_loop_init (struct loop *loop) current_loop = loop; /* Clear the information from the analysis of the previous loop. */ - if (!first_time) - iv_analysis_done (); - df = df_init (DF_HARD_REGS | DF_EQUIV_NOTES); - df_chain_add_problem (df, DF_UD_CHAIN); - bivs = htab_create (10, biv_hash, biv_eq, free); + if (first_time) + { + df = df_init (DF_HARD_REGS | DF_EQUIV_NOTES); + df_chain_add_problem (df, DF_UD_CHAIN); + bivs = htab_create (10, biv_hash, biv_eq, free); + } + else + clear_iv_info (); for (i = 0; i < loop->num_nodes; i++) { |