Support for testing profile-directed optimizations#
The file profopt.exp
provides language-independent support for
checking correct execution of a test built with profile-directed
optimization. This testing requires that a test program be built and
executed twice. The first time it is compiled to generate profile
data, and the second time it is compiled to use the data that was
generated during the first execution. The second execution is to
verify that the test produces the expected results.
To check that the optimization actually generated better code, a
test can be built and run a third time with normal optimizations to
verify that the performance is better with the profile-directed
optimizations. profopt.exp
has the beginnings of this kind
of support.
profopt.exp
provides generic support for profile-directed
optimizations. Each set of tests that uses it provides information
about a specific optimization:
tool
tool being tested, e.g., gcc
profile_option
options used to generate profile data
feedback_option
options used to optimize using that profile data
prof_ext
suffix of profile data files
PROFOPT_OPTIONS
list of options with which to run each test, similar to the lists for torture tests
dg-final-generate { {local-directive } }
This directive is similar to
dg-final
, but thelocal-directive
is run after the generation of profile data.dg-final-use { {local-directive } }
The
local-directive
is run after the profile data have been used.