+2018-02-02 Georg-Johann Lay <avr@gjlay.de>
+
+ * 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.
+
2018-02-02 Georg-Johann Lay <avr@gjlay.de>
PR testsuite/52641
/* { dg-require-effective-target indirect_jumps } */
/* { dg-require-effective-target label_values } */
+/* { dg-skip-if "label differences not supported" { avr-*-* } } */
/* PR rtl-optimization/70460 */
/* { 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)));
/* 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)));
/* 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 {
/* 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 {
/* { 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);
/* { 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);
/* 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)
/* { 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 */
/* { 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];
/* { 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];
/* { 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 */
/* { 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 */
/* { 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 */
/* { 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 */
/* { 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];
/* { 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];
/* { 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];
/* { 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];
/* { 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];
/* 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-*-* } } } } */
/* 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
{
if [target_info exists keeps_null_pointer_checks] {
return 1
}
- if { [istarget avr-*-*]
- || [istarget msp430-*-*] } {
+ if { [istarget msp430-*-*] } {
return 1;
}
return 0