diff options
author | Richard Biener <rguenther@suse.de> | 2013-03-25 12:54:56 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2013-03-25 12:54:56 +0000 |
commit | 051b94466891c0eedaf808be384fa8696a680380 (patch) | |
tree | fa0165b9a6a62351e59b8ce797a10ff937f85616 /gcc/tree-vrp.c | |
parent | 374001cbeedd6e59a21bad4b62e40c5657e79645 (diff) | |
download | gcc-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.c | 6 |
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 (); |