aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-vrp.c
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2013-03-25 12:54:56 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2013-03-25 12:54:56 +0000
commit051b94466891c0eedaf808be384fa8696a680380 (patch)
treefa0165b9a6a62351e59b8ce797a10ff937f85616 /gcc/tree-vrp.c
parent374001cbeedd6e59a21bad4b62e40c5657e79645 (diff)
downloadgcc-051b94466891c0eedaf808be384fa8696a680380.zip
gcc-051b94466891c0eedaf808be384fa8696a680380.tar.gz
gcc-051b94466891c0eedaf808be384fa8696a680380.tar.bz2
re PR bootstrap/56689 (internal compiler error: in get_loop_body, at cfgloop.c:841)
2013-03-25 Richard Biener <rguenther@suse.de> PR tree-optimization/56689 * tree-vrp.c (execute_vrp): Mark loops for fixup if we removed any edge. * gcc.dg/torture/pr56689.c: New testcase. From-SVN: r197039
Diffstat (limited to 'gcc/tree-vrp.c')
-rw-r--r--gcc/tree-vrp.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/gcc/tree-vrp.c b/gcc/tree-vrp.c
index a38b14d..250a506 100644
--- a/gcc/tree-vrp.c
+++ b/gcc/tree-vrp.c
@@ -9329,7 +9329,11 @@ execute_vrp (void)
}
if (to_remove_edges.length () > 0)
- free_dominance_info (CDI_DOMINATORS);
+ {
+ free_dominance_info (CDI_DOMINATORS);
+ if (current_loops)
+ loops_state_set (LOOPS_NEED_FIXUP);
+ }
to_remove_edges.release ();
to_update_switch_stmts.release ();