]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/testsuite/g++.dg/bprob/bprob.exp
Update copyright years.
[thirdparty/gcc.git] / gcc / testsuite / g++.dg / bprob / bprob.exp
CommitLineData
f1717362 1# Copyright (C) 2001-2016 Free Software Foundation, Inc.
71f90aa4 2
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
f63ff66b 5# the Free Software Foundation; either version 3 of the License, or
71f90aa4 6# (at your option) any later version.
7#
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.
12#
13# You should have received a copy of the GNU General Public License
f63ff66b 14# along with GCC; see the file COPYING3. If not see
15# <http://www.gnu.org/licenses/>.
71f90aa4 16#
17# Test the functionality of programs compiled with profile-directed block
18# ordering using -fprofile-arcs followed by -fbranch-probabilities.
19
9a82df26 20load_lib target-supports.exp
21
df40bb17 22# Some targets don't have any implementation of __bb_init_func or are
23# missing other needed machinery.
9bd65cc1 24if { ![check_profiling_available "-fprofile-arcs"] } {
df40bb17 25 return
26}
27
71f90aa4 28# The procedures in profopt.exp need these parameters.
29set tool g++
3e3a0e9c 30set prof_ext "gcda"
71f90aa4 31
32if $tracelevel then {
33 strace $tracelevel
34}
35
5d1859c8 36# Load support procs.
37load_lib profopt.exp
38
39# Save and override the default list defined in profopt.exp.
40set bprob_save_profopt_options $PROFOPT_OPTIONS
71f90aa4 41set PROFOPT_OPTIONS [list \
42 { -g } \
43 { -O0 } \
44 { -O1 } \
45 { -O2 } \
46 { -O3 } \
47 { -O3 -g } \
48 { -Os } ]
49
50if $tracelevel then {
51 strace $tracelevel
52}
53
6ab3444b 54set profile_options "-fprofile-arcs"
a30bbccf 55set feedback_options "-fbranch-probabilities"
6ab3444b 56
71f90aa4 57# Main loop.
6ab3444b 58foreach profile_option $profile_options feedback_option $feedback_options {
59 foreach src [lsort [glob -nocomplain $srcdir/$subdir/*.C]] {
60 # If we're only testing specific files and this isn't one of them, skip it.
61 if ![runtest_file_p $runtests $src] then {
62 continue
63 }
64 profopt-execute $src
71f90aa4 65 }
71f90aa4 66}
5d1859c8 67
68set PROFOPT_OPTIONS $bprob_save_profopt_options