First implementation of lowering for calls with compound return values
[libfirm] / testprograms / ref-results / OO_PROGRAM_EXAMPLE_main-pure.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 2:  "Block"
9 classname 3:  "Entity type"
10 classname 4:  "Entity owner"
11 classname 5:  "Method Param"
12 classname 6:  "Method Res"
13 classname 7:  "Super"
14 classname 8:  "Union"
15 classname 9:  "Points-to"
16 classname 10: "Array Element Type"
17 classname 11: "Overwrites"
18 classname 12: "Member"
19 classname 13: "Control Flow"
20 classname 14: "intrablock Memory"
21 classname 15: "Dominators"
22 classname 16: "interblock Data"
23 classname 17: "interblock Memory"
24 classname 18: "Exception Control Flow for Interval Analysis"
25 classname 19: "Postdominators"
26 infoname 1: "Attribute"
27 infoname 2: "Verification errors"
28 infoname 3: "Debug info"
29 colorentry 100:    0   0    0
30 colorentry 101:   20   0    0
31 colorentry 102:   40   0    0
32 colorentry 103:   60   0    0
33 colorentry 104:   80   0    0
34 colorentry 105:  100   0    0
35 colorentry 106:  120   0    0
36 colorentry 107:  140   0    0
37 colorentry 108:  150   0    0
38 colorentry 109:  180   0    0
39 colorentry 110:  200   0    0
40 colorentry 111:  220   0    0
41 colorentry 112:  240   0    0
42 colorentry 113:  255   0    0
43 colorentry 113:  255  20   20
44 colorentry 114:  255  40   40
45 colorentry 115:  255  60   60
46 colorentry 116:  255  80   80
47 colorentry 117:  255 100  100
48 colorentry 118:  255 120  120
49 colorentry 119:  255 140  140
50 colorentry 120:  255 150  150
51 colorentry 121:  255 180  180
52 colorentry 122:  255 200  200
53 colorentry 123:  255 220  220
54 colorentry 124:  255 240  240
55 colorentry 125:  255 250  250
56
57 node: {title: "n30" label: "Block 30"  info1: "Block 30
58   mode:    BB
59   visited: 18
60   irg:     OO_PROGRAM_EXAMPLE_main
61   arity:   1
62   pred nodes:
63      0:    Proj 34
64   Private Attributes:
65   backedges:
66   block visited: 0
67   Execution freqency statistics:
68 "
69 color:lightyellow}
70 edge: {sourcename: "n30" targetname: "n34" label: "0" class:13 priority:60 color:red}
71 node: {title: "n31" label: "Start 31"  info1: "Start 31
72   mode:    T
73   visited: 18
74   irg:     OO_PROGRAM_EXAMPLE_main
75   arity:   0
76   pred nodes:
77     -1:    Block 30
78   Private Attributes:
79   start of method of type OO_PROGRAM_EXAMPLE_main
80 "
81 color:blue}
82 edge: { sourcename: "n31" targetname: "n30" class:2  priority:50 linestyle:dotted}
83 node: {title: "n34" label: "ProjX X_initial_exec 34"  info1: "Proj 34
84   mode:    X
85   visited: 18
86   irg:     OO_PROGRAM_EXAMPLE_main
87   arity:   1
88   pred nodes:
89     -1:    Block 30
90      0:    Start 31
91   Private Attributes:
92   proj nr: 0
93 "
94 color:yellow}
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: "n40" label: "Block 40"  info1: "Block 40
98   mode:    BB
99   visited: 18
100   irg:     OO_PROGRAM_EXAMPLE_main
101   arity:   1
102   pred nodes:
103      0:    Proj 34
104   Private Attributes:
105   backedges:
106   block visited: 0
107   Execution freqency statistics:
108 "
109 color:lightyellow}
110 edge: {sourcename: "n40" targetname: "n34" label: "0" class:13 priority:60 color:red}
111 node: {title: "n37" label: "ProjM 1 37"  info1: "Proj 37
112   mode:    M
113   visited: 18
114   irg:     OO_PROGRAM_EXAMPLE_main
115   arity:   1
116   pred nodes:
117     -1:    Block 30
118      0:    Start 31
119   Private Attributes:
120   proj nr: 1
121 "
122 color:yellow}
123 edge: {sourcename: "n37" targetname: "n31" label: "0" class:17 priority:10 color:blue}
124 edge: { sourcename: "n37" targetname: "n30" class:2  priority:50 linestyle:dotted}
125 node: {title: "n45" label: "Alloc 45"  info1: "Alloc 45
126   mode:    T
127   visited: 18
128   irg:     OO_PROGRAM_EXAMPLE_main
129   arity:   2
130   pred nodes:
131     -1:    Block 40
132      0:    Proj 37
133      1:    SymC PRIMA size 43
134   Private Attributes:
135   pinned state: op_pin_state_pinned
136   allocating entity of type: PRIMA
137   allocating on: the heap
138 "
139 }
140 node: {title: "n45n43" label: "SymC PRIMA size 43"  info1: "SymC PRIMA size 43
141   mode:    Iu
142   visited: 18
143   irg:     OO_PROGRAM_EXAMPLE_main
144   arity:   0
145   pred nodes:
146     -1:    Block 30
147   Private Attributes:
148   kind: size
149   type: class type PRIMA (15)
150   type of value: type_unknown
151 "
152 }
153 edge: {sourcename: "n45" targetname: "n37" label: "0" class:17 priority:10 color:blue}
154 edge: {sourcename: "n45" targetname: "n45n43" label: "1" class:16 priority:10}
155 edge: { sourcename: "n45" targetname: "n40" class:2  priority:50 linestyle:dotted}
156 node: {title: "n48" label: "ProjP res 48"  info1: "Proj 48
157   mode:    P
158   visited: 18
159   irg:     OO_PROGRAM_EXAMPLE_main
160   arity:   1
161   pred nodes:
162     -1:    Block 40
163      0:    Alloc 45
164   Private Attributes:
165   proj nr: 2
166 "
167 color:yellow}
168 edge: {sourcename: "n48" targetname: "n45" label: "0" class:1  priority:50}
169 edge: { sourcename: "n48" targetname: "n40" class:2  priority:50 linestyle:dotted}
170 node: {title: "n47" label: "ProjM M 47"  info1: "Proj 47
171   mode:    M
172   visited: 18
173   irg:     OO_PROGRAM_EXAMPLE_main
174   arity:   1
175   pred nodes:
176     -1:    Block 40
177      0:    Alloc 45
178   Private Attributes:
179   proj nr: 0
180 "
181 color:yellow}
182 edge: {sourcename: "n47" targetname: "n45" label: "0" class:17 priority:10 color:blue}
183 edge: { sourcename: "n47" targetname: "n40" class:2  priority:50 linestyle:dotted}
184 node: {title: "n49" label: "Sel PRIMA_set_a 49"  info1: "Sel 49
185   mode:    P
186   visited: 18
187   irg:     OO_PROGRAM_EXAMPLE_main
188   arity:   2
189   pred nodes:
190     -1:    Block 40
191      0:    Proj 47
192      1:    Proj 48
193   Private Attributes:
194   Selecting entity set_a (20)
195     of type    set_a
196     with owner PRIMA.
197 "
198 }
199 edge: {sourcename: "n49" targetname: "n47" label: "0" class:14 priority:50 color:blue}
200 edge: {sourcename: "n49" targetname: "n48" label: "1" class:1  priority:50}
201 edge: { sourcename: "n49" targetname: "n40" class:2  priority:50 linestyle:dotted}
202 node: {title: "n50" label: "Call 50"  info1: "Call 50
203   mode:    T
204   visited: 18
205   irg:     OO_PROGRAM_EXAMPLE_main
206   arity:   4
207   pred nodes:
208     -1:    Block 40
209      0:    Proj 47
210      1:    Sel 49
211      2:    Proj 48
212      3:    0x2 41
213   Private Attributes:
214   pinned state: op_pin_state_pinned
215   calling method of type set_a
216     param 0 type: class_prima_ptr
217     param 1 type: int
218 "
219 }
220 node: {title: "n50n41" label: "0x2Is 41"  info1: "0x2 41
221   mode:    Is
222   visited: 18
223   irg:     OO_PROGRAM_EXAMPLE_main
224   arity:   0
225   pred nodes:
226     -1:    Block 30
227   Private Attributes:
228   Const of type type_unknown
229 "
230 color:yellow}
231 edge: {sourcename: "n50" targetname: "n47" label: "0" class:14 priority:50 color:blue}
232 edge: {sourcename: "n50" targetname: "n49" label: "1" class:1  priority:50}
233 edge: {sourcename: "n50" targetname: "n48" label: "2" class:1  priority:50}
234 edge: {sourcename: "n50" targetname: "n50n41" label: "3" class:16 priority:10}
235 edge: { sourcename: "n50" targetname: "n40" class:2  priority:50 linestyle:dotted}
236 node: {title: "n52" label: "ProjM M_regular 52"  info1: "Proj 52
237   mode:    M
238   visited: 18
239   irg:     OO_PROGRAM_EXAMPLE_main
240   arity:   1
241   pred nodes:
242     -1:    Block 40
243      0:    Call 50
244   Private Attributes:
245   proj nr: 0
246 "
247 color:yellow}
248 edge: {sourcename: "n52" targetname: "n50" label: "0" class:17 priority:10 color:blue}
249 edge: { sourcename: "n52" targetname: "n40" class:2  priority:50 linestyle:dotted}
250 node: {title: "n53" label: "Sel PRIMA_c 53"  info1: "Sel 53
251   mode:    P
252   visited: 18
253   irg:     OO_PROGRAM_EXAMPLE_main
254   arity:   2
255   pred nodes:
256     -1:    Block 40
257      0:    Proj 52
258      1:    Proj 48
259   Private Attributes:
260   Selecting entity c (23)
261     of type    c
262     with owner PRIMA.
263 "
264 }
265 edge: {sourcename: "n53" targetname: "n52" label: "0" class:14 priority:50 color:blue}
266 edge: {sourcename: "n53" targetname: "n48" label: "1" class:1  priority:50}
267 edge: { sourcename: "n53" targetname: "n40" class:2  priority:50 linestyle:dotted}
268 node: {title: "n54" label: "Call 54"  info1: "Call 54
269   mode:    T
270   visited: 18
271   irg:     OO_PROGRAM_EXAMPLE_main
272   arity:   4
273   pred nodes:
274     -1:    Block 40
275      0:    Proj 52
276      1:    Sel 53
277      2:    Proj 48
278      3:    0x5 42
279   Private Attributes:
280   pinned state: op_pin_state_pinned
281   calling method of type c
282     param 0 type: class_prima_ptr
283     param 1 type: int
284     resul 0 type: int
285 "
286 }
287 node: {title: "n54n42" label: "0x5Is 42"  info1: "0x5 42
288   mode:    Is
289   visited: 18
290   irg:     OO_PROGRAM_EXAMPLE_main
291   arity:   0
292   pred nodes:
293     -1:    Block 30
294   Private Attributes:
295   Const of type type_unknown
296 "
297 color:yellow}
298 edge: {sourcename: "n54" targetname: "n52" label: "0" class:14 priority:50 color:blue}
299 edge: {sourcename: "n54" targetname: "n53" label: "1" class:1  priority:50}
300 edge: {sourcename: "n54" targetname: "n48" label: "2" class:1  priority:50}
301 edge: {sourcename: "n54" targetname: "n54n42" label: "3" class:16 priority:10}
302 edge: { sourcename: "n54" targetname: "n40" class:2  priority:50 linestyle:dotted}
303 node: {title: "n57" label: "ProjT T_result 57"  info1: "Proj 57
304   mode:    T
305   visited: 18
306   irg:     OO_PROGRAM_EXAMPLE_main
307   arity:   1
308   pred nodes:
309     -1:    Block 40
310      0:    Call 54
311   Private Attributes:
312   proj nr: 2
313 "
314 color:yellow}
315 edge: {sourcename: "n57" targetname: "n54" label: "0" class:1  priority:50}
316 edge: { sourcename: "n57" targetname: "n40" class:2  priority:50 linestyle:dotted}
317 node: {title: "n58" label: "ProjIs 0 58"  info1: "Proj 58
318   mode:    Is
319   visited: 18
320   irg:     OO_PROGRAM_EXAMPLE_main
321   arity:   1
322   pred nodes:
323     -1:    Block 40
324      0:    Proj 57
325   Private Attributes:
326   proj nr: 0
327 "
328 color:yellow}
329 edge: {sourcename: "n58" targetname: "n57" label: "0" class:1  priority:50}
330 edge: { sourcename: "n58" targetname: "n40" class:2  priority:50 linestyle:dotted}
331 node: {title: "n56" label: "ProjM M_regular 56"  info1: "Proj 56
332   mode:    M
333   visited: 18
334   irg:     OO_PROGRAM_EXAMPLE_main
335   arity:   1
336   pred nodes:
337     -1:    Block 40
338      0:    Call 54
339   Private Attributes:
340   proj nr: 0
341 "
342 color:yellow}
343 edge: {sourcename: "n56" targetname: "n54" label: "0" class:17 priority:10 color:blue}
344 edge: { sourcename: "n56" targetname: "n40" class:2  priority:50 linestyle:dotted}
345 node: {title: "n59" label: "Return 59"  info1: "Return 59
346   mode:    X
347   visited: 18
348   irg:     OO_PROGRAM_EXAMPLE_main
349   arity:   2
350   pred nodes:
351     -1:    Block 40
352      0:    Proj 56
353      1:    Proj 58
354   Private Attributes:
355   return in method of type OO_PROGRAM_EXAMPLE_main
356     res 0 type: int
357 "
358 }
359 edge: {sourcename: "n59" targetname: "n56" label: "0" class:14 priority:50 color:blue}
360 edge: {sourcename: "n59" targetname: "n58" label: "1" class:1  priority:50}
361 edge: { sourcename: "n59" targetname: "n40" class:2  priority:50 linestyle:dotted}
362 node: {title: "n28" label: "Block 28"  info1: "Block 28
363   mode:    BB
364   visited: 18
365   irg:     OO_PROGRAM_EXAMPLE_main
366   arity:   1
367   pred nodes:
368      0:    Return 59
369   Private Attributes:
370   backedges:
371   block visited: 0
372   Execution freqency statistics:
373 "
374 color:lightyellow}
375 edge: {sourcename: "n28" targetname: "n59" label: "0" class:13 priority:60 color:red}
376 node: {title: "n109" label: "End 109"  info1: "End 109
377   mode:    X
378   visited: 18
379   irg:     OO_PROGRAM_EXAMPLE_main
380   arity:   0
381   pred nodes:
382     -1:    Block 28
383   Private Attributes:
384 "
385 color:blue}
386 edge: { sourcename: "n109" targetname: "n28" class:2  priority:50 linestyle:dotted}
387 }