First implementation of lowering for calls with compound return values
[libfirm] / testprograms / ref-results / PRIMA_INLINE_c-wtypes.vcg
index b0cf21b..bf8a09f 100644 (file)
@@ -5,13 +5,7 @@ manhattan_edges: yes
 port_sharing: no
 orientation: bottom_to_top
 classname 1:  "intrablock Data"
-classname 16: "interblock Data"
 classname 2:  "Block"
-classname 13: "Control Flow"
-classname 18: "Exception Control Flow for Interval Analysis"
-classname 14: "intrablock Memory"
-classname 17: "interblock Memory"
-classname 15: "Dominators"
 classname 3:  "Entity type"
 classname 4:  "Entity owner"
 classname 5:  "Method Param"
@@ -22,8 +16,16 @@ classname 9:  "Points-to"
 classname 10: "Array Element Type"
 classname 11: "Overwrites"
 classname 12: "Member"
+classname 13: "Control Flow"
+classname 14: "intrablock Memory"
+classname 15: "Dominators"
+classname 16: "interblock Data"
+classname 17: "interblock Memory"
+classname 18: "Exception Control Flow for Interval Analysis"
+classname 19: "Postdominators"
 infoname 1: "Attribute"
 infoname 2: "Verification errors"
+infoname 3: "Debug info"
 colorentry 100:    0   0    0
 colorentry 101:   20   0    0
 colorentry 102:   40   0    0
