You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
98 lines
6.4 KiB
98 lines
6.4 KiB
digraph iCFG {
|
|
25 [label="25: Return Stmt \n n$27=_fun_main1(4:int ) [line 47]\n *&return:int =n$27 [line 47]\n REMOVE_TEMPS(n$27); [line 47]\n APPLY_ABSTRACTION; [line 47]\n " shape="box"]
|
|
|
|
|
|
25 -> 24 ;
|
|
24 [label="24: Exit main \n " color=yellow style=filled]
|
|
|
|
|
|
23 [label="23: Start main\nFormals: \nLocals: \n DECLARE_LOCALS(&return); [line 46]\n " color=yellow style=filled]
|
|
|
|
|
|
23 -> 25 ;
|
|
22 [label="22: DeclStmt \n *&#GB$main1_s:int =3 [line 8]\n " shape="box"]
|
|
|
|
|
|
22 -> 21 ;
|
|
21 [label="21: DeclStmt \n *&x:int =7 [line 9]\n " shape="box"]
|
|
|
|
|
|
21 -> 20 ;
|
|
20 [label="20: BinaryOperatorStmt: Assign \n DECLARE_LOCALS(&__objc_anonymous_block_main1______2); [line 15]\n n$25=_fun___objc_alloc_no_fail(sizeof(class __objc_anonymous_block_main1______2 ):class __objc_anonymous_block_main1______2 *) [line 15]\n *&__objc_anonymous_block_main1______2:class __objc_anonymous_block_main1______2 =n$25 [line 15]\n n$26=*&x:int [line 15]\n *n$25.x:int =n$26 [line 15]\n n$10=*&x:int [line 15]\n *&addblock:_fn_ (*)=(_fun___objc_anonymous_block_main1______2,n$10) [line 15]\n REMOVE_TEMPS(n$25,n$26,n$10); [line 15]\n " shape="box"]
|
|
|
|
|
|
20 -> 10 ;
|
|
19 [label="19: DeclStmt \n *&bla:int =3 [line 19]\n " shape="box"]
|
|
|
|
|
|
19 -> 18 ;
|
|
18 [label="18: BinaryOperatorStmt: Assign \n DECLARE_LOCALS(&__objc_anonymous_block___objc_anonymous_block_main1______2______3); [line 21]\n n$22=_fun___objc_alloc_no_fail(sizeof(class __objc_anonymous_block___objc_anonymous_block_main1______2______3 ):class __objc_anonymous_block___objc_anonymous_block_main1______2______3 *) [line 21]\n *&__objc_anonymous_block___objc_anonymous_block_main1______2______3:class __objc_anonymous_block___objc_anonymous_block_main1______2______3 =n$22 [line 21]\n n$23=*&x:int [line 21]\n n$24=*&bla:int [line 21]\n *n$22.bla:int =n$23 [line 21]\n *n$22.x:int =n$24 [line 21]\n n$16=*&x:int [line 21]\n n$17=*&bla:int [line 21]\n *&addblock2:_fn_ (*)=(_fun___objc_anonymous_block___objc_anonymous_block_main1______2______3,n$16,n$17) [line 21]\n REMOVE_TEMPS(n$22,n$23,n$24,n$16,n$17); [line 21]\n " shape="box"]
|
|
|
|
|
|
18 -> 14 ;
|
|
17 [label="17: Return Stmt \n n$18=*&z:int [line 22]\n n$19=*&#GB$main1_s:int [line 22]\n n$20=*&x:int [line 22]\n n$21=*&bla:int [line 22]\n *&return:int =(((n$18 + n$19) + n$20) + n$21) [line 22]\n REMOVE_TEMPS(n$18,n$19,n$20,n$21); [line 22]\n NULLIFY(&z,false); [line 22]\n APPLY_ABSTRACTION; [line 22]\n " shape="box"]
|
|
|
|
|
|
17 -> 16 ;
|
|
16 [label="16: Exit __objc_anonymous_block___objc_anonymous_block_main1______2______3 \n " color=yellow style=filled]
|
|
|
|
|
|
15 [label="15: Start __objc_anonymous_block___objc_anonymous_block_main1______2______3\nFormals: x:int bla:int z:int \nLocals: \nCaptured: x:int bla:int \n DECLARE_LOCALS(&return); [line 21]\n " color=yellow style=filled]
|
|
|
|
|
|
15 -> 17 ;
|
|
14 [label="14: BinaryOperatorStmt: Assign \n n$14=*&addblock2:_fn_ (*) [line 25]\n n$15=n$14(1:int ) [line 25]\n *&add2:int =n$15 [line 25]\n REMOVE_TEMPS(n$14,n$15); [line 25]\n NULLIFY(&addblock2,false); [line 25]\n " shape="box"]
|
|
|
|
|
|
14 -> 13 ;
|
|
13 [label="13: Return Stmt \n n$11=*&c:int [line 26]\n n$12=*&add2:int [line 26]\n n$13=*&bla:int [line 26]\n *&return:int =((n$11 + n$12) + n$13) [line 26]\n REMOVE_TEMPS(n$11,n$12,n$13); [line 26]\n NULLIFY(&__objc_anonymous_block___objc_anonymous_block_main1______2______3,true); [line 26]\n NULLIFY(&add2,false); [line 26]\n NULLIFY(&c,false); [line 26]\n APPLY_ABSTRACTION; [line 26]\n " shape="box"]
|
|
|
|
|
|
13 -> 12 ;
|
|
12 [label="12: Exit __objc_anonymous_block_main1______2 \n " color=yellow style=filled]
|
|
|
|
|
|
11 [label="11: Start __objc_anonymous_block_main1______2\nFormals: x:int c:int d:int \nLocals: addblock2:_fn_ (*) add2:int bla:int \nCaptured: x:int \n DECLARE_LOCALS(&return,&addblock2,&add2,&bla); [line 15]\n NULLIFY(&add2,false); [line 15]\n NULLIFY(&addblock2,false); [line 15]\n NULLIFY(&d,false); [line 15]\n " color=yellow style=filled]
|
|
|
|
|
|
11 -> 19 ;
|
|
10 [label="10: BinaryOperatorStmt: Assign \n n$8=*&addblock:_fn_ (*) [line 29]\n n$9=n$8(1:int ,2:int ) [line 29]\n *&add1:int =n$9 [line 29]\n REMOVE_TEMPS(n$8,n$9); [line 29]\n NULLIFY(&addblock,false); [line 29]\n " shape="box"]
|
|
|
|
|
|
10 -> 9 ;
|
|
9 [label="9: BinaryOperatorStmt: Assign \n DECLARE_LOCALS(&__objc_anonymous_block_main1______1); [line 32]\n n$7=_fun___objc_alloc_no_fail(sizeof(class __objc_anonymous_block_main1______1 ):class __objc_anonymous_block_main1______1 *) [line 32]\n *&__objc_anonymous_block_main1______1:class __objc_anonymous_block_main1______1 =n$7 [line 32]\n *&addblock:_fn_ (*)=(_fun___objc_anonymous_block_main1______1) [line 32]\n REMOVE_TEMPS(n$7); [line 32]\n " shape="box"]
|
|
|
|
|
|
9 -> 5 ;
|
|
8 [label="8: Return Stmt \n n$5=*&e:int [line 33]\n n$6=*&#GB$main1_s:int [line 33]\n *&return:int =(n$5 - n$6) [line 33]\n REMOVE_TEMPS(n$5,n$6); [line 33]\n NULLIFY(&e,false); [line 33]\n APPLY_ABSTRACTION; [line 33]\n " shape="box"]
|
|
|
|
|
|
8 -> 7 ;
|
|
7 [label="7: Exit __objc_anonymous_block_main1______1 \n " color=yellow style=filled]
|
|
|
|
|
|
6 [label="6: Start __objc_anonymous_block_main1______1\nFormals: e:int f:int \nLocals: \n DECLARE_LOCALS(&return); [line 32]\n NULLIFY(&f,false); [line 32]\n " color=yellow style=filled]
|
|
|
|
|
|
6 -> 8 ;
|
|
5 [label="5: BinaryOperatorStmt: Assign \n n$3=*&addblock:_fn_ (*) [line 37]\n n$4=n$3(3:int ,2:int ) [line 37]\n *&add2:int =n$4 [line 37]\n REMOVE_TEMPS(n$3,n$4); [line 37]\n NULLIFY(&addblock,false); [line 37]\n " shape="box"]
|
|
|
|
|
|
5 -> 4 ;
|
|
4 [label="4: BinaryOperatorStmt: Assign \n n$1=*&add1:int [line 40]\n n$2=*&add2:int [line 40]\n *&y:int =(n$1 / n$2) [line 40]\n REMOVE_TEMPS(n$1,n$2); [line 40]\n NULLIFY(&add1,false); [line 40]\n NULLIFY(&add2,false); [line 40]\n " shape="box"]
|
|
|
|
|
|
4 -> 3 ;
|
|
3 [label="3: Return Stmt \n n$0=*&y:int [line 42]\n *&return:int =n$0 [line 42]\n REMOVE_TEMPS(n$0); [line 42]\n NULLIFY(&__objc_anonymous_block_main1______1,true); [line 42]\n NULLIFY(&__objc_anonymous_block_main1______2,true); [line 42]\n NULLIFY(&y,false); [line 42]\n APPLY_ABSTRACTION; [line 42]\n " shape="box"]
|
|
|
|
|
|
3 -> 2 ;
|
|
2 [label="2: Exit main1 \n " color=yellow style=filled]
|
|
|
|
|
|
1 [label="1: Start main1\nFormals: y:int \nLocals: x:int add1:int add2:int addblock:_fn_ (*) \n DECLARE_LOCALS(&return,&x,&add1,&add2,&addblock); [line 6]\n NULLIFY(&add1,false); [line 6]\n NULLIFY(&add2,false); [line 6]\n NULLIFY(&addblock,false); [line 6]\n NULLIFY(&y,false); [line 6]\n " color=yellow style=filled]
|
|
|
|
|
|
1 -> 22 ;
|
|
}
|