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