From b818d1a93426c89deaeea9273e1fa400b5890c0e Mon Sep 17 00:00:00 2001 From: rakdver <rakdver@138bc75d-0d04-0410-961f-82ee72b054a4> Date: Tue, 24 Jan 2006 23:37:25 +0000 Subject: [PATCH] * loop-iv.c (iv_analysis_loop_init): Use df analysis in a more efficient way. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110188 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 5 +++++ gcc/loop-iv.c | 13 ++++++++----- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 7e12f30159e2..6614b548b2a7 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2006-01-25 Zdenek Dvorak <dvorakz@suse.cz> + + * loop-iv.c (iv_analysis_loop_init): Use df analysis in a more + efficient way. + 2006-01-24 DJ Delorie <dj@redhat.com> * expmed.c (store_bit_field): Don't arbitrarily deny using insv diff --git a/gcc/loop-iv.c b/gcc/loop-iv.c index 0321faa58e81..e3ec78b7cfcb 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++) { -- GitLab