1 # Copyright
(C
) 2008-2014 Free Software Foundation
, Inc.
3 # This
program is free software
; you can redistribute it and
/or modify
4 # it under the terms of the GNU General Public License as published by
5 # the Free Software Foundation
; either version
3 of the License
, or
6 #
(at your option
) any later version.
8 # This
program is distributed in the hope that it will be useful
,
9 # but WITHOUT
ANY WARRANTY
; without even the implied warranty of
10 # MERCHANTABILITY or FITNESS
FOR A PARTICULAR PURPOSE. See the
11 # GNU General Public License
for more details.
13 # You should have received a copy of the GNU General Public License
14 # along with GCC
; see the file COPYING3.
If not see
15 #
<http
://www.gnu.org
/licenses
/>.
17 # GCC testsuite that uses the `dg.exp
' driver.
20 load_lib gfortran-dg.exp
22 if ![check_effective_target_fgraphite] {
26 # Remove VALUE from LIST_VARIABLE.
27 proc lremove {list_variable value} {
28 upvar 1 $list_variable var
29 set idx [lsearch -exact $var $value]
30 set var [lreplace $var $idx $idx]
33 # The default action for a test is 'compile'. Save current default.
34 global dg-do-what-default
35 set save-dg-do-what-default ${dg-do-what-default}
40 set wait_to_run_files
[lsort
[glob
-nocomplain $srcdir
/$subdir
/*.\
[fF\
]{,90,95,03,08} ] ]
41 set block_files
[lsort
[glob
-nocomplain $srcdir
/$subdir
/block
-*.\
[fF\
]{,90,95,03,08} ] ]
42 set id_files
[lsort
[glob
-nocomplain $srcdir
/$subdir
/id
-*.\
[fF\
]{,90,95,03,08} ] ]
43 set interchange_files
[lsort
[glob
-nocomplain $srcdir
/$subdir
/interchange
-*.\
[fF\
]{,90,95,03,08} ] ]
44 set scop_files
[lsort
[glob
-nocomplain $srcdir
/$subdir
/scop
-*.\
[fF\
]{,90,95,03,08} ] ]
45 set run_id_files
[lsort
[glob
-nocomplain $srcdir
/$subdir
/run
-id
-*.\
[fF\
]{,90,95,03,08} ] ]
46 set vect_files
[lsort
[glob
-nocomplain $srcdir
/$subdir
/vect
-*.\
[fF\
]{,90,95,03,08} ] ]
48 # Tests to be compiled.
49 set dg
-do-what
-default
compile
50 gfortran
-dg
-runtest $scop_files
"" "-O2 -fgraphite -fdump-tree-graphite-all"
51 gfortran
-dg
-runtest $id_files
"" "-O2 -fgraphite-identity -ffast-math"
52 gfortran
-dg
-runtest $interchange_files
"" "-O2 -floop-interchange -fno-loop-block -fno-loop-strip-mine -ffast-math -fdump-tree-graphite-all"
53 gfortran
-dg
-runtest $block_files
"" "-O2 -floop-block -fno-loop-strip-mine -fno-loop-interchange -ffast-math -fdump-tree-graphite-all"
55 # Vectorizer tests
, to be run or compiled
, depending
on target capabilities.
56 if [check_vect_support_and_set_flags
] {
57 gfortran
-dg
-runtest $vect_files
"" "-O2 -fgraphite-identity -ftree-vectorize -fno-vect-cost-model -fdump-tree-vect-details -ffast-math"
61 set dg
-do-what
-default run
62 gfortran
-dg
-runtest $run_id_files
"" "-O2 -fgraphite-identity"
64 # The default action
for the rest of the files is
'compile'.
65 set dg
-do-what
-default
compile
66 foreach f $block_files
{lremove wait_to_run_files $f
}
67 foreach f $id_files
{lremove wait_to_run_files $f
}
68 foreach f $interchange_files
{lremove wait_to_run_files $f
}
69 foreach f $scop_files
{lremove wait_to_run_files $f
}
70 foreach f $run_id_files
{lremove wait_to_run_files $f
}
71 foreach f $vect_files
{lremove wait_to_run_files $f
}
72 gfortran
-dg
-runtest $wait_to_run_files
"" ""
75 set dg
-do-what
-default $
{save
-dg
-do-what
-default
}