Fix file mode.
[llvm-testsuite.git] / TEST.pollycodegen.report
bloba1a37a0c39ee6bbcb8e7492a3a1ac1417801046e
1 ##=== TEST.nightly.report - Report description for nightly -----*- perl -*-===##
3 # This file defines a report to be generated for the nightly tests.
5 ##===----------------------------------------------------------------------===##
7 # Sort by program name
8 $SortCol = 0;
9 $TrimRepeatedPrefix = 1;
11 my $WallTimeRE = "Time: ([0-9.]+) seconds \\([0-9.]+ wall clock";
13 # FormatTime - Convert a time from 1m23.45 into 83.45
14 sub FormatTime {
15   my $Time = shift;
16   if ($Time =~ m/([0-9]+)[m:]([0-9.]+)/) {
17     return sprintf("%7.4f", $1*60.0+$2);
18   }
20   return sprintf("%7.4f", $Time);
23 sub GCCCBERatio {
24   my ($Cols, $Col) = @_;
25   my $GCC = $Cols->[$Col-6];
26   my $CBE = $Cols->[$Col-5];
27   return "n/a" if ($GCC eq "*" or $CBE eq "*");
28   return sprintf("%3.2f", $GCC/$CBE) if ($GCC >= 0.1 and $CBE >= 0.1);
29   return "-";
32 sub GCCLLCRatio {
33   my ($Cols, $Col) = @_;
34   my $GCC = $Cols->[$Col-7];
35   my $LLC = $Cols->[$Col-5];
36   return "n/a" if ($GCC eq "*" or $LLC eq "*");
37   return sprintf("%3.2f", $GCC/$LLC) if ($GCC >= 0.1 and $LLC >= 0.1);
38   return "-";
41 sub GCCLLC_BETARatio {
42   my ($Cols, $Col) = @_;
43   my $GCC = $Cols->[$Col-8];
44   my $LLC_BETA = $Cols->[$Col-5];
45   return "n/a" if ($GCC eq "*" or $LLC_BETA eq "*");
46   return sprintf("%3.2f", $GCC/$LLC_BETA) if ($GCC >= 0.1 and $LLC_BETA >= 0.1);
47   return "-";
50 sub LLCLLC_BETARatio {   # LLC/LLC-BETA
51   my ($Cols, $Col) = @_;
52   my $LLC = $Cols->[$Col-7];
53   my $LLC_BETA = $Cols->[$Col-6];
54   return "n/a" if ($LLC eq "*" or $LLC_BETA eq "*");
55   return sprintf("%3.2f", $LLC/$LLC_BETA) if ($LLC >= 0.1 and $LLC_BETA >= 0.1);
56   return "-";
59 # highlight the RATIO columns with green/red.
60 $HilightColumns{14} = 1;
61 $HilightColumns{15} = 1;
62 $HilightColumns{16} = 1;
63 $HilightColumns{17} = 1;
65 # These are the columns for the report.  The first entry is the header for the
66 # column, the second is the regex to use to match the value.  Empty list create
67 # separators, and closures may be put in for custom processing.
69 # Name
70  ["Program"  , '\'([^\']+)\' Program'],
71  [],
72 # Times
73  ["GCCAS"    , "TEST-RESULT-compile: .*$WallTimeRE"],
74  ["Bytecode" , 'TEST-RESULT-compile: *([0-9]+)'],
75  ["LLC compile" , "TEST-RESULT-llc: .*$WallTimeRE"],
76  [],
77  ["GCC"      , 'TEST-RESULT-nat-time: program\s*([.0-9m:]+)', \&FormatTime],
78  ["LLC"      , 'TEST-RESULT-llc-time: program\s*([.0-9m:]+)', \&FormatTime],
79  ["OPT-BETA" , 'TEST-RESULT-opt-beta-time: program\s*([.0-9m:]+)',\&FormatTime],
80  [],
81  ["GCC/LLC"  , \&GCCLLCRatio],