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
This commit is contained in:
parent
460006a230
commit
bd54250843
@ -1,3 +1,14 @@
|
||||
2016-02-27 Jeff Law <law@redhat.com>
|
||||
|
||||
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.
|
||||
|
||||
2016-02-27 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR rtl-optimization/69896
|
||||
|
@ -408,21 +408,8 @@ 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);
|
||||
}
|
||||
|
||||
/* This is probably not needed, but it doesn't hurt. */
|
||||
/* FIXME: This should be called via a remove_edge hook. */
|
||||
if (current_ir_type () == IR_GIMPLE)
|
||||
|
@ -1,3 +1,13 @@
|
||||
2016-02-27 Jeff Law <law@redhat.com>
|
||||
|
||||
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.
|
||||
|
||||
2016-02-27 Jerry DeLisle <jvdelisle@gcc.gnu.org>
|
||||
|
||||
PR fortran/69910
|
||||
|
@ -1,12 +0,0 @@
|
||||
char a;
|
||||
short b;
|
||||
void fn1() {
|
||||
if (b)
|
||||
;
|
||||
else {
|
||||
int c[1] = {0};
|
||||
l1:;
|
||||
}
|
||||
if (a)
|
||||
goto l1;
|
||||
}
|
@ -1,19 +0,0 @@
|
||||
inline int foo(int *p1, int p2) {
|
||||
int z = *p1;
|
||||
while (z > p2)
|
||||
p2 = 2;
|
||||
return z;
|
||||
}
|
||||
int main() {
|
||||
int i;
|
||||
for (;;) {
|
||||
int j, k;
|
||||
i = foo(&k, 7);
|
||||
if (k)
|
||||
j = i;
|
||||
else
|
||||
k = j;
|
||||
if (2 != j)
|
||||
__builtin_abort();
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user