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