##=== TEST.fourway.report - Report description for llc tests ---*- perl -*-===##
#
# This file defines a report to be generated for the fourway-time test.
#
##===----------------------------------------------------------------------===##

# Sort by name
$SortCol = 1;
$TrimRepeatedPrefix = 1;

sub Percentage {
  my ($Cols, $Col) = @_;
  my $GCC = $Cols->[$Col-5];
  my $LLVMGCC = $Cols->[$Col-4];
  return "n/a" if ($GCC eq "*" or $LLVMGCC eq "*");
  return sprintf("%5.1f%%", $LLVMGCC / $GCC * 100)
         if ($GCC >= 0.01 and $LLVMGCC >= 0.01);
  return "    -";
}

# 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
# seperators, and closures may be put in for custom processing.
(
# Name
 ["Name:" , '\'([^\']+)\' Program'],
 [],
# Times
 ["Time GND", 'real ([0-9.]+)gcc\.nodebug'],
 ["Time GD",  'real ([0-9.]+)gcc\.debug'],
 ["Time LND", 'real ([0-9.]+)llvmgcc\.nodebug'],
 ["Time LD",  'real ([0-9.]+)llvmgcc\.debug'],
 [],
# Time Ratios
 ["No Debug", \&Percentage],
 ["Debug",    \&Percentage],
 [],
 );
