diff options
author | Quentin Carbonneaux <quentin.carbonneaux@yale.edu> | 2016-03-03 11:55:13 -0500 |
---|---|---|
committer | Quentin Carbonneaux <quentin.carbonneaux@yale.edu> | 2016-03-03 11:55:13 -0500 |
commit | 67f611fbef3cf16162867bdf83cb9c8a051dac4a (patch) | |
tree | ec8fc677fdd95a4f399955cfc2b82de4d42d1217 /lisc/test/_alt.ssa | |
parent | 99965071d2106e60c8929cca7e79be465cc228e1 (diff) | |
download | roux-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/_alt.ssa')
-rw-r--r-- | lisc/test/_alt.ssa | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/lisc/test/_alt.ssa b/lisc/test/_alt.ssa new file mode 100644 index 0000000..3f89e5e --- /dev/null +++ b/lisc/test/_alt.ssa @@ -0,0 +1,25 @@ +# an example with reducible control +# flow graph that exposes poor +# handling of looping constructs + +function $test() { +@start + %ten =w copy 10 + %dum =w copy 0 # dummy live-through temporary +@loop + %alt =w phi @start 0, @left %alt1, @right %alt1 + %cnt =w phi @start 100, @left %cnt, @right %cnt1 + %alt1 =w sub 1, %alt + jnz %alt1, @right, @left +@left + %x =w phi @loop 10, @left %x1 + %x1 =w sub %x, 1 + %z =w copy %x + jnz %z, @left, @loop +@right + %cnt1 =w sub %cnt, %ten + jnz %cnt1, @loop, @end +@end + %ret =w add %cnt, %dum + ret +} |