aboutsummaryrefslogtreecommitdiff
path: root/gcc/fwprop.c
diff options
context:
space:
mode:
authorBernd Schmidt <bernds@codesourcery.com>2010-04-26 21:17:17 +0000
committerBernd Schmidt <bernds@gcc.gnu.org>2010-04-26 21:17:17 +0000
commit823ff7b434a663ce1d060987027c7dee360ab9d2 (patch)
tree1c9584cc811e8ac51bda3af95fc87e52d368d92a /gcc/fwprop.c
parent1637c2e1ba572a859a9e99dd2ff16ddf88d8b3f7 (diff)
downloadgcc-823ff7b434a663ce1d060987027c7dee360ab9d2.zip
gcc-823ff7b434a663ce1d060987027c7dee360ab9d2.tar.gz
gcc-823ff7b434a663ce1d060987027c7dee360ab9d2.tar.bz2
df-problems.c (df_simulate_initialize_forwards): Set, don't clear, bits for artificial defs at the top of the block.
* df-problems.c (df_simulate_initialize_forwards): Set, don't clear, bits for artificial defs at the top of the block. * fwprop.c (single_def_use_enter_block): Don't call it. From-SVN: r158750
Diffstat (limited to 'gcc/fwprop.c')
-rw-r--r--gcc/fwprop.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/gcc/fwprop.c b/gcc/fwprop.c
index 7ac64aa..6e65093 100644
--- a/gcc/fwprop.c
+++ b/gcc/fwprop.c
@@ -228,7 +228,10 @@ single_def_use_enter_block (struct dom_walk_data *walk_data ATTRIBUTE_UNUSED,
process_uses (df_get_artificial_uses (bb_index), DF_REF_AT_TOP);
process_defs (df_get_artificial_defs (bb_index), DF_REF_AT_TOP);
- df_simulate_initialize_forwards (bb, local_lr);
+
+ /* We don't call df_simulate_initialize_forwards, as it may overestimate
+ the live registers if there are unused artificial defs. We prefer
+ liveness to be underestimated. */
FOR_BB_INSNS (bb, insn)
if (INSN_P (insn))