diff options
Diffstat (limited to 'src/relooper/test2.c')
-rw-r--r-- | src/relooper/test2.c | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/src/relooper/test2.c b/src/relooper/test2.c new file mode 100644 index 00000000..118a2627 --- /dev/null +++ b/src/relooper/test2.c @@ -0,0 +1,44 @@ + +#include "Relooper.h" + +int main() { + char buffer[10000]; + rl_set_output_buffer(buffer, sizeof(buffer)); + + void *r = rl_new_relooper(); + void *ep = rl_new_block("ep"); + rl_relooper_add_block(r, ep); + void *LBB1 = rl_new_block("LBB1"); + rl_relooper_add_block(r, LBB1); + void *LBB2 = rl_new_block("LBB2"); + rl_relooper_add_block(r, LBB2); + void *LBB3 = rl_new_block("LBB3"); + rl_relooper_add_block(r, LBB3); +/* + void *LBB4 = rl_new_block("LBB4"); + rl_relooper_add_block(r, LBB4); + void *LBB5 = rl_new_block("LBB5"); + rl_relooper_add_block(r, LBB5); + void *LBB6 = rl_new_block("LBB6"); + rl_relooper_add_block(r, LBB6); +*/ + rl_block_add_branch_to(ep, LBB1, "ep -> LBB1", NULL); + rl_block_add_branch_to(ep, LBB3, NULL, NULL); + rl_block_add_branch_to(LBB1, LBB2, "LBB1 -> LBB2", NULL); + rl_block_add_branch_to(LBB1, LBB3, NULL, NULL); + rl_block_add_branch_to(LBB2, LBB3, NULL, NULL); +// rl_block_add_branch_to(LBB3, LBB4, "LBB3 -> LBB4"); +// rl_block_add_branch_to(LBB3, LBB6, "LBB3 -> LBB6"); +/* + rl_block_add_branch_to(LBB4, LBB5, "LBB4 -> LBB5"); + rl_block_add_branch_to(LBB4, LBB6, "LBB4 -> LBB6"); + rl_block_add_branch_to(LBB5, LBB6, "LBB5 -> LBB6"); + rl_block_add_branch_to(LBB5, LBB5, "LBB5 -> LBB5"); +*/ + rl_relooper_calculate(r, ep); + rl_relooper_render(r); + rl_delete_relooper(r); + + puts(buffer); +} + |