Fixed node collection: Must be done in post walker (like most things)
[libfirm] / testprograms / ref-results / OO_PROGRAM_EXAMPLE_main-pure-wtypes.vcg
index 44b1829..f43fbb5 100644 (file)
@@ -24,6 +24,7 @@ classname 11: "Overwrites"
 classname 12: "Member"
 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
@@ -52,7 +53,7 @@ colorentry 123:  255 220  220
 colorentry 124:  255 240  240
 colorentry 125:  255 250  250
 
-node: {title: "n30" label: "Block  30"  info1: "Block 30
+node: {title: "n30" label: "Block 30"  info1: "Block 30
   mode:    BB
   visited: 20
   irg:     OO_PROGRAM_EXAMPLE_main
@@ -62,11 +63,11 @@ node: {title: "n30" label: "Block  30"  info1: "Block 30
   Private Attributes:
   backedges:
   block visited: 0
-  dominator info: output not implemented
+  Execution freqency statistics:
 "
 color: lightyellow}
 edge: {sourcename: "n30" targetname: "n34" label: "0" class:13 priority:60 color:red}
-node: {title: "n31" label: "Start  31"  info1: "Start 31
+node: {title: "n31" label: "Start 31"  info1: "Start 31
   mode:    T
   visited: 20
   irg:     OO_PROGRAM_EXAMPLE_main
@@ -78,7 +79,7 @@ node: {title: "n31" label: "Start  31"  info1: "Start 31
 "
 color: blue}
 edge: { sourcename: "n31" targetname: "n30" class:2  priority:50 linestyle:dotted}
-node: {title: "n34" label: "ProjX 0 34"  info1: "Proj 34
+node: {title: "n34" label: "ProjX X_initial_exec 34"  info1: "Proj 34
   mode:    X
   visited: 20
   irg:     OO_PROGRAM_EXAMPLE_main
@@ -87,11 +88,12 @@ node: {title: "n34" label: "ProjX 0 34"  info1: "Proj 34
     -1:    Block 30
      0:    Start 31
   Private Attributes:
+  proj nr: 0
 "
 color: yellow}
 edge: {sourcename: "n34" targetname: "n31" label: "0" class:13 priority:60 color:red}
 edge: { sourcename: "n34" targetname: "n30" class:2  priority:50 linestyle:dotted}
-node: {title: "n40" label: "Block  40"  info1: "Block 40
+node: {title: "n40" label: "Block 40"  info1: "Block 40
   mode:    BB
   visited: 20
   irg:     OO_PROGRAM_EXAMPLE_main
@@ -101,7 +103,7 @@ node: {title: "n40" label: "Block  40"  info1: "Block 40
   Private Attributes:
   backedges:
   block visited: 0
-  dominator info: output not implemented
+  Execution freqency statistics:
 "
 color: lightyellow}
 edge: {sourcename: "n40" targetname: "n34" label: "0" class:13 priority:60 color:red}
@@ -114,11 +116,12 @@ node: {title: "n37" label: "ProjM 1 37"  info1: "Proj 37
     -1:    Block 30
      0:    Start 31
   Private Attributes:
+  proj nr: 1
 "
 color: yellow}
 edge: {sourcename: "n37" targetname: "n31" label: "0" class:17 priority:10 color:blue}
 edge: { sourcename: "n37" targetname: "n30" class:2  priority:50 linestyle:dotted}
-node: {title: "n45" label: "Alloc  45"  info1: "Alloc 45
+node: {title: "n45" label: "Alloc 45"  info1: "Alloc 45
   mode:    T
   visited: 20
   irg:     OO_PROGRAM_EXAMPLE_main
@@ -133,7 +136,7 @@ node: {title: "n45" label: "Alloc  45"  info1: "Alloc 45
   allocating on: the heap
 "
 }
-node: {title: "n45n43" label: "SymC PRIMA size  43"  info1: "SymC PRIMA size 43
+node: {title: "n45n43" label: "SymC PRIMA size 43"  info1: "SymC PRIMA size 43
   mode:    Iu
   visited: 20
   irg:     OO_PROGRAM_EXAMPLE_main
@@ -149,7 +152,7 @@ node: {title: "n45n43" label: "SymC PRIMA size  43"  info1: "SymC PRIMA size 43
 edge: {sourcename: "n45" targetname: "n37" label: "0" class:17 priority:10 color:blue}
 edge: {sourcename: "n45" targetname: "n45n43" label: "1" class:16 priority:10}
 edge: { sourcename: "n45" targetname: "n40" class:2  priority:50 linestyle:dotted}
-node: {title: "n48" label: "ProjP 2 48"  info1: "Proj 48
+node: {title: "n48" label: "ProjP res 48"  info1: "Proj 48
   mode:    P
   visited: 20
   irg:     OO_PROGRAM_EXAMPLE_main
@@ -158,11 +161,12 @@ node: {title: "n48" label: "ProjP 2 48"  info1: "Proj 48
     -1:    Block 40
      0:    Alloc 45
   Private Attributes:
+  proj nr: 2
 "
 color: yellow}
 edge: {sourcename: "n48" targetname: "n45" label: "0" class:1  priority:50}
 edge: { sourcename: "n48" targetname: "n40" class:2  priority:50 linestyle:dotted}
-node: {title: "n47" label: "ProjM 0 47"  info1: "Proj 47
+node: {title: "n47" label: "ProjM M 47"  info1: "Proj 47
   mode:    M
   visited: 20
   irg:     OO_PROGRAM_EXAMPLE_main
@@ -171,6 +175,7 @@ node: {title: "n47" label: "ProjM 0 47"  info1: "Proj 47
     -1:    Block 40
      0:    Alloc 45
   Private Attributes:
+  proj nr: 0
 "
 color: yellow}
 edge: {sourcename: "n47" targetname: "n45" label: "0" class:17 priority:10 color:blue}
@@ -185,14 +190,15 @@ node: {title: "n49" label: "Sel PRIMA_set_a 49"  info1: "Sel 49
      0:    Proj 47
      1:    Proj 48
   Private Attributes:
-  Selecting entity of type set_a
-    from entity of type PRIMA
+  Selecting entity set_a (20)
+    of type    set_a
+    with owner PRIMA.
 "
 }
 edge: {sourcename: "n49" targetname: "n47" label: "0" class:14 priority:50 color:blue}
 edge: {sourcename: "n49" targetname: "n48" label: "1" class:1  priority:50}
 edge: { sourcename: "n49" targetname: "n40" class:2  priority:50 linestyle:dotted}
-node: {title: "n50" label: "Call  50"  info1: "Call 50
+node: {title: "n50" label: "Call 50"  info1: "Call 50
   mode:    T
   visited: 20
   irg:     OO_PROGRAM_EXAMPLE_main
@@ -210,7 +216,7 @@ node: {title: "n50" label: "Call  50"  info1: "Call 50
     param 1 type: int
 "
 }
-node: {title: "n50n41" label: "0x2Is  41"  info1: "0x2 41
+node: {title: "n50n41" label: "0x2Is 41"  info1: "0x2 41
   mode:    Is
   visited: 20
   irg:     OO_PROGRAM_EXAMPLE_main
@@ -226,7 +232,7 @@ edge: {sourcename: "n50" targetname: "n49" label: "1" class:1  priority:50}
 edge: {sourcename: "n50" targetname: "n48" label: "2" class:1  priority:50}
 edge: {sourcename: "n50" targetname: "n50n41" label: "3" class:16 priority:10}
 edge: { sourcename: "n50" targetname: "n40" class:2  priority:50 linestyle:dotted}
-node: {title: "n52" label: "ProjM 0 52"  info1: "Proj 52
+node: {title: "n52" label: "ProjM M_regular 52"  info1: "Proj 52
   mode:    M
   visited: 20
   irg:     OO_PROGRAM_EXAMPLE_main
@@ -235,6 +241,7 @@ node: {title: "n52" label: "ProjM 0 52"  info1: "Proj 52
     -1:    Block 40
      0:    Call 50
   Private Attributes:
+  proj nr: 0
 "
 color: yellow}
 edge: {sourcename: "n52" targetname: "n50" label: "0" class:17 priority:10 color:blue}
@@ -249,14 +256,15 @@ node: {title: "n53" label: "Sel PRIMA_c 53"  info1: "Sel 53
      0:    Proj 52
      1:    Proj 48
   Private Attributes:
-  Selecting entity of type c
-    from entity of type PRIMA
+  Selecting entity c (23)
+    of type    c
+    with owner PRIMA.
 "
 }
 edge: {sourcename: "n53" targetname: "n52" label: "0" class:14 priority:50 color:blue}
 edge: {sourcename: "n53" targetname: "n48" label: "1" class:1  priority:50}
 edge: { sourcename: "n53" targetname: "n40" class:2  priority:50 linestyle:dotted}
-node: {title: "n54" label: "Call  54"  info1: "Call 54
+node: {title: "n54" label: "Call 54"  info1: "Call 54
   mode:    T
   visited: 20
   irg:     OO_PROGRAM_EXAMPLE_main
@@ -275,7 +283,7 @@ node: {title: "n54" label: "Call  54"  info1: "Call 54
     resul 0 type: int
 "
 }
-node: {title: "n54n42" label: "0x5Is  42"  info1: "0x5 42
+node: {title: "n54n42" label: "0x5Is 42"  info1: "0x5 42
   mode:    Is
   visited: 20
   irg:     OO_PROGRAM_EXAMPLE_main
@@ -291,7 +299,7 @@ edge: {sourcename: "n54" targetname: "n53" label: "1" class:1  priority:50}
 edge: {sourcename: "n54" targetname: "n48" label: "2" class:1  priority:50}
 edge: {sourcename: "n54" targetname: "n54n42" label: "3" class:16 priority:10}
 edge: { sourcename: "n54" targetname: "n40" class:2  priority:50 linestyle:dotted}
-node: {title: "n57" label: "ProjT 2 57"  info1: "Proj 57
+node: {title: "n57" label: "ProjT T_result 57"  info1: "Proj 57
   mode:    T
   visited: 20
   irg:     OO_PROGRAM_EXAMPLE_main
@@ -300,6 +308,7 @@ node: {title: "n57" label: "ProjT 2 57"  info1: "Proj 57
     -1:    Block 40
      0:    Call 54
   Private Attributes:
+  proj nr: 2
 "
 color: yellow}
 edge: {sourcename: "n57" targetname: "n54" label: "0" class:1  priority:50}
@@ -313,11 +322,12 @@ node: {title: "n58" label: "ProjIs 0 58"  info1: "Proj 58
     -1:    Block 40
      0:    Proj 57
   Private Attributes:
+  proj nr: 0
 "
 color: yellow}
 edge: {sourcename: "n58" targetname: "n57" label: "0" class:1  priority:50}
 edge: { sourcename: "n58" targetname: "n40" class:2  priority:50 linestyle:dotted}
-node: {title: "n56" label: "ProjM 0 56"  info1: "Proj 56
+node: {title: "n56" label: "ProjM M_regular 56"  info1: "Proj 56
   mode:    M
   visited: 20
   irg:     OO_PROGRAM_EXAMPLE_main
@@ -326,11 +336,12 @@ node: {title: "n56" label: "ProjM 0 56"  info1: "Proj 56
     -1:    Block 40
      0:    Call 54
   Private Attributes:
+  proj nr: 0
 "
 color: yellow}
 edge: {sourcename: "n56" targetname: "n54" label: "0" class:17 priority:10 color:blue}
 edge: { sourcename: "n56" targetname: "n40" class:2  priority:50 linestyle:dotted}
-node: {title: "n59" label: "Return  59"  info1: "Return 59
+node: {title: "n59" label: "Return 59"  info1: "Return 59
   mode:    X
   visited: 20
   irg:     OO_PROGRAM_EXAMPLE_main
@@ -347,7 +358,7 @@ node: {title: "n59" label: "Return  59"  info1: "Return 59
 edge: {sourcename: "n59" targetname: "n56" label: "0" class:14 priority:50 color:blue}
 edge: {sourcename: "n59" targetname: "n58" label: "1" class:1  priority:50}
 edge: { sourcename: "n59" targetname: "n40" class:2  priority:50 linestyle:dotted}
-node: {title: "n28" label: "Block  28"  info1: "Block 28
+node: {title: "n28" label: "Block 28"  info1: "Block 28
   mode:    BB
   visited: 20
   irg:     OO_PROGRAM_EXAMPLE_main
@@ -357,11 +368,11 @@ node: {title: "n28" label: "Block  28"  info1: "Block 28
   Private Attributes:
   backedges:
   block visited: 0
-  dominator info: output not implemented
+  Execution freqency statistics:
 "
 color: lightyellow}
 edge: {sourcename: "n28" targetname: "n59" label: "0" class:13 priority:60 color:red}
-node: {title: "n109" label: "End  109"  info1: "End 109
+node: {title: "n109" label: "End 109"  info1: "End 109
   mode:    X
   visited: 20
   irg:     OO_PROGRAM_EXAMPLE_main
@@ -372,25 +383,90 @@ node: {title: "n109" label: "End  109"  info1: "End 109
 "
 color: blue}
 edge: { sourcename: "n109" targetname: "n28" class:2  priority:50 linestyle:dotted}
-node: {title: "t21" label: "method c" info1: "state: layout_fixed,
-mode: P,
-size: 32b,
-variadicity: variadicity_non_variadic
-params: 2
-results: 1
-"}
+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: "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 (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: "t15" label: "class PRIMA" info1: "state: layout_undefined
-size: -1b,
-peculiarity: peculiarity_existent
-" color: green}
+node: {title: "t15" label: "class PRIMA" info1: "class type PRIMA (15)
+  members:
+    entity a (17)
+      type:  int (14)
+      owner: PRIMA (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 (15)
+      Does not overwrite other entities.
+      Is not overwritten by other entities.
+      allocation:  allocation_static
+      visibility:  visibility_local
+      variability: variability_constant
+      atomic value: SymC &set_a
+      volatility:  volatility_non_volatile
+      peculiarity: peculiarity_existent
+      ld_name: PRIMA_set_a
+      offset:  -1 bits, -1 bytes
+      irg = 73
+    entity c (23)
+      type:  c (21)
+      owner: PRIMA (15)
+      Does not overwrite other entities.
+      Is not overwritten by other entities.
+      allocation:  allocation_static
+      visibility:  visibility_local
+      variability: variability_constant
+      atomic value: SymC &c
+      volatility:  volatility_non_volatile
+      peculiarity: peculiarity_existent
+      ld_name: PRIMA_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}
@@ -406,15 +482,21 @@ 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: "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: "e20" label: "ent PRIMA_set_a" color: yellow
  info1: "entity set_a (20)
   type:  set_a (18)
@@ -428,14 +510,14 @@ node: {title: "e20" label: "ent PRIMA_set_a" color: yellow
   volatility:  volatility_non_volatile
   peculiarity: peculiarity_existent
   ld_name: PRIMA_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: "SymC &set_a 19
+node: {title: "n19" label: "SymC &set_a 19"  info1: "SymC &set_a 19
   mode:    P
   visited: 1
   arity:   0
@@ -448,13 +530,21 @@ node: {title: "n19" label: "SymC &set_a  19"  info1: "SymC &set_a 19
   type of value: 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
-"}
+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: "e23" label: "ent PRIMA_c" color: yellow
@@ -470,14 +560,14 @@ node: {title: "e23" label: "ent PRIMA_c" color: yellow
   volatility:  volatility_non_volatile
   peculiarity: peculiarity_existent
   ld_name: PRIMA_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: "SymC &c 22
+node: {title: "n22" label: "SymC &c 22"  info1: "SymC &c 22
   mode:    P
   visited: 1
   arity:   0
@@ -503,14 +593,14 @@ node: {title: "e26" label: "ent OO_PROGRAM_EXAMPLE_main" color: yellow
   volatility:  volatility_non_volatile
   peculiarity: peculiarity_existent
   ld_name: no yet set
-  offset:  -1
+  offset:  -1 bits, -1 bytes
   irg = 39
 
 "
 }
 edge: { sourcename: "e26" targetname: "t24"class: 3 label: "type" color: red}
 edge: { sourcename: "e26" targetname: "n25"label: "value 0"}
-node: {title: "n25" label: "SymC &OO_PROGRAM_EXAMPLE_main  25"  info1: "SymC &OO_PROGRAM_EXAMPLE_main 25
+node: {title: "n25" label: "SymC &OO_PROGRAM_EXAMPLE_main 25"  info1: "SymC &OO_PROGRAM_EXAMPLE_main 25
   mode:    P
   visited: 1
   arity:   0
@@ -523,23 +613,62 @@ node: {title: "n25" label: "SymC &OO_PROGRAM_EXAMPLE_main  25"  info1: "SymC &OO
   type of value: type_unknown
 "
 }
-node: {title: "t0" label: "class GlobalType" info1: "state: layout_undefined
-size: -1b,
-peculiarity: peculiarity_existent
-" color: green}
+node: {title: "t0" label: "class GlobalType" info1: "class type GlobalType (0)
+  members:
+    entity OO_PROGRAM_EXAMPLE_main (26)
+      type:  OO_PROGRAM_EXAMPLE_main (24)
+      owner: GlobalType (0)
+      Does not overwrite other entities.
+      Is not overwritten by other entities.
+      allocation:  allocation_static
+      visibility:  visibility_local
+      variability: variability_constant
+      atomic value: SymC &OO_PROGRAM_EXAMPLE_main
+      volatility:  volatility_non_volatile
+      peculiarity: peculiarity_existent
+      ld_name: no yet set
+      offset:  -1 bits, -1 bytes
+      irg = 39
+  supertypes:
+  subtypes:
+  peculiarity: peculiarity_existent
+  visibility: visibility_external_allocated,
+  state:      layout_undefined,
+  size:       -1 Bits,
+  alignment:  32 Bits,
+
+
+"
+ color: green}
 edge: { sourcename: "t0" targetname: "e26"class: 12 label: "member" color:blue}
-node: {title: "t24" label: "method OO_PROGRAM_EXAMPLE_main" info1: "state: layout_fixed,
-mode: P,
-size: 32b,
-variadicity: variadicity_non_variadic
-params: 0
-results: 1
-"}
+node: {title: "t24" label: "method OO_PROGRAM_EXAMPLE_main" info1: "method type OO_PROGRAM_EXAMPLE_main (24)
+  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: "t24" targetname: "t14"class: 6 label: "res 0" color: green}
-node: {title: "t27" label: "class OO_PROGRAM_EXAMPLE_mainframe_tp" info1: "state: layout_undefined
-size: -1b,
-peculiarity: peculiarity_existent
-" color: green}
+node: {title: "t27" label: "class OO_PROGRAM_EXAMPLE_mainframe_tp" info1: "class type OO_PROGRAM_EXAMPLE_mainframe_tp (27)
+  members:
+  supertypes:
+  subtypes:
+  peculiarity: peculiarity_existent
+  visibility: visibility_external_allocated,
+  state:      layout_undefined,
+  size:       -1 Bits,
+  alignment:   0 Bits,
+
+
+"
+ color: green}
 edge: { sourcename: "n54" targetname: "t21"class:2 priority:2 linestyle:dotted}
 edge: { sourcename: "n45" targetname: "t15"class:2 priority:2 linestyle:dotted}
 edge: { sourcename: "n43" targetname: "t15"class:2 priority:2 linestyle:dotted}