e0864578adfa29db587a9478b7d6661fb5529438
[oota-llvm.git] / test / Feature / TestOptimizer.sh
1 #!/bin/sh
2 LD_LIBRARY_PATH=../../lib/Debug
3 export LD_LIBRARY_PATH
4
5 AS=../../tools/Debug/as
6 DIS=../../tools/Debug/dis
7 OPT=../../tools/Debug/opt
8
9 echo "======== Running optimizier test on $1"
10
11 (
12   $AS < $1 | $OPT -q -inline -dce -constprop -dce |$DIS| $AS > $1.bc.1 || exit 1
13
14   # Should not be able to optimize further!
15   $OPT -q -constprop -dce < $1.bc.1 > $1.bc.2 || exit 2
16
17   $DIS < $1.bc.1 > $1.ll.1 || exit 3
18   $DIS < $1.bc.2 > $1.ll.2 || exit 3
19   gdiff -u $1.ll.[12] || exit 3
20
21   # Try out SCCP & CleanGCC
22   $AS < $1 | $OPT -q -inline -dce -cleangcc -sccp -dce \
23            | $DIS | $AS > $1.bc.3 || exit 1
24
25   # Should not be able to optimize further!
26   $OPT -q -sccp -dce < $1.bc.3 > $1.bc.4 || exit 2
27   $DIS < $1.bc.3 > $1.ll.3 || exit 3
28   $DIS < $1.bc.4 > $1.ll.4 || exit 3
29   gdiff -u $1.ll.[34] || exit 3
30   rm $1.bc.[1234] $1.ll.[1234]
31   
32   touch Output/$1.opt  # Success!
33 )|| ../Failure.sh "$1 Optimizer"