[avr,testsuite,committed] : Reduce avr fallout

Message ID 1140cfc9-bb71-67ab-a271-af895d773348@gjlay.de
State New
Headers show
Series
  • [avr,testsuite,committed] : Reduce avr fallout
Related show

Commit Message

Georg-Johann Lay Feb. 2, 2018, 12:33 p.m.
This patch reduces avr testsuite fallout for some cases that cannot be 
easily adjusted or where int32plus et al. is not the right filter.

Moreover, target-supports.exp reads:

# Return 1 if according to target_info struct and explicit target list
# target disables -fdelete-null-pointer-checks.  Targets should return 0
# if they simply default to -fno-delete-null-pointer-checks but obey
# -fdelete-null-pointer-checks when passed explicitly (and tests that
# depend on this option should do that).

proc check_effective_target_keeps_null_pointer_checks ...

This is now the case for avr, hence removed special-casing avr.

Applied as r257328.

Johann

gcc/testsuite/
	* lib/target-supports.exp
	(check_effective_target_keeps_null_pointer_checks): No more
	special-case avr.
	* gcc.dg/tree-ssa/pr21086.c (dg-final): Special-case avr.
	* gcc.dg/ifcvt-4.c: Skip avr.
	* gcc.dg/pr53037-1.c: Dito.
	* gcc.dg/pr53037-2.c: Dito.
	* gcc.dg/pr53037-3.c: Dito.
	* gcc.dg/pr63387-2.c: Dito.
	* gcc.dg/pr63387.c: Dito.
	* gcc.dg/sancov/cmp0.c: Dito.
	* gcc.dg/tree-ssa/loop-interchange-1.c: Dito.
	* gcc.dg/tree-ssa/loop-interchange-10.c: Dito.
	* gcc.dg/tree-ssa/loop-interchange-11.c: Dito.
	* gcc.dg/tree-ssa/loop-interchange-1b.c: Dito.
	* gcc.dg/tree-ssa/loop-interchange-2.c: Dito.
	* gcc.dg/tree-ssa/loop-interchange-3.c: Dito.
	* gcc.dg/tree-ssa/loop-interchange-4.c: Dito.
	* gcc.dg/tree-ssa/loop-interchange-5.c: Dito.
	* gcc.dg/tree-ssa/loop-interchange-6.c: Dito.
	* gcc.dg/tree-ssa/loop-interchange-7.c: Dito.
	* gcc.dg/tree-ssa/loop-interchange-8.c: Dito.
	* gcc.dg/tree-ssa/loop-interchange-9.c: Dito.
	* gcc.dg/tree-ssa/pr82059.c: Dito.
	* gcc.c-torture/execute/pr70460.c: Dito.

Patch

Index: lib/target-supports.exp
===================================================================
--- lib/target-supports.exp	(revision 257284)
+++ lib/target-supports.exp	(working copy)
@@ -557,8 +557,7 @@  proc check_effective_target_keeps_null_p
     if [target_info exists keeps_null_pointer_checks] {
       return 1
     }