@@ -53,118 +55,299 @@ colorentry 124:  255 240  240
 colorentry 125:  255 250  250
 
 graph: { title: "g96" label: "PRIMA_INLINE_c" status:clustered color:white
+info1: "entity c (23)
+  type:  c (21)
+  owner: PRIMA_INLINE (15)
+  Does not overwrite other entities.
+  Is not overwritten by other entities.
+  allocation:  allocation_static
+  visibility:  visibility_local
+  variability: variability_constant
+  calling convention: cdecl
+  atomic value: SymC &c
+  volatility:  volatility_non_volatile
+  peculiarity: peculiarity_existent
+  ld_name: PRIMA_INLINE_c
+  offset:  -1 bits, -1 bytes
+  irg = 96
+
+"
 graph: { title: "n102"  label: "Block 102" status:clustered color:yellow
+ info1: "Block 102
+  mode:    BB
+  visited: 26
+  irg:     PRIMA_INLINE_c
+  arity:   2
+  pred nodes:
+     0:    Jmp 101
+     1:    Jmp 109
+  Private Attributes:
+  backedges:
+  block visited: 0
+  Execution freqency statistics:
+"
 edge: {sourcename: "n102" targetname: "n101" label: "0" class:13 priority:60 color:red}
 edge: {sourcename: "n102" targetname: "n109" label: "1" class:13 priority:60 color:red}
-node: {title: "n130" label: "PhiM  130"  info1: "mode:    M
-visited: 26
-irg:     PRIMA_INLINE_c
-arity: 2 backedges:
-"color: green}
-edge: {sourcename: "n130" targetname: "n94" label: "0" class:17 priority:10 color:blue}
-edge: {sourcename: "n130" targetname: "n117" label: "1" class:17 priority:10 color:blue}
-node: {title: "n117" label: "Store  117"  info1: "mode:    T
-visited: 26
-irg:     PRIMA_INLINE_c
-arity: 3
-volatility: volatility_non_volatile
-"}
-edge: {sourcename: "n117" targetname: "n130" label: "0" class:14 priority:50 color:blue}
+node: {title: "n131" label: "PhiM 131"  info1: "Phi 131
+  mode:    M
+  visited: 26
+  irg:     PRIMA_INLINE_c
+  arity:   2
+  pred nodes:
+    -1:    Block 102
+     0:    Proj 94
+     1:    Proj 119
+  Private Attributes:
+  backedges:
+"
+color:green}
+edge: {sourcename: "n131" targetname: "n94" label: "0" class:17 priority:10 color:blue}
+edge: {sourcename: "n131" targetname: "n119" label: "1" class:17 priority:10 color:blue}
+node: {title: "n119" label: "ProjM M 119"  info1: "Proj 119
+  mode:    M
+  visited: 26
+  irg:     PRIMA_INLINE_c
+  arity:   1
+  pred nodes:
+    -1:    Block 102
+     0:    Store 117
+  Private Attributes:
+  proj nr: 0
+"
+color:yellow}
+edge: {sourcename: "n119" targetname: "n117" label: "0" class:17 priority:10 color:blue}
+node: {title: "n117" label: "Store 117"  info1: "Store 117
+  mode:    T
+  visited: 26
+  irg:     PRIMA_INLINE_c
+  arity:   3
+  pred nodes:
+    -1:    Block 102
+     0:    Phi 131
+     1:    Sel 116
+     2:    Phi 127
+  Private Attributes:
+  pinned state: op_pin_state_pinned
+  volatility: volatility_non_volatile
+"
+}
+edge: {sourcename: "n117" targetname: "n131" label: "0" class:14 priority:50 color:blue}
 edge: {sourcename: "n117" targetname: "n116" label: "1" class:1  priority:50}
-edge: {sourcename: "n117" targetname: "n126" label: "2" class:1  priority:50}
-node: {title: "n116" label: "Sel a 116"  info1: "mode:    P
-visited: 26
-irg:     PRIMA_INLINE_c
-arity: 2
-Selecting entity of type int
-  from entity of type PRIMA_INLINE
-"}
-edge: {sourcename: "n116" targetname: "n130" label: "0" class:14 priority:50 color:blue}
+edge: {sourcename: "n117" targetname: "n127" label: "2" class:1  priority:50}
+node: {title: "n116" label: "Sel a 116"  info1: "Sel 116
+  mode:    P
+  visited: 26
+  irg:     PRIMA_INLINE_c
+  arity:   2
+  pred nodes:
+    -1:    Block 102
+     0:    Phi 131
+     1:    Proj 98
+  Private Attributes:
+  Selecting entity a (17)
+    of type    int
+    with owner PRIMA_INLINE.
+"
+}
+edge: {sourcename: "n116" targetname: "n131" label: "0" class:14 priority:50 color:blue}
 edge: {sourcename: "n116" targetname: "n98" label: "1" class:16 priority:10}
-node: {title: "n126" label: "PhiIs  126"  info1: "mode:    Is
-visited: 26
-irg:     PRIMA_INLINE_c
-arity: 2 backedges:
-"color: green}
-edge: {sourcename: "n126" targetname: "n99" label: "0" class:16 priority:10}
-edge: {sourcename: "n126" targetname: "n127" label: "1" class:1  priority:50}
-node: {title: "n127" label: "PhiIs  127"  info1: "mode:    Is
-visited: 26
-irg:     PRIMA_INLINE_c
-arity: 2 backedges:
-"color: green}
-edge: {sourcename: "n127" targetname: "n100" label: "0" class:16 priority:10}
-edge: {sourcename: "n127" targetname: "n126" label: "1" class:1  priority:50}
-node: {title: "n109" label: "Jmp  109"  info1: "mode:    X
-visited: 26
-irg:     PRIMA_INLINE_c
-arity: 0
-"}
+node: {title: "n127" label: "PhiIs 127"  info1: "Phi 127
+  mode:    Is
+  visited: 26
+  irg:     PRIMA_INLINE_c
+  arity:   2
+  pred nodes:
+    -1:    Block 102
+     0:    Proj 99
+     1:    Phi 128
+  Private Attributes:
+  backedges:
+"
+color:green}
+edge: {sourcename: "n127" targetname: "n99" label: "0" class:16 priority:10}
+edge: {sourcename: "n127" targetname: "n128" label: "1" class:1  priority:50}
+node: {title: "n128" label: "PhiIs 128"  info1: "Phi 128
+  mode:    Is
+  visited: 26
+  irg:     PRIMA_INLINE_c
+  arity:   2
+  pred nodes:
+    -1:    Block 102
+     0:    0x0 100
+     1:    Phi 127
+  Private Attributes:
+  backedges:
+"
+color:green}
+edge: {sourcename: "n128" targetname: "n100" label: "0" class:16 priority:10}
+edge: {sourcename: "n128" targetname: "n127" label: "1" class:1  priority:50}
+node: {title: "n109" label: "Jmp 109"  info1: "Jmp 109
+  mode:    X
+  visited: 26
+  irg:     PRIMA_INLINE_c
+  arity:   0
+  pred nodes:
+    -1:    Block 102
+  Private Attributes:
+"
+}
 }
 
 graph: { title: "n97"  label: "Block 97" status:clustered color:yellow
+ info1: "Block 97
+  mode:    BB
+  visited: 26
+  irg:     PRIMA_INLINE_c
+  arity:   1
+  pred nodes:
+     0:    Proj 91
+  Private Attributes:
+  backedges:
+  block visited: 0
+  Execution freqency statistics:
+"
 edge: {sourcename: "n97" targetname: "n91" label: "0" class:13 priority:60 color:red}
-node: {title: "n98" label: "ProjP 0 98"  info1: "mode:    P
-visited: 26
-irg:     PRIMA_INLINE_c
-arity: 1
-"color: yellow}
+node: {title: "n98" label: "ProjP Arg 0 98"  info1: "Proj 98
+  mode:    P
+  visited: 26
+  irg:     PRIMA_INLINE_c
+  arity:   1
+  pred nodes:
+    -1:    Block 97
+     0:    Proj 95
+  Private Attributes:
+  proj nr: 0
+"
+color:yellow}
 edge: {sourcename: "n98" targetname: "n95" label: "0" class:16 priority:10}
-node: {title: "n99" label: "ProjIs 1 99"  info1: "mode:    Is
-visited: 26
-irg:     PRIMA_INLINE_c
-arity: 1
-"color: yellow}
+node: {title: "n99" label: "ProjIs Arg 1 99"  info1: "Proj 99
+  mode:    Is
+  visited: 26
+  irg:     PRIMA_INLINE_c
+  arity:   1
+  pred nodes:
+    -1:    Block 97
+     0:    Proj 95
+  Private Attributes:
+  proj nr: 1
+"
+color:yellow}
 edge: {sourcename: "n99" targetname: "n95" label: "0" class:16 priority:10}
-node: {title: "n101" label: "Jmp  101"  info1: "mode:    X
-visited: 26
-irg:     PRIMA_INLINE_c
-arity: 0
-"}
+node: {title: "n101" label: "Jmp 101"  info1: "Jmp 101
+  mode:    X
+  visited: 26
+  irg:     PRIMA_INLINE_c
+  arity:   0
+  pred nodes:
+    -1:    Block 97
+  Private Attributes:
+"
+}
 }
 
 graph: { title: "n87"  label: "Block 87" status:clustered color:yellow
+ info1: "Block 87
+  mode:    BB
+  visited: 26
+  irg:     PRIMA_INLINE_c
+  arity:   1
+  pred nodes:
+     0:    Proj 91
+  Private Attributes:
+  backedges:
+  block visited: 0
+  Execution freqency statistics:
+"
 edge: {sourcename: "n87" targetname: "n91" label: "0" class:13 priority:60 color:red}
-node: {title: "n94" label: "ProjM 1 94"  info1: "mode:    M
-visited: 26
-irg:     PRIMA_INLINE_c
-arity: 1
-"color: yellow}
+node: {title: "n94" label: "ProjM 1 94"  info1: "Proj 94
+  mode:    M
+  visited: 26
+  irg:     PRIMA_INLINE_c
+  arity:   1
+  pred nodes:
+    -1:    Block 87
+     0:    Start 88
+  Private Attributes:
+  proj nr: 1
+"
+color:yellow}
 edge: {sourcename: "n94" targetname: "n88" label: "0" class:17 priority:10 color:blue}
-node: {title: "n95" label: "ProjT 4 95"  info1: "mode:    T
-visited: 26
-irg:     PRIMA_INLINE_c
-arity: 1
-"color: yellow}
+node: {title: "n95" label: "ProjT T_args 95"  info1: "Proj 95
+  mode:    T
+  visited: 26
+  irg:     PRIMA_INLINE_c
+  arity:   1
+  pred nodes:
+    -1:    Block 87
+     0:    Start 88
+  Private Attributes:
+  proj nr: 4
+"
+color:yellow}
 edge: {sourcename: "n95" targetname: "n88" label: "0" class:1  priority:50}
-node: {title: "n100" label: "0x0Is  100"  info1: "mode:    Is
-visited: 26
-irg:     PRIMA_INLINE_c
-arity: 0
-Const of type type_unknown
-"color: yellow}
-node: {title: "n91" label: "ProjX 0 91"  info1: "mode:    X
-visited: 26
-irg:     PRIMA_INLINE_c
-arity: 1
-"color: yellow}
+node: {title: "n100" label: "0x0Is 100"  info1: "0x0 100
+  mode:    Is
+  visited: 26
+  irg:     PRIMA_INLINE_c
+  arity:   0
+  pred nodes:
+    -1:    Block 87
+  Private Attributes:
+  Const of type type_unknown
+"
+color:yellow}
+node: {title: "n91" label: "ProjX X_initial_exec 91"  info1: "Proj 91
+  mode:    X
+  visited: 26
+  irg:     PRIMA_INLINE_c
+  arity:   1
+  pred nodes:
+    -1:    Block 87
+     0:    Start 88
+  Private Attributes:
+  proj nr: 0
+"
+color:yellow}
 edge: {sourcename: "n91" targetname: "n88" label: "0" class:13 priority:60 color:red}
-node: {title: "n88" label: "Start  88"  info1: "mode:    T
-visited: 26
-irg:     PRIMA_INLINE_c
-arity: 0
-start of method of type c
-  param 0 type: class_prima_ptr
-  param 1 type: int
-"color: blue}
+node: {title: "n88" label: "Start 88"  info1: "Start 88
+  mode:    T
+  visited: 26
+  irg:     PRIMA_INLINE_c
+  arity:   0
+  pred nodes:
+    -1:    Block 87
+  Private Attributes:
+  start of method of type c
+    param 0 type: class_prima_ptr
+    param 1 type: int
+"
+color:blue}
 }
 
 graph: { title: "n85"  label: "Block 85" status:clustered color:yellow
-node: {title: "n243" label: "End  243"  info1: "mode:    X
-visited: 26
-irg:     PRIMA_INLINE_c
-arity: 2
-"color: blue}
+ info1: "Block 85
+  mode:    BB
+  visited: 26
+  irg:     PRIMA_INLINE_c
+  arity:   0
+  pred nodes:
+  Private Attributes:
+  backedges:
+  block visited: 0
+  Execution freqency statistics:
+"
+node: {title: "n246" label: "End 246"  info1: "End 246
+  mode:    X
+  visited: 26
+  irg:     PRIMA_INLINE_c
+  arity:   2
+  pred nodes:
+    -1:    Block 85
+     0:    Block 102
+     1:    Phi 131
+  Private Attributes:
+"
+color:blue}
 }
 
 }
@@ -181,15 +364,66 @@ node: {title: "e17" label: "ent a" color: yellow
   volatility:  volatility_non_volatile
   peculiarity: peculiarity_existent
   ld_name: no yet set
-  offset:  -1
+  offset:  -1 bits, -1 bytes
 
 "
 }
 edge: { sourcename: "e17" targetname: "t14"class: 3 label: "type" color: red}
-node: {title: "t15" label: "class PRIMA_INLINE" info1: "state: layout_undefined
-size: -1b,
-peculiarity: peculiarity_existent
-" color: green}
+node: {title: "t15" label: "class PRIMA_INLINE" info1: "class type PRIMA_INLINE (15)
+  members:
+    entity a (17)
+      type:  int (14)
+      owner: PRIMA_INLINE (15)
+      Does not overwrite other entities.
+      Is not overwritten by other entities.
+      allocation:  allocation_automatic
+      visibility:  visibility_local
+      variability: variability_uninitialized
+      volatility:  volatility_non_volatile
+      peculiarity: peculiarity_existent
+      ld_name: no yet set
+      offset:  -1 bits, -1 bytes
+    entity set_a (20)
+      type:  set_a (18)
+      owner: PRIMA_INLINE (15)
+      Does not overwrite other entities.
+      Is not overwritten by other entities.
+      allocation:  allocation_static
+      visibility:  visibility_local
+      variability: variability_constant
+      calling convention: cdecl
+      atomic value: SymC &set_a
+      volatility:  volatility_non_volatile
+      peculiarity: peculiarity_existent
+      ld_name: PRIMA_INLINE_set_a
+      offset:  -1 bits, -1 bytes
+      irg = 73
+    entity c (23)
+      type:  c (21)
+      owner: PRIMA_INLINE (15)
+      Does not overwrite other entities.
+      Is not overwritten by other entities.
+      allocation:  allocation_static
+      visibility:  visibility_local
+      variability: variability_constant
+      calling convention: cdecl
+      atomic value: SymC &c
+      volatility:  volatility_non_volatile
+      peculiarity: peculiarity_existent
+      ld_name: PRIMA_INLINE_c
+      offset:  -1 bits, -1 bytes
+      irg = 96
+  supertypes:
+  subtypes:
+  peculiarity: peculiarity_existent
+  visibility: visibility_external_allocated,
+  state:      layout_undefined,
+  size:       -1 Bits,
+  alignment:  32 Bits,
+
+
+"
+ color: green}
 edge: { sourcename: "t15" targetname: "e17"class: 12 label: "member" color:blue}
 edge: { sourcename: "t15" targetname: "e20"class: 12 label: "member" color:blue}
 edge: { sourcename: "t15" targetname: "e23"class: 12 label: "member" color:blue}
@@ -202,43 +436,70 @@ node: {title: "e20" label: "ent PRIMA_INLINE_set_a" color: yellow
   allocation:  allocation_static
   visibility:  visibility_local
   variability: variability_constant
+  calling convention: cdecl
   atomic value: SymC &set_a
   volatility:  volatility_non_volatile
   peculiarity: peculiarity_existent
   ld_name: PRIMA_INLINE_set_a
-  offset:  -1
+  offset:  -1 bits, -1 bytes
   irg = 73
 
 "
 }
 edge: { sourcename: "e20" targetname: "t18"class: 3 label: "type" color: red}
 edge: { sourcename: "e20" targetname: "n19"label: "value 0"}
-node: {title: "n19" label: "SymC &set_a  19"  info1: "mode:    P
-visited: 3
-arity: 0
-kind addr_ent
-entity PRIMA_INLINE.set_a (20)
+node: {title: "n19" label: "SymC &set_a 19"  info1: "SymC &set_a 19
+  mode:    P
+  visited: 1
+  arity:   0
+  pred nodes:
+    -1:    Block 3
+  Private Attributes:
+  kind:   addr_ent
+  entity: entity PRIMA_INLINE.set_a (20)
 
-SymConst of type type_unknown
-"}
-node: {title: "t18" label: "method set_a" info1: "state: layout_fixed,
-mode: P,
-size: 32b,
-variadicity: variadicity_non_variadic
-params: 2
-results: 0
-"}
+  type of value: type_unknown
+"
+}
+node: {title: "t18" label: "method set_a" info1: "method type set_a (18)
+  variadicity: variadicity_non_variadic
+  return types: 0
+  parameter types: 2
+    class_prima_ptr
+    int
+  visibility: visibility_external_allocated,
+  state:      layout_fixed,
+  size:       32 Bits,
+  alignment:  32 Bits,
+  mode:       P,
+
+
+"
+}
 edge: { sourcename: "t18" targetname: "t16"class: 5 label: "param 0" color: green}
 edge: { sourcename: "t18" targetname: "t14"class: 5 label: "param 1" color: green}
-node: {title: "t16" label: "pointer class_prima_ptr" info1: "state: layout_fixed,
-mode: P,
-size: 32b,
-"}
+node: {title: "t16" label: "pointer class_prima_ptr" info1: "pointer type class_prima_ptr (16)
+  points to PRIMA_INLINE (15)
+  visibility: visibility_external_allocated,
+  state:      layout_fixed,
+  size:       32 Bits,
+  alignment:  32 Bits,
+  mode:       P,
+
+
+"
+}
 edge: { sourcename: "t16" targetname: "t15"class: 9 label: "points to" color:green}
-node: {title: "t14" label: "primitive int" info1: "state: layout_fixed,
-mode: Is,
-size: 32b,
-"}
+node: {title: "t14" label: "primitive int" info1: "primitive type int (14)
+  visibility: visibility_external_allocated,
+  state:      layout_fixed,
+  size:       32 Bits,
+  alignment:  32 Bits,
+  mode:       Is,
+
+
+"
+}
 node: {title: "e23" label: "ent PRIMA_INLINE_c" color: yellow
  info1: "entity c (23)
   type:  c (21)
@@ -248,38 +509,62 @@ node: {title: "e23" label: "ent PRIMA_INLINE_c" color: yellow
   allocation:  allocation_static
   visibility:  visibility_local
   variability: variability_constant
+  calling convention: cdecl
   atomic value: SymC &c
   volatility:  volatility_non_volatile
   peculiarity: peculiarity_existent
   ld_name: PRIMA_INLINE_c
-  offset:  -1
+  offset:  -1 bits, -1 bytes
   irg = 96
 
 "
 }
 edge: { sourcename: "e23" targetname: "t21"class: 3 label: "type" color: red}
 edge: { sourcename: "e23" targetname: "n22"label: "value 0"}
-node: {title: "n22" label: "SymC &c  22"  info1: "mode:    P
-visited: 3
-arity: 0
-kind addr_ent
-entity PRIMA_INLINE.c (23)
+node: {title: "n22" label: "SymC &c 22"  info1: "SymC &c 22
+  mode:    P
+  visited: 1
+  arity:   0
+  pred nodes:
+    -1:    Block 3
+  Private Attributes:
+  kind:   addr_ent
+  entity: entity PRIMA_INLINE.c (23)
 
-SymConst of type type_unknown
-"}
-node: {title: "t21" label: "method c" info1: "state: layout_fixed,
-mode: P,
-size: 32b,
-variadicity: variadicity_non_variadic
-params: 2
-results: 1
-"}
+  type of value: type_unknown
+"
+}
+node: {title: "t21" label: "method c" info1: "method type c (21)
+  variadicity: variadicity_non_variadic
+  return types: 1
+    int
+  parameter types: 2
+    class_prima_ptr
+    int
+  visibility: visibility_external_allocated,
+  state:      layout_fixed,
+  size:       32 Bits,
+  alignment:  32 Bits,
+  mode:       P,
+
+
+"
+}
 edge: { sourcename: "t21" targetname: "t16"class: 5 label: "param 0" color: green}
 edge: { sourcename: "t21" targetname: "t14"class: 5 label: "param 1" color: green}
 edge: { sourcename: "t21" targetname: "t14"class: 6 label: "res 0" color: green}
-node: {title: "t84" label: "class cframe_tp" info1: "state: layout_undefined
-size: -1b,
-peculiarity: peculiarity_existent
-" color: green}
+node: {title: "t84" label: "class cframe_tp" info1: "class type cframe_tp (84)
+  members:
+  supertypes:
+  subtypes:
+  peculiarity: peculiarity_existent
+  visibility: visibility_external_allocated,
+  state:      layout_undefined,
+  size:       -1 Bits,
+  alignment:   0 Bits,
+
+
+"
+ color: green}
 edge: { sourcename: "n116" targetname: "e17"class:2 priority:2 linestyle:dotted}
 }