re PR middle-end/30907 (Propagation of addresses within loops pessimizes code)
authorPaolo Bonzini <bonzini@gnu.org>
Tue, 20 Mar 2007 08:31:13 +0000 (08:31 +0000)
committerPaolo Bonzini <bonzini@gcc.gnu.org>
Tue, 20 Mar 2007 08:31:13 +0000 (08:31 +0000)
commitfb4061627b2cd9acb3298d8a7f3ad90ab2615cf7
treeac14daea0ef0dd3b428a5ec40c1293f79e2d5e54
parent0a85ec2e8c8a0d0632bbfc16ebe2d9eab4010995
re PR middle-end/30907 (Propagation of addresses within loops pessimizes code)

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.

From-SVN: r123084
gcc/ChangeLog
gcc/df-problems.c
gcc/df-scan.c
gcc/df.h
gcc/fwprop.c