aboutsummaryrefslogtreecommitdiff
path: root/src/relooper/test.txt
diff options
context:
space:
mode:
Diffstat (limited to 'src/relooper/test.txt')
-rw-r--r--src/relooper/test.txt350
1 files changed, 287 insertions, 63 deletions
diff --git a/src/relooper/test.txt b/src/relooper/test.txt
index d657c6af..82b02ad7 100644
--- a/src/relooper/test.txt
+++ b/src/relooper/test.txt
@@ -4,15 +4,23 @@
-// block A
-if (check == 10) {
+ // block A
+ switch (the_var) {
+ check == 10 {
atob();
// block B
- btoc();
-} else {
+ switch (the_var) {
+ default: {
+ btoc();
+ }
+ }
+ break;
+ }
+ default: {
atoc();
-}
-// block C
+ }
+ }
+ // block C
@@ -20,13 +28,25 @@ if (check == 10) {
-// block A
-if (check == 15) {
+ // block A
+ switch (the_var) {
+ check == 15 {
// block B
-} else {
+ switch (the_var) {
+ default: {
+ }
+ }
+ break;
+ }
+ default: {
// block C
-}
-// block D
+ switch (the_var) {
+ default: {
+ }
+ }
+ }
+ }
+ // block D
@@ -34,46 +54,81 @@ if (check == 15) {
-while(1) {
+ L0: while(1) {
// block A
var check = maybe();
+ switch (the_var) {
+ default: {
+ }
+ }
// block B
- if (!(check == 41)) {
- break;
+ switch (the_var) {
+ check == 41 {
+ break;
+ }
+ default: {
+ break L0;
+ }
}
-}
-// block C
+ }
+ // block C
-- Loop with phi to head
-// code 1
-var $i_0 = 0;var $x_0 = 5;
-while(1) {
+ // code 1
+ switch (the_var) {
+ default: {
+ var $i_0 = 0;var $x_0 = 5;
+ }
+ }
+ L1: while(1) {
// code 2
- if (!($2)) {
- var $x_1 = $x_0;
- label = 18;
- break;
+ switch (the_var) {
+ $2 {
+ break;
+ }
+ default: {
+ var $x_1 = $x_0;
+ label = 7;
+ break L1;
+ }
}
// code 3
- if ($6) {
- break;
- } else {
- var $i_0 = $7;var $x_0 = $5;
+ switch (the_var) {
+ $6 {
+ break L1;
+ break;
+ }
+ default: {
+ var $i_0 = $7;var $x_0 = $5;
}
-}
-if (label == 18) {
+ }
+ }
+ if (label == 7) {
// code 7
-}
-// code 4
-if ($10) {
+ }
+ // code 4
+ switch (the_var) {
+ $10 {
// code 5
-}
-// code 6
-var $x_1 = $13;
-// code 7
+ switch (the_var) {
+ default: {
+ }
+ }
+ break;
+ }
+ default: {
+ }
+ }
+ // code 6
+ switch (the_var) {
+ default: {
+ var $x_1 = $13;
+ }
+ }
+ // code 7
@@ -81,18 +136,30 @@ var $x_1 = $13;
-// block A...................................................................................................
-if (chak()) {
+ // block A...................................................................................................
+ switch (the_var) {
+ chak() {
atob();
// block B...................................................................................................
- btod();
+ switch (the_var) {
+ default: {
+ btod();
+ }
+ }
// block D
-} else {
+ break;
+ }
+ default: {
atoc();
// block C...................................................................................................
- ctod2();
+ switch (the_var) {
+ default: {
+ ctod2();
+ }
+ }
// block D
-}
+ }
+ }
@@ -100,14 +167,27 @@ if (chak()) {
-// block A
-if (!(check == 10)) {
+ // block A
+ switch (the_var) {
+ check == 10 {
+ break;
+ }
+ default: {
return C;
-}
-while(1) {
+ }
+ }
+ while(1) {
// block B
+ switch (the_var) {
+ default: {
+ }
+ }
// block D
-}
+ switch (the_var) {
+ default: {
+ }
+ }
+ }
@@ -115,24 +195,168 @@ while(1) {
-// block A
-do {
- if (expensive()) {
- label = 33;
- } else {
- // block B
- if (expensive2()) {
- label = 33;
- break;
- }
- // block D
+ // block A
+ L1: do {
+ switch (the_var) {
+ expensive() {
+ label = 3;
+ break;
+ }
+ default: {
+ // block B
+ switch (the_var) {
+ expensive2() {
+ label = 3;
+ break L1;
+ break;
+ }
+ default: {
+ }
+ }
+ // block D
+ switch (the_var) {
+ default: {
+ }
+ }
}
-} while(0);
-if (label == 33) {
+ }
+ } while(0);
+ if (label == 3) {
// block C;
-}
-while(1) {
+ switch (the_var) {
+ default: {
+ }
+ }
+ }
+ while(1) {
// block E
+ switch (the_var) {
+ default: {
+ }
+ }
// block F
-}
+ switch (the_var) {
+ default: {
+ }
+ }
+ }
+
+
+
+-- conditional loop --
+
+
+
+ // block A
+ L1: do {
+ switch (the_var) {
+ shouldLoop() {
+ while(1) {
+ // block B
+ switch (the_var) {
+ moarLoop() {
+ break;
+ }
+ default: {
+ break L1;
+ }
+ }
+ }
+ break;
+ }
+ default: {
+ }
+ }
+ } while(0);
+ // block C
+
+
+
+-- If pattern, emulated --
+
+
+
+ label = 1;
+ L0: while(1) {
+ switch(label|0) {
+ case 3: {
+ // block C
+ break;
+ }
+ case 1: {
+ // block A
+ if (check == 10) {
+ atob();
+ label = 2;
+ continue L0;
+ } else {
+ atoc();
+ label = 3;
+ continue L0;
+ }
+ break;
+ }
+ case 2: {
+ // block B
+ switch (b_check()) {
+ case 17: {
+ btoc();
+ label = 3;
+ continue L0;
+ break;
+ }
+ default: {
+ label = 1;
+ continue L0;
+ }
+ }
+ break;
+ }
+ }
+ }
+
+
+
+-- If pattern, emulated, using MakeOutputBuffer --
+
+
+
+ label = 1;
+ L0: while(1) {
+ switch(label|0) {
+ case 3: {
+ // block C
+ break;
+ }
+ case 1: {
+ // block A
+ if (check == 10) {
+ atob();
+ label = 2;
+ continue L0;
+ } else {
+ atoc();
+ label = 3;
+ continue L0;
+ }
+ break;
+ }
+ case 2: {
+ // block B
+ switch (b_check()) {
+ case 17: {
+ btoc();
+ label = 3;
+ continue L0;
+ break;
+ }
+ default: {
+ label = 1;
+ continue L0;
+ }
+ }
+ break;
+ }
+ }
+ }