I have create a new branch refine-graph to refactor the graph.py, please see the commit 7361135 for details.
I renamed the extract_basic_blocks to initialize, because all the Graph class properties are initialized in this function. However, several changes I have made that I think may influence the following interval generation, here are these changes:
at line 146, I moved the numbered_rev_edge_type into the if branch, as the original version may lead to a branch named unconditional_0_0, which I think is a problem. In this way, the bbs_graph and rev_bbs_graph are symmetric;
at line 162, I also appended some orphan basic blocks into the rev_bbs_graph;
I'm concerned about the correctness of function init_aes_func, please give some comments about statements, like line 200 (why split by '$').
In summary, please recheck the correctness of interval generation process as I have changed the initialization process of rev_bbs_graph. Thanks @zzhzz
I have create a new branch
refine-graph
to refactor the graph.py, please see the commit 7361135 for details.I renamed the
extract_basic_blocks
toinitialize
, because all the Graph class properties are initialized in this function. However, several changes I have made that I think may influence the following interval generation, here are these changes:numbered_rev_edge_type
into the if branch, as the original version may lead to a branch namedunconditional_0_0
, which I think is a problem. In this way, thebbs_graph
andrev_bbs_graph
are symmetric;rev_bbs_graph
;init_aes_func
, please give some comments about statements, like line 200 (why split by '$').In summary, please recheck the correctness of interval generation process as I have changed the initialization process of
rev_bbs_graph
. Thanks @zzhzz