-    if { [istarget avr-*-*]
-	 || [istarget msp430-*-*] } {
+    if { [istarget msp430-*-*] } {
 	return 1;   
     }
     return 0
Index: gcc.dg/ifcvt-4.c
===================================================================
--- gcc.dg/ifcvt-4.c	(revision 257284)
+++ gcc.dg/ifcvt-4.c	(working copy)
@@ -2,7 +2,7 @@ 
 /* { dg-additional-options "-misel" { target { powerpc*-*-* } } } */
 /* { dg-additional-options "-march=z196" { target { s390x-*-* } } } */
 /* { dg-additional-options "-mtune-ctrl=^one_if_conv_insn" { target { i?86-*-* x86_64-*-* } } } */
-/* { dg-skip-if "Multiple set if-conversion not guaranteed on all subtargets" { "arm*-*-* hppa*64*-*-* s390-*-* visium-*-*" riscv*-*-* } }  */
+/* { dg-skip-if "Multiple set if-conversion not guaranteed on all subtargets" { "arm*-*-* avr-*-* hppa*64*-*-* s390-*-* visium-*-*" riscv*-*-* } }  */
 /* { dg-skip-if "" { "s390x-*-*" } { "-m31" } }  */
 
 typedef int word __attribute__((mode(word)));
Index: gcc.dg/pr53037-1.c
===================================================================
--- gcc.dg/pr53037-1.c	(revision 257284)
+++ gcc.dg/pr53037-1.c	(working copy)
@@ -1,6 +1,7 @@ 
 /* PR c/53037.  */
 /* { dg-do compile } */
 /* { dg-options "-O0" } */
+/* { dg-skip-if "" { avr-*-* } } */
 
 typedef unsigned long long __u64
   __attribute__((aligned(4),warn_if_not_aligned(8)));
Index: gcc.dg/pr53037-2.c
===================================================================
--- gcc.dg/pr53037-2.c	(revision 257284)
+++ gcc.dg/pr53037-2.c	(working copy)
@@ -1,6 +1,7 @@ 
 /* PR c/53037.  */
 /* { dg-do compile } */
 /* { dg-options "-O0 -Wpacked-not-aligned" } */
+/* { dg-skip-if "" { avr-*-* } } */
 
 struct __attribute__ ((aligned (8))) S8 { char a[8]; };
 struct __attribute__ ((packed)) S1 {
Index: gcc.dg/pr53037-3.c
===================================================================
--- gcc.dg/pr53037-3.c	(revision 257284)
+++ gcc.dg/pr53037-3.c	(working copy)
@@ -1,6 +1,7 @@ 
 /* PR c/53037.  */
 /* { dg-do compile } */
 /* { dg-options "-O0 -Wall" } */
+/* { dg-skip-if "" { avr-*-* } } */
 
 struct __attribute__ ((aligned (8))) S8 { char a[8]; };
 struct __attribute__ ((packed)) S1 {
Index: gcc.dg/pr63387-2.c
===================================================================
--- gcc.dg/pr63387-2.c	(revision 257284)
+++ gcc.dg/pr63387-2.c	(working copy)
@@ -1,5 +1,6 @@ 
 /* { dg-do compile } */
 /* { dg-options "-O -fdump-tree-optimized" } */
+/* { dg-skip-if "using short-double" { avr-*-* } } */
 
 int f(double aaa, double bbb){
   int xa = !__builtin_isunordered(aaa, aaa);
Index: gcc.dg/pr63387.c
===================================================================
--- gcc.dg/pr63387.c	(revision 257284)
+++ gcc.dg/pr63387.c	(working copy)
@@ -1,5 +1,6 @@ 
 /* { dg-do compile } */
 /* { dg-options "-O -fdump-tree-optimized" } */
+/* { dg-skip-if "using short-double" { avr-*-* } } */
 
 int f(double aaa, double bbb){
   int xa = __builtin_isunordered(aaa, aaa);
Index: gcc.dg/sancov/cmp0.c
===================================================================
--- gcc.dg/sancov/cmp0.c	(revision 257284)
+++ gcc.dg/sancov/cmp0.c	(working copy)
@@ -1,6 +1,7 @@ 
 /* Basic test on number of inserted callbacks.  */
 /* { dg-do compile } */
 /* { dg-options "-fsanitize-coverage=trace-cmp -fdump-tree-optimized" } */
+/* { dg-skip-if "different type layout" { avr-*-* } } */
 
 void
 foo (char *a, short *b, int *c, long long *d, float *e, double *f)
Index: gcc.dg/tree-ssa/loop-interchange-1.c
===================================================================
--- gcc.dg/tree-ssa/loop-interchange-1.c	(revision 257284)
+++ gcc.dg/tree-ssa/loop-interchange-1.c	(working copy)
@@ -1,6 +1,6 @@ 
 /* { dg-do run } */
 /* { dg-options "-O2 -floop-interchange -fassociative-math -fno-signed-zeros -fno-trapping-math -fdump-tree-linterchange-details" } */
-/* { dg-skip-if "too big data segment" { visium-*-* } } */
+/* { dg-skip-if "too big data segment" { avr-*-* visium-*-* } } */
 
 /* Copied from graphite/interchange-4.c */
 
Index: gcc.dg/tree-ssa/loop-interchange-10.c
===================================================================
--- gcc.dg/tree-ssa/loop-interchange-10.c	(revision 257284)
+++ gcc.dg/tree-ssa/loop-interchange-10.c	(working copy)
@@ -1,6 +1,6 @@ 
 /* { dg-do run } */
 /* { dg-options "-O2 -floop-interchange -fdump-tree-linterchange-details" } */
-/* { dg-skip-if "too big data segment" { visium-*-* } } */
+/* { dg-skip-if "too big data segment" { avr-*-* visium-*-* } } */
 
 #define M 256
 int a[M][M], b[M][M];
Index: gcc.dg/tree-ssa/loop-interchange-11.c
===================================================================
--- gcc.dg/tree-ssa/loop-interchange-11.c	(revision 257284)
+++ gcc.dg/tree-ssa/loop-interchange-11.c	(working copy)
@@ -1,6 +1,6 @@ 
 /* { dg-do compile } */
 /* { dg-options "-O2 -floop-interchange -fdump-tree-linterchange-details" } */
-/* { dg-skip-if "too big data segment" { visium-*-* } } */
+/* { dg-skip-if "too big data segment" { avr-*-* visium-*-* } } */
 
 #define M 256
 int a[M][M], b[M][M];
Index: gcc.dg/tree-ssa/loop-interchange-1b.c
===================================================================
--- gcc.dg/tree-ssa/loop-interchange-1b.c	(revision 257284)
+++ gcc.dg/tree-ssa/loop-interchange-1b.c	(working copy)
@@ -1,6 +1,6 @@ 
 /* { dg-do run } */
 /* { dg-options "-O2 -floop-interchange -fdump-tree-linterchange-details" } */
-/* { dg-skip-if "too big data segment" { visium-*-* } } */
+/* { dg-skip-if "too big data segment" { avr-*-* visium-*-* } } */
 
 /* Copied from graphite/interchange-4.c */
 
Index: gcc.dg/tree-ssa/loop-interchange-2.c
===================================================================
--- gcc.dg/tree-ssa/loop-interchange-2.c	(revision 257284)
+++ gcc.dg/tree-ssa/loop-interchange-2.c	(working copy)
@@ -1,6 +1,6 @@ 
 /* { dg-do run } */
 /* { dg-options "-O2 -floop-interchange -fdump-tree-linterchange-details" } */
-/* { dg-skip-if "too big data segment" { visium-*-* } } */
+/* { dg-skip-if "too big data segment" { avr-*-* visium-*-* } } */
 
 /* Copied from graphite/interchange-5.c */
 
Index: gcc.dg/tree-ssa/loop-interchange-3.c
===================================================================
--- gcc.dg/tree-ssa/loop-interchange-3.c	(revision 257284)
+++ gcc.dg/tree-ssa/loop-interchange-3.c	(working copy)
@@ -1,6 +1,6 @@ 
 /* { dg-do run } */
 /* { dg-options "-O2 -floop-interchange -fdump-tree-linterchange-details" } */
-/* { dg-skip-if "too big stack" { visium-*-* } } */
+/* { dg-skip-if "too big stack" { avr-*-* visium-*-* } } */
 
 /* Copied from graphite/interchange-6.c */
 
Index: gcc.dg/tree-ssa/loop-interchange-4.c
===================================================================
--- gcc.dg/tree-ssa/loop-interchange-4.c	(revision 257284)
+++ gcc.dg/tree-ssa/loop-interchange-4.c	(working copy)
@@ -1,7 +1,7 @@ 
 /* { dg-do run } */
 /* { dg-options "-O2 -floop-interchange -fdump-tree-linterchange-details" } */
 /* { dg-require-stack-size "8*111*1111" } */
-/* { dg-skip-if "too big stack" { visium-*-* } } */
+/* { dg-skip-if "too big stack" { avr-*-* visium-*-* } } */
 
 /* Copied from graphite/interchange-7.c */
 
Index: gcc.dg/tree-ssa/loop-interchange-5.c
===================================================================
--- gcc.dg/tree-ssa/loop-interchange-5.c	(revision 257284)
+++ gcc.dg/tree-ssa/loop-interchange-5.c	(working copy)
@@ -1,6 +1,6 @@ 
 /* { dg-do run } */
 /* { dg-options "-O2 -floop-interchange -fdump-tree-linterchange-details" } */
-/* { dg-skip-if "too big data segment" { visium-*-* } } */
+/* { dg-skip-if "too big data segment" { avr-*-* visium-*-* } } */
 
 #define M 256
 int a[M][M], b[M][M], c[M][M], d[M][M];
Index: gcc.dg/tree-ssa/loop-interchange-6.c
===================================================================
--- gcc.dg/tree-ssa/loop-interchange-6.c	(revision 257284)
+++ gcc.dg/tree-ssa/loop-interchange-6.c	(working copy)
@@ -1,6 +1,6 @@ 
 /* { dg-do run } */
 /* { dg-options "-O2 -floop-interchange -fdump-tree-linterchange-details" } */
-/* { dg-skip-if "too big data segment" { visium-*-* } } */
+/* { dg-skip-if "too big data segment" { avr-*-* visium-*-* } } */
 
 #define M 256
 int a[M][M], b[M][M], c[M][M], d[M][M];
Index: gcc.dg/tree-ssa/loop-interchange-7.c
===================================================================
--- gcc.dg/tree-ssa/loop-interchange-7.c	(revision 257284)
+++ gcc.dg/tree-ssa/loop-interchange-7.c	(working copy)
@@ -1,6 +1,6 @@ 
 /* { dg-do run } */
 /* { dg-options "-O2 -floop-interchange -fdump-tree-linterchange-details" } */
-/* { dg-skip-if "too big data segment" { visium-*-* } } */
+/* { dg-skip-if "too big data segment" { avr-*-* visium-*-* } } */
 
 #define M 256
 int a[M][M], b[M][M], c[M][M], d[M][M];
Index: gcc.dg/tree-ssa/loop-interchange-8.c
===================================================================
--- gcc.dg/tree-ssa/loop-interchange-8.c	(revision 257284)
+++ gcc.dg/tree-ssa/loop-interchange-8.c	(working copy)
@@ -1,6 +1,6 @@ 
 /* { dg-do run } */
 /* { dg-options "-O2 -floop-interchange -fdump-tree-linterchange-details" } */
-/* { dg-skip-if "too big data segment" { visium-*-* } } */
+/* { dg-skip-if "too big data segment" { avr-*-* visium-*-* } } */
 
 #define M 256
 int a[M][M], b[M][M], c[M][M], d[M][M];
Index: gcc.dg/tree-ssa/loop-interchange-9.c
===================================================================
--- gcc.dg/tree-ssa/loop-interchange-9.c	(revision 257284)
+++ gcc.dg/tree-ssa/loop-interchange-9.c	(working copy)
@@ -1,6 +1,6 @@ 
 /* { dg-do run } */
 /* { dg-options "-O2 -floop-interchange -fdump-tree-linterchange-details" } */
-/* { dg-skip-if "too big data segment" { visium-*-* } } */
+/* { dg-skip-if "too big data segment" { avr-*-* visium-*-* } } */
 
 #define M 256
 int a[M][M], b[M][M], c[M], d[M];
Index: gcc.dg/tree-ssa/pr21086.c
===================================================================
--- gcc.dg/tree-ssa/pr21086.c	(revision 257284)
+++ gcc.dg/tree-ssa/pr21086.c	(working copy)
@@ -18,5 +18,3 @@  foo (int *p)
 /* Target disabling -fdelete-null-pointer-checks should not fold checks */
 /* { dg-final { scan-tree-dump "Folding predicate " "vrp1" { target { ! keeps_null_pointer_checks } } } } */
 /* { dg-final { scan-tree-dump-times "Folding predicate " 0 "vrp1" { target {   keeps_null_pointer_checks } } } } */
-/* { dg-final { scan-tree-dump-not "b_. =" "dce2" { target { ! avr-*-* } } } } */
-/* { dg-final { scan-tree-dump "b_. =" "dce2" { target { avr-*-* } } } } */
Index: gcc.dg/tree-ssa/pr82059.c
===================================================================
--- gcc.dg/tree-ssa/pr82059.c	(revision 257284)
+++ gcc.dg/tree-ssa/pr82059.c	(working copy)
@@ -1,6 +1,7 @@ 
 /* PR tree-optimization/82059 */
 /* { dg-do compile } */
 /* { dg-options "-O2 -fdump-tree-isolate-paths" } */
+/* { dg-skip-if "accessing data memory with program memory address" { avr-*-* } } */
 
 struct a
 {
Index: gcc.c-torture/execute/pr70460.c
===================================================================
--- gcc.c-torture/execute/pr70460.c	(revision 257284)
+++ gcc.c-torture/execute/pr70460.c	(working copy)
@@ -1,5 +1,6 @@ 
 /* { dg-require-effective-target indirect_jumps } */
 /* { dg-require-effective-target label_values } */
+/* { dg-skip-if "label differences not supported" { avr-*-* } } */
 
 /* PR rtl-optimization/70460 */