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.
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 */