From: Andi Kleen Date: Thu, 14 Jul 2016 02:14:13 +0000 (+0000) Subject: Add dg-final-scan-autofdo and dg-final-scan-not-autofdo X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=e97bd4f5408964f3bd16b57e0369916683d5e8cd;p=gcc.git Add dg-final-scan-autofdo and dg-final-scan-not-autofdo Autofdo outputs to different dump files and doesn't support some transformation that normal profiling. Add dg-final-scan-autofdo and dg-final-scan-not-autofdo statements to the test suite so that the test cases can hande those cases separately. gcc/testsuite/: 2016-07-13 Andi Kleen * lib/profopt.exp (dg-final-scan-autofdo, dg-final-scan-not-autofdo): New functions. From-SVN: r238322 --- diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index f868af33cc5..871475614c7 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2016-07-13 Andi Kleen + + * lib/profopt.exp (dg-final-scan-autofdo, + dg-final-scan-not-autofdo): New functions. + 2016-07-13 Bin Cheng * gcc.dg/vect/vect-35-big-array.c: Refine comment and test. diff --git a/gcc/testsuite/lib/profopt.exp b/gcc/testsuite/lib/profopt.exp index b3e2b2e2e93..3cce2ee2ffb 100644 --- a/gcc/testsuite/lib/profopt.exp +++ b/gcc/testsuite/lib/profopt.exp @@ -170,6 +170,47 @@ proc dg-final-use { args } { append use_final_code "[lindex $args 1]\n" } +# +# dg-final-use-not-autofdo -- process code to run after the profile-use step +# but only if not running autofdo +# ARGS is the line number of the directive followed by the commands. +# +proc dg-final-use-not-autofdo { args } { + global use_final_code + global run_autofdo + + if { [llength $args] > 2 } { + error "[lindex $args 0]: too many arguments" + return + } + + if { $run_autofdo == 1 } { + return + } + append use_final_code "[lindex $args 1]\n" +} + +# +# dg-final-use-autofdo -- process code to run after the profile-use step +# but only if running autofdo +# ARGS is the line number of the directive followed by the commands. +# + +proc dg-final-use-autofdo { args } { + global use_final_code + global run_autofdo + + if { [llength $args] > 2 } { + error "[lindex $args 0]: too many arguments" + return + } + + if { $run_autofdo != 1 } { + return + } + append use_final_code "[lindex $args 1]\n" +} + # # profopt-final-code -- run final code # @@ -210,6 +251,8 @@ proc profopt-get-options { src } { || ![string compare "dg-skip-if" $cmd] \ || ![string compare "dg-final-generate" $cmd] \ || ![string compare "dg-final-use" $cmd] \ + || ![string compare "dg-final-use-not-autofdo" $cmd] \ + || ![string compare "dg-final-use-autofdo" $cmd] \ || ![string compare "dg-additional-sources" $cmd] \ || [string match "dg-require-*" $cmd] } { set status [catch "$op" errmsg]