aboutsummaryrefslogtreecommitdiff
path: root/TEST.nightly.report
blob: 40245e376cf82f51f58b0f80aa8e4848565b5531 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
##=== 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 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]
);