aboutsummaryrefslogtreecommitdiff
path: root/gcc/loop-iv.c
diff options
context:
space:
mode:
authorZdenek Dvorak <dvorakz@suse.cz>2006-01-25 00:37:25 +0100
committerZdenek Dvorak <rakdver@gcc.gnu.org>2006-01-24 23:37:25 +0000
commit7faaba2884bb256dc3e2c9addd5357fbde4e2c9c (patch)
tree2723447de8bdc4d36e534c51281d7fce24085ae3 /gcc/loop-iv.c
parent801a91f9c23b08fd6eff0a429472d669b46db2dc (diff)
downloadgcc-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.c13
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++)
{