aboutsummaryrefslogtreecommitdiff
path: root/gcc/fwprop.c
diff options
context:
space:
mode:
authorSteven Bosscher <steven@gcc.gnu.org>2013-01-31 20:16:07 +0000
committerSteven Bosscher <steven@gcc.gnu.org>2013-01-31 20:16:07 +0000
commitc5f4be845ac03fb125b36df3a4c843ecceb0ceec (patch)
tree139f3a4ed01812de1a59d784b01a1469f698cd0e /gcc/fwprop.c
parent7c81527e48c72ac3409f3bf848eca64bf69015e5 (diff)
downloadgcc-c5f4be845ac03fb125b36df3a4c843ecceb0ceec.zip
gcc-c5f4be845ac03fb125b36df3a4c843ecceb0ceec.tar.gz
gcc-c5f4be845ac03fb125b36df3a4c843ecceb0ceec.tar.bz2
re PR c/56113 (out of memory when compiling a function with many goto labels (50k > ))
PR middle-end/56113 * fwprop.c (fwprop_init): Set up loops without CFG modifications. From-SVN: r195632
Diffstat (limited to 'gcc/fwprop.c')
-rw-r--r--gcc/fwprop.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/gcc/fwprop.c b/gcc/fwprop.c
index a055fd0..6a82dea 100644
--- a/gcc/fwprop.c
+++ b/gcc/fwprop.c
@@ -1404,10 +1404,10 @@ fwprop_init (void)
calculate_dominance_info (CDI_DOMINATORS);
/* We do not always want to propagate into loops, so we have to find
- loops and be careful about them. But we have to call flow_loops_find
- before df_analyze, because flow_loops_find may introduce new jump
- insns (sadly) if we are not working in cfglayout mode. */
- loop_optimizer_init (0);
+ loops and be careful about them. Avoid CFG modifications so that
+ we don't have to update dominance information afterwards for
+ build_single_def_use_links. */
+ loop_optimizer_init (AVOID_CFG_MODIFICATIONS);
build_single_def_use_links ();
df_set_flags (DF_DEFER_INSN_RESCAN);