blob: 7e443ddf0625262912291eba588a5fbda63d2f72 [file] [log] [blame]
##=== 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;
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 GCCLLCRatio {
my ($Cols, $Col) = @_;
if ($Cols->[$Col-2] ne "*" and $Cols->[$Col-4] ne "*" and
$Cols->[$Col-2] != "0") {
return sprintf("%3.2f", $Cols->[$Col-4]/$Cols->[$Col-2]);
} else {
return "n/a";
}
}
sub GCCCBERatio {
my ($Cols, $Col) = @_;
if ($Cols->[$Col-4] ne "*" and $Cols->[$Col-5] ne "*" and
$Cols->[$Col-4] != "0") {
return sprintf("%3.2f", $Cols->[$Col-5]/$Cols->[$Col-4]);
} 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"],
["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],
["JIT" , 'TEST-RESULT-jit-time: real\s*([.0-9m:]+)', \&FormatTime],
["GCC/LLC" , \&GCCLLCRatio],
["GCC/CBE" , \&GCCCBERatio]
);