2001-06-06 22:29:01 +02:00
|
|
|
#!/bin/sh
|
2003-06-20 18:14:49 +02:00
|
|
|
|
2002-08-15 21:49:06 +02:00
|
|
|
AS=$2/as
|
|
|
|
DIS=$2/dis
|
|
|
|
OPT=$2/opt
|
2001-06-06 22:29:01 +02:00
|
|
|
|
2002-08-16 21:34:33 +02:00
|
|
|
echo "======== Running optimizer test on $1"
|
2001-06-06 22:29:01 +02:00
|
|
|
|
2002-01-23 19:04:21 +01:00
|
|
|
(
|
|
|
|
$AS < $1 | $OPT -q -inline -dce -constprop -dce |$DIS| $AS > $1.bc.1 || exit 1
|
2001-06-06 22:29:01 +02:00
|
|
|
|
2002-01-23 19:04:21 +01:00
|
|
|
# Should not be able to optimize further!
|
|
|
|
$OPT -q -constprop -dce < $1.bc.1 > $1.bc.2 || exit 2
|
2001-06-28 01:37:22 +02:00
|
|
|
|
2002-01-23 19:04:21 +01:00
|
|
|
$DIS < $1.bc.1 > $1.ll.1 || exit 3
|
|
|
|
$DIS < $1.bc.2 > $1.ll.2 || exit 3
|
2002-05-02 23:51:55 +02:00
|
|
|
gdiff -u $1.ll.[12] || exit 3
|
2001-06-28 01:37:22 +02:00
|
|
|
|
2002-07-30 20:01:06 +02:00
|
|
|
# Try out SCCP
|
|
|
|
$AS < $1 | $OPT -q -inline -dce -sccp -dce \
|
2002-01-23 19:04:21 +01:00
|
|
|
| $DIS | $AS > $1.bc.3 || exit 1
|
2001-06-06 22:29:01 +02:00
|
|
|
|
2002-01-23 19:04:21 +01:00
|
|
|
# Should not be able to optimize further!
|
|
|
|
$OPT -q -sccp -dce < $1.bc.3 > $1.bc.4 || exit 2
|
|
|
|
$DIS < $1.bc.3 > $1.ll.3 || exit 3
|
|
|
|
$DIS < $1.bc.4 > $1.ll.4 || exit 3
|
2002-05-02 23:51:55 +02:00
|
|
|
gdiff -u $1.ll.[34] || exit 3
|
2002-01-23 19:04:21 +01:00
|
|
|
rm $1.bc.[1234] $1.ll.[1234]
|
|
|
|
|
|
|
|
touch Output/$1.opt # Success!
|
2002-01-23 21:39:56 +01:00
|
|
|
)|| ../Failure.sh "$1 Optimizer"
|