summaryrefslogtreecommitdiff
path: root/gcc/df-problems.c
diff options
context:
space:
mode:
authorbonzini <bonzini@138bc75d-0d04-0410-961f-82ee72b054a4>2007-03-20 08:31:13 +0000
committerbonzini <bonzini@138bc75d-0d04-0410-961f-82ee72b054a4>2007-03-20 08:31:13 +0000
commit243f24c5b968096871674ab2d4131ca87da947af (patch)
treeac14daea0ef0dd3b428a5ec40c1293f79e2d5e54 /gcc/df-problems.c
parent9519f67b7354793ab2f76f4e10b48b258e5d6d63 (diff)
downloadgcc-243f24c5b968096871674ab2d4131ca87da947af.tar.gz
2007-03-19 Paolo Bonzini <bonzini@gnu.org>
PR rtl-optimization/30907 * fwprop.c (forward_propagate_into): Never propagate inside a loop. (fwprop_init): Always call loop_optimizer_initialize. (fwprop_done): Always call loop_optimizer_finalize. (fwprop): We always have loop info now. (gate_fwprop_addr): Remove. (pass_fwprop_addr): Use gate_fwprop as gate. PR rtl-optimization/30841 * df-problems.c (df_ru_local_compute, df_rd_local_compute, df_chain_alloc): Call df_reorganize_refs unconditionally. * df-scan.c (df_rescan_blocks, df_reorganize_refs): Change refs_organized to refs_organized_size. (df_ref_create_structure): Use refs_organized_size instead of bitmap_size if refs had been organized, and keep refs_organized_size up-to-date. * df.h (struct df_ref_info): Change refs_organized to refs_organized_size. (DF_DEFS_SIZE, DF_USES_SIZE): Use refs_organized_size instead of bitmap_size. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123084 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/df-problems.c')
-rw-r--r--gcc/df-problems.c14
1 files changed, 4 insertions, 10 deletions
diff --git a/gcc/df-problems.c b/gcc/df-problems.c
index ec80bf74f77..42710b203cf 100644
--- a/gcc/df-problems.c
+++ b/gcc/df-problems.c
@@ -586,9 +586,7 @@ df_ru_local_compute (struct dataflow *dflow,
bitmap dense_invalidated = problem_data->dense_invalidated_by_call;
df_set_seen ();
-
- if (!df->use_info.refs_organized)
- df_reorganize_refs (&df->use_info);
+ df_reorganize_refs (&df->use_info);
EXECUTE_IF_SET_IN_BITMAP (all_blocks, 0, bb_index, bi)
{
@@ -1109,9 +1107,7 @@ df_rd_local_compute (struct dataflow *dflow,
bitmap dense_invalidated = problem_data->dense_invalidated_by_call;
df_set_seen ();
-
- if (!df->def_info.refs_organized)
- df_reorganize_refs (&df->def_info);
+ df_reorganize_refs (&df->def_info);
EXECUTE_IF_SET_IN_BITMAP (all_blocks, 0, bb_index, bi)
{
@@ -2771,8 +2767,7 @@ df_chain_alloc (struct dataflow *dflow,
if (dflow->flags & DF_DU_CHAIN)
{
- if (!df->def_info.refs_organized)
- df_reorganize_refs (&df->def_info);
+ df_reorganize_refs (&df->def_info);
/* Clear out the pointers from the refs. */
for (i = 0; i < DF_DEFS_SIZE (df); i++)
@@ -2784,8 +2779,7 @@ df_chain_alloc (struct dataflow *dflow,
if (dflow->flags & DF_UD_CHAIN)
{
- if (!df->use_info.refs_organized)
- df_reorganize_refs (&df->use_info);
+ df_reorganize_refs (&df->use_info);
for (i = 0; i < DF_USES_SIZE (df); i++)
{
struct df_ref *ref = df->use_info.refs[i];