First implementation of lowering for calls with compound return values
[libfirm] / testprograms / ref-results / ARRAY-STACK_EXAMPLE_main-wtypes.vcg
index 59d79dd..59feb8c 100644 (file)
@@ -5,12 +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 14: "intrablock Memory"
-classname 17: "interblock Memory"
-classname 15: "Dominators"
 classname 3:  "Entity type"
 classname 4:  "Entity owner"
 classname 5:  "Method Param"
@@ -21,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
@@ -51,199 +54,431 @@ colorentry 123:  255 220  220
 colorentry 124:  255 240  240
 colorentry 125:  255 250  250
 
-graph: { title: "g33" label: "ARRAY-STACK_EXAMPLE_main" status:clustered color:white
-graph: { title: "n48"  label: "Block 48" status:clustered color:yellow
-edge: {sourcename: "n48" targetname: "n49" label: "0" class:13 priority:60 color:red}
-node: {title: "n46" label: "End  46"  info1: "mode:    X
-visited: 13
-irg:     ARRAY-STACK_EXAMPLE_main
-arity: 0
-"color: blue}
-}
-
-graph: { title: "n50"  label: "Block 50" status:clustered color:yellow
-edge: {sourcename: "n50" targetname: "n51" label: "0" class:13 priority:60 color:red}
-node: {title: "n49" label: "Return  49"  info1: "mode:    X
-visited: 13
-irg:     ARRAY-STACK_EXAMPLE_main
-arity: 2
-return in method of type main_tp
-  res 0 type: int
-"}
-edge: {sourcename: "n49" targetname: "n61" label: "0" class:14 priority:50 color:blue}
-edge: {sourcename: "n49" targetname: "n54" label: "1" class:1  priority:50}
-node: {title: "n61" label: "ProjM 0 61"  info1: "mode:    M
-visited: 13
-irg:     ARRAY-STACK_EXAMPLE_main
-arity: 1
-"color: yellow}
-edge: {sourcename: "n61" targetname: "n55" label: "0" class:17 priority:10 color:blue}
-node: {title: "n54" label: "ProjIs 2 54"  info1: "mode:    Is
-visited: 13
-irg:     ARRAY-STACK_EXAMPLE_main
-arity: 1
-"color: yellow}
-edge: {sourcename: "n54" targetname: "n55" label: "0" class:1  priority:50}
-node: {title: "n55" label: "Load  55"  info1: "mode:    T
-visited: 13
-irg:     ARRAY-STACK_EXAMPLE_main
-arity: 2
-"}
-edge: {sourcename: "n55" targetname: "n60" label: "0" class:17 priority:10 color:blue}
-edge: {sourcename: "n55" targetname: "n56" label: "1" class:1  priority:50}
-node: {title: "n56" label: "Sel a_tp_elem_ent 56"  info1: "mode:    P
-visited: 13
-irg:     ARRAY-STACK_EXAMPLE_main
-arity: 3
-Selecting entity of type int
-  from entity of type a_tp
-"}
-edge: {sourcename: "n56" targetname: "n60" label: "0" class:17 priority:10 color:blue}
-edge: {sourcename: "n56" targetname: "n58" label: "1" class:1  priority:50}
-edge: {sourcename: "n56" targetname: "n57" label: "2" class:16 priority:10}
-node: {title: "n58" label: "Sel a 58"  info1: "mode:    P
-visited: 13
-irg:     ARRAY-STACK_EXAMPLE_main
-arity: 2
-Selecting entity of type a_tp
-  from entity of type mainframe_tp
-"}
-edge: {sourcename: "n58" targetname: "n60" label: "0" class:17 priority:10 color:blue}
-edge: {sourcename: "n58" targetname: "n59" label: "1" class:16 priority:10}
-}
-
-graph: { title: "n52"  label: "Block 52" status:clustered color:yellow
-edge: {sourcename: "n52" targetname: "n51" label: "0" class:13 priority:60 color:red}
-node: {title: "n60" label: "ProjM 1 60"  info1: "mode:    M
-visited: 13
-irg:     ARRAY-STACK_EXAMPLE_main
-arity: 1
-"color: yellow}
-edge: {sourcename: "n60" targetname: "n53" label: "0" class:17 priority:10 color:blue}
-node: {title: "n59" label: "ProjP 2 59"  info1: "mode:    P
-visited: 13
-irg:     ARRAY-STACK_EXAMPLE_main
-arity: 1
-"color: yellow}
-edge: {sourcename: "n59" targetname: "n53" label: "0" class:1  priority:50}
-node: {title: "n57" label: "0x3Iu  57"  info1: "mode:    Iu
-visited: 13
-irg:     ARRAY-STACK_EXAMPLE_main
-arity: 0
-Const of type type_unknown
-"color: yellow}
-node: {title: "n51" label: "ProjX 0 51"  info1: "mode:    X
-visited: 13
-irg:     ARRAY-STACK_EXAMPLE_main
-arity: 1
-"color: yellow}
-edge: {sourcename: "n51" targetname: "n53" label: "0" class:13 priority:60 color:red}
-node: {title: "n53" label: "Start  53"  info1: "mode:    T
-visited: 13
-irg:     ARRAY-STACK_EXAMPLE_main
-arity: 0
-start of method of type main_tp
-"color: blue}
-}
-
-}
-
-node: {title: "e19" label: "ent a_tp_elem_ent" color: yellow
- info1: "entity a_tp_elem_ent (19)
-  type:  int (11)
-  owner: a_tp (16)
+graph: { title: "g36" label: "ARRAY-STACK_EXAMPLE_main" status:clustered color:white
+info1: "entity main (18)
+  type:  main_tp (16)
+  owner: ARRAY-STACK_EXAMPLE (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 &main
+  volatility:  volatility_non_volatile
+  peculiarity: peculiarity_existent
+  ld_name: ARRAY-STACK_EXAMPLE_main
+  offset:  -1 bits, -1 bytes
+  irg = 36
+
+"
+graph: { title: "n25"  label: "Block 25" status:clustered color:yellow
+ info1: "Block 25
+  mode:    BB
+  visited: 13
+  irg:     ARRAY-STACK_EXAMPLE_main
+  arity:   1
+  pred nodes:
+     0:    Return 47
+  Private Attributes:
+  backedges:
+  block visited: 0
+  Execution freqency statistics:
+"
+edge: {sourcename: "n25" targetname: "n47" label: "0" class:13 priority:60 color:red}
+node: {title: "n49" label: "End 49"  info1: "End 49
+  mode:    X
+  visited: 13
+  irg:     ARRAY-STACK_EXAMPLE_main
+  arity:   0
+  pred nodes:
+    -1:    Block 25
+  Private Attributes:
+"
+color:blue}
+}
+
+graph: { title: "n37"  label: "Block 37" status:clustered color:yellow
+ info1: "Block 37
+  mode:    BB
+  visited: 13
+  irg:     ARRAY-STACK_EXAMPLE_main
+  arity:   1
+  pred nodes:
+     0:    Proj 31
+  Private Attributes:
+  backedges:
+  block visited: 0
+  Execution freqency statistics:
+"
+edge: {sourcename: "n37" targetname: "n31" label: "0" class:13 priority:60 color:red}
+node: {title: "n47" label: "Return 47"  info1: "Return 47
+  mode:    X
+  visited: 13
+  irg:     ARRAY-STACK_EXAMPLE_main
+  arity:   2
+  pred nodes:
+    -1:    Block 37
+     0:    Proj 45
+     1:    Proj 46
+  Private Attributes:
+  return in method of type main_tp
+    res 0 type: int
+"
+}
+edge: {sourcename: "n47" targetname: "n45" label: "0" class:14 priority:50 color:blue}
+edge: {sourcename: "n47" targetname: "n46" label: "1" class:1  priority:50}
+node: {title: "n45" label: "ProjM M 45"  info1: "Proj 45
+  mode:    M
+  visited: 13
+  irg:     ARRAY-STACK_EXAMPLE_main
+  arity:   1
+  pred nodes:
+    -1:    Block 37
+     0:    Load[Is] 43
+  Private Attributes:
+  proj nr: 0
+"
+color:yellow}
+edge: {sourcename: "n45" targetname: "n43" label: "0" class:17 priority:10 color:blue}
+node: {title: "n46" label: "ProjIs res 46"  info1: "Proj 46
+  mode:    Is
+  visited: 13
+  irg:     ARRAY-STACK_EXAMPLE_main
+  arity:   1
+  pred nodes:
+    -1:    Block 37
+     0:    Load[Is] 43
+  Private Attributes:
+  proj nr: 2
+"
+color:yellow}
+edge: {sourcename: "n46" targetname: "n43" label: "0" class:1  priority:50}
+node: {title: "n43" label: "Load[Is] 43"  info1: "Load[Is] 43
+  mode:    T
+  visited: 13
+  irg:     ARRAY-STACK_EXAMPLE_main
+  arity:   2
+  pred nodes:
+    -1:    Block 37
+     0:    Proj 34
+     1:    Sel 42
+  Private Attributes:
+  pinned state: op_pin_state_pinned
+  mode of loaded value: Is
+  volatility: volatility_non_volatile
+"
+}
+edge: {sourcename: "n43" targetname: "n34" label: "0" class:17 priority:10 color:blue}
+edge: {sourcename: "n43" targetname: "n42" label: "1" class:1  priority:50}
+node: {title: "n42" label: "Sel a_tp_elem_ent 42"  info1: "Sel 42
+  mode:    P
+  visited: 13
+  irg:     ARRAY-STACK_EXAMPLE_main
+  arity:   3
+  pred nodes:
+    -1:    Block 37
+     0:    Proj 34
+     1:    Sel 40
+     2:    0x3 41
+  Private Attributes:
+  Selecting entity a_tp_elem_ent (21)
+    of type    int
+    with owner a_tp.
+"
+}
+edge: {sourcename: "n42" targetname: "n34" label: "0" class:17 priority:10 color:blue}
+edge: {sourcename: "n42" targetname: "n40" label: "1" class:1  priority:50}
+edge: {sourcename: "n42" targetname: "n41" label: "2" class:16 priority:10}
+node: {title: "n40" label: "Sel a 40"  info1: "Sel 40
+  mode:    P
+  visited: 13
+  irg:     ARRAY-STACK_EXAMPLE_main
+  arity:   2
+  pred nodes:
+    -1:    Block 37
+     0:    Proj 34
+     1:    Proj 32
+  Private Attributes:
+  Selecting entity a (38)
+    of type    a_tp
+    with owner mainframe_tp.
+"
+}
+edge: {sourcename: "n40" targetname: "n34" label: "0" class:17 priority:10 color:blue}
+edge: {sourcename: "n40" targetname: "n32" label: "1" class:16 priority:10}
+}
+
+graph: { title: "n27"  label: "Block 27" status:clustered color:yellow
+ info1: "Block 27
+  mode:    BB
+  visited: 13
+  irg:     ARRAY-STACK_EXAMPLE_main
+  arity:   1
+  pred nodes:
+     0:    Proj 31
+  Private Attributes:
+  backedges:
+  block visited: 0
+  Execution freqency statistics:
+"
+edge: {sourcename: "n27" targetname: "n31" label: "0" class:13 priority:60 color:red}
+node: {title: "n34" label: "ProjM 1 34"  info1: "Proj 34
+  mode:    M
+  visited: 13
+  irg:     ARRAY-STACK_EXAMPLE_main
+  arity:   1
+  pred nodes:
+    -1:    Block 27
+     0:    Start 28
+  Private Attributes:
+  proj nr: 1
+"
+color:yellow}
+edge: {sourcename: "n34" targetname: "n28" label: "0" class:17 priority:10 color:blue}
+node: {title: "n32" label: "ProjP P_frame_base 32"  info1: "Proj 32
+  mode:    P
+  visited: 13
+  irg:     ARRAY-STACK_EXAMPLE_main
+  arity:   1
+  pred nodes:
+    -1:    Block 27
+     0:    Start 28
+  Private Attributes:
+  proj nr: 2
+"
+color:yellow}
+edge: {sourcename: "n32" targetname: "n28" label: "0" class:1  priority:50}
+node: {title: "n41" label: "0x3Iu 41"  info1: "0x3 41
+  mode:    Iu
+  visited: 13
+  irg:     ARRAY-STACK_EXAMPLE_main
+  arity:   0
+  pred nodes:
+    -1:    Block 27
+  Private Attributes:
+  Const of type type_unknown
+"
+color:yellow}
+node: {title: "n31" label: "ProjX X_initial_exec 31"  info1: "Proj 31
+  mode:    X
+  visited: 13
+  irg:     ARRAY-STACK_EXAMPLE_main
+  arity:   1
+  pred nodes:
+    -1:    Block 27
+     0:    Start 28
+  Private Attributes:
+  proj nr: 0
+"
+color:yellow}
+edge: {sourcename: "n31" targetname: "n28" label: "0" class:13 priority:60 color:red}
+node: {title: "n28" label: "Start 28"  info1: "Start 28
+  mode:    T
+  visited: 13
+  irg:     ARRAY-STACK_EXAMPLE_main
+  arity:   0
+  pred nodes:
+    -1:    Block 27
+  Private Attributes:
+  start of method of type main_tp
+"
+color:blue}
+}
+
+}
+
+node: {title: "e21" label: "ent a_tp_elem_ent" color: yellow
+ info1: "entity a_tp_elem_ent (21)
+  type:  int (14)
+  owner: a_tp (19)
   allocation:  allocation_automatic
   visibility:  visibility_local
   variability: variability_uninitialized
   volatility:  volatility_non_volatile
   peculiarity: peculiarity_existent
   ld_name: no yet set
-  offset:  -1
-
-"
-}
-edge: { sourcename: "e19" targetname: "t11"class: 3 label: "type" color: red}
-node: {title: "t16" label: "array a_tp" info1: "state: layout_undefined
-size: -1b,
-"}
-edge: { sourcename: "t16" targetname: "t11"class: 10 label: "arr elt tp" color:green}
-edge: { sourcename: "t16" targetname: "e19"class: 10 label: "arr ent" color: green}
-edge: { sourcename: "n20" targetname: "t16"label: "upper 0"}
-edge: { sourcename: "n21" targetname: "t16"label: "lower 0"}
-node: {title: "n20" label: "0x9Iu  20"  info1: "mode:    Iu
-visited: 2
-arity: 0
-Const of type type_unknown
-"color: yellow}
-node: {title: "n21" label: "0x0Iu  21"  info1: "mode:    Iu
-visited: 2
-arity: 0
-Const of type type_unknown
-"color: yellow}
-node: {title: "t11" label: "primitive int" info1: "state: layout_fixed,
-mode: Is,
-size: 32b,
-"}
-node: {title: "e35" label: "ent a" color: yellow
- info1: "entity a (35)
-  type:  a_tp (16)
-  owner: mainframe_tp (22)
+  offset:  -1 bits, -1 bytes
+
+"
+}
+edge: { sourcename: "e21" targetname: "t14"class: 3 label: "type" color: red}
+node: {title: "t19" label: "array a_tp" info1: "array type a_tp (19)
+  array [0 .. 0] of <int (14)>
+  order: <0>
+    entity a_tp_elem_ent (21)
+      type:  int (14)
+      owner: a_tp (19)
+      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
+  visibility: visibility_external_allocated,
+  state:      layout_undefined,
+  size:       -1 Bits,
+  alignment:  32 Bits,
+
+
+"
+}
+edge: { sourcename: "t19" targetname: "t14"class: 10 label: "arr elt tp" color:green}
+edge: { sourcename: "t19" targetname: "e21"class: 10 label: "arr ent" color: green}
+edge: { sourcename: "n22" targetname: "t19"label: "upper 0"}
+edge: { sourcename: "n23" targetname: "t19"label: "lower 0"}
+node: {title: "n22" label: "0x9Iu 22"  info1: "0x9 22
+  mode:    Iu
+  visited: 2
+  arity:   0
+  pred nodes:
+    -1:    Block 3
+  Private Attributes:
+  Const of type type_unknown
+"
+color:yellow}
+node: {title: "n23" label: "0x0Iu 23"  info1: "0x0 23
+  mode:    Iu
+  visited: 2
+  arity:   0
+  pred nodes:
+    -1:    Block 3
+  Private Attributes:
+  Const of type type_unknown
+"
+color:yellow}
+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: "e38" label: "ent a" color: yellow
+ info1: "entity a (38)
+  type:  a_tp (19)
+  owner: mainframe_tp (24)
   Does not overwrite other entities.
-  Is not overwriten by 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
+  offset:  -1 bits, -1 bytes
 
 "
 }
-edge: { sourcename: "e35" targetname: "t16"class: 3 label: "type" color: red}
-node: {title: "t22" label: "class mainframe_tp" info1: "state: layout_undefined
-size: -1b,
-peculiarity: peculiarity_existent
-" color: green}
-edge: { sourcename: "t22" targetname: "e35"class: 12 label: "member" color:blue}
-node: {title: "e15" label: "ent ARRAY-STACK_EXAMPLE_main" color: yellow
- info1: "entity main (15)
-  type:  main_tp (13)
-  owner: ARRAY-STACK_EXAMPLE (12)
+edge: { sourcename: "e38" targetname: "t19"class: 3 label: "type" color: red}
+node: {title: "t24" label: "class mainframe_tp" info1: "class type mainframe_tp (24)
+  members:
+    entity a (38)
+      type:  a_tp (19)
+      owner: mainframe_tp (24)
+      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
+  supertypes:
+  subtypes:
+  peculiarity: peculiarity_existent
+  visibility: visibility_external_allocated,
+  state:      layout_undefined,
+  size:       -1 Bits,
+  alignment:  32 Bits,
+
+
+"
+ color: green}
+edge: { sourcename: "t24" targetname: "e38"class: 12 label: "member" color:blue}
+node: {title: "e18" label: "ent ARRAY-STACK_EXAMPLE_main" color: yellow
+ info1: "entity main (18)
+  type:  main_tp (16)
+  owner: ARRAY-STACK_EXAMPLE (15)
   Does not overwrite other entities.
-  Is not overwriten by other entities.
+  Is not overwritten by other entities.
   allocation:  allocation_static
   visibility:  visibility_local
   variability: variability_constant
+  calling convention: cdecl
   atomic value: SymC &main
   volatility:  volatility_non_volatile
   peculiarity: peculiarity_existent
   ld_name: ARRAY-STACK_EXAMPLE_main
-  offset:  -1
-  irg = 33
-
-"
-}
-edge: { sourcename: "e15" targetname: "t13"class: 3 label: "type" color: red}
-edge: { sourcename: "e15" targetname: "n14"label: "value 0"}
-node: {title: "n14" label: "SymC &main  14"  info1: "mode:    P
-visited: 2
-arity: 0
-kind addr_ent
-"}
-node: {title: "t12" label: "class ARRAY-STACK_EXAMPLE" info1: "state: layout_undefined
-size: -1b,
-peculiarity: peculiarity_existent
-" color: green}
-edge: { sourcename: "t12" targetname: "e15"class: 12 label: "member" color:blue}
-node: {title: "t13" label: "method main_tp" info1: "state: layout_fixed,
-mode: P,
-size: 32b,
-variadicity: variadicity_non_variadic
-params: 0
-results: 1
-"}
-edge: { sourcename: "t13" targetname: "t11"class: 6 label: "res 0" color: green}
-edge: { sourcename: "n56" targetname: "e19"class:2 priority:2 linestyle:dotted}
-edge: { sourcename: "n58" targetname: "e35"class:2 priority:2 linestyle:dotted}
+  offset:  -1 bits, -1 bytes
+  irg = 36
+
+"
+}
+edge: { sourcename: "e18" targetname: "t16"class: 3 label: "type" color: red}
+edge: { sourcename: "e18" targetname: "n17"label: "value 0"}
+node: {title: "n17" label: "SymC &main 17"  info1: "SymC &main 17
+  mode:    P
+  visited: 2
+  arity:   0
+  pred nodes:
+    -1:    Block 3
+  Private Attributes:
+  kind:   addr_ent
+  entity: entity ARRAY-STACK_EXAMPLE.main (18)
+
+  type of value: type_unknown
+"
+}
+node: {title: "t15" label: "class ARRAY-STACK_EXAMPLE" info1: "class type ARRAY-STACK_EXAMPLE (15)
+  members:
+    entity main (18)
+      type:  main_tp (16)
+      owner: ARRAY-STACK_EXAMPLE (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 &main
+      volatility:  volatility_non_volatile
+      peculiarity: peculiarity_existent
+      ld_name: ARRAY-STACK_EXAMPLE_main
+      offset:  -1 bits, -1 bytes
+      irg = 36
+  supertypes:
+  subtypes:
+  peculiarity: peculiarity_existent
+  visibility: visibility_external_allocated,
+  state:      layout_undefined,
+  size:       -1 Bits,
+  alignment:  32 Bits,
+
+
+"
+ color: green}
+edge: { sourcename: "t15" targetname: "e18"class: 12 label: "member" color:blue}
+node: {title: "t16" label: "method main_tp" info1: "method type main_tp (16)
+  variadicity: variadicity_non_variadic
+  return types: 1
+    int
+  parameter types: 0
+  visibility: visibility_external_allocated,
+  state:      layout_fixed,
+  size:       32 Bits,
+  alignment:  32 Bits,
+  mode:       P,
+
+
+"
+}
+edge: { sourcename: "t16" targetname: "t14"class: 6 label: "res 0" color: green}
+edge: { sourcename: "n42" targetname: "e21"class:2 priority:2 linestyle:dotted}
+edge: { sourcename: "n40" targetname: "e38"class:2 priority:2 linestyle:dotted}
 }