aboutsummaryrefslogtreecommitdiffstats
path: root/test/Feature/TestOptimizer.sh
blob: 7e607cc4f85286734cb5eab7cd7eeaf68ecf250f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#!/bin/sh
LD_LIBRARY_PATH=../lib/Debug
export LD_LIBRARY_PATH

AS=../tools/Debug/as
DIS=../tools/Debug/dis
OPT=../tools/Debug/opt
export AS
export DIS
export OPT

$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
diff $1.ll.[12] || exit 3

# Try out SCCP & CleanGCC
$AS < $1 | $OPT -q -inline -dce -cleangcc -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

#diff $1.bc.[34] || exit 3
rm $1.bc.[123] $1.ll.[12]