[tree-ssa] [PATCH]: Add some PRE regression tests

Daniel Berlin dberlin@dberlin.org
Tue Nov 25 18:39:00 GMT 2003


This patch adds two regression tests for recent PRE bugs that are now 
fixed.

This is the first time i've added regression tests, so i'd appreciate 
it if one of you could look these over.

Basically, if PRE is broken again, these tests will fail to compile due 
to an abort or another error message (IE there is no need to execute 
them).

Also, do i need a changelog entry for new tests (what changelog do they 
go in?)

Index: testsuite/gcc.dg/tree-ssa/20031125-1.c
===================================================================
RCS file: testsuite/gcc.dg/tree-ssa/20031125-1.c
diff -N testsuite/gcc.dg/tree-ssa/20031125-1.c
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ testsuite/gcc.dg/tree-ssa/20031125-1.c	25 Nov 2003 17:58:33 -0000
@@ -0,0 +1,30 @@
+/* { dg-do compile } */
+/* { dg-options "-O2" } */
+short *_offsetTable;
+void proc4WithoutFDFE(char *dst, const char *src, int next_offs, int 
bw,
+		int bh, int pitch)
+{
+	do {
+		int i = bw;
+		int code = *src++;
+		int x, l;
+		int length = *src++ + 1;
+
+		for (l = 0; l < length; l++) {
+			int x;
+
+			for (x = 0; x < 4; x++) ;
+			if (i == 0)
+				dst += pitch * 3;
+		}
+		char *dst2 = dst + _offsetTable[code] + next_offs;
+
+		for (x = 0; x < 4; x++) {
+			int j = 0;
+			(dst + pitch * x)[j] = (dst2 + pitch * x)[j];
+		}
+		dst += pitch * 3;
+	} while (--bh);
+}
+
+
Index: testsuite/gcc.dg/tree-ssa/20031125-2.c
===================================================================
RCS file: testsuite/gcc.dg/tree-ssa/20031125-2.c
diff -N testsuite/gcc.dg/tree-ssa/20031125-2.c
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ testsuite/gcc.dg/tree-ssa/20031125-2.c	25 Nov 2003 17:58:33 -0000
@@ -0,0 +1,17 @@
+/* { dg-do compile } */
+/* { dg-options "-O2" } */
+struct BlobSpan {
+	int right;
+};
+void render_blob_line(struct BlobSpan blobdata) {
+	int buf[4 * 8];
+	int *data = buf;
+	int i, n = 0;
+	if (blobdata.right)
+		n++;
+	if (n)
+		for (; i < 2 * n;)
+			data[i] = 0;
+	n *= 2;
+	for (; n;) ;
+}



More information about the Gcc-patches mailing list