re PR target/69252 (gcc.dg/vect/vect-iv-9.c FAILs with -Os -fmodulo-sched -fmodulo-sched-allow-regmoves -fsched-pressure)
PR target/69252 * modulo-sched.c (optimize_sc): Allow branch-scheduling to add a new first stage. PR target/69252 * gcc.target/powerpc/pr69252.c: New test. From-SVN: r232712
This commit is contained in:
parent
7f370a2b0c
commit
38a516638d
@ -1,3 +1,9 @@
|
||||
2016-01-21 Roman Zhuykov <zhroma@ispras.ru>
|
||||
|
||||
PR target/69252
|
||||
* modulo-sched.c (optimize_sc): Allow branch-scheduling to add a new
|
||||
first stage.
|
||||
|
||||
2016-01-21 Jeff Law <law@redhat.com>
|
||||
|
||||
PR middle-end/69347
|
||||
|
@ -985,7 +985,7 @@ optimize_sc (partial_schedule_ptr ps, ddg_ptr g)
|
||||
int row = SMODULO (branch_cycle, ps->ii);
|
||||
int num_splits = 0;
|
||||
sbitmap must_precede, must_follow, tmp_precede, tmp_follow;
|
||||
int c;
|
||||
int min_cycle, c;
|
||||
|
||||
if (dump_file)
|
||||
fprintf (dump_file, "\nTrying to schedule node %d "
|
||||
@ -1040,6 +1040,7 @@ optimize_sc (partial_schedule_ptr ps, ddg_ptr g)
|
||||
if (next_ps_i->id == g->closing_branch->cuid)
|
||||
break;
|
||||
|
||||
min_cycle = PS_MIN_CYCLE (ps) - SMODULO (PS_MIN_CYCLE (ps), ps->ii);
|
||||
remove_node_from_ps (ps, next_ps_i);
|
||||
success =
|
||||
try_scheduling_node_in_cycle (ps, g->closing_branch->cuid, c,
|
||||
@ -1079,6 +1080,10 @@ optimize_sc (partial_schedule_ptr ps, ddg_ptr g)
|
||||
ok = true;
|
||||
}
|
||||
|
||||
/* This might have been added to a new first stage. */
|
||||
if (PS_MIN_CYCLE (ps) < min_cycle)
|
||||
reset_sched_times (ps, 0);
|
||||
|
||||
free (must_precede);
|
||||
free (must_follow);
|
||||
}
|
||||
|
@ -1,3 +1,8 @@
|
||||
2016-01-21 Martin Sebor <msebor@redhat.com>
|
||||
|
||||
PR target/69252
|
||||
* gcc.target/powerpc/pr69252.c: New test.
|
||||
|
||||
2016-01-21 Jerry DeLisle <jvdelisle@gcc.gnu.org>
|
||||
|
||||
PR fortran/65996
|
||||
|
28
gcc/testsuite/gcc.target/powerpc/pr69252.c
Normal file
28
gcc/testsuite/gcc.target/powerpc/pr69252.c
Normal file
@ -0,0 +1,28 @@
|
||||
/* PR target/69252 - [4.9/5/6 Regression] gcc.dg/vect/vect-iv-9.c FAILs
|
||||
with -Os -fmodulo-sched -fmodulo-sched-allow-regmoves -fsched-pressure */
|
||||
/* { dg-do run } */
|
||||
/* { dg-options "-Os -fmodulo-sched -fmodulo-sched-allow-regmoves -fsched-pressure " } */
|
||||
#define N 26
|
||||
int a[N];
|
||||
__attribute__ ((noinline, noclone))
|
||||
int main1 (int X)
|
||||
{
|
||||
int s = X;
|
||||
int i;
|
||||
for (i = 0; i < N; i++)
|
||||
s += (i + a[i]);
|
||||
return s;
|
||||
}
|
||||
|
||||
int
|
||||
main (void)
|
||||
{
|
||||
int s, i;
|
||||
for (i = 0; i < N; i++)
|
||||
a[i] = 2 * i;
|
||||
s = main1 (3);
|
||||
if (s != 978)
|
||||
__builtin_abort ();
|
||||
return 0;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user