1 graph: { title: "ir graph of OO_PROGRAM_EXAMPLE_main"
2 display_edge_labels: no
3 layoutalgorithm: mindepth
6 orientation: bottom_to_top
7 classname 1: "intrablock Data"
8 classname 16: "interblock Data"
10 classname 13: "Control Flow"
11 classname 18: "Exception Control Flow for Interval Analysis"
12 classname 14: "intrablock Memory"
13 classname 17: "interblock Memory"
14 classname 15: "Dominators"
15 classname 3: "Entity type"
16 classname 4: "Entity owner"
17 classname 5: "Method Param"
18 classname 6: "Method Res"
21 classname 9: "Points-to"
22 classname 10: "Array Element Type"
23 classname 11: "Overwrites"
24 classname 12: "Member"
25 infoname 1: "Attribute"
26 infoname 2: "Verification errors"
27 infoname 3: "Debug info"
29 colorentry 101: 20 0 0
30 colorentry 102: 40 0 0
31 colorentry 103: 60 0 0
32 colorentry 104: 80 0 0
33 colorentry 105: 100 0 0
34 colorentry 106: 120 0 0
35 colorentry 107: 140 0 0
36 colorentry 108: 150 0 0
37 colorentry 109: 180 0 0
38 colorentry 110: 200 0 0
39 colorentry 111: 220 0 0
40 colorentry 112: 240 0 0
41 colorentry 113: 255 0 0
42 colorentry 113: 255 20 20
43 colorentry 114: 255 40 40
44 colorentry 115: 255 60 60
45 colorentry 116: 255 80 80
46 colorentry 117: 255 100 100
47 colorentry 118: 255 120 120
48 colorentry 119: 255 140 140
49 colorentry 120: 255 150 150
50 colorentry 121: 255 180 180
51 colorentry 122: 255 200 200
52 colorentry 123: 255 220 220
53 colorentry 124: 255 240 240
54 colorentry 125: 255 250 250
56 graph: { title: "g39" label: "OO_PROGRAM_EXAMPLE_main" status:clustered color:white
57 graph: { title: "n28" label: "Block 28" status:clustered color:yellow
58 edge: {sourcename: "n28" targetname: "n59" label: "0" class:13 priority:60 color:red}
59 node: {title: "n109" label: "End OO_PROGRAM_EXAMPLE_main 109" info1: "End OO_PROGRAM_EXAMPLE_main 109
62 irg: OO_PROGRAM_EXAMPLE_main
73 graph: { title: "n40" label: "Block 40" status:clustered color:yellow
74 edge: {sourcename: "n40" targetname: "n200" label: "0" class:13 priority:60 color:red}
75 node: {title: "n59" label: "Return 59" info1: "Return 59
78 irg: OO_PROGRAM_EXAMPLE_main
87 edge: {sourcename: "n59" targetname: "n202" label: "0" class:14 priority:50 color:blue}
88 edge: {sourcename: "n59" targetname: "n203" label: "1" class:1 priority:50}
89 node: {title: "n202" label: "FilterM 0 202" info1: "Filter 202
92 irg: OO_PROGRAM_EXAMPLE_main
104 edge: {sourcename: "n202" targetname: "n104" label: "0" class:17 priority:10 color:blue}
105 node: {title: "n203" label: "FilterIs 0 203" info1: "Filter 203
108 irg: OO_PROGRAM_EXAMPLE_main
120 edge: {sourcename: "n203" targetname: "n106" label: "0" class:16 priority:10}
123 graph: { title: "n197" label: "Block 197" status:clustered color:yellow
124 edge: {sourcename: "n197" targetname: "n194" label: "0" class:13 priority:60 color:red}
125 node: {title: "n196" label: "FilterM 0 196" info1: "Filter 196
128 irg: OO_PROGRAM_EXAMPLE_main
140 edge: {sourcename: "n196" targetname: "n81" label: "0" class:17 priority:10 color:blue}
141 node: {title: "n201" label: "ProjX 0 201" info1: "Proj 201
144 irg: OO_PROGRAM_EXAMPLE_main
153 edge: {sourcename: "n201" targetname: "n199" label: "0" class:13 priority:60 color:red}
154 node: {title: "n199" label: "CallBegin c 199" info1: "CallBegin c 199
157 irg: OO_PROGRAM_EXAMPLE_main
168 edge: {sourcename: "n199" targetname: "n174" label: "0" class:16 priority:10}
171 graph: { title: "n191" label: "Block 191" status:clustered color:yellow
172 edge: {sourcename: "n191" targetname: "n34" label: "0" class:13 priority:60 color:red}
173 node: {title: "n47" label: "ProjM M 47" info1: "Proj 47
176 irg: OO_PROGRAM_EXAMPLE_main
185 edge: {sourcename: "n47" targetname: "n45" label: "0" class:17 priority:10 color:blue}
186 node: {title: "n48" label: "ProjP res 48" info1: "Proj 48
189 irg: OO_PROGRAM_EXAMPLE_main
198 edge: {sourcename: "n48" targetname: "n45" label: "0" class:1 priority:50}
199 node: {title: "n45" label: "Alloc 45" info1: "Alloc 45
202 irg: OO_PROGRAM_EXAMPLE_main
207 1: SymC PRIMA size 43
209 pinned state: op_pin_state_pinned
210 allocating entity of type: PRIMA
211 allocating on: the heap
214 edge: {sourcename: "n45" targetname: "n37" label: "0" class:17 priority:10 color:blue}
215 edge: {sourcename: "n45" targetname: "n43" label: "1" class:16 priority:10}
216 node: {title: "n195" label: "ProjX 0 195" info1: "Proj 195
219 irg: OO_PROGRAM_EXAMPLE_main
223 0: CallBegin set_a 193
228 edge: {sourcename: "n195" targetname: "n193" label: "0" class:13 priority:60 color:red}
229 node: {title: "n193" label: "CallBegin set_a 193" info1: "CallBegin set_a 193
232 irg: OO_PROGRAM_EXAMPLE_main
243 edge: {sourcename: "n193" targetname: "n175" label: "0" class:16 priority:10}
246 graph: { title: "n30" label: "Block 30" status:clustered color:yellow
247 edge: {sourcename: "n30" targetname: "n34" label: "0" class:13 priority:60 color:red}
248 node: {title: "n41" label: "0x2Is 41" info1: "0x2 41
251 irg: OO_PROGRAM_EXAMPLE_main
256 Const of type type_unknown
259 node: {title: "n37" label: "ProjM 1 37" info1: "Proj 37
262 irg: OO_PROGRAM_EXAMPLE_main
266 0: Start OO_PROGRAM_EXAMPLE_main 31
271 edge: {sourcename: "n37" targetname: "n31" label: "0" class:17 priority:10 color:blue}
272 node: {title: "n43" label: "SymC PRIMA size 43" info1: "SymC PRIMA size 43
275 irg: OO_PROGRAM_EXAMPLE_main
281 type: class type PRIMA (15)
282 type of value: type_unknown
285 node: {title: "n42" label: "0x5Is 42" info1: "0x5 42
288 irg: OO_PROGRAM_EXAMPLE_main
293 Const of type type_unknown
296 node: {title: "n174" label: "SymC &c 174" info1: "SymC &c 174
299 irg: OO_PROGRAM_EXAMPLE_main
305 entity: entity PRIMA.c (23)
307 type of value: type_unknown
310 node: {title: "n175" label: "SymC &set_a 175" info1: "SymC &set_a 175
313 irg: OO_PROGRAM_EXAMPLE_main
319 entity: entity PRIMA.set_a (20)
321 type of value: type_unknown
324 node: {title: "n34" label: "ProjX X_initial_exec 34" info1: "Proj 34
327 irg: OO_PROGRAM_EXAMPLE_main
331 0: Start OO_PROGRAM_EXAMPLE_main 31
336 edge: {sourcename: "n34" targetname: "n31" label: "0" class:13 priority:60 color:red}
337 node: {title: "n31" label: "Start OO_PROGRAM_EXAMPLE_main 31" info1: "Start OO_PROGRAM_EXAMPLE_main 31
340 irg: OO_PROGRAM_EXAMPLE_main
345 start of method of type OO_PROGRAM_EXAMPLE_main
352 graph: { title: "g73" label: "PRIMA_set_a" status:clustered color:white
353 graph: { title: "n188" label: "Block 188" status:clustered color:yellow
354 edge: {sourcename: "n188" targetname: "n187" label: "0" class:13 priority:60 color:red}
355 node: {title: "n194" label: "ProjX 0 194" info1: "Proj 194
362 0: EndReg PRIMA_set_a 189
367 edge: {sourcename: "n194" targetname: "n189" label: "0" class:13 priority:60 color:red}
368 node: {title: "n189" label: "EndReg PRIMA_set_a 189" info1: "EndReg PRIMA_set_a 189
380 graph: { title: "n74" label: "Block 74" status:clustered color:yellow
381 edge: {sourcename: "n74" targetname: "n68" label: "0" class:13 priority:60 color:red}
382 node: {title: "n81" label: "ProjM M 81" info1: "Proj 81
394 edge: {sourcename: "n81" targetname: "n79" label: "0" class:17 priority:10 color:blue}
395 node: {title: "n79" label: "Store 79" info1: "Store 79
406 pinned state: op_pin_state_pinned
407 volatility: volatility_non_volatile
410 edge: {sourcename: "n79" targetname: "n184" label: "0" class:17 priority:10 color:blue}
411 edge: {sourcename: "n79" targetname: "n78" label: "1" class:1 priority:50}
412 edge: {sourcename: "n79" targetname: "n186" label: "2" class:16 priority:10}
413 node: {title: "n78" label: "Sel a 78" info1: "Sel 78
423 Selecting entity a (17)
428 edge: {sourcename: "n78" targetname: "n184" label: "0" class:17 priority:10 color:blue}
429 edge: {sourcename: "n78" targetname: "n185" label: "1" class:16 priority:10}
430 node: {title: "n187" label: "Jmp 187" info1: "Jmp 187
442 graph: { title: "n64" label: "Block 64" status:clustered color:yellow
443 edge: {sourcename: "n64" targetname: "n195" label: "0" class:13 priority:60 color:red}
444 node: {title: "n184" label: "FilterM 1 184" info1: "Filter 184
451 0: Start PRIMA_set_a 65
459 edge: {sourcename: "n184" targetname: "n47" label: "0" class:17 priority:10 color:blue}
460 node: {title: "n185" label: "FilterP 0 185" info1: "Filter 185
475 edge: {sourcename: "n185" targetname: "n48" label: "0" class:16 priority:10}
476 node: {title: "n186" label: "FilterIs 1 186" info1: "Filter 186
491 edge: {sourcename: "n186" targetname: "n41" label: "0" class:16 priority:10}
492 node: {title: "n68" label: "ProjX X_initial_exec 68" info1: "Proj 68
499 0: Start PRIMA_set_a 65
504 edge: {sourcename: "n68" targetname: "n65" label: "0" class:13 priority:60 color:red}
505 node: {title: "n65" label: "Start PRIMA_set_a 65" info1: "Start PRIMA_set_a 65
513 start of method of type set_a
514 param 0 type: class_prima_ptr
522 graph: { title: "g96" label: "PRIMA_c" status:clustered color:white
523 graph: { title: "n180" label: "Block 180" status:clustered color:yellow
524 edge: {sourcename: "n180" targetname: "n179" label: "0" class:13 priority:60 color:red}
525 node: {title: "n200" label: "ProjX 0 200" info1: "Proj 200
532 0: EndReg PRIMA_c 181
537 edge: {sourcename: "n200" targetname: "n181" label: "0" class:13 priority:60 color:red}
538 node: {title: "n181" label: "EndReg PRIMA_c 181" info1: "EndReg PRIMA_c 181
550 graph: { title: "n97" label: "Block 97" status:clustered color:yellow
551 edge: {sourcename: "n97" targetname: "n91" label: "0" class:13 priority:60 color:red}
552 node: {title: "n104" label: "ProjM M 104" info1: "Proj 104
564 edge: {sourcename: "n104" targetname: "n102" label: "0" class:17 priority:10 color:blue}
565 node: {title: "n106" label: "AddIs 106" info1: "Add 106
577 edge: {sourcename: "n106" targetname: "n105" label: "0" class:1 priority:50}
578 edge: {sourcename: "n106" targetname: "n178" label: "1" class:16 priority:10}
579 node: {title: "n105" label: "ProjIs res 105" info1: "Proj 105
591 edge: {sourcename: "n105" targetname: "n102" label: "0" class:1 priority:50}
592 node: {title: "n102" label: "Load[Is] 102" info1: "Load[Is] 102
602 pinned state: op_pin_state_pinned
603 mode of loaded value: Is
604 volatility: volatility_non_volatile
607 edge: {sourcename: "n102" targetname: "n176" label: "0" class:17 priority:10 color:blue}
608 edge: {sourcename: "n102" targetname: "n101" label: "1" class:1 priority:50}
609 node: {title: "n101" label: "Sel a 101" info1: "Sel 101
619 Selecting entity a (17)
624 edge: {sourcename: "n101" targetname: "n176" label: "0" class:17 priority:10 color:blue}
625 edge: {sourcename: "n101" targetname: "n177" label: "1" class:16 priority:10}
626 node: {title: "n179" label: "Jmp 179" info1: "Jmp 179
638 graph: { title: "n87" label: "Block 87" status:clustered color:yellow
639 edge: {sourcename: "n87" targetname: "n201" label: "0" class:13 priority:60 color:red}
640 node: {title: "n176" label: "FilterM 1 176" info1: "Filter 176
655 edge: {sourcename: "n176" targetname: "n196" label: "0" class:17 priority:10 color:blue}
656 node: {title: "n177" label: "FilterP 0 177" info1: "Filter 177
671 edge: {sourcename: "n177" targetname: "n48" label: "0" class:16 priority:10}
672 node: {title: "n178" label: "FilterIs 1 178" info1: "Filter 178
687 edge: {sourcename: "n178" targetname: "n42" label: "0" class:16 priority:10}
688 node: {title: "n91" label: "ProjX X_initial_exec 91" info1: "Proj 91
700 edge: {sourcename: "n91" targetname: "n88" label: "0" class:13 priority:60 color:red}
701 node: {title: "n88" label: "Start PRIMA_c 88" info1: "Start PRIMA_c 88
709 start of method of type c
710 param 0 type: class_prima_ptr
718 node: {title: "e20" label: "ent PRIMA_set_a" color: yellow
719 info1: "entity set_a (20)
722 Does not overwrite other entities.
723 Is not overwritten by other entities.
724 allocation: allocation_static
725 visibility: visibility_local
726 variability: variability_constant
727 atomic value: SymC &set_a
728 volatility: volatility_non_volatile
729 peculiarity: peculiarity_existent
731 offset: -1 bits, -1 bytes
736 edge: { sourcename: "e20" targetname: "t18"class: 3 label: "type" color: red}
737 edge: { sourcename: "e20" targetname: "n19"label: "value 0"}
738 node: {title: "n19" label: "SymC &set_a 19" info1: "SymC &set_a 19
746 entity: entity PRIMA.set_a (20)
748 type of value: type_unknown
751 node: {title: "t15" label: "class PRIMA" info1: "class type PRIMA (15)
756 Does not overwrite other entities.
757 Is not overwritten by other entities.
758 allocation: allocation_automatic
759 visibility: visibility_local
760 variability: variability_uninitialized
761 volatility: volatility_non_volatile
762 peculiarity: peculiarity_existent
764 offset: -1 bits, -1 bytes
768 Does not overwrite other entities.
769 Is not overwritten by other entities.
770 allocation: allocation_static
771 visibility: visibility_local
772 variability: variability_constant
773 atomic value: SymC &set_a
774 volatility: volatility_non_volatile
775 peculiarity: peculiarity_existent
777 offset: -1 bits, -1 bytes
782 Does not overwrite other entities.
783 Is not overwritten by other entities.
784 allocation: allocation_static
785 visibility: visibility_local
786 variability: variability_constant
787 atomic value: SymC &c
788 volatility: volatility_non_volatile
789 peculiarity: peculiarity_existent
791 offset: -1 bits, -1 bytes
795 peculiarity: peculiarity_existent
796 visibility: visibility_external_allocated,
797 state: layout_undefined,
804 edge: { sourcename: "t15" targetname: "e17"class: 12 label: "member" color:blue}
805 edge: { sourcename: "t15" targetname: "e20"class: 12 label: "member" color:blue}
806 edge: { sourcename: "t15" targetname: "e23"class: 12 label: "member" color:blue}
807 node: {title: "e17" label: "ent a" color: yellow
808 info1: "entity a (17)
811 Does not overwrite other entities.
812 Is not overwritten by other entities.
813 allocation: allocation_automatic
814 visibility: visibility_local
815 variability: variability_uninitialized
816 volatility: volatility_non_volatile
817 peculiarity: peculiarity_existent
819 offset: -1 bits, -1 bytes
823 edge: { sourcename: "e17" targetname: "t14"class: 3 label: "type" color: red}
824 node: {title: "t14" label: "primitive int" info1: "primitive type int (14)
825 visibility: visibility_external_allocated,
834 node: {title: "e23" label: "ent PRIMA_c" color: yellow
835 info1: "entity c (23)
838 Does not overwrite other entities.
839 Is not overwritten by other entities.
840 allocation: allocation_static
841 visibility: visibility_local
842 variability: variability_constant
843 atomic value: SymC &c
844 volatility: volatility_non_volatile
845 peculiarity: peculiarity_existent
847 offset: -1 bits, -1 bytes
852 edge: { sourcename: "e23" targetname: "t21"class: 3 label: "type" color: red}
853 edge: { sourcename: "e23" targetname: "n22"label: "value 0"}
854 node: {title: "n22" label: "SymC &c 22" info1: "SymC &c 22
862 entity: entity PRIMA.c (23)
864 type of value: type_unknown
867 node: {title: "t21" label: "method c" info1: "method type c (21)
868 variadicity: variadicity_non_variadic
874 visibility: visibility_external_allocated,
883 edge: { sourcename: "t21" targetname: "t16"class: 5 label: "param 0" color: green}
884 edge: { sourcename: "t21" targetname: "t14"class: 5 label: "param 1" color: green}
885 edge: { sourcename: "t21" targetname: "t14"class: 6 label: "res 0" color: green}
886 node: {title: "t16" label: "pointer class_prima_ptr" info1: "pointer type class_prima_ptr (16)
888 visibility: visibility_external_allocated,
897 edge: { sourcename: "t16" targetname: "t15"class: 9 label: "points to" color:green}
898 node: {title: "t18" label: "method set_a" info1: "method type set_a (18)
899 variadicity: variadicity_non_variadic
904 visibility: visibility_external_allocated,
913 edge: { sourcename: "t18" targetname: "t16"class: 5 label: "param 0" color: green}
914 edge: { sourcename: "t18" targetname: "t14"class: 5 label: "param 1" color: green}
915 node: {title: "e26" label: "ent OO_PROGRAM_EXAMPLE_main" color: yellow
916 info1: "entity OO_PROGRAM_EXAMPLE_main (26)
917 type: OO_PROGRAM_EXAMPLE_main (24)
918 owner: GlobalType (0)
919 Does not overwrite other entities.
920 Is not overwritten by other entities.
921 allocation: allocation_static
922 visibility: visibility_local
923 variability: variability_constant
924 atomic value: SymC &OO_PROGRAM_EXAMPLE_main
925 volatility: volatility_non_volatile
926 peculiarity: peculiarity_existent
928 offset: -1 bits, -1 bytes
933 edge: { sourcename: "e26" targetname: "t24"class: 3 label: "type" color: red}
934 edge: { sourcename: "e26" targetname: "n25"label: "value 0"}
935 node: {title: "n25" label: "SymC &OO_PROGRAM_EXAMPLE_main 25" info1: "SymC &OO_PROGRAM_EXAMPLE_main 25
943 entity: entity GlobalType.OO_PROGRAM_EXAMPLE_main (26)
945 type of value: type_unknown
948 node: {title: "t0" label: "class GlobalType" info1: "class type GlobalType (0)
950 entity OO_PROGRAM_EXAMPLE_main (26)
951 type: OO_PROGRAM_EXAMPLE_main (24)
952 owner: GlobalType (0)
953 Does not overwrite other entities.
954 Is not overwritten by other entities.
955 allocation: allocation_static
956 visibility: visibility_local
957 variability: variability_constant
958 atomic value: SymC &OO_PROGRAM_EXAMPLE_main
959 volatility: volatility_non_volatile
960 peculiarity: peculiarity_existent
962 offset: -1 bits, -1 bytes
966 peculiarity: peculiarity_existent
967 visibility: visibility_external_allocated,
968 state: layout_undefined,
975 edge: { sourcename: "t0" targetname: "e26"class: 12 label: "member" color:blue}
976 node: {title: "t24" label: "method OO_PROGRAM_EXAMPLE_main" info1: "method type OO_PROGRAM_EXAMPLE_main (24)
977 variadicity: variadicity_non_variadic
981 visibility: visibility_external_allocated,
990 edge: { sourcename: "t24" targetname: "t14"class: 6 label: "res 0" color: green}
991 node: {title: "t27" label: "class OO_PROGRAM_EXAMPLE_mainframe_tp" info1: "class type OO_PROGRAM_EXAMPLE_mainframe_tp (27)
995 peculiarity: peculiarity_existent
996 visibility: visibility_external_allocated,
997 state: layout_undefined,
1004 edge: { sourcename: "n101" targetname: "e17"class:2 priority:2 linestyle:dotted}
1005 edge: { sourcename: "n45" targetname: "t15"class:2 priority:2 linestyle:dotted}
1006 edge: { sourcename: "n43" targetname: "t15"class:2 priority:2 linestyle:dotted}
1007 edge: { sourcename: "n78" targetname: "e17"class:2 priority:2 linestyle:dotted}