##=== TEST.nightly.report - Report description for nightly -----*- perl -*-===## # # This file defines a report to be generated for the nightly tests. # ##===----------------------------------------------------------------------===## # Sort by program name $SortCol = 0; $TrimRepeatedPrefix = 1; my $WallTimeRE = "Time: ([0-9.]+) seconds \\([0-9.]+ wall clock"; # FormatTime - Convert a time from 1m23.45 into 83.45 sub FormatTime { my $Time = shift; if ($Time =~ m/([0-9]+)[m:]([0-9.]+)/) { return sprintf("%7.4f", $1*60.0+$2); } return sprintf("%7.4f", $Time); } sub GCCLLCRatio { my ($Cols, $Col) = @_; my $GCC = $Cols->[$Col-7]; my $LLC = $Cols->[$Col-5]; return "n/a" if ($GCC eq "*" or $LLC eq "*"); return sprintf("%3.2f", $GCC/$LLC) if ($GCC >= 0.1 and $LLC >= 0.1); return "-"; } sub GCCLLC_BETARatio { my ($Cols, $Col) = @_; my $GCC = $Cols->[$Col-8]; my $LLC_BETA = $Cols->[$Col-5]; return "n/a" if ($GCC eq "*" or $LLC_BETA eq "*"); return sprintf("%3.2f", $GCC/$LLC_BETA) if ($GCC >= 0.1 and $LLC_BETA >= 0.1); return "-"; } sub LLCLLC_BETARatio { # LLC/LLC-BETA my ($Cols, $Col) = @_; my $LLC = $Cols->[$Col-7]; my $LLC_BETA = $Cols->[$Col-6]; return "n/a" if ($LLC eq "*" or $LLC_BETA eq "*"); return sprintf("%3.2f", $LLC/$LLC_BETA) if ($LLC >= 0.1 and $LLC_BETA >= 0.1); return "-"; } # highlight the RATIO columns with green/red. $HilightColumns{14} = 1; $HilightColumns{15} = 1; $HilightColumns{16} = 1; $HilightColumns{17} = 1; # These are the columns for the report. The first entry is the header for the # column, the second is the regex to use to match the value. Empty list create # separators, and closures may be put in for custom processing. ( # Name ["Program" , '\'([^\']+)\' Program'], [], # Times ["GCCAS" , "TEST-RESULT-compile: .*$WallTimeRE"], ["Bytecode" , 'TEST-RESULT-compile: *([0-9]+)'], ["LLC compile" , "TEST-RESULT-llc: .*$WallTimeRE"], ["LLC-BETA compile" , "TEST-RESULT-llc-beta: .*$WallTimeRE"], ["JIT codegen" , "TEST-RESULT-jit-comptime: .*$WallTimeRE"], [], ["GCC" , 'TEST-RESULT-nat-time: user\s*([.0-9m:]+)', \&FormatTime], ["LLC" , 'TEST-RESULT-llc-time: user\s*([.0-9m:]+)', \&FormatTime], ["LLC-BETA" , 'TEST-RESULT-llc-beta-time: user\s*([.0-9m:]+)',\&FormatTime], ["JIT" , 'TEST-RESULT-jit-time: user\s*([.0-9m:]+)', \&FormatTime], [], ["GCC/LLC" , \&GCCLLCRatio], ["GCC/LLC-BETA" , \&GCCLLC_BETARatio], ["LLC/LLC-BETA" , \&LLCLLC_BETARatio] );