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

# Sort by name
$SortCol = 1;
$TrimRepeatedPrefix = 1;
my $ExtTextSize  = '(\d+)\s+\d+\s+\d+\s+\d+\s+\d+\s+[0-9a-fA-F]+';
my $ExtDataSize  = '\d+\s+(\d+)\s+\d+\s+\d+\s+\d+\s+[0-9a-fA-F]+';
my $ExtObjSize   = '\d+\s+\d+\s+(\d+)\s+\d+\s+\d+\s+[0-9a-fA-F]+';
my $ExtOtherSize = '\d+\s+\d+\s+\d+\s+(\d+)\s+\d+\s+[0-9a-fA-F]+';
my $ExtTotalSize = '\d+\s+\d+\s+\d+\s+\d+\s+(\d+)\s+[0-9a-fA-F]+';

# 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'],
 [],
# Text Sizes
 ["Text GND", "${ExtTextSize}gcc.nodebug"],
 ["Text GD",  "${ExtTextSize}gcc.debug"],
 ["Text LND", "${ExtTextSize}llvmgcc.nodebug"],
 ["Text LD",  "${ExtTextSize}llvmgcc.debug"],
 [],
# Data Sizes
 ["Data GCC",      "${ExtDataSize}gcc.nodebug"],
 ["Data LLVM-GCC", "${ExtDataSize}llvmgcc.nodebug"],
 [],
# Other Sizes
 ["Other(Debug) GCC",      "${ExtOtherSize}gcc.debug"],
 ["Other(Debug) LLVM-GCC", "${ExtOtherSize}llvmgcc.debug"],
 [],
# Total Sizes
 ["Total GND", "${ExtTotalSize}gcc.nodebug"],
 ["Total GD",  "${ExtTotalSize}gcc.debug"],
 ["Total LND", "${ExtTotalSize}llvmgcc.nodebug"],
 ["Total LD",  "${ExtTotalSize}llvmgcc.debug"],
 [],
 );
