aboutsummaryrefslogtreecommitdiff
path: root/src/relooper/test_debug.txt
diff options
context:
space:
mode:
Diffstat (limited to 'src/relooper/test_debug.txt')
-rw-r--r--src/relooper/test_debug.txt96
1 files changed, 96 insertions, 0 deletions
diff --git a/src/relooper/test_debug.txt b/src/relooper/test_debug.txt
new file mode 100644
index 00000000..1c7d0508
--- /dev/null
+++ b/src/relooper/test_debug.txt
@@ -0,0 +1,96 @@
+#include "Relooper.h"
+int main() {
+ char buffer[100000];
+ rl_set_output_buffer(buffer);
+ void *block_map[10000];
+ void *rl = rl_new_relooper();
+ void *b1 = rl_new_block("// code 1");
+ block_map[1] = b1;
+ rl_relooper_add_block(rl, block_map[1]);
+ void *b2 = rl_new_block("// code 2");
+ block_map[2] = b2;
+ rl_relooper_add_block(rl, block_map[2]);
+ void *b3 = rl_new_block("// code 3");
+ block_map[3] = b3;
+ rl_relooper_add_block(rl, block_map[3]);
+ void *b4 = rl_new_block("// code 4");
+ block_map[4] = b4;
+ rl_relooper_add_block(rl, block_map[4]);
+ rl_block_add_branch_to(block_map[1], block_map[2], "ep -> LBB1", NULL);
+ rl_block_add_branch_to(block_map[1], block_map[4], NULL, NULL);
+ rl_block_add_branch_to(block_map[2], block_map[3], "LBB1 -> LBB2", NULL);
+ rl_block_add_branch_to(block_map[2], block_map[4], NULL, NULL);
+ rl_block_add_branch_to(block_map[3], block_map[4], NULL, NULL);
+ rl_relooper_calculate(rl, block_map[1]);
+ rl_relooper_render(rl);
+ rl_delete_relooper(rl);
+ puts(buffer);
+ return 0;
+}
+// Adding block 1 (ep)
+// with branch out to 2
+// with branch out to 4
+// Adding block 2 (LBB1)
+// with branch out to 3
+// with branch out to 4
+// Adding block 3 (LBB2)
+// with branch out to 4
+// Adding block 4 (LBB3)
+// Process() called
+// Process() running
+ blocks : 1 2 3 4
+ entries: 1
+// creating simple block with block #1
+// Solipsizing branches into 2
+ relevant to solipsize: 1
+// eliminated branch from 1
+// Solipsizing branches into 4
+ relevant to solipsize: 1
+// eliminated branch from 1
+// Process() running
+ blocks : 2 3 4
+ entries: 2 4
+// Investigated independent groups:
+ group: 2 3
+// Independent groups: 1
+// Handleable independent groups: 1
+// creating multiple block with 1 inner groups
+// multiple group with entry 2:
+ 2 3
+// Solipsizing branches into 4
+ relevant to solipsize: 2 3
+// eliminated branch from 2
+// eliminated branch from 3
+// Process() called
+// Process() running
+ blocks : 2 3
+ entries: 2
+// creating simple block with block #2
+// Solipsizing branches into 3
+ relevant to solipsize: 2
+// eliminated branch from 2
+// Process() running
+ blocks : 3
+ entries: 3
+// creating simple block with block #3
+// Process() returning
+ remaining blocks after multiple: 4
+// Process() running
+ blocks : 4
+ entries: 4
+// creating simple block with block #4
+// Process() returning
+// === Optimizing shapes ===
+// Fusing Multiple to Simple
+ep
+do {
+ if (ep -> LBB1) {
+ LBB1
+ if (!(LBB1 -> LBB2)) {
+ break;
+ }
+ LBB2
+ }
+} while(0);
+LBB3
+