Bill contributed this major rewrite of the -lowerswitch pass to make it generate
[oota-llvm.git] / test / Feature / TestOptimizer.sh
1 #!/bin/sh
2
3 AS=$2/as
4 DIS=$2/dis
5 OPT=$2/opt
6
7 echo "======== Running optimizer test on $1"
8
9 (
10   $AS < $1 | $OPT -q -inline -dce -constprop -dce |$DIS| $AS > $1.bc.1 || exit 1
11
12   # Should not be able to optimize further!
13   $OPT -q -constprop -dce < $1.bc.1 > $1.bc.2 || exit 2
14
15   $DIS < $1.bc.1 > $1.ll.1 || exit 3
16   $DIS < $1.bc.2 > $1.ll.2 || exit 3
17   gdiff -u $1.ll.[12] || exit 3
18
19   # Try out SCCP 
20   $AS < $1 | $OPT -q -inline -dce -sccp -dce \
21            | $DIS | $AS > $1.bc.3 || exit 1
22
23   # Should not be able to optimize further!
24   $OPT -q -sccp -dce < $1.bc.3 > $1.bc.4 || exit 2
25   $DIS < $1.bc.3 > $1.ll.3 || exit 3
26   $DIS < $1.bc.4 > $1.ll.4 || exit 3
27   gdiff -u $1.ll.[34] || exit 3
28   rm $1.bc.[1234] $1.ll.[1234]
29   
30   touch Output/$1.opt  # Success!
31 )|| ../Failure.sh "$1 Optimizer"