aboutsummaryrefslogtreecommitdiff
path: root/util/romcc/tests.sh
diff options
context:
space:
mode:
Diffstat (limited to 'util/romcc/tests.sh')
-rw-r--r--util/romcc/tests.sh67
1 files changed, 67 insertions, 0 deletions
diff --git a/util/romcc/tests.sh b/util/romcc/tests.sh
new file mode 100644
index 0000000000..0dba165a75
--- /dev/null
+++ b/util/romcc/tests.sh
@@ -0,0 +1,67 @@
+#!/bin/sh
+# Allow core dumps
+ulimit -c hard
+set -x
+N=''
+root=simple_test
+#root=simple_test
+#root=linux_test
+#root=raminit_test
+if [ -n "$2" -a -n "$1" ] ; then
+ root=$1
+ N=$2
+elif [ -n "$1" ] ; then
+ root=$1
+else
+ echo "too few arguments"
+ exit 1
+fi
+ROMCC=./romcc
+stem="$root$N"
+base=tests/$stem
+op="-Itests/include"
+op="$op -feliminate-inefectual-code -fsimplify -fscc-transform "
+#op="$op -O2"
+op="$op -finline-policy=defaulton"
+#op="$op -finline-policy=nopenalty"
+#op="$op -finline-policy=never"
+op="$op -fdebug -fdebug-triples -fdebug-interference -fdebug-verification"
+#op="$op -fdebug-inline"
+#op="$op -fdebug-calls"
+#op="$op -mnoop-copy"
+#op="$op -fsimplify -fno-simplify-op -fno-simplify-phi -fno-simplify-label -fno-simplify-branch -fno-simplify-copy -fno-simplify-arith -fno-simplify-shift -fno-simplify-bitwise -fno-simplify-logical"
+#op="$op -fdebug-rebuild-ssa-form"
+op="$op -fmax-allocation-passes=8"
+op="$op -fdebug-live-range-conflicts"
+op="$op -fdebug-scc-transform"
+op="$op -fdebug-scc-transform2"
+#-fdebug-coalescing
+#-fdebug-coalesing2
+#-fno-simplify-call "
+#-fno-always-inline"
+#
+#op="-O2 -mmmx -msse --debug=4294967295"
+#op="-fdebug -fdebug-triples -fdebug-inline -O2 -mmmx -msse -fno-always-inline "
+#op="-fdebug -fdebug-inline -O2 -mmmx "
+#op="-fdebug -fdebug-live-range-conflicts -fdebug-live-range-conflicts2 -fno-debug-interference -fdebug-color-graph -fdebug-coalescing -fmax-allocation-passes=10 -O2 -mmmx -msse"
+#op="-fdebug -O2 -mmmx -msse"
+#op="-fdebug -fdebug-inline -fno-eliminate-inefectual-code -fno-always-inline -mmmx"
+#op="-fdebug -fdebug-inline -fno-always-inline -mmmx"
+export ALLOC_CHECK_=2
+rm -f core $base.S $base.debug $base.debug2 $base.elf $base.out &&
+make romcc &&
+$ROMCC $op -o $base.S $base.c 2>&1 > $base.debug | tee $base.debug2
+if [ '(' -f $base.c ')' -a '(' '!' -f core ')' -a '(' -f $base.S ')' ]; then
+ if [ "$stem" = "linux_test$N" ] ; then
+ as $base.S -o $base.o &&
+ ld -T tests/ldscript.ld $base.o -o $base.elf &&
+ ./$base.elf > $base.out &&
+ diff -u results/$stem.out $base.out
+ else
+ /bin/true
+ fi
+else
+ /bin/false
+fi
+
+