Make 'features' testsuite work with the /shared changes.
[oota-llvm.git] / test / Feature / TestOptimizer.sh
index b34aae2785e2faa68530ab2b3265c0afdf77d539..fa31f0e45c5f17a24a3b168978a5a5a804610f15 100755 (executable)
@@ -1,13 +1,33 @@
 #!/bin/sh
-LD_LIBRARY_PATH=../lib/Assembly/Parser/Debug:../lib/Assembly/Writer/Debug:../lib/Analysis/Debug:../lib/VMCore/Debug:../lib/Bytecode/Writer/Debug:../lib/Bytecode/Reader/Debug:../lib/Optimizations/Debug
+LD_LIBRARY_PATH=$3
 export LD_LIBRARY_PATH
 
+AS=$2/as
+DIS=$2/dis
+OPT=$2/opt
 
-../tools/as/as < $1 | ../tools/opt/opt -q -inline -constprop -dce | ../tools/dis/dis | ../tools/as/as > $1.bc.1 || exit 1
+echo "======== Running optimizier test on $1"
 
-# Should not be able to optimize further!
-../tools/opt/opt -q -inline -constprop -dce < $1.bc.1 > $1.bc.2 || exit 2
+(
+  $AS < $1 | $OPT -q -inline -dce -constprop -dce |$DIS| $AS > $1.bc.1 || exit 1
 
-diff $1.bc.[12] || exit 3
-rm $1.bc.[12]
+  # 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"