| #!/bin/sh |
| LD_LIBRARY_PATH=$3 |
| export LD_LIBRARY_PATH |
| |
| AS=$2/as |
| DIS=$2/dis |
| OPT=$2/opt |
| |
| echo "======== Running optimizer test on $1" |
| |
| ( |
| $AS < $1 | $OPT -q -inline -dce -constprop -dce |$DIS| $AS > $1.bc.1 || exit 1 |
| |
| # Should not be able to optimize further! |
| $OPT -q -constprop -dce < $1.bc.1 > $1.bc.2 || exit 2 |
| |
| $DIS < $1.bc.1 > $1.ll.1 || exit 3 |
| $DIS < $1.bc.2 > $1.ll.2 || exit 3 |
| gdiff -u $1.ll.[12] || exit 3 |
| |
| # Try out SCCP |
| $AS < $1 | $OPT -q -inline -dce -sccp -dce \ |
| | $DIS | $AS > $1.bc.3 || exit 1 |
| |
| # 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 |
| gdiff -u $1.ll.[34] || exit 3 |
| rm $1.bc.[1234] $1.ll.[1234] |
| |
| touch Output/$1.opt # Success! |
| )|| ../Failure.sh "$1 Optimizer" |