Summary: public Nodes in these functions can be created later (after translation of subexpressions is done). Change triggers many differences in .dot files, but they are all about different numbering of nodes. There is no functional change in this diff. Reviewed By: dulmarod Differential Revision: D2699703 fb-gh-sync-id: a7b8d2amaster
parent
0d1af3cc46
commit
3f9a08f99c
@ -1,98 +1,98 @@
|
||||
digraph iCFG {
|
||||
24 [label="24: ConditinalStmt Branch \n DECLARE_LOCALS(&SIL_temp_conditional___20); [line 25]\n *&SIL_temp_conditional___20:int =0 [line 25]\n APPLY_ABSTRACTION; [line 25]\n " shape="box"]
|
||||
24 [label="24: DeclStmt \n n$2=*&SIL_temp_conditional___19:int [line 25]\n NULLIFY(&SIL_temp_conditional___19,true); [line 25]\n *&z:int =n$2 [line 25]\n REMOVE_TEMPS(n$2); [line 25]\n NULLIFY(&z,false); [line 25]\n APPLY_ABSTRACTION; [line 25]\n " shape="box"]
|
||||
|
||||
|
||||
24 -> 20 ;
|
||||
23 [label="23: Call _fun_ret_ptr \n n$0=_fun_ret_ptr(4:int ) [line 25]\n n$1=*n$0.field:int [line 25]\n DECLARE_LOCALS(&SIL_temp_conditional___20); [line 25]\n *&SIL_temp_conditional___20:int =n$1 [line 25]\n REMOVE_TEMPS(n$0,n$1); [line 25]\n APPLY_ABSTRACTION; [line 25]\n " shape="box"]
|
||||
24 -> 18 ;
|
||||
23 [label="23: ConditinalStmt Branch \n DECLARE_LOCALS(&SIL_temp_conditional___19); [line 25]\n *&SIL_temp_conditional___19:int =0 [line 25]\n APPLY_ABSTRACTION; [line 25]\n " shape="box"]
|
||||
|
||||
|
||||
23 -> 20 ;
|
||||
22 [label="22: Prune (false branch) \n PRUNE((1 == 0), false); [line 25]\n " shape="invhouse"]
|
||||
23 -> 19 ;
|
||||
22 [label="22: Call _fun_ret_ptr \n n$0=_fun_ret_ptr(4:int ) [line 25]\n n$1=*n$0.field:int [line 25]\n DECLARE_LOCALS(&SIL_temp_conditional___19); [line 25]\n *&SIL_temp_conditional___19:int =n$1 [line 25]\n REMOVE_TEMPS(n$0,n$1); [line 25]\n APPLY_ABSTRACTION; [line 25]\n " shape="box"]
|
||||
|
||||
|
||||
22 -> 24 ;
|
||||
21 [label="21: Prune (true branch) \n PRUNE((1 != 0), true); [line 25]\n " shape="invhouse"]
|
||||
22 -> 19 ;
|
||||
21 [label="21: Prune (false branch) \n PRUNE((1 == 0), false); [line 25]\n " shape="invhouse"]
|
||||
|
||||
|
||||
21 -> 23 ;
|
||||
20 [label="20: + \n " ]
|
||||
20 [label="20: Prune (true branch) \n PRUNE((1 != 0), true); [line 25]\n " shape="invhouse"]
|
||||
|
||||
|
||||
20 -> 19 ;
|
||||
19 [label="19: DeclStmt \n n$2=*&SIL_temp_conditional___20:int [line 25]\n NULLIFY(&SIL_temp_conditional___20,true); [line 25]\n *&z:int =n$2 [line 25]\n REMOVE_TEMPS(n$2); [line 25]\n NULLIFY(&z,false); [line 25]\n APPLY_ABSTRACTION; [line 25]\n " shape="box"]
|
||||
20 -> 22 ;
|
||||
19 [label="19: + \n " ]
|
||||
|
||||
|
||||
19 -> 18 ;
|
||||
19 -> 24 ;
|
||||
18 [label="18: Exit access_field_in_ife_branch \n " color=yellow style=filled]
|
||||
|
||||
|
||||
17 [label="17: Start access_field_in_ife_branch\nFormals: \nLocals: z:int \n DECLARE_LOCALS(&return,&z); [line 24]\n NULLIFY(&z,false); [line 24]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
17 -> 20 ;
|
||||
17 -> 21 ;
|
||||
17 -> 22 ;
|
||||
16 [label="16: ConditinalStmt Branch \n DECLARE_LOCALS(&SIL_temp_conditional___12); [line 21]\n *&SIL_temp_conditional___12:int =3 [line 21]\n APPLY_ABSTRACTION; [line 21]\n " shape="box"]
|
||||
16 [label="16: DeclStmt \n n$0=*&SIL_temp_conditional___11:int [line 21]\n NULLIFY(&SIL_temp_conditional___11,true); [line 21]\n n$1=_fun_ret_ptr(n$0:int ) [line 21]\n n$2=*n$1.field:int [line 21]\n *&z:int =n$2 [line 21]\n REMOVE_TEMPS(n$0,n$1,n$2); [line 21]\n NULLIFY(&z,false); [line 21]\n APPLY_ABSTRACTION; [line 21]\n " shape="box"]
|
||||
|
||||
|
||||
16 -> 12 ;
|
||||
15 [label="15: ConditinalStmt Branch \n DECLARE_LOCALS(&SIL_temp_conditional___12); [line 21]\n *&SIL_temp_conditional___12:int =2 [line 21]\n APPLY_ABSTRACTION; [line 21]\n " shape="box"]
|
||||
16 -> 10 ;
|
||||
15 [label="15: ConditinalStmt Branch \n DECLARE_LOCALS(&SIL_temp_conditional___11); [line 21]\n *&SIL_temp_conditional___11:int =3 [line 21]\n APPLY_ABSTRACTION; [line 21]\n " shape="box"]
|
||||
|
||||
|
||||
15 -> 12 ;
|
||||
14 [label="14: Prune (false branch) \n PRUNE((1 == 0), false); [line 21]\n " shape="invhouse"]
|
||||
15 -> 11 ;
|
||||
14 [label="14: ConditinalStmt Branch \n DECLARE_LOCALS(&SIL_temp_conditional___11); [line 21]\n *&SIL_temp_conditional___11:int =2 [line 21]\n APPLY_ABSTRACTION; [line 21]\n " shape="box"]
|
||||
|
||||
|
||||
14 -> 16 ;
|
||||
13 [label="13: Prune (true branch) \n PRUNE((1 != 0), true); [line 21]\n " shape="invhouse"]
|
||||
14 -> 11 ;
|
||||
13 [label="13: Prune (false branch) \n PRUNE((1 == 0), false); [line 21]\n " shape="invhouse"]
|
||||
|
||||
|
||||
13 -> 15 ;
|
||||
12 [label="12: + \n " ]
|
||||
12 [label="12: Prune (true branch) \n PRUNE((1 != 0), true); [line 21]\n " shape="invhouse"]
|
||||
|
||||
|
||||
12 -> 11 ;
|
||||
11 [label="11: DeclStmt \n n$0=*&SIL_temp_conditional___12:int [line 21]\n NULLIFY(&SIL_temp_conditional___12,true); [line 21]\n n$1=_fun_ret_ptr(n$0:int ) [line 21]\n n$2=*n$1.field:int [line 21]\n *&z:int =n$2 [line 21]\n REMOVE_TEMPS(n$0,n$1,n$2); [line 21]\n NULLIFY(&z,false); [line 21]\n APPLY_ABSTRACTION; [line 21]\n " shape="box"]
|
||||
12 -> 14 ;
|
||||
11 [label="11: + \n " ]
|
||||
|
||||
|
||||
11 -> 10 ;
|
||||
11 -> 16 ;
|
||||
10 [label="10: Exit call_ife_then_access_field \n " color=yellow style=filled]
|
||||
|
||||
|
||||
9 [label="9: Start call_ife_then_access_field\nFormals: \nLocals: z:int \n DECLARE_LOCALS(&return,&z); [line 20]\n NULLIFY(&z,false); [line 20]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
9 -> 12 ;
|
||||
9 -> 13 ;
|
||||
9 -> 14 ;
|
||||
8 [label="8: ConditinalStmt Branch \n NULLIFY(&p,false); [line 17]\n n$1=*&q:struct s * [line 17]\n DECLARE_LOCALS(&SIL_temp_conditional___4); [line 17]\n *&SIL_temp_conditional___4:struct s *=n$1 [line 17]\n REMOVE_TEMPS(n$1); [line 17]\n NULLIFY(&q,false); [line 17]\n APPLY_ABSTRACTION; [line 17]\n " shape="box"]
|
||||
8 [label="8: DeclStmt \n n$2=*&SIL_temp_conditional___3:struct s * [line 17]\n NULLIFY(&SIL_temp_conditional___3,true); [line 17]\n n$3=*n$2.field:int [line 17]\n *&z:int =n$3 [line 17]\n REMOVE_TEMPS(n$2,n$3); [line 17]\n NULLIFY(&z,false); [line 17]\n APPLY_ABSTRACTION; [line 17]\n " shape="box"]
|
||||
|
||||
|
||||
8 -> 4 ;
|
||||
7 [label="7: ConditinalStmt Branch \n NULLIFY(&q,false); [line 17]\n n$0=*&p:struct s * [line 17]\n DECLARE_LOCALS(&SIL_temp_conditional___4); [line 17]\n *&SIL_temp_conditional___4:struct s *=n$0 [line 17]\n REMOVE_TEMPS(n$0); [line 17]\n NULLIFY(&p,false); [line 17]\n APPLY_ABSTRACTION; [line 17]\n " shape="box"]
|
||||
8 -> 2 ;
|
||||
7 [label="7: ConditinalStmt Branch \n NULLIFY(&p,false); [line 17]\n n$1=*&q:struct s * [line 17]\n DECLARE_LOCALS(&SIL_temp_conditional___3); [line 17]\n *&SIL_temp_conditional___3:struct s *=n$1 [line 17]\n REMOVE_TEMPS(n$1); [line 17]\n NULLIFY(&q,false); [line 17]\n APPLY_ABSTRACTION; [line 17]\n " shape="box"]
|
||||
|
||||
|
||||
7 -> 4 ;
|
||||
6 [label="6: Prune (false branch) \n PRUNE((1 == 0), false); [line 17]\n " shape="invhouse"]
|
||||
7 -> 3 ;
|
||||
6 [label="6: ConditinalStmt Branch \n NULLIFY(&q,false); [line 17]\n n$0=*&p:struct s * [line 17]\n DECLARE_LOCALS(&SIL_temp_conditional___3); [line 17]\n *&SIL_temp_conditional___3:struct s *=n$0 [line 17]\n REMOVE_TEMPS(n$0); [line 17]\n NULLIFY(&p,false); [line 17]\n APPLY_ABSTRACTION; [line 17]\n " shape="box"]
|
||||
|
||||
|
||||
6 -> 8 ;
|
||||
5 [label="5: Prune (true branch) \n PRUNE((1 != 0), true); [line 17]\n " shape="invhouse"]
|
||||
6 -> 3 ;
|
||||
5 [label="5: Prune (false branch) \n PRUNE((1 == 0), false); [line 17]\n " shape="invhouse"]
|
||||
|
||||
|
||||
5 -> 7 ;
|
||||
4 [label="4: + \n " ]
|
||||
4 [label="4: Prune (true branch) \n PRUNE((1 != 0), true); [line 17]\n " shape="invhouse"]
|
||||
|
||||
|
||||
4 -> 3 ;
|
||||
3 [label="3: DeclStmt \n n$2=*&SIL_temp_conditional___4:struct s * [line 17]\n NULLIFY(&SIL_temp_conditional___4,true); [line 17]\n n$3=*n$2.field:int [line 17]\n *&z:int =n$3 [line 17]\n REMOVE_TEMPS(n$2,n$3); [line 17]\n NULLIFY(&z,false); [line 17]\n APPLY_ABSTRACTION; [line 17]\n " shape="box"]
|
||||
4 -> 6 ;
|
||||
3 [label="3: + \n " ]
|
||||
|
||||
|
||||
3 -> 2 ;
|
||||
3 -> 8 ;
|
||||
2 [label="2: Exit ife_then_access_field \n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 [label="1: Start ife_then_access_field\nFormals: p:struct s * q:struct s *\nLocals: z:int \n DECLARE_LOCALS(&return,&z); [line 16]\n NULLIFY(&z,false); [line 16]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 -> 4 ;
|
||||
1 -> 5 ;
|
||||
1 -> 6 ;
|
||||
}
|
||||
|
Loading…
Reference in new issue