Commit ce2e6077 by Georg-Johann Lay Committed by Georg-Johann Lay

Reduce fallout for avr.

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

From-SVN: r257328
parent 5c1aec7e
2018-02-02 Georg-Johann Lay <avr@gjlay.de> 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 PR testsuite/52641
* gcc.c-torture/execute/pr81913.c: Use types that also work for int16. * gcc.c-torture/execute/pr81913.c: Use types that also work for int16.
* gcc.c-torture/execute/20180112-1.c: Dito. * gcc.c-torture/execute/20180112-1.c: Dito.
......
/* { dg-require-effective-target indirect_jumps } */ /* { dg-require-effective-target indirect_jumps } */
/* { dg-require-effective-target label_values } */ /* { dg-require-effective-target label_values } */
/* { dg-skip-if "label differences not supported" { avr-*-* } } */
/* PR rtl-optimization/70460 */ /* PR rtl-optimization/70460 */
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
/* { dg-additional-options "-misel" { target { powerpc*-*-* } } } */ /* { dg-additional-options "-misel" { target { powerpc*-*-* } } } */
/* { dg-additional-options "-march=z196" { target { s390x-*-* } } } */ /* { dg-additional-options "-march=z196" { target { s390x-*-* } } } */
/* { dg-additional-options "-mtune-ctrl=^one_if_conv_insn" { target { i?86-*-* x86_64-*-* } } } */ /* { 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" } } */ /* { dg-skip-if "" { "s390x-*-*" } { "-m31" } } */
typedef int word __attribute__((mode(word))); typedef int word __attribute__((mode(word)));
......
/* PR c/53037. */ /* PR c/53037. */
/* { dg-do compile } */ /* { dg-do compile } */
/* { dg-options "-O0" } */ /* { dg-options "-O0" } */
/* { dg-skip-if "" { avr-*-* } } */
typedef unsigned long long __u64 typedef unsigned long long __u64
__attribute__((aligned(4),warn_if_not_aligned(8))); __attribute__((aligned(4),warn_if_not_aligned(8)));
......
/* PR c/53037. */ /* PR c/53037. */
/* { dg-do compile } */ /* { dg-do compile } */
/* { dg-options "-O0 -Wpacked-not-aligned" } */ /* { dg-options "-O0 -Wpacked-not-aligned" } */
/* { dg-skip-if "" { avr-*-* } } */
struct __attribute__ ((aligned (8))) S8 { char a[8]; }; struct __attribute__ ((aligned (8))) S8 { char a[8]; };
struct __attribute__ ((packed)) S1 { struct __attribute__ ((packed)) S1 {
......
/* PR c/53037. */ /* PR c/53037. */
/* { dg-do compile } */ /* { dg-do compile } */
/* { dg-options "-O0 -Wall" } */ /* { dg-options "-O0 -Wall" } */
/* { dg-skip-if "" { avr-*-* } } */
struct __attribute__ ((aligned (8))) S8 { char a[8]; }; struct __attribute__ ((aligned (8))) S8 { char a[8]; };
struct __attribute__ ((packed)) S1 { struct __attribute__ ((packed)) S1 {
......
/* { dg-do compile } */ /* { dg-do compile } */
/* { dg-options "-O -fdump-tree-optimized" } */ /* { dg-options "-O -fdump-tree-optimized" } */
/* { dg-skip-if "using short-double" { avr-*-* } } */
int f(double aaa, double bbb){ int f(double aaa, double bbb){
int xa = !__builtin_isunordered(aaa, aaa); int xa = !__builtin_isunordered(aaa, aaa);
......
/* { dg-do compile } */ /* { dg-do compile } */
/* { dg-options "-O -fdump-tree-optimized" } */ /* { dg-options "-O -fdump-tree-optimized" } */
/* { dg-skip-if "using short-double" { avr-*-* } } */
int f(double aaa, double bbb){ int f(double aaa, double bbb){
int xa = __builtin_isunordered(aaa, aaa); int xa = __builtin_isunordered(aaa, aaa);
......
/* Basic test on number of inserted callbacks. */ /* Basic test on number of inserted callbacks. */
/* { dg-do compile } */ /* { dg-do compile } */
/* { dg-options "-fsanitize-coverage=trace-cmp -fdump-tree-optimized" } */ /* { dg-options "-fsanitize-coverage=trace-cmp -fdump-tree-optimized" } */
/* { dg-skip-if "different type layout" { avr-*-* } } */
void void
foo (char *a, short *b, int *c, long long *d, float *e, double *f) foo (char *a, short *b, int *c, long long *d, float *e, double *f)
......
/* { dg-do run } */ /* { dg-do run } */
/* { dg-options "-O2 -floop-interchange -fassociative-math -fno-signed-zeros -fno-trapping-math -fdump-tree-linterchange-details" } */ /* { 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 */ /* Copied from graphite/interchange-4.c */
......
/* { dg-do run } */ /* { dg-do run } */
/* { dg-options "-O2 -floop-interchange -fdump-tree-linterchange-details" } */ /* { 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 #define M 256
int a[M][M], b[M][M]; int a[M][M], b[M][M];
......
/* { dg-do compile } */ /* { dg-do compile } */
/* { dg-options "-O2 -floop-interchange -fdump-tree-linterchange-details" } */ /* { 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 #define M 256
int a[M][M], b[M][M]; int a[M][M], b[M][M];
......
/* { dg-do run } */ /* { dg-do run } */
/* { dg-options "-O2 -floop-interchange -fdump-tree-linterchange-details" } */ /* { 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 */ /* Copied from graphite/interchange-4.c */
......
/* { dg-do run } */ /* { dg-do run } */
/* { dg-options "-O2 -floop-interchange -fdump-tree-linterchange-details" } */ /* { 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 */ /* Copied from graphite/interchange-5.c */
......
/* { dg-do run } */ /* { dg-do run } */
/* { dg-options "-O2 -floop-interchange -fdump-tree-linterchange-details" } */ /* { 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 */ /* Copied from graphite/interchange-6.c */
......
/* { dg-do run } */ /* { dg-do run } */
/* { dg-options "-O2 -floop-interchange -fdump-tree-linterchange-details" } */ /* { dg-options "-O2 -floop-interchange -fdump-tree-linterchange-details" } */
/* { dg-require-stack-size "8*111*1111" } */ /* { 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 */ /* Copied from graphite/interchange-7.c */
......
/* { dg-do run } */ /* { dg-do run } */
/* { dg-options "-O2 -floop-interchange -fdump-tree-linterchange-details" } */ /* { 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 #define M 256
int a[M][M], b[M][M], c[M][M], d[M][M]; int a[M][M], b[M][M], c[M][M], d[M][M];
......
/* { dg-do run } */ /* { dg-do run } */
/* { dg-options "-O2 -floop-interchange -fdump-tree-linterchange-details" } */ /* { 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 #define M 256
int a[M][M], b[M][M], c[M][M], d[M][M]; int a[M][M], b[M][M], c[M][M], d[M][M];
......
/* { dg-do run } */ /* { dg-do run } */
/* { dg-options "-O2 -floop-interchange -fdump-tree-linterchange-details" } */ /* { 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 #define M 256
int a[M][M], b[M][M], c[M][M], d[M][M]; int a[M][M], b[M][M], c[M][M], d[M][M];
......
/* { dg-do run } */ /* { dg-do run } */
/* { dg-options "-O2 -floop-interchange -fdump-tree-linterchange-details" } */ /* { 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 #define M 256
int a[M][M], b[M][M], c[M][M], d[M][M]; int a[M][M], b[M][M], c[M][M], d[M][M];
......
/* { dg-do run } */ /* { dg-do run } */
/* { dg-options "-O2 -floop-interchange -fdump-tree-linterchange-details" } */ /* { 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 #define M 256
int a[M][M], b[M][M], c[M], d[M]; int a[M][M], b[M][M], c[M], d[M];
......
...@@ -18,5 +18,3 @@ foo (int *p) ...@@ -18,5 +18,3 @@ foo (int *p)
/* Target disabling -fdelete-null-pointer-checks should not fold checks */ /* 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 "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-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 */ /* PR tree-optimization/82059 */
/* { dg-do compile } */ /* { dg-do compile } */
/* { dg-options "-O2 -fdump-tree-isolate-paths" } */ /* { dg-options "-O2 -fdump-tree-isolate-paths" } */
/* { dg-skip-if "accessing data memory with program memory address" { avr-*-* } } */
struct a struct a
{ {
......
...@@ -557,8 +557,7 @@ proc check_effective_target_keeps_null_pointer_checks { } { ...@@ -557,8 +557,7 @@ proc check_effective_target_keeps_null_pointer_checks { } {
if [target_info exists keeps_null_pointer_checks] { if [target_info exists keeps_null_pointer_checks] {
return 1 return 1
} }
if { [istarget avr-*-*] if { [istarget msp430-*-*] } {
|| [istarget msp430-*-*] } {
return 1; return 1;
} }
return 0 return 0
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment