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"
28 colorentry 101: 20 0 0
29 colorentry 102: 40 0 0
30 colorentry 103: 60 0 0
31 colorentry 104: 80 0 0
32 colorentry 105: 100 0 0
33 colorentry 106: 120 0 0
34 colorentry 107: 140 0 0
35 colorentry 108: 150 0 0
36 colorentry 109: 180 0 0
37 colorentry 110: 200 0 0
38 colorentry 111: 220 0 0
39 colorentry 112: 240 0 0
40 colorentry 113: 255 0 0
41 colorentry 113: 255 20 20
42 colorentry 114: 255 40 40
43 colorentry 115: 255 60 60
44 colorentry 116: 255 80 80
45 colorentry 117: 255 100 100
46 colorentry 118: 255 120 120
47 colorentry 119: 255 140 140
48 colorentry 120: 255 150 150
49 colorentry 121: 255 180 180
50 colorentry 122: 255 200 200
51 colorentry 123: 255 220 220
52 colorentry 124: 255 240 240
53 colorentry 125: 255 250 250
55 node: {title: "n30" label: "Block 30" info1: "Block 30
58 irg: OO_PROGRAM_EXAMPLE_main
68 dominator info: output not implemented
71 edge: {sourcename: "n30" targetname: "n34" label: "0" class:13 priority:60 color:red}
72 node: {title: "n31" label: "Start OO_PROGRAM_EXAMPLE_main 31" info1: "Start OO_PROGRAM_EXAMPLE_main 31
75 irg: OO_PROGRAM_EXAMPLE_main
80 start of method of type OO_PROGRAM_EXAMPLE_main
83 edge: { sourcename: "n31" targetname: "n30" class:2 priority:50 linestyle:dotted}
84 node: {title: "n34" label: "ProjX 0 34" info1: "Proj 34
87 irg: OO_PROGRAM_EXAMPLE_main
91 0: Start OO_PROGRAM_EXAMPLE_main 31
95 edge: {sourcename: "n34" targetname: "n31" label: "0" class:13 priority:60 color:red}
96 edge: { sourcename: "n34" targetname: "n30" class:2 priority:50 linestyle:dotted}
97 node: {title: "n191" label: "Block 191" info1: "Block 191
100 irg: OO_PROGRAM_EXAMPLE_main
110 dominator info: output not implemented
113 edge: {sourcename: "n191" targetname: "n34" label: "0" class:13 priority:60 color:red}
114 node: {title: "n193" label: "CallBegin set_a 193" info1: "CallBegin set_a 193
117 irg: OO_PROGRAM_EXAMPLE_main
128 node: {title: "n193n175" label: "SymC &set_a 175" info1: "SymC &set_a 175
131 irg: OO_PROGRAM_EXAMPLE_main
137 entity: entity PRIMA.set_a (20)
139 type of value: type_unknown
142 edge: {sourcename: "n193" targetname: "n193n175" label: "0" class:16 priority:10}
143 edge: { sourcename: "n193" targetname: "n191" class:2 priority:50 linestyle:dotted}
144 node: {title: "n195" label: "ProjX 0 195" info1: "Proj 195
147 irg: OO_PROGRAM_EXAMPLE_main
151 0: CallBegin set_a 193
155 edge: {sourcename: "n195" targetname: "n193" label: "0" class:13 priority:60 color:red}
156 edge: { sourcename: "n195" targetname: "n191" class:2 priority:50 linestyle:dotted}
157 node: {title: "n64" label: "Block 64" info1: "Block 64
170 dominator info: output not implemented
173 edge: {sourcename: "n64" targetname: "n195" label: "0" class:13 priority:60 color:red}
174 node: {title: "n65" label: "Start PRIMA_set_a 65" info1: "Start PRIMA_set_a 65
182 start of method of type set_a
183 param 0 type: class_prima_ptr
187 edge: { sourcename: "n65" targetname: "n64" class:2 priority:50 linestyle:dotted}
188 node: {title: "n68" label: "ProjX 0 68" info1: "Proj 68
195 0: Start PRIMA_set_a 65
199 edge: {sourcename: "n68" targetname: "n65" label: "0" class:13 priority:60 color:red}
200 edge: { sourcename: "n68" targetname: "n64" class:2 priority:50 linestyle:dotted}
201 node: {title: "n74" label: "Block 74" info1: "Block 74
214 dominator info: output not implemented
217 edge: {sourcename: "n74" targetname: "n68" label: "0" class:13 priority:60 color:red}
218 node: {title: "n187" label: "Jmp 187" info1: "Jmp 187
228 edge: { sourcename: "n187" targetname: "n74" class:2 priority:50 linestyle:dotted}
229 node: {title: "n188" label: "Block 188" info1: "Block 188
242 dominator info: output not implemented
245 edge: {sourcename: "n188" targetname: "n187" label: "0" class:13 priority:60 color:red}
246 node: {title: "n189" label: "EndReg PRIMA_set_a 189" info1: "EndReg PRIMA_set_a 189
256 edge: { sourcename: "n189" targetname: "n188" class:2 priority:50 linestyle:dotted}
257 node: {title: "n194" label: "ProjX 0 194" info1: "Proj 194
264 0: EndReg PRIMA_set_a 189
268 edge: {sourcename: "n194" targetname: "n189" label: "0" class:13 priority:60 color:red}
269 edge: { sourcename: "n194" targetname: "n188" class:2 priority:50 linestyle:dotted}
270 node: {title: "n197" label: "Block 197" info1: "Block 197
273 irg: OO_PROGRAM_EXAMPLE_main
283 dominator info: output not implemented
286 edge: {sourcename: "n197" targetname: "n194" label: "0" class:13 priority:60 color:red}
287 node: {title: "n199" label: "CallBegin c 199" info1: "CallBegin c 199
290 irg: OO_PROGRAM_EXAMPLE_main
301 node: {title: "n199n174" label: "SymC &c 174" info1: "SymC &c 174
304 irg: OO_PROGRAM_EXAMPLE_main
310 entity: entity PRIMA.c (23)
312 type of value: type_unknown
315 edge: {sourcename: "n199" targetname: "n199n174" label: "0" class:16 priority:10}
316 edge: { sourcename: "n199" targetname: "n197" class:2 priority:50 linestyle:dotted}
317 node: {title: "n201" label: "ProjX 0 201" info1: "Proj 201
320 irg: OO_PROGRAM_EXAMPLE_main
328 edge: {sourcename: "n201" targetname: "n199" label: "0" class:13 priority:60 color:red}
329 edge: { sourcename: "n201" targetname: "n197" class:2 priority:50 linestyle:dotted}
330 node: {title: "n87" label: "Block 87" info1: "Block 87
343 dominator info: output not implemented
346 edge: {sourcename: "n87" targetname: "n201" label: "0" class:13 priority:60 color:red}
347 node: {title: "n88" label: "Start PRIMA_c 88" info1: "Start PRIMA_c 88
355 start of method of type c
356 param 0 type: class_prima_ptr
360 edge: { sourcename: "n88" targetname: "n87" class:2 priority:50 linestyle:dotted}
361 node: {title: "n91" label: "ProjX 0 91" info1: "Proj 91
372 edge: {sourcename: "n91" targetname: "n88" label: "0" class:13 priority:60 color:red}
373 edge: { sourcename: "n91" targetname: "n87" class:2 priority:50 linestyle:dotted}
374 node: {title: "n97" label: "Block 97" info1: "Block 97
387 dominator info: output not implemented
390 edge: {sourcename: "n97" targetname: "n91" label: "0" class:13 priority:60 color:red}
391 node: {title: "n179" label: "Jmp 179" info1: "Jmp 179
401 edge: { sourcename: "n179" targetname: "n97" class:2 priority:50 linestyle:dotted}
402 node: {title: "n180" label: "Block 180" info1: "Block 180
415 dominator info: output not implemented
418 edge: {sourcename: "n180" targetname: "n179" label: "0" class:13 priority:60 color:red}
419 node: {title: "n181" label: "EndReg PRIMA_c 181" info1: "EndReg PRIMA_c 181
429 edge: { sourcename: "n181" targetname: "n180" class:2 priority:50 linestyle:dotted}
430 node: {title: "n200" label: "ProjX 0 200" info1: "Proj 200
437 0: EndReg PRIMA_c 181
441 edge: {sourcename: "n200" targetname: "n181" label: "0" class:13 priority:60 color:red}
442 edge: { sourcename: "n200" targetname: "n180" class:2 priority:50 linestyle:dotted}
443 node: {title: "n40" label: "Block 40" info1: "Block 40
446 irg: OO_PROGRAM_EXAMPLE_main
456 dominator info: output not implemented
459 edge: {sourcename: "n40" targetname: "n200" label: "0" class:13 priority:60 color:red}
460 node: {title: "n178" label: "FilterIs 1 178" info1: "Filter 178
475 node: {title: "n178n42" label: "0x5Is 42" info1: "0x5 42
478 irg: OO_PROGRAM_EXAMPLE_main
483 Const of type type_unknown
486 edge: {sourcename: "n178" targetname: "n178n42" label: "0" class:16 priority:10}
487 edge: { sourcename: "n178" targetname: "n87" class:2 priority:50 linestyle:dotted}
488 node: {title: "n37" label: "ProjM 1 37" info1: "Proj 37
491 irg: OO_PROGRAM_EXAMPLE_main
495 0: Start OO_PROGRAM_EXAMPLE_main 31
499 edge: {sourcename: "n37" targetname: "n31" label: "0" class:17 priority:10 color:blue}
500 edge: { sourcename: "n37" targetname: "n30" class:2 priority:50 linestyle:dotted}
501 node: {title: "n45" label: "Alloc 45" info1: "Alloc 45
504 irg: OO_PROGRAM_EXAMPLE_main
509 1: SymC PRIMA size 43
511 pinned state: op_pin_state_pinned
512 allocating entity of type: PRIMA
513 allocating on: the heap
516 node: {title: "n45n43" label: "SymC PRIMA size 43" info1: "SymC PRIMA size 43
519 irg: OO_PROGRAM_EXAMPLE_main
525 type: class type PRIMA (15)
526 type of value: type_unknown
529 edge: {sourcename: "n45" targetname: "n37" label: "0" class:17 priority:10 color:blue}
530 edge: {sourcename: "n45" targetname: "n45n43" label: "1" class:16 priority:10}
531 edge: { sourcename: "n45" targetname: "n191" class:2 priority:50 linestyle:dotted}
532 node: {title: "n48" label: "ProjP 2 48" info1: "Proj 48
535 irg: OO_PROGRAM_EXAMPLE_main
543 edge: {sourcename: "n48" targetname: "n45" label: "0" class:1 priority:50}
544 edge: { sourcename: "n48" targetname: "n191" class:2 priority:50 linestyle:dotted}
545 node: {title: "n177" label: "FilterP 0 177" info1: "Filter 177
560 edge: {sourcename: "n177" targetname: "n48" label: "0" class:16 priority:10}
561 edge: { sourcename: "n177" targetname: "n87" class:2 priority:50 linestyle:dotted}
562 node: {title: "n186" label: "FilterIs 1 186" info1: "Filter 186
577 node: {title: "n186n41" label: "0x2Is 41" info1: "0x2 41
580 irg: OO_PROGRAM_EXAMPLE_main
585 Const of type type_unknown
588 edge: {sourcename: "n186" targetname: "n186n41" label: "0" class:16 priority:10}
589 edge: { sourcename: "n186" targetname: "n64" class:2 priority:50 linestyle:dotted}
590 node: {title: "n185" label: "FilterP 0 185" info1: "Filter 185
605 edge: {sourcename: "n185" targetname: "n48" label: "0" class:16 priority:10}
606 edge: { sourcename: "n185" targetname: "n64" class:2 priority:50 linestyle:dotted}
607 node: {title: "n47" label: "ProjM 0 47" info1: "Proj 47
610 irg: OO_PROGRAM_EXAMPLE_main
618 edge: {sourcename: "n47" targetname: "n45" label: "0" class:17 priority:10 color:blue}
619 edge: { sourcename: "n47" targetname: "n191" class:2 priority:50 linestyle:dotted}
620 node: {title: "n184" label: "FilterM 1 184" info1: "Filter 184
627 0: Start PRIMA_set_a 65
635 edge: {sourcename: "n184" targetname: "n47" label: "0" class:17 priority:10 color:blue}
636 edge: { sourcename: "n184" targetname: "n64" class:2 priority:50 linestyle:dotted}
637 node: {title: "n78" label: "Sel a 78" info1: "Sel 78
647 Selecting entity of type int
648 from entity of type PRIMA
651 edge: {sourcename: "n78" targetname: "n184" label: "0" class:17 priority:10 color:blue}
652 edge: {sourcename: "n78" targetname: "n185" label: "1" class:16 priority:10}
653 edge: { sourcename: "n78" targetname: "n74" class:2 priority:50 linestyle:dotted}
654 node: {title: "n79" label: "Store 79" info1: "Store 79
665 pinned state: op_pin_state_pinned
666 volatility: volatility_non_volatile
669 edge: {sourcename: "n79" targetname: "n184" label: "0" class:17 priority:10 color:blue}
670 edge: {sourcename: "n79" targetname: "n78" label: "1" class:1 priority:50}
671 edge: {sourcename: "n79" targetname: "n186" label: "2" class:16 priority:10}
672 edge: { sourcename: "n79" targetname: "n74" class:2 priority:50 linestyle:dotted}
673 node: {title: "n81" label: "ProjM 0 81" info1: "Proj 81
684 edge: {sourcename: "n81" targetname: "n79" label: "0" class:17 priority:10 color:blue}
685 edge: { sourcename: "n81" targetname: "n74" class:2 priority:50 linestyle:dotted}
686 node: {title: "n196" label: "FilterM 0 196" info1: "Filter 196
689 irg: OO_PROGRAM_EXAMPLE_main
701 edge: {sourcename: "n196" targetname: "n81" label: "0" class:17 priority:10 color:blue}
702 edge: { sourcename: "n196" targetname: "n197" class:2 priority:50 linestyle:dotted}
703 node: {title: "n176" label: "FilterM 1 176" info1: "Filter 176
718 edge: {sourcename: "n176" targetname: "n196" label: "0" class:17 priority:10 color:blue}
719 edge: { sourcename: "n176" targetname: "n87" class:2 priority:50 linestyle:dotted}
720 node: {title: "n101" label: "Sel a 101" info1: "Sel 101
730 Selecting entity of type int
731 from entity of type PRIMA
734 edge: {sourcename: "n101" targetname: "n176" label: "0" class:17 priority:10 color:blue}
735 edge: {sourcename: "n101" targetname: "n177" label: "1" class:16 priority:10}
736 edge: { sourcename: "n101" targetname: "n97" class:2 priority:50 linestyle:dotted}
737 node: {title: "n102" label: "Load[Is] 102" info1: "Load[Is] 102
747 pinned state: op_pin_state_pinned
748 mode of loaded value: Is
749 volatility: volatility_non_volatile
752 edge: {sourcename: "n102" targetname: "n176" label: "0" class:17 priority:10 color:blue}
753 edge: {sourcename: "n102" targetname: "n101" label: "1" class:1 priority:50}
754 edge: { sourcename: "n102" targetname: "n97" class:2 priority:50 linestyle:dotted}
755 node: {title: "n105" label: "ProjIs 2 105" info1: "Proj 105
766 edge: {sourcename: "n105" targetname: "n102" label: "0" class:1 priority:50}
767 edge: { sourcename: "n105" targetname: "n97" class:2 priority:50 linestyle:dotted}
768 node: {title: "n106" label: "AddIs 106" info1: "Add 106
780 edge: {sourcename: "n106" targetname: "n105" label: "0" class:1 priority:50}
781 edge: {sourcename: "n106" targetname: "n178" label: "1" class:16 priority:10}
782 edge: { sourcename: "n106" targetname: "n97" class:2 priority:50 linestyle:dotted}
783 node: {title: "n203" label: "FilterIs 0 203" info1: "Filter 203
786 irg: OO_PROGRAM_EXAMPLE_main
798 edge: {sourcename: "n203" targetname: "n106" label: "0" class:16 priority:10}
799 edge: { sourcename: "n203" targetname: "n40" class:2 priority:50 linestyle:dotted}
800 node: {title: "n104" label: "ProjM 0 104" info1: "Proj 104
811 edge: {sourcename: "n104" targetname: "n102" label: "0" class:17 priority:10 color:blue}
812 edge: { sourcename: "n104" targetname: "n97" class:2 priority:50 linestyle:dotted}
813 node: {title: "n202" label: "FilterM 0 202" info1: "Filter 202
816 irg: OO_PROGRAM_EXAMPLE_main
828 edge: {sourcename: "n202" targetname: "n104" label: "0" class:17 priority:10 color:blue}
829 edge: { sourcename: "n202" targetname: "n40" class:2 priority:50 linestyle:dotted}
830 node: {title: "n59" label: "Return 59" info1: "Return 59
833 irg: OO_PROGRAM_EXAMPLE_main
842 edge: {sourcename: "n59" targetname: "n202" label: "0" class:14 priority:50 color:blue}
843 edge: {sourcename: "n59" targetname: "n203" label: "1" class:1 priority:50}
844 edge: { sourcename: "n59" targetname: "n40" class:2 priority:50 linestyle:dotted}
845 node: {title: "n28" label: "Block 28" info1: "Block 28
848 irg: OO_PROGRAM_EXAMPLE_main
858 dominator info: output not implemented
861 edge: {sourcename: "n28" targetname: "n59" label: "0" class:13 priority:60 color:red}
862 node: {title: "n109" label: "End OO_PROGRAM_EXAMPLE_main 109" info1: "End OO_PROGRAM_EXAMPLE_main 109
865 irg: OO_PROGRAM_EXAMPLE_main
874 edge: { sourcename: "n109" targetname: "n28" class:2 priority:50 linestyle:dotted}
875 node: {title: "e17" label: "ent a" color: yellow
876 info1: "entity a (17)
879 Does not overwrite other entities.
880 Is not overwritten by other entities.
881 allocation: allocation_automatic
882 visibility: visibility_local
883 variability: variability_uninitialized
884 volatility: volatility_non_volatile
885 peculiarity: peculiarity_existent
891 edge: { sourcename: "e17" targetname: "t14"class: 3 label: "type" color: red}
892 node: {title: "t15" label: "class PRIMA" info1: "state: layout_undefined
894 peculiarity: peculiarity_existent
896 edge: { sourcename: "t15" targetname: "e17"class: 12 label: "member" color:blue}
897 edge: { sourcename: "t15" targetname: "e20"class: 12 label: "member" color:blue}
898 edge: { sourcename: "t15" targetname: "e23"class: 12 label: "member" color:blue}
899 node: {title: "e20" label: "ent PRIMA_set_a" color: yellow
900 info1: "entity set_a (20)
903 Does not overwrite other entities.
904 Is not overwritten by other entities.
905 allocation: allocation_static
906 visibility: visibility_local
907 variability: variability_constant
908 atomic value: SymC &set_a
909 volatility: volatility_non_volatile
910 peculiarity: peculiarity_existent
917 edge: { sourcename: "e20" targetname: "t18"class: 3 label: "type" color: red}
918 edge: { sourcename: "e20" targetname: "n19"label: "value 0"}
919 node: {title: "n19" label: "SymC &set_a 19" info1: "SymC &set_a 19
927 entity: entity PRIMA.set_a (20)
929 type of value: type_unknown
932 node: {title: "t18" label: "method set_a" info1: "state: layout_fixed,
935 variadicity: variadicity_non_variadic
939 edge: { sourcename: "t18" targetname: "t16"class: 5 label: "param 0" color: green}
940 edge: { sourcename: "t18" targetname: "t14"class: 5 label: "param 1" color: green}
941 node: {title: "t16" label: "pointer class_prima_ptr" info1: "state: layout_fixed,
945 edge: { sourcename: "t16" targetname: "t15"class: 9 label: "points to" color:green}
946 node: {title: "t14" label: "primitive int" info1: "state: layout_fixed,
950 node: {title: "e23" label: "ent PRIMA_c" color: yellow
951 info1: "entity c (23)
954 Does not overwrite other entities.
955 Is not overwritten by other entities.
956 allocation: allocation_static
957 visibility: visibility_local
958 variability: variability_constant
959 atomic value: SymC &c
960 volatility: volatility_non_volatile
961 peculiarity: peculiarity_existent
968 edge: { sourcename: "e23" targetname: "t21"class: 3 label: "type" color: red}
969 edge: { sourcename: "e23" targetname: "n22"label: "value 0"}
970 node: {title: "n22" label: "SymC &c 22" info1: "SymC &c 22
978 entity: entity PRIMA.c (23)
980 type of value: type_unknown
983 node: {title: "t21" label: "method c" info1: "state: layout_fixed,
986 variadicity: variadicity_non_variadic
990 edge: { sourcename: "t21" targetname: "t16"class: 5 label: "param 0" color: green}
991 edge: { sourcename: "t21" targetname: "t14"class: 5 label: "param 1" color: green}
992 edge: { sourcename: "t21" targetname: "t14"class: 6 label: "res 0" color: green}
993 node: {title: "e26" label: "ent OO_PROGRAM_EXAMPLE_main" color: yellow
994 info1: "entity OO_PROGRAM_EXAMPLE_main (26)
995 type: OO_PROGRAM_EXAMPLE_main (24)
996 owner: GlobalType (0)
997 Does not overwrite other entities.
998 Is not overwritten by other entities.
999 allocation: allocation_static
1000 visibility: visibility_local
1001 variability: variability_constant
1002 atomic value: SymC &OO_PROGRAM_EXAMPLE_main
1003 volatility: volatility_non_volatile
1004 peculiarity: peculiarity_existent
1011 edge: { sourcename: "e26" targetname: "t24"class: 3 label: "type" color: red}
1012 edge: { sourcename: "e26" targetname: "n25"label: "value 0"}
1013 node: {title: "n25" label: "SymC &OO_PROGRAM_EXAMPLE_main 25" info1: "SymC &OO_PROGRAM_EXAMPLE_main 25
1021 entity: entity GlobalType.OO_PROGRAM_EXAMPLE_main (26)
1023 type of value: type_unknown
1026 node: {title: "t0" label: "class GlobalType" info1: "state: layout_undefined
1028 peculiarity: peculiarity_existent
1030 edge: { sourcename: "t0" targetname: "e26"class: 12 label: "member" color:blue}
1031 node: {title: "t24" label: "method OO_PROGRAM_EXAMPLE_main" info1: "state: layout_fixed,
1034 variadicity: variadicity_non_variadic
1038 edge: { sourcename: "t24" targetname: "t14"class: 6 label: "res 0" color: green}
1039 node: {title: "t27" label: "class OO_PROGRAM_EXAMPLE_mainframe_tp" info1: "state: layout_undefined
1041 peculiarity: peculiarity_existent
1043 edge: { sourcename: "n101" targetname: "e17"class:2 priority:2 linestyle:dotted}
1044 edge: { sourcename: "n45" targetname: "t15"class:2 priority:2 linestyle:dotted}
1045 edge: { sourcename: "n43" targetname: "t15"class:2 priority:2 linestyle:dotted}
1046 edge: { sourcename: "n78" targetname: "e17"class:2 priority:2 linestyle:dotted}