summary refs log tree commit diff
path: root/lisc/test/_dragon.ssa
diff options
context:
space:
mode:
authorQuentin Carbonneaux <quentin.carbonneaux@yale.edu>2016-03-03 11:55:13 -0500
committerQuentin Carbonneaux <quentin.carbonneaux@yale.edu>2016-03-03 11:55:13 -0500
commit67f611fbef3cf16162867bdf83cb9c8a051dac4a (patch)
treeec8fc677fdd95a4f399955cfc2b82de4d42d1217 /lisc/test/_dragon.ssa
parent99965071d2106e60c8929cca7e79be465cc228e1 (diff)
downloadroux-67f611fbef3cf16162867bdf83cb9c8a051dac4a.tar.gz
testbed is now functional
I would like to make sure some _ tests are
passing, however I have to think of a nice
way to grab debug output and compare it
nicely.  Some require NReg == 3, that is a
pain in the ass.  Maybe they can be changed
to work for the full register set.
Diffstat (limited to 'lisc/test/_dragon.ssa')
-rw-r--r--lisc/test/_dragon.ssa33
1 files changed, 33 insertions, 0 deletions
diff --git a/lisc/test/_dragon.ssa b/lisc/test/_dragon.ssa
new file mode 100644
index 0000000..b169e1b
--- /dev/null
+++ b/lisc/test/_dragon.ssa
@@ -0,0 +1,33 @@
+# a moderately complex test for
+# dominators computation from
+# the dragon book
+# because branching is limited to
+# two, I had to split some blocks
+
+function $dragon() {
+@start
+@b1
+	jnz 0, @b2, @b3
+@b2
+	jmp @b3
+@b3
+	jmp @b4.1
+@b4.1
+	jnz 0, @b3, @b4.2
+@b4.2
+	jnz 0, @b5, @b6
+@b5
+	jmp @b7
+@b6
+	jmp @b7
+@b7
+	jnz 0, @b8.1, @b4.1
+@b8.1
+	jnz 0, @b3, @b8.2
+@b8.2
+	jnz 0, @b9, @b10
+@b9
+	jmp @b1
+@b10
+	jmp @b7
+}