| ##=== 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 = "[A-Za-z0-9.: ]+\\(([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.]+)/) { |
| $Time = sprintf("%7.3f", $1*60.0+$2); |
| } |
| return $Time; |
| } |
| |
| sub GCCCBERatio { |
| my ($Cols, $Col) = @_; |
| my $GCC = $Cols->[$Col-6]; |
| my $CBE = $Cols->[$Col-5]; |
| if ($GCC ne "*" and $CBE ne "*" and $CBE != "0") { |
| return sprintf("%3.2f", $GCC/$CBE); |
| } else { |
| return "n/a"; |
| } |
| } |
| |
| sub GCCLLCRatio { |
| my ($Cols, $Col) = @_; |
| my $GCC = $Cols->[$Col-7]; |
| my $LLC = $Cols->[$Col-5]; |
| if ($GCC ne "*" and $LLC ne "*" and $LLC != "0") { |
| return sprintf("%3.2f", $GCC/$LLC); |
| } else { |
| return "n/a"; |
| } |
| } |
| |
| sub GCCLLC_LSRatio { |
| my ($Cols, $Col) = @_; |
| my $GCC = $Cols->[$Col-8]; |
| my $LLC_LS = $Cols->[$Col-5]; |
| if ($GCC ne "*" and $LLC_LS ne "*" and $LLC_LS != "0") { |
| return sprintf("%3.2f", $GCC/$LLC_LS); |
| } else { |
| return "n/a"; |
| } |
| } |
| |
| # 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]+)'], |
| ["Instrs" , 'TEST-RESULT-compile: *([0-9]+).*Number of inst'], |
| ["LLC<br>compile" , "TEST-RESULT-llc: $WallTimeRE"], |
| ["LLC-LS<br>compile" , "TEST-RESULT-llc-ls: $WallTimeRE"], |
| ["JIT<br>codegen" , "TEST-RESULT-jit-comptime: $WallTimeRE"], |
| ["Machine<br>code", 'TEST-RESULT-jit-machcode: *([0-9]+).*bytes of machine code'], |
| [], |
| ["GCC" , 'TEST-RESULT-nat-time: real\s*([.0-9m:]+)', \&FormatTime], |
| ["CBE" , 'TEST-RESULT-cbe-time: real\s*([.0-9m:]+)', \&FormatTime], |
| ["LLC" , 'TEST-RESULT-llc-time: real\s*([.0-9m:]+)', \&FormatTime], |
| ["LLC-LS" , 'TEST-RESULT-llc-ls-time: real\s*([.0-9m:]+)', \&FormatTime], |
| ["JIT" , 'TEST-RESULT-jit-time: real\s*([.0-9m:]+)', \&FormatTime], |
| ["JIT-LS" , 'TEST-RESULT-jit-ls-time: real\s*([.0-9m:]+)', \&FormatTime], |
| ["GCC/CBE" , \&GCCCBERatio], |
| ["GCC/LLC" , \&GCCLLCRatio], |
| ["GCC/LLC-LS" , \&GCCLLC_LSRatio] |
| ); |