##=== TEST.beta-compare.report - Compare llc vs llcbeta --------*- perl -*-===##
#
# This file defines a report to be generated for the beta-compare test.
#
##===----------------------------------------------------------------------===##

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

sub SizeRatio {
  my ($Cols, $Col) = @_;
  my $LLC = $Cols->[$Col-2];
  my $BETA = $Cols->[$Col-1];
  return "n/a" if ($LLC eq "*" or $BETA eq "*");
  return sprintf("%2.3f", $LLC/$BETA);
}


# 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'],
 [],
# Code Size
 ["#Insts", 'LLC: *([0-9]+).*Number of machine instrs printed'],
 ["Beta", 'LLCBETA: *([0-9]+).*Number of machine instrs printed'],
 ["LLC/BETA"  , \&SizeRatio],
 []
 );
