bugfix and additional case for optimization.
[libfirm] / testprograms / ref-results / PRIMA_set_a-pure-wtypes.vcg
1 graph: { title: "ir graph of PRIMA_set_a"
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: "n64" label: "Block 64"  info1: "Block 64
56   mode:    BB
57   visited: 13
58   irg:     PRIMA_set_a
59   arity:   1
60   pred nodes:
61      0:    Proj 68
62   Private Attributes:
63   backedges:
64   block visited: 0
65   Execution freqency statistics:
66 "
67 color: lightyellow}
68 edge: {sourcename: "n64" targetname: "n68" label: "0" class:13 priority:60 color:red}
69 node: {title: "n65" label: "Start 65"  info1: "Start 65
70   mode:    T
71   visited: 13
72   irg:     PRIMA_set_a
73   arity:   0
74   pred nodes:
75     -1:    Block 64
76   Private Attributes:
77   start of method of type set_a
78     param 0 type: class_prima_ptr
79     param 1 type: int
80 "
81 color: blue}
82 edge: { sourcename: "n65" targetname: "n64" class:2  priority:50 linestyle:dotted}
83 node: {title: "n68" label: "ProjX 0 68"  info1: "Proj 68
84   mode:    X
85   visited: 13
86   irg:     PRIMA_set_a
87   arity:   1
88   pred nodes:
89     -1:    Block 64
90      0:    Start 65
91   Private Attributes:
92 "
93 color: yellow}
94 edge: {sourcename: "n68" targetname: "n65" label: "0" class:13 priority:60 color:red}
95 edge: { sourcename: "n68" targetname: "n64" class:2  priority:50 linestyle:dotted}
96 node: {title: "n74" label: "Block 74"  info1: "Block 74
97   mode:    BB
98   visited: 13
99   irg:     PRIMA_set_a
100   arity:   1
101   pred nodes:
102      0:    Proj 68
103   Private Attributes:
104   backedges:
105   block visited: 0
106   Execution freqency statistics:
107 "
108 color: lightyellow}
109 edge: {sourcename: "n74" targetname: "n68" label: "0" class:13 priority:60 color:red}
110 node: {title: "n72" label: "ProjT 4 72"  info1: "Proj 72
111   mode:    T
112   visited: 13
113   irg:     PRIMA_set_a
114   arity:   1
115   pred nodes:
116     -1:    Block 64
117      0:    Start 65
118   Private Attributes:
119 "
120 color: yellow}
121 edge: {sourcename: "n72" targetname: "n65" label: "0" class:1  priority:50}
122 edge: { sourcename: "n72" targetname: "n64" class:2  priority:50 linestyle:dotted}
123 node: {title: "n76" label: "ProjIs 1 76"  info1: "Proj 76
124   mode:    Is
125   visited: 13
126   irg:     PRIMA_set_a
127   arity:   1
128   pred nodes:
129     -1:    Block 74
130      0:    Proj 72
131   Private Attributes:
132 "
133 color: yellow}
134 edge: {sourcename: "n76" targetname: "n72" label: "0" class:16 priority:10}
135 edge: { sourcename: "n76" targetname: "n74" class:2  priority:50 linestyle:dotted}
136 node: {title: "n75" label: "ProjP 0 75"  info1: "Proj 75
137   mode:    P
138   visited: 13
139   irg:     PRIMA_set_a
140   arity:   1
141   pred nodes:
142     -1:    Block 74
143      0:    Proj 72
144   Private Attributes:
145 "
146 color: yellow}
147 edge: {sourcename: "n75" targetname: "n72" label: "0" class:16 priority:10}
148 edge: { sourcename: "n75" targetname: "n74" class:2  priority:50 linestyle:dotted}
149 node: {title: "n71" label: "ProjM 1 71"  info1: "Proj 71
150   mode:    M
151   visited: 13
152   irg:     PRIMA_set_a
153   arity:   1
154   pred nodes:
155     -1:    Block 64
156      0:    Start 65
157   Private Attributes:
158 "
159 color: yellow}
160 edge: {sourcename: "n71" targetname: "n65" label: "0" class:17 priority:10 color:blue}
161 edge: { sourcename: "n71" targetname: "n64" class:2  priority:50 linestyle:dotted}
162 node: {title: "n78" label: "Sel a 78"  info1: "Sel 78
163   mode:    P
164   visited: 13
165   irg:     PRIMA_set_a
166   arity:   2
167   pred nodes:
168     -1:    Block 74
169      0:    Proj 71
170      1:    Proj 75
171   Private Attributes:
172   Selecting entity of type int
173     from entity a (17)
174     of type PRIMA
175 "
176 }
177 edge: {sourcename: "n78" targetname: "n71" label: "0" class:17 priority:10 color:blue}
178 edge: {sourcename: "n78" targetname: "n75" label: "1" class:1  priority:50}
179 edge: { sourcename: "n78" targetname: "n74" class:2  priority:50 linestyle:dotted}
180 node: {title: "n79" label: "Store 79"  info1: "Store 79
181   mode:    T
182   visited: 13
183   irg:     PRIMA_set_a
184   arity:   3
185   pred nodes:
186     -1:    Block 74
187      0:    Proj 71
188      1:    Sel 78
189      2:    Proj 76
190   Private Attributes:
191   pinned state: op_pin_state_pinned
192   volatility: volatility_non_volatile
193 "
194 }
195 edge: {sourcename: "n79" targetname: "n71" label: "0" class:17 priority:10 color:blue}
196 edge: {sourcename: "n79" targetname: "n78" label: "1" class:1  priority:50}
197 edge: {sourcename: "n79" targetname: "n76" label: "2" class:1  priority:50}
198 edge: { sourcename: "n79" targetname: "n74" class:2  priority:50 linestyle:dotted}
199 node: {title: "n81" label: "ProjM 0 81"  info1: "Proj 81
200   mode:    M
201   visited: 13
202   irg:     PRIMA_set_a
203   arity:   1
204   pred nodes:
205     -1:    Block 74
206      0:    Store 79
207   Private Attributes:
208 "
209 color: yellow}
210 edge: {sourcename: "n81" targetname: "n79" label: "0" class:17 priority:10 color:blue}
211 edge: { sourcename: "n81" targetname: "n74" class:2  priority:50 linestyle:dotted}
212 node: {title: "n82" label: "Return 82"  info1: "Return 82
213   mode:    X
214   visited: 13
215   irg:     PRIMA_set_a
216   arity:   1
217   pred nodes:
218     -1:    Block 74
219      0:    Proj 81
220   Private Attributes:
221   return in method of type set_a
222 "
223 }
224 edge: {sourcename: "n82" targetname: "n81" label: "0" class:14 priority:50 color:blue}
225 edge: { sourcename: "n82" targetname: "n74" class:2  priority:50 linestyle:dotted}
226 node: {title: "n62" label: "Block 62"  info1: "Block 62
227   mode:    BB
228   visited: 13
229   irg:     PRIMA_set_a
230   arity:   1
231   pred nodes:
232      0:    Return 82
233   Private Attributes:
234   backedges:
235   block visited: 0
236   Execution freqency statistics:
237 "
238 color: lightyellow}
239 edge: {sourcename: "n62" targetname: "n82" label: "0" class:13 priority:60 color:red}
240 node: {title: "n136" label: "End 136"  info1: "End 136
241   mode:    X
242   visited: 13
243   irg:     PRIMA_set_a
244   arity:   0
245   pred nodes:
246     -1:    Block 62
247   Private Attributes:
248 "
249 color: blue}
250 edge: { sourcename: "n136" targetname: "n62" class:2  priority:50 linestyle:dotted}
251 node: {title: "e17" label: "ent a" color: yellow
252  info1: "entity a (17)
253   type:  int (14)
254   owner: PRIMA (15)
255   Does not overwrite other entities.
256   Is not overwritten by other entities.
257   allocation:  allocation_automatic
258   visibility:  visibility_local
259   variability: variability_uninitialized
260   volatility:  volatility_non_volatile
261   peculiarity: peculiarity_existent
262   ld_name: no yet set
263   offset:  -1
264
265 "
266 }
267 edge: { sourcename: "e17" targetname: "t14"class: 3 label: "type" color: red}
268 node: {title: "t15" label: "class PRIMA" info1: "class type PRIMA (15)
269   members:
270     entity a (17)
271       type:  int (14)
272       owner: PRIMA (15)
273       Does not overwrite other entities.
274       Is not overwritten by other entities.
275       allocation:  allocation_automatic
276       visibility:  visibility_local
277       variability: variability_uninitialized
278       volatility:  volatility_non_volatile
279       peculiarity: peculiarity_existent
280       ld_name: no yet set
281       offset:  -1
282     entity set_a (20)
283       type:  set_a (18)
284       owner: PRIMA (15)
285       Does not overwrite other entities.
286       Is not overwritten by other entities.
287       allocation:  allocation_static
288       visibility:  visibility_local
289       variability: variability_constant
290       atomic value: SymC &set_a
291       volatility:  volatility_non_volatile
292       peculiarity: peculiarity_existent
293       ld_name: PRIMA_set_a
294       offset:  -1
295       irg = 73
296     entity c (23)
297       type:  c (21)
298       owner: PRIMA (15)
299       Does not overwrite other entities.
300       Is not overwritten by other entities.
301       allocation:  allocation_static
302       visibility:  visibility_local
303       variability: variability_constant
304       atomic value: SymC &c
305       volatility:  volatility_non_volatile
306       peculiarity: peculiarity_existent
307       ld_name: PRIMA_c
308       offset:  -1
309       irg = 96
310   supertypes:
311   subtypes:
312   peculiarity: peculiarity_existent
313   state:     layout_undefined,
314   size:      -1 Bits,
315   alignment: 32 Bits,
316   dbg info:  (nil),
317
318
319 " color: green}
320 edge: { sourcename: "t15" targetname: "e17"class: 12 label: "member" color:blue}
321 edge: { sourcename: "t15" targetname: "e20"class: 12 label: "member" color:blue}
322 edge: { sourcename: "t15" targetname: "e23"class: 12 label: "member" color:blue}
323 node: {title: "e20" label: "ent PRIMA_set_a" color: yellow
324  info1: "entity set_a (20)
325   type:  set_a (18)
326   owner: PRIMA (15)
327   Does not overwrite other entities.
328   Is not overwritten by other entities.
329   allocation:  allocation_static
330   visibility:  visibility_local
331   variability: variability_constant
332   atomic value: SymC &set_a
333   volatility:  volatility_non_volatile
334   peculiarity: peculiarity_existent
335   ld_name: PRIMA_set_a
336   offset:  -1
337   irg = 73
338
339 "
340 }
341 edge: { sourcename: "e20" targetname: "t18"class: 3 label: "type" color: red}
342 edge: { sourcename: "e20" targetname: "n19"label: "value 0"}
343 node: {title: "n19" label: "SymC &set_a 19"  info1: "SymC &set_a 19
344   mode:    P
345   visited: 2
346   arity:   0
347   pred nodes:
348     -1:    Block 3
349   Private Attributes:
350   kind:   addr_ent
351   entity: entity PRIMA.set_a (20)
352
353   type of value: type_unknown
354 "
355 }
356 node: {title: "t18" label: "method set_a" info1: "method type set_a (18)
357   variadicity: variadicity_non_variadic
358   return types: 0
359   parameter types: 2
360     class_prima_ptr
361     int
362   state:     layout_fixed,
363   size:      32 Bits,
364   alignment: 32 Bits,
365   mode:      P,
366   dbg info:  (nil),
367
368
369 "}
370 edge: { sourcename: "t18" targetname: "t16"class: 5 label: "param 0" color: green}
371 edge: { sourcename: "t18" targetname: "t14"class: 5 label: "param 1" color: green}
372 node: {title: "t16" label: "pointer class_prima_ptr" info1: "pointer type class_prima_ptr (16)
373   points to PRIMA (15)
374   state:     layout_fixed,
375   size:      32 Bits,
376   alignment: 32 Bits,
377   mode:      P,
378   dbg info:  (nil),
379
380
381 "}
382 edge: { sourcename: "t16" targetname: "t15"class: 9 label: "points to" color:green}
383 node: {title: "t14" label: "primitive int" info1: "primitive type int (14)
384   state:     layout_fixed,
385   size:      32 Bits,
386   alignment: 32 Bits,
387   mode:      Is,
388   dbg info:  (nil),
389
390
391 "}
392 node: {title: "e23" label: "ent PRIMA_c" color: yellow
393  info1: "entity c (23)
394   type:  c (21)
395   owner: PRIMA (15)
396   Does not overwrite other entities.
397   Is not overwritten by other entities.
398   allocation:  allocation_static
399   visibility:  visibility_local
400   variability: variability_constant
401   atomic value: SymC &c
402   volatility:  volatility_non_volatile
403   peculiarity: peculiarity_existent
404   ld_name: PRIMA_c
405   offset:  -1
406   irg = 96
407
408 "
409 }
410 edge: { sourcename: "e23" targetname: "t21"class: 3 label: "type" color: red}
411 edge: { sourcename: "e23" targetname: "n22"label: "value 0"}
412 node: {title: "n22" label: "SymC &c 22"  info1: "SymC &c 22
413   mode:    P
414   visited: 2
415   arity:   0
416   pred nodes:
417     -1:    Block 3
418   Private Attributes:
419   kind:   addr_ent
420   entity: entity PRIMA.c (23)
421
422   type of value: type_unknown
423 "
424 }
425 node: {title: "t21" label: "method c" info1: "method type c (21)
426   variadicity: variadicity_non_variadic
427   return types: 1
428     int
429   parameter types: 2
430     class_prima_ptr
431     int
432   state:     layout_fixed,
433   size:      32 Bits,
434   alignment: 32 Bits,
435   mode:      P,
436   dbg info:  (nil),
437
438
439 "}
440 edge: { sourcename: "t21" targetname: "t16"class: 5 label: "param 0" color: green}
441 edge: { sourcename: "t21" targetname: "t14"class: 5 label: "param 1" color: green}
442 edge: { sourcename: "t21" targetname: "t14"class: 6 label: "res 0" color: green}
443 node: {title: "t61" label: "class set_aframe_tp" info1: "class type set_aframe_tp (61)
444   members:
445   supertypes:
446   subtypes:
447   peculiarity: peculiarity_existent
448   state:     layout_undefined,
449   size:      -1 Bits,
450   alignment:  0 Bits,
451   dbg info:  (nil),
452
453
454 " color: green}
455 edge: { sourcename: "n78" targetname: "e17"class:2 priority:2 linestyle:dotted}
456 }