Commit a23e48df by Richard Biener Committed by Richard Biener

re PR testsuite/52563 (FAIL: gcc.dg/tree-ssa/scev-[3,4].c scan-tree-dump-times optimized "&a" 1)

2017-01-17  Richard Biener  <rguenther@suse.de>

	PR testsuite/52563
	PR testsuite/71237
	PR testsuite/77737
	* gcc.dg/tree-ssa/scev-3.c: Re-write to a GIMPLE testcase for IVOPTs.
	* gcc.dg/tree-ssa/scev-4.c: Likewise.
	* gcc.dg/tree-ssa/scev-5.c: Likewise.

From-SVN: r244519
parent b2bcb1b3
2017-01-17 Richard Biener <rguenther@suse.de>
PR testsuite/52563
PR testsuite/71237
PR testsuite/77737
* gcc.dg/tree-ssa/scev-3.c: Re-write to a GIMPLE testcase for IVOPTs.
* gcc.dg/tree-ssa/scev-4.c: Likewise.
* gcc.dg/tree-ssa/scev-5.c: Likewise.
2017-01-17 Alan Modra <amodra@gmail.com>
* gcc.target/powerpc/pr79066.c: New.
......
/* { dg-do compile } */
/* { dg-options "-O2 -fdump-tree-optimized" } */
/* { dg-options "-O2 -fgimple -fdump-tree-ivopts" } */
int *a_p;
int a[1000];
void
f(int k)
void __GIMPLE (startwith ("loop"))
f (int k)
{
int i;
int i;
int * _1;
bb_2:
i_5 = k_4(D);
if (i_5 <= 999)
goto bb_4;
else
goto bb_3;
bb_3:
return;
bb_4:
;
bb_5:
i_12 = __PHI (bb_6: i_9, bb_4: 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 bb_6;
else
goto bb_3;
bb_6:
;
goto bb_5;
for (i=k; i<1000; i+=k) {
a_p = &a[i];
*a_p = 100;
}
}
/* { dg-final { scan-tree-dump-times "&a" 1 "optimized" } } */
/* { dg-final { scan-tree-dump-times "&a" 1 "ivopts" } } */
/* { dg-do compile } */
/* { dg-options "-O2 -fdump-tree-optimized" } */
/* { dg-options "-O2 -fgimple -fdump-tree-ivopts" } */
typedef struct {
int x;
int y;
int x;
int y;
} S;
int *a_p;
S a[1000];
void
f(int k)
void __GIMPLE (startwith ("loop"))
f (int k)
{
int i;
int i;
int * _1;
bb_2:
i_5 = k_4(D);
if (i_5 <= 999)
goto bb_4;
else
goto bb_3;
bb_3:
return;
bb_4:
;
bb_5:
i_12 = __PHI (bb_6: i_9, bb_4: 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 bb_6;
else
goto bb_3;
bb_6:
;
goto bb_5;
for (i=k; i<1000; i+=k) {
a_p = &a[i].y;
*a_p = 100;
}
}
/* { dg-final { scan-tree-dump-times "&a" 1 "optimized" } } */
/* { dg-final { scan-tree-dump-times "&a" 1 "ivopts" } } */
/* { dg-do compile } */
/* { dg-options "-O2 -fdump-tree-optimized" } */
/* { dg-options "-O2 -fgimple -fdump-tree-ivopts" } */
int *a_p;
int a[1000];
void
f(int k)
void __GIMPLE (startwith ("loop"))
f (int k)
{
long long i;
long long int i;
int * _1;
bb_2:
i_5 = (long long int) k_4(D);
if (i_5 <= 999ll)
goto bb_4;
else
goto bb_3;
bb_3:
return;
bb_4:
;
bb_5:
i_12 = __PHI (bb_6: i_9, bb_4: 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 bb_6;
else
goto bb_3;
bb_6:
;
goto bb_5;
for (i=k; i<1000; i+=k) {
a_p = &a[i];
*a_p = 100;
}
}
/* { dg-final { scan-tree-dump-times "&a" 1 "optimized" } } */
/* { dg-final { scan-tree-dump-times "&a" 1 "ivopts" } } */
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment