3 # This file is part of GCC.
5 # GCC is free software; you can redistribute it and/or modify it under
6 # the terms of the GNU General Public License as published by the Free
7 # Software Foundation; either version 3, or (at your option) any later
10 # GCC is distributed in the hope that it will be useful, but WITHOUT ANY
11 # WARRANTY; without even the implied warranty of MERCHANTABILITY or
12 # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
15 # You should have received a copy of the GNU General Public License
16 # along with GCC; see the file COPYING3. If not see
17 # <http://www.gnu.org/licenses/>. */
25 script_location
= os
.path
.realpath(__file__
)
27 parser
= argparse
.ArgumentParser()
28 parser
.add_argument('location', metavar
= 'dump_file',
29 help = 'Location with SPEC benchmarks')
30 parser
.add_argument('-s', '--sorting', dest
= 'sorting',
31 choices
= ['branches', 'branch-hitrate', 'hitrate', 'coverage', 'name'],
34 args
= parser
.parse_args()
36 benchmarks
= os
.listdir(args
.location
)
38 for b
in sorted(benchmarks
):
40 for root
, dirs
, files
in os
.walk(os
.path
.join(args
.location
, b
)):
42 if x
.endswith('.profile'):
43 dumps
.append(os
.path
.join(root
, x
))
48 temp
= tempfile
.NamedTemporaryFile(delete
= False)
50 temp
.write(open(d
, 'rb').read())
57 p
= [os
.path
.join(os
.path
.dirname(script_location
), 'analyze_brprob.py'),
58 temp
.name
, '--sorting', args
.sorting
]
59 p
= subprocess
.check_call(p
)