diff options
author | Thomas Schwinge <thomas@codesourcery.com> | 2021-05-18 17:30:34 +0200 |
---|---|---|
committer | Thomas Schwinge <thomas@codesourcery.com> | 2021-05-21 20:09:16 +0200 |
commit | d42c10563e23d846b61c9c4a4abe75da70f7838d (patch) | |
tree | b1f88a2b983355b32bd25eca917f1ae10f2b56ac /gcc | |
parent | 5a0fe1f6c4ad0e50bf4684e723ae2ba17d94c9e4 (diff) | |
download | gcc-d42c10563e23d846b61c9c4a4abe75da70f7838d.zip gcc-d42c10563e23d846b61c9c4a4abe75da70f7838d.tar.gz gcc-d42c10563e23d846b61c9c4a4abe75da70f7838d.tar.bz2 |
Add '__OPTIMIZE__' DejaGnu selector
gcc/testsuite/
* lib/target-supports.exp (check_effective_target___OPTIMIZE__):
New proc.
* gcc.c-torture/compile/ssa-unused-1.c: New file.
gcc/
* doc/sourcebuild.texi (Other attributes): Document '__OPTIMIZE__'
DejaGnu selector.
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/doc/sourcebuild.texi | 4 | ||||
-rw-r--r-- | gcc/testsuite/gcc.c-torture/compile/ssa-unused-1.c | 15 | ||||
-rw-r--r-- | gcc/testsuite/lib/target-supports.exp | 10 |
3 files changed, 29 insertions, 0 deletions
diff --git a/gcc/doc/sourcebuild.texi b/gcc/doc/sourcebuild.texi index ed811d1..cf309874 100644 --- a/gcc/doc/sourcebuild.texi +++ b/gcc/doc/sourcebuild.texi @@ -2755,6 +2755,10 @@ constant. @item lgccjit Target supports -lgccjit, i.e. libgccjit.so can be linked into jit tests. + +@item __OPTIMIZE__ +Optimizations are enabled (@code{__OPTIMIZE__}) per the current +compiler flags. @end table @subsubsection Local to tests in @code{gcc.target/i386} diff --git a/gcc/testsuite/gcc.c-torture/compile/ssa-unused-1.c b/gcc/testsuite/gcc.c-torture/compile/ssa-unused-1.c new file mode 100644 index 0000000..e8fb93c7 --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/compile/ssa-unused-1.c @@ -0,0 +1,15 @@ +/* This is just to exercise the '__OPTIMIZE__' DejaGnu selector. */ + +/* { dg-do "assemble" } */ +/* { dg-additional-options "-fdump-tree-ssa" } */ + +void f() +{ + int unused = 3; + (void) &unused; +} + +/* { dg-final { scan-tree-dump-not {No longer having address taken: unused} ssa { target { ! __OPTIMIZE__ } } } } + { dg-final { scan-tree-dump-times {No longer having address taken: unused} 1 ssa { target __OPTIMIZE__ } } } */ +/* { dg-final { scan-tree-dump-not {Now a gimple register: unused} ssa { target { ! __OPTIMIZE__ } } } } + { dg-final { scan-tree-dump-times {Now a gimple register: unused} 1 ssa { target __OPTIMIZE__ } } } */ diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp index 8192da5..849f1bb 100644 --- a/gcc/testsuite/lib/target-supports.exp +++ b/gcc/testsuite/lib/target-supports.exp @@ -11103,3 +11103,13 @@ proc check_effective_target_lra { } { return 1 } +# Test whether optimizations are enabled ('__OPTIMIZE__') per the +# 'current_compiler_flags' (thus don't cache). + +proc check_effective_target___OPTIMIZE__ {} { + return [check_no_compiler_messages_nocache __OPTIMIZE__ assembly { + #ifndef __OPTIMIZE__ + # error nein + #endif + } [current_compiler_flags]] +} |