> Date: Mon, 4 Dec 2023 12:58:03 +0100 (CET) > From: Richard Biener <rguent...@suse.de>
> On Sat, 2 Dec 2023, Hans-Peter Nilsson wrote: > > > Date: Fri, 1 Dec 2023 08:07:14 +0100 (CET) > > > From: Richard Biener <rguent...@suse.de> > > > I read from your messages that the testcases pass on arm*-*-*? > > Yes: they pass (currently XPASS) on arm-eabi and > > arm-unknown-linux-gnueabi, default configurations. But, > > scev-3 and -5 fail with for example -mcpu=cortex-r5 > > I see. As said, the testcases test for "cost" things, so that we > "regressed" might mean we really "regressed" here. Even the x86 -m32 > result is questionable. > > Of course whether using a single IV makes sense for all archs is > unknown. > > Btw, if we turn the testcases into ones that are (sub-)target > specific then we want to again use C code as input. > > I think at this point we've lost track and I'm juggling between > removing the testcases or moving them to a place they succeed > (with some specific -mcpu=?) > > Richard. So to not drop the ball(s) on this, here's a patch with your first alternative: remove them. Ok? -- >8 -- Subject: [PATCH] testsuite: Remove gcc.dg/tree-ssa/scev-3.c -4.c and 5.c These tests were recently xfailed on ilp32 targets though passing on almost all ilp32 targets (known exceptions: ia32 and some arm subtargets). They've been changed around too much to remain useful. PR testsuite/112786 * gcc.dg/tree-ssa/scev-3.c, gcc.dg/tree-ssa/scev-4.c, gcc.dg/tree-ssa/scev-5.c: Remove. --- gcc/testsuite/gcc.dg/tree-ssa/scev-3.c | 44 ----------------------- gcc/testsuite/gcc.dg/tree-ssa/scev-4.c | 49 -------------------------- gcc/testsuite/gcc.dg/tree-ssa/scev-5.c | 44 ----------------------- 3 files changed, 137 deletions(-) delete mode 100644 gcc/testsuite/gcc.dg/tree-ssa/scev-3.c delete mode 100644 gcc/testsuite/gcc.dg/tree-ssa/scev-4.c delete mode 100644 gcc/testsuite/gcc.dg/tree-ssa/scev-5.c diff --git a/gcc/testsuite/gcc.dg/tree-ssa/scev-3.c b/gcc/testsuite/gcc.dg/tree-ssa/scev-3.c deleted file mode 100644 index beea9aed9fe9..000000000000 --- a/gcc/testsuite/gcc.dg/tree-ssa/scev-3.c +++ /dev/null @@ -1,44 +0,0 @@ -/* { dg-do compile } */ -/* { dg-options "-O2 -fgimple -fdump-tree-ivopts" } */ - -int *a_p; -int a[1000]; - -void __GIMPLE (ssa,startwith ("loop")) -f (int k) -{ - int i; - int * _1; - -__BB(2): - i_5 = k_4(D); - if (i_5 <= 999) - goto __BB4; - else - goto __BB3; - -__BB(3): - return; - -__BB(4): - goto __BB5; - -__BB(5): - i_12 = __PHI (__BB6: i_9, __BB4: i_5); - _1 = &a[i_12]; - a_p = _1; - __MEM <int[1000]> ((int *)&a)[i_12] = 100; - i_9 = i_5 + i_12; - if (i_9 <= 999) - goto __BB6; - else - goto __BB3; - -__BB(6): - ; - goto __BB5; - -} - -/* Not all 32-bit systems fail this, but several do. */ -/* { dg-final { scan-tree-dump-times "&a" 1 "ivopts" { xfail ilp32 } } } */ diff --git a/gcc/testsuite/gcc.dg/tree-ssa/scev-4.c b/gcc/testsuite/gcc.dg/tree-ssa/scev-4.c deleted file mode 100644 index a97f75f81f65..000000000000 --- a/gcc/testsuite/gcc.dg/tree-ssa/scev-4.c +++ /dev/null @@ -1,49 +0,0 @@ -/* { dg-do compile } */ -/* { dg-options "-O2 -fgimple -fdump-tree-ivopts" } */ - -typedef struct { - int x; - int y; -} S; - -int *a_p; -S a[1000]; - -void __GIMPLE (ssa, startwith ("loop")) -f (int k) -{ - int i; - int * _1; - -__BB(2): - i_5 = k_4(D); - if (i_5 <= 999) - goto __BB4; - else - goto __BB3; - -__BB(3): - return; - -__BB(4): - goto __BB5; - -__BB(5): - i_12 = __PHI (__BB6: i_9, __BB4: i_5); - _1 = &a[i_12].y; - a_p = _1; - __MEM <S[1000]> ((int *)&a)[i_12].y = 100; - i_9 = i_5 + i_12; - if (i_9 <= 999) - goto __BB6; - else - goto __BB3; - -__BB(6): - ; - goto __BB5; - -} - -/* Not all 32-bit systems fail this, but several do. */ -/* { dg-final { scan-tree-dump-times "&a" 1 "ivopts" { xfail ilp32 } } } */ diff --git a/gcc/testsuite/gcc.dg/tree-ssa/scev-5.c b/gcc/testsuite/gcc.dg/tree-ssa/scev-5.c deleted file mode 100644 index 08f4260403c4..000000000000 --- a/gcc/testsuite/gcc.dg/tree-ssa/scev-5.c +++ /dev/null @@ -1,44 +0,0 @@ -/* { dg-do compile } */ -/* { dg-options "-O2 -fgimple -fdump-tree-ivopts" } */ - -int *a_p; -int a[1000]; - -void __GIMPLE (ssa,startwith ("loop")) -f (int k) -{ - long long int i; - int * _1; - -__BB(2): - i_5 = (long long int) k_4(D); - if (i_5 <= 999ll) - goto __BB4; - else - goto __BB3; - -__BB(3): - return; - -__BB(4): - goto __BB5; - -__BB(5): - i_12 = __PHI (__BB6: i_9, __BB4: i_5); - _1 = &a[i_12]; - a_p = _1; - __MEM <int[1000]> ((int *)&a)[i_12] = 100; - i_9 = i_5 + i_12; - if (i_9 <= 999ll) - goto __BB6; - else - goto __BB3; - -__BB(6): - ; - goto __BB5; - -} - -/* Not all 32-bit systems fail this, but several do. */ -/* { dg-final { scan-tree-dump-times "&a" 1 "ivopts" { xfail ilp32 } } } */ -- 2.30.2