aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorMark Mitchell <mark@codesourcery.com>2009-01-14 17:54:07 +0000
committerNathan Froyd <froydnj@gcc.gnu.org>2009-01-14 17:54:07 +0000
commit4e2199ab6834ed326b7a479e5381baed0255c72b (patch)
treea0df01ed0152c1baa793d547f4b70450e0fbb2f6 /gcc
parent5321dace269bedb0c7fc9ce3d18afa2257cf6099 (diff)
downloadgcc-4e2199ab6834ed326b7a479e5381baed0255c72b.zip
gcc-4e2199ab6834ed326b7a479e5381baed0255c72b.tar.gz
gcc-4e2199ab6834ed326b7a479e5381baed0255c72b.tar.bz2
vect-105.c: Prevent compiler from hoisting abort out of loop.
* gcc.dg/vect/vect-105.c: Prevent compiler from hoisting abort out of loop. From-SVN: r143378
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gcc.dg/vect/vect-105.c6
2 files changed, 10 insertions, 1 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 8432ec6..57e8d9c 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2009-01-14 Mark Mitchell <mark@codesourcery.com>
+
+ * gcc.dg/vect/vect-105.c: Prevent compiler from hoisting abort
+ out of loop.
+
2009-01-14 Richard Guenther <rguenther@suse.de>
PR tree-optimization/38826
diff --git a/gcc/testsuite/gcc.dg/vect/vect-105.c b/gcc/testsuite/gcc.dg/vect/vect-105.c
index eb21b16..bbf42af 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-105.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-105.c
@@ -16,6 +16,8 @@ static int a[N][N] = {{1,2,3,11},{4,5,6,12},{7,8,9,13},{34,45,67,83}};
static int b[N][N] = {{17,28,15,23},{0,2,3,24},{4,31,82,25},{29,31,432,256}};
static int c[N][N] = {{1,2,3,11},{4,9,13,34},{45,67,83,13},{34,45,67,83}};
+volatile int y;
+
__attribute__ ((noinline))
int main1 (int x) {
int i,j;
@@ -28,7 +30,9 @@ int main1 (int x) {
{
p->a[i][j] = a[i][j];
p->b[i][j] = b[i][j];
- if (x == 135)
+ /* Because Y is volatile, the compiler cannot move this check out
+ of the loop. */
+ if (y)
abort (); /* to avoid vectorization */
}
}