aboutsummaryrefslogtreecommitdiff
path: root/gcc/cfghooks.c
diff options
context:
space:
mode:
authorJeff Law <law@redhat.com>2016-02-27 23:34:20 -0700
committerJeff Law <law@gcc.gnu.org>2016-02-27 23:34:20 -0700
commitbd54250843b21166cb59fec813cd095b93bd3469 (patch)
tree26474a452da2468c2d5b072574636f450c0fef5a /gcc/cfghooks.c
parent460006a23091588c4a42423eeb91128b48dcd0f5 (diff)
downloadgcc-bd54250843b21166cb59fec813cd095b93bd3469.zip
gcc-bd54250843b21166cb59fec813cd095b93bd3469.tar.gz
gcc-bd54250843b21166cb59fec813cd095b93bd3469.tar.bz2
Revert
2016-02-26 Richard Biener <rguenther@suse.de> Jeff Law <law@redhat.com> PR tree-optimization/69740 * cfghooks.c (remove_edge): Request loop fixups if we delete an edge that might turn an irreducible loop into a natural loop. Revert 2016-02-26 Richard Biener <rguenther@suse.de> Jeff Law <law@redhat.com> PR tree-optimization/69740 * gcc.c-torture/compile/pr69740-1.c: New test. * gcc.c-torture/compile/pr69740-2.c: New test. From-SVN: r233787
Diffstat (limited to 'gcc/cfghooks.c')
-rw-r--r--gcc/cfghooks.c15
1 files changed, 1 insertions, 14 deletions
diff --git a/gcc/cfghooks.c b/gcc/cfghooks.c
index 06c05d1..bbb1017 100644
--- a/gcc/cfghooks.c
+++ b/gcc/cfghooks.c
@@ -408,20 +408,7 @@ void
remove_edge (edge e)
{
if (current_loops != NULL)
- {
- rescan_loop_exit (e, false, true);
-
- /* Removal of an edge inside an irreducible region or which leads
- to an irreducible region can turn the region into a natural loop.
- In that case, ask for the loop structure fixups.
-
- FIXME: Note that LOOPS_HAVE_MARKED_IRREDUCIBLE_REGIONS is not always
- set, so always ask for fixups when removing an edge in that case. */
- if (!loops_state_satisfies_p (LOOPS_HAVE_MARKED_IRREDUCIBLE_REGIONS)
- || (e->flags & EDGE_IRREDUCIBLE_LOOP)
- || (e->dest->flags & BB_IRREDUCIBLE_LOOP))
- loops_state_set (LOOPS_NEED_FIXUP);
- }
+ rescan_loop_exit (e, false, true);
/* This is probably not needed, but it doesn't hurt. */
/* FIXME: This should be called via a remove_edge hook. */