diff options
author | Jeff Law <law@redhat.com> | 2016-02-27 23:34:20 -0700 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 2016-02-27 23:34:20 -0700 |
commit | bd54250843b21166cb59fec813cd095b93bd3469 (patch) | |
tree | 26474a452da2468c2d5b072574636f450c0fef5a /gcc/cfghooks.c | |
parent | 460006a23091588c4a42423eeb91128b48dcd0f5 (diff) | |
download | gcc-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.c | 15 |
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. */ |