another similar bugfix
[libfirm] / testprograms / ref-results / OO_PROGRAM_EXAMPLE_main-wtypes.vcg
1 graph: { title: "ir graph of OO_PROGRAM_EXAMPLE_main"
2 display_edge_labels: no
3 layoutalgorithm: mindepth
4 manhattan_edges: yes
5 port_sharing: no
6 orientation: bottom_to_top
7 classname 1:  "intrablock Data"
8 classname 16: "interblock Data"
9 classname 2:  "Block"
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"
19 classname 7:  "Super"
20 classname 8:  "Union"
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 colorentry 100:    0   0    0
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
54
55 graph: { title: "g39" label: "OO_PROGRAM_EXAMPLE_main" status:clustered color:white
56 graph: { title: "n28"  label: "Block 28" status:clustered color:yellow
57 edge: {sourcename: "n28" targetname: "n59" label: "0" class:13 priority:60 color:red}
58 node: {title: "n109" label: "End 109"  info1: "End 109
59   mode:    X
60   visited: 23
61   irg:     OO_PROGRAM_EXAMPLE_main
62   arity:   0
63   pred nodes:
64     -1:    Block 28
65   Private Attributes:
66 "
67 color: blue}
68 }
69
70 graph: { title: "n40"  label: "Block 40" status:clustered color:yellow
71 edge: {sourcename: "n40" targetname: "n34" label: "0" class:13 priority:60 color:red}
72 node: {title: "n59" label: "Return 59"  info1: "Return 59
73   mode:    X
74   visited: 23
75   irg:     OO_PROGRAM_EXAMPLE_main
76   arity:   2
77   pred nodes:
78     -1:    Block 40
79      0:    Proj 56
80      1:    Proj 58
81   Private Attributes:
82   return in method of type OO_PROGRAM_EXAMPLE_main
83     res 0 type: int
84 "
85 }
86 edge: {sourcename: "n59" targetname: "n56" label: "0" class:14 priority:50 color:blue}
87 edge: {sourcename: "n59" targetname: "n58" label: "1" class:1  priority:50}
88 node: {title: "n56" label: "ProjM 0 56"  info1: "Proj 56
89   mode:    M
90   visited: 23
91   irg:     OO_PROGRAM_EXAMPLE_main
92   arity:   1
93   pred nodes:
94     -1:    Block 40
95      0:    Call 54
96   Private Attributes:
97 "
98 color: yellow}
99 edge: {sourcename: "n56" targetname: "n54" label: "0" class:17 priority:10 color:blue}
100 node: {title: "n58" label: "ProjIs 0 58"  info1: "Proj 58
101   mode:    Is
102   visited: 23
103   irg:     OO_PROGRAM_EXAMPLE_main
104   arity:   1
105   pred nodes:
106     -1:    Block 40
107      0:    Proj 57
108   Private Attributes:
109 "
110 color: yellow}
111 edge: {sourcename: "n58" targetname: "n57" label: "0" class:1  priority:50}
112 node: {title: "n57" label: "ProjT 2 57"  info1: "Proj 57
113   mode:    T
114   visited: 23
115   irg:     OO_PROGRAM_EXAMPLE_main
116   arity:   1
117   pred nodes:
118     -1:    Block 40
119      0:    Call 54
120   Private Attributes:
121 "
122 color: yellow}
123 edge: {sourcename: "n57" targetname: "n54" label: "0" class:1  priority:50}
124 node: {title: "n54" label: "Call 54"  info1: "Call 54
125   mode:    T
126   visited: 23
127   irg:     OO_PROGRAM_EXAMPLE_main
128   arity:   4
129   pred nodes:
130     -1:    Block 40
131      0:    Proj 52
132      1:    Sel 53
133      2:    Proj 48
134      3:    0x5 42
135   Private Attributes:
136   pinned state: op_pin_state_pinned
137   calling method of type c
138     param 0 type: class_prima_ptr
139     param 1 type: int
140     resul 0 type: int
141 "
142 }
143 node: {title: "n54n42" label: "0x5Is 42"  info1: "0x5 42
144   mode:    Is
145   visited: 23
146   irg:     OO_PROGRAM_EXAMPLE_main
147   arity:   0
148   pred nodes:
149     -1:    Block 30
150   Private Attributes:
151   Const of type type_unknown
152 "
153 color: yellow}
154 edge: {sourcename: "n54" targetname: "n52" label: "0" class:14 priority:50 color:blue}
155 edge: {sourcename: "n54" targetname: "n53" label: "1" class:1  priority:50}
156 edge: {sourcename: "n54" targetname: "n48" label: "2" class:1  priority:50}
157 edge: {sourcename: "n54" targetname: "n54n42" label: "3" class:16 priority:10}
158 node: {title: "n53" label: "Sel PRIMA_c 53"  info1: "Sel 53
159   mode:    P
160   visited: 23
161   irg:     OO_PROGRAM_EXAMPLE_main
162   arity:   2
163   pred nodes:
164     -1:    Block 40
165      0:    Proj 52
166      1:    Proj 48
167   Private Attributes:
168   Selecting entity of type c
169     from entity c (23)
170     of type PRIMA
171 "
172 }
173 edge: {sourcename: "n53" targetname: "n52" label: "0" class:14 priority:50 color:blue}
174 edge: {sourcename: "n53" targetname: "n48" label: "1" class:1  priority:50}
175 node: {title: "n52" label: "ProjM 0 52"  info1: "Proj 52
176   mode:    M
177   visited: 23
178   irg:     OO_PROGRAM_EXAMPLE_main
179   arity:   1
180   pred nodes:
181     -1:    Block 40
182      0:    Call 50
183   Private Attributes:
184 "
185 color: yellow}
186 edge: {sourcename: "n52" targetname: "n50" label: "0" class:17 priority:10 color:blue}
187 node: {title: "n50" label: "Call 50"  info1: "Call 50
188   mode:    T
189   visited: 23
190   irg:     OO_PROGRAM_EXAMPLE_main
191   arity:   4
192   pred nodes:
193     -1:    Block 40
194      0:    Proj 47
195      1:    Sel 49
196      2:    Proj 48
197      3:    0x2 41
198   Private Attributes:
199   pinned state: op_pin_state_pinned
200   calling method of type set_a
201     param 0 type: class_prima_ptr
202     param 1 type: int
203 "
204 }
205 node: {title: "n50n41" label: "0x2Is 41"  info1: "0x2 41
206   mode:    Is
207   visited: 23
208   irg:     OO_PROGRAM_EXAMPLE_main
209   arity:   0
210   pred nodes:
211     -1:    Block 30
212   Private Attributes:
213   Const of type type_unknown
214 "
215 color: yellow}
216 edge: {sourcename: "n50" targetname: "n47" label: "0" class:14 priority:50 color:blue}
217 edge: {sourcename: "n50" targetname: "n49" label: "1" class:1  priority:50}
218 edge: {sourcename: "n50" targetname: "n48" label: "2" class:1  priority:50}
219 edge: {sourcename: "n50" targetname: "n50n41" label: "3" class:16 priority:10}
220 node: {title: "n49" label: "Sel PRIMA_set_a 49"  info1: "Sel 49
221   mode:    P
222   visited: 23
223   irg:     OO_PROGRAM_EXAMPLE_main
224   arity:   2
225   pred nodes:
226     -1:    Block 40
227      0:    Proj 47
228      1:    Proj 48
229   Private Attributes:
230   Selecting entity of type set_a
231     from entity set_a (20)
232     of type PRIMA
233 "
234 }
235 edge: {sourcename: "n49" targetname: "n47" label: "0" class:14 priority:50 color:blue}
236 edge: {sourcename: "n49" targetname: "n48" label: "1" class:1  priority:50}
237 node: {title: "n47" label: "ProjM 0 47"  info1: "Proj 47
238   mode:    M
239   visited: 23
240   irg:     OO_PROGRAM_EXAMPLE_main
241   arity:   1
242   pred nodes:
243     -1:    Block 40
244      0:    Alloc 45
245   Private Attributes:
246 "
247 color: yellow}
248 edge: {sourcename: "n47" targetname: "n45" label: "0" class:17 priority:10 color:blue}
249 node: {title: "n48" label: "ProjP 2 48"  info1: "Proj 48
250   mode:    P
251   visited: 23
252   irg:     OO_PROGRAM_EXAMPLE_main
253   arity:   1
254   pred nodes:
255     -1:    Block 40
256      0:    Alloc 45
257   Private Attributes:
258 "
259 color: yellow}
260 edge: {sourcename: "n48" targetname: "n45" label: "0" class:1  priority:50}
261 node: {title: "n45" label: "Alloc 45"  info1: "Alloc 45
262   mode:    T
263   visited: 23
264   irg:     OO_PROGRAM_EXAMPLE_main
265   arity:   2
266   pred nodes:
267     -1:    Block 40
268      0:    Proj 37
269      1:    SymC PRIMA size 43
270   Private Attributes:
271   pinned state: op_pin_state_pinned
272   allocating entity of type: PRIMA
273   allocating on: the heap
274 "
275 }
276 node: {title: "n45n43" label: "SymC PRIMA size 43"  info1: "SymC PRIMA size 43
277   mode:    Iu
278   visited: 23
279   irg:     OO_PROGRAM_EXAMPLE_main
280   arity:   0
281   pred nodes:
282     -1:    Block 30
283   Private Attributes:
284   kind: size
285   type: class type PRIMA (15)
286   type of value: type_unknown
287 "
288 }
289 edge: {sourcename: "n45" targetname: "n37" label: "0" class:17 priority:10 color:blue}
290 edge: {sourcename: "n45" targetname: "n45n43" label: "1" class:16 priority:10}
291 }
292
293 graph: { title: "n30"  label: "Block 30" status:clustered color:yellow
294 edge: {sourcename: "n30" targetname: "n34" label: "0" class:13 priority:60 color:red}
295 node: {title: "n37" label: "ProjM 1 37"  info1: "Proj 37
296   mode:    M
297   visited: 23
298   irg:     OO_PROGRAM_EXAMPLE_main
299   arity:   1
300   pred nodes:
301     -1:    Block 30
302      0:    Start 31
303   Private Attributes:
304 "
305 color: yellow}
306 edge: {sourcename: "n37" targetname: "n31" label: "0" class:17 priority:10 color:blue}
307 node: {title: "n34" label: "ProjX 0 34"  info1: "Proj 34
308   mode:    X
309   visited: 23
310   irg:     OO_PROGRAM_EXAMPLE_main
311   arity:   1
312   pred nodes:
313     -1:    Block 30
314      0:    Start 31
315   Private Attributes:
316 "
317 color: yellow}
318 edge: {sourcename: "n34" targetname: "n31" label: "0" class:13 priority:60 color:red}
319 node: {title: "n31" label: "Start 31"  info1: "Start 31
320   mode:    T
321   visited: 23
322   irg:     OO_PROGRAM_EXAMPLE_main
323   arity:   0
324   pred nodes:
325     -1:    Block 30
326   Private Attributes:
327   start of method of type OO_PROGRAM_EXAMPLE_main
328 "
329 color: blue}
330 }
331
332 }
333
334 node: {title: "t21" label: "method c" info1: "method type c (21)
335   variadicity: variadicity_non_variadic
336   return types: 1
337     int
338   parameter types: 2
339     class_prima_ptr
340     int
341   state:     layout_fixed,
342   size:      32 Bits,
343   alignment: 32 Bits,
344   mode:      P,
345   dbg info:  (nil),
346
347
348 "}
349 edge: { sourcename: "t21" targetname: "t16"class: 5 label: "param 0" color: green}
350 edge: { sourcename: "t21" targetname: "t14"class: 5 label: "param 1" color: green}
351 edge: { sourcename: "t21" targetname: "t14"class: 6 label: "res 0" color: green}
352 node: {title: "t16" label: "pointer class_prima_ptr" info1: "pointer type class_prima_ptr (16)
353   points to PRIMA (15)
354   state:     layout_fixed,
355   size:      32 Bits,
356   alignment: 32 Bits,
357   mode:      P,
358   dbg info:  (nil),
359
360
361 "}
362 edge: { sourcename: "t16" targetname: "t15"class: 9 label: "points to" color:green}
363 node: {title: "t15" label: "class PRIMA" info1: "class type PRIMA (15)
364   members:
365     entity a (17)
366       type:  int (14)
367       owner: PRIMA (15)
368       Does not overwrite other entities.
369       Is not overwritten by other entities.
370       allocation:  allocation_automatic
371       visibility:  visibility_local
372       variability: variability_uninitialized
373       volatility:  volatility_non_volatile
374       peculiarity: peculiarity_existent
375       ld_name: no yet set
376       offset:  -1
377     entity set_a (20)
378       type:  set_a (18)
379       owner: PRIMA (15)
380       Does not overwrite other entities.
381       Is not overwritten by other entities.
382       allocation:  allocation_static
383       visibility:  visibility_local
384       variability: variability_constant
385       atomic value: SymC &set_a
386       volatility:  volatility_non_volatile
387       peculiarity: peculiarity_existent
388       ld_name: PRIMA_set_a
389       offset:  -1
390       irg = 73
391     entity c (23)
392       type:  c (21)
393       owner: PRIMA (15)
394       Does not overwrite other entities.
395       Is not overwritten by other entities.
396       allocation:  allocation_static
397       visibility:  visibility_local
398       variability: variability_constant
399       atomic value: SymC &c
400       volatility:  volatility_non_volatile
401       peculiarity: peculiarity_existent
402       ld_name: PRIMA_c
403       offset:  -1
404       irg = 96
405   supertypes:
406   subtypes:
407   peculiarity: peculiarity_existent
408   state:     layout_undefined,
409   size:      -1 Bits,
410   alignment: 32 Bits,
411   dbg info:  (nil),
412
413
414 " color: green}
415 edge: { sourcename: "t15" targetname: "e17"class: 12 label: "member" color:blue}
416 edge: { sourcename: "t15" targetname: "e20"class: 12 label: "member" color:blue}
417 edge: { sourcename: "t15" targetname: "e23"class: 12 label: "member" color:blue}
418 node: {title: "e17" label: "ent a" color: yellow
419  info1: "entity a (17)
420   type:  int (14)
421   owner: PRIMA (15)
422   Does not overwrite other entities.
423   Is not overwritten by other entities.
424   allocation:  allocation_automatic
425   visibility:  visibility_local
426   variability: variability_uninitialized
427   volatility:  volatility_non_volatile
428   peculiarity: peculiarity_existent
429   ld_name: no yet set
430   offset:  -1
431
432 "
433 }
434 edge: { sourcename: "e17" targetname: "t14"class: 3 label: "type" color: red}
435 node: {title: "t14" label: "primitive int" info1: "primitive type int (14)
436   state:     layout_fixed,
437   size:      32 Bits,
438   alignment: 32 Bits,
439   mode:      Is,
440   dbg info:  (nil),
441
442
443 "}
444 node: {title: "e20" label: "ent PRIMA_set_a" color: yellow
445  info1: "entity set_a (20)
446   type:  set_a (18)
447   owner: PRIMA (15)
448   Does not overwrite other entities.
449   Is not overwritten by other entities.
450   allocation:  allocation_static
451   visibility:  visibility_local
452   variability: variability_constant
453   atomic value: SymC &set_a
454   volatility:  volatility_non_volatile
455   peculiarity: peculiarity_existent
456   ld_name: PRIMA_set_a
457   offset:  -1
458   irg = 73
459
460 "
461 }
462 edge: { sourcename: "e20" targetname: "t18"class: 3 label: "type" color: red}
463 edge: { sourcename: "e20" targetname: "n19"label: "value 0"}
464 node: {title: "n19" label: "SymC &set_a 19"  info1: "SymC &set_a 19
465   mode:    P
466   visited: 4
467   arity:   0
468   pred nodes:
469     -1:    Block 3
470   Private Attributes:
471   kind:   addr_ent
472   entity: entity PRIMA.set_a (20)
473
474   type of value: type_unknown
475 "
476 }
477 node: {title: "t18" label: "method set_a" info1: "method type set_a (18)
478   variadicity: variadicity_non_variadic
479   return types: 0
480   parameter types: 2
481     class_prima_ptr
482     int
483   state:     layout_fixed,
484   size:      32 Bits,
485   alignment: 32 Bits,
486   mode:      P,
487   dbg info:  (nil),
488
489
490 "}
491 edge: { sourcename: "t18" targetname: "t16"class: 5 label: "param 0" color: green}
492 edge: { sourcename: "t18" targetname: "t14"class: 5 label: "param 1" color: green}
493 node: {title: "e23" label: "ent PRIMA_c" color: yellow
494  info1: "entity c (23)
495   type:  c (21)
496   owner: PRIMA (15)
497   Does not overwrite other entities.
498   Is not overwritten by other entities.
499   allocation:  allocation_static
500   visibility:  visibility_local
501   variability: variability_constant
502   atomic value: SymC &c
503   volatility:  volatility_non_volatile
504   peculiarity: peculiarity_existent
505   ld_name: PRIMA_c
506   offset:  -1
507   irg = 96
508
509 "
510 }
511 edge: { sourcename: "e23" targetname: "t21"class: 3 label: "type" color: red}
512 edge: { sourcename: "e23" targetname: "n22"label: "value 0"}
513 node: {title: "n22" label: "SymC &c 22"  info1: "SymC &c 22
514   mode:    P
515   visited: 4
516   arity:   0
517   pred nodes:
518     -1:    Block 3
519   Private Attributes:
520   kind:   addr_ent
521   entity: entity PRIMA.c (23)
522
523   type of value: type_unknown
524 "
525 }
526 node: {title: "e26" label: "ent OO_PROGRAM_EXAMPLE_main" color: yellow
527  info1: "entity OO_PROGRAM_EXAMPLE_main (26)
528   type:  OO_PROGRAM_EXAMPLE_main (24)
529   owner: GlobalType (0)
530   Does not overwrite other entities.
531   Is not overwritten by other entities.
532   allocation:  allocation_static
533   visibility:  visibility_local
534   variability: variability_constant
535   atomic value: SymC &OO_PROGRAM_EXAMPLE_main
536   volatility:  volatility_non_volatile
537   peculiarity: peculiarity_existent
538   ld_name: no yet set
539   offset:  -1
540   irg = 39
541
542 "
543 }
544 edge: { sourcename: "e26" targetname: "t24"class: 3 label: "type" color: red}
545 edge: { sourcename: "e26" targetname: "n25"label: "value 0"}
546 node: {title: "n25" label: "SymC &OO_PROGRAM_EXAMPLE_main 25"  info1: "SymC &OO_PROGRAM_EXAMPLE_main 25
547   mode:    P
548   visited: 4
549   arity:   0
550   pred nodes:
551     -1:    Block 3
552   Private Attributes:
553   kind:   addr_ent
554   entity: entity GlobalType.OO_PROGRAM_EXAMPLE_main (26)
555
556   type of value: type_unknown
557 "
558 }
559 node: {title: "t0" label: "class GlobalType" info1: "class type GlobalType (0)
560   members:
561     entity OO_PROGRAM_EXAMPLE_main (26)
562       type:  OO_PROGRAM_EXAMPLE_main (24)
563       owner: GlobalType (0)
564       Does not overwrite other entities.
565       Is not overwritten by other entities.
566       allocation:  allocation_static
567       visibility:  visibility_local
568       variability: variability_constant
569       atomic value: SymC &OO_PROGRAM_EXAMPLE_main
570       volatility:  volatility_non_volatile
571       peculiarity: peculiarity_existent
572       ld_name: no yet set
573       offset:  -1
574       irg = 39
575   supertypes:
576   subtypes:
577   peculiarity: peculiarity_existent
578   state:     layout_undefined,
579   size:      -1 Bits,
580   alignment: 32 Bits,
581   dbg info:  (nil),
582
583
584 " color: green}
585 edge: { sourcename: "t0" targetname: "e26"class: 12 label: "member" color:blue}
586 node: {title: "t24" label: "method OO_PROGRAM_EXAMPLE_main" info1: "method type OO_PROGRAM_EXAMPLE_main (24)
587   variadicity: variadicity_non_variadic
588   return types: 1
589     int
590   parameter types: 0
591   state:     layout_fixed,
592   size:      32 Bits,
593   alignment: 32 Bits,
594   mode:      P,
595   dbg info:  (nil),
596
597
598 "}
599 edge: { sourcename: "t24" targetname: "t14"class: 6 label: "res 0" color: green}
600 node: {title: "t27" label: "class OO_PROGRAM_EXAMPLE_mainframe_tp" info1: "class type OO_PROGRAM_EXAMPLE_mainframe_tp (27)
601   members:
602   supertypes:
603   subtypes:
604   peculiarity: peculiarity_existent
605   state:     layout_undefined,
606   size:      -1 Bits,
607   alignment:  0 Bits,
608   dbg info:  (nil),
609
610
611 " color: green}
612 edge: { sourcename: "n54" targetname: "t21"class:2 priority:2 linestyle:dotted}
613 edge: { sourcename: "n45" targetname: "t15"class:2 priority:2 linestyle:dotted}
614 edge: { sourcename: "n43" targetname: "t15"class:2 priority:2 linestyle:dotted}
615 edge: { sourcename: "n53" targetname: "e23"class:2 priority:2 linestyle:dotted}
616 edge: { sourcename: "n50" targetname: "t18"class:2 priority:2 linestyle:dotted}
617 edge: { sourcename: "n49" targetname: "e20"class:2 priority:2 linestyle:dotted}
618 }