Implemented the computation of outedges in interprocedural graphs
[libfirm] / testprograms / ref-results / PRIMA_c-pure-wtypes.vcg
index c069142..d6209de 100644 (file)
@@ -1,11 +1,14 @@
 graph: { title: "ir graph of PRIMA_c"
-display_edge_labels: yes
+display_edge_labels: no
 layoutalgorithm: mindepth
 manhattan_edges: yes
 port_sharing: no
 orientation: bottom_to_top
 classname 1: "Data"
 classname 2: "Block"
+classname 13:"Control Flow"
+classname 14:"Memory"
+classname 15:"Dominators"
 classname 3: "Entity type"
 classname 4: "Entity owner"
 classname 5: "Method Param"
@@ -16,80 +19,114 @@ classname 9: "Points-to"
 classname 10: "Array Element Type"
 classname 11: "Overwrites"
 classname 12: "Member"
+infoname 1: "Attribute"
+infoname 2: "Verification errors"
 
-node: {title: "n157" label: "Block  157" color: lightyellow info1: "visited: 10
-"}
-edge: {sourcename: "n157" targetname: "n156" label: "0" color: red}
-node: {title: "n158" label: "Start  158" color: blue info1: "visited: 10
+node: {title: "n151" label: "Block  151"  info1: "visited: 10
+irg:     PRIMA_c
+arity: 1 backedges:
+" info2: "((get_irn_irg(n) && get_irn_irg(n) == irg)) && Block node has wrong irg attribute"color: lightyellow}
+edge: {sourcename: "n151" targetname: "n150" label: "0" class:13 color:red}
+node: {title: "n152" label: "Start  152"  info1: "visited: 10
+irg:     PRIMA_c
+arity: 0
 start of method of type c
   param 0 type: class_prima_ptr
   param 1 type: int
-"}
-edge: { sourcename: "n158" targetname: "n157" class: 2 priority: 2 linestyle: dotted}
-node: {title: "n156" label: "ProjX 0 156" color: yellow info1: "visited: 10
-"}
-edge: {sourcename: "n156" targetname: "n158" label: "0" color: red}
-edge: { sourcename: "n156" targetname: "n157" class: 2 priority: 2 linestyle: dotted}
-node: {title: "n155" label: "Block  155" color: lightyellow info1: "visited: 10
-"}
-edge: {sourcename: "n155" targetname: "n156" label: "0" color: red}
-node: {title: "n164" label: "ProjT 4 164" color: yellow info1: "visited: 10
-"}
-edge: {sourcename: "n164" targetname: "n158" label: "0" }
-edge: { sourcename: "n164" targetname: "n157" class: 2 priority: 2 linestyle: dotted}
-node: {title: "n163" label: "ProjP 0 163" color: yellow info1: "visited: 10
-"}
-edge: {sourcename: "n163" targetname: "n164" label: "0" }
-edge: { sourcename: "n163" targetname: "n155" class: 2 priority: 2 linestyle: dotted}
-node: {title: "n165" label: "ProjM 1 165" color: yellow info1: "visited: 10
-"}
-edge: {sourcename: "n165" targetname: "n158" label: "0" color: blue}
-edge: { sourcename: "n165" targetname: "n157" class: 2 priority: 2 linestyle: dotted}
-node: {title: "n162" label: "Sel a 162"  info1: "visited: 10
+" info2: "mymode == mode_T && Start node"color: blue}
+edge: { sourcename: "n152" targetname: "n151" class:2 priority:2 linestyle:dotted}
+node: {title: "n150" label: "ProjX 0 150"  info1: "visited: 10
+irg:     PRIMA_c
+arity: 1
+"color: yellow}
+edge: {sourcename: "n150" targetname: "n152" label: "0" class:13 color:red}
+edge: { sourcename: "n150" targetname: "n151" class:2 priority:2 linestyle:dotted}
+node: {title: "n149" label: "Block  149"  info1: "visited: 10
+irg:     PRIMA_c
+arity: 1 backedges:
+" info2: "((get_irn_irg(n) && get_irn_irg(n) == irg)) && Block node has wrong irg attribute"color: lightyellow}
+edge: {sourcename: "n149" targetname: "n150" label: "0" class:13 color:red}
+node: {title: "n158" label: "ProjT 4 158"  info1: "visited: 10
+irg:     PRIMA_c
+arity: 1
+"color: yellow}
+edge: {sourcename: "n158" targetname: "n152" label: "0" }
+edge: { sourcename: "n158" targetname: "n151" class:2 priority:2 linestyle:dotted}
+node: {title: "n157" label: "ProjP 0 157"  info1: "visited: 10
+irg:     PRIMA_c
+arity: 1
+" info2: "(mode == get_type_mode(get_method_param_type(mt, proj))) && Mode of Proj from Start doesn't match mode of param type."color: yellow}
+edge: {sourcename: "n157" targetname: "n158" label: "0" }
+edge: { sourcename: "n157" targetname: "n149" class:2 priority:2 linestyle:dotted}
+node: {title: "n159" label: "ProjM 1 159"  info1: "visited: 10
+irg:     PRIMA_c
+arity: 1
+"color: yellow}
+edge: {sourcename: "n159" targetname: "n152" label: "0" class:14 color:blue}
+edge: { sourcename: "n159" targetname: "n151" class:2 priority:2 linestyle:dotted}
+node: {title: "n156" label: "Sel a 156"  info1: "visited: 10
+irg:     PRIMA_c
+arity: 2
 Selecting entity of type int
   from entity of type PRIMA
 "}
-edge: {sourcename: "n162" targetname: "n165" label: "0" color: blue}
-edge: {sourcename: "n162" targetname: "n163" label: "1" }
-edge: { sourcename: "n162" targetname: "n155" class: 2 priority: 2 linestyle: dotted}
-node: {title: "n161" label: "Load  161"  info1: "visited: 10
-"}
-edge: {sourcename: "n161" targetname: "n165" label: "0" color: blue}
-edge: {sourcename: "n161" targetname: "n162" label: "1" }
-edge: { sourcename: "n161" targetname: "n155" class: 2 priority: 2 linestyle: dotted}
-node: {title: "n160" label: "ProjIs 2 160" color: yellow info1: "visited: 10
-"}
-edge: {sourcename: "n160" targetname: "n161" label: "0" }
-edge: { sourcename: "n160" targetname: "n155" class: 2 priority: 2 linestyle: dotted}
-node: {title: "n166" label: "ProjIs 1 166" color: yellow info1: "visited: 10
-"}
-edge: {sourcename: "n166" targetname: "n164" label: "0" }
-edge: { sourcename: "n166" targetname: "n155" class: 2 priority: 2 linestyle: dotted}
-node: {title: "n159" label: "AddIs  159"  info1: "visited: 10
-"}
-edge: {sourcename: "n159" targetname: "n166" label: "0" }
-edge: {sourcename: "n159" targetname: "n160" label: "1" }
-edge: { sourcename: "n159" targetname: "n155" class: 2 priority: 2 linestyle: dotted}
-node: {title: "n167" label: "ProjM 0 167" color: yellow info1: "visited: 10
-"}
-edge: {sourcename: "n167" targetname: "n161" label: "0" color: blue}
-edge: { sourcename: "n167" targetname: "n155" class: 2 priority: 2 linestyle: dotted}
-node: {title: "n154" label: "Return  154"  info1: "visited: 10
+edge: {sourcename: "n156" targetname: "n159" label: "0" class:14 color:blue}
+edge: {sourcename: "n156" targetname: "n157" label: "1" }
+edge: { sourcename: "n156" targetname: "n149" class:2 priority:2 linestyle:dotted}
+node: {title: "n155" label: "Load  155"  info1: "visited: 10
+irg:     PRIMA_c
+arity: 2
+" info2: "mymode == mode_T && Load node"}
+edge: {sourcename: "n155" targetname: "n159" label: "0" class:14 color:blue}
+edge: {sourcename: "n155" targetname: "n156" label: "1" }
+edge: { sourcename: "n155" targetname: "n149" class:2 priority:2 linestyle:dotted}
+node: {title: "n154" label: "ProjIs 2 154"  info1: "visited: 10
+irg:     PRIMA_c
+arity: 1
+"color: yellow}
+edge: {sourcename: "n154" targetname: "n155" label: "0" }
+edge: { sourcename: "n154" targetname: "n149" class:2 priority:2 linestyle:dotted}
+node: {title: "n160" label: "ProjIs 1 160"  info1: "visited: 10
+irg:     PRIMA_c
+arity: 1
+" info2: "(mode == get_type_mode(get_method_param_type(mt, proj))) && Mode of Proj from Start doesn't match mode of param type."color: yellow}
+edge: {sourcename: "n160" targetname: "n158" label: "0" }
+edge: { sourcename: "n160" targetname: "n149" class:2 priority:2 linestyle:dotted}
+node: {title: "n153" label: "AddIs  153"  info1: "visited: 10
+irg:     PRIMA_c
+arity: 2
+"}
+edge: {sourcename: "n153" targetname: "n160" label: "0" }
+edge: {sourcename: "n153" targetname: "n154" label: "1" }
+edge: { sourcename: "n153" targetname: "n149" class:2 priority:2 linestyle:dotted}
+node: {title: "n161" label: "ProjM 0 161"  info1: "visited: 10
+irg:     PRIMA_c
+arity: 1
+"color: yellow}
+edge: {sourcename: "n161" targetname: "n155" label: "0" class:14 color:blue}
+edge: { sourcename: "n161" targetname: "n149" class:2 priority:2 linestyle:dotted}
+node: {title: "n148" label: "Return  148"  info1: "visited: 10
+irg:     PRIMA_c
+arity: 2
 return in method of type c
   res 0 type: int
-"}
-edge: {sourcename: "n154" targetname: "n167" label: "0" color: blue}
-edge: {sourcename: "n154" targetname: "n159" label: "1" }
-edge: { sourcename: "n154" targetname: "n155" class: 2 priority: 2 linestyle: dotted}
-node: {title: "n153" label: "Block  153" color: lightyellow info1: "visited: 10
-"}
-edge: {sourcename: "n153" targetname: "n154" label: "0" color: red}
-node: {title: "n152" label: "End  152" color: blue info1: "visited: 10
-"}
-edge: { sourcename: "n152" targetname: "n153" class: 2 priority: 2 linestyle: dotted}
-node: {title: "e15" label: "ent a" color: yellow
+" info2: "mymode == mode_X && Result X"}
+edge: {sourcename: "n148" targetname: "n161" label: "0" class:14 color:blue}
+edge: {sourcename: "n148" targetname: "n153" label: "1" }
+edge: { sourcename: "n148" targetname: "n149" class:2 priority:2 linestyle:dotted}
+node: {title: "n147" label: "Block  147"  info1: "visited: 10
+irg:     PRIMA_c
+arity: 1 backedges:
+" info2: "((get_irn_irg(n) && get_irn_irg(n) == irg)) && Block node has wrong irg attribute"color: lightyellow}
+edge: {sourcename: "n147" targetname: "n148" label: "0" class:13 color:red}
+node: {title: "n146" label: "End  146"  info1: "visited: 10
+irg:     PRIMA_c
+arity: 0
+"color: blue}
+edge: { sourcename: "n146" targetname: "n147" class:2 priority:2 linestyle:dotted}
+node: {title: "e14" label: "ent a" color: yellow
  info1: "
-id: e15
+id: e14
 allocation:  allocation_automatic
 visibility:  visibility_local
 variability: variability_uninitialized
@@ -99,73 +136,83 @@ name:    a
 ld_name: no yet set
 offset:  -1"
 }
-edge: { sourcename: "e15" targetname: "t12"class: 3 label: "type" color: red}
-node: {title: "t13" label: "class PRIMA" info1: "state: layout_undefined
+edge: { sourcename: "e14" targetname: "t11"class: 3 label: "type" color: red}
+node: {title: "t12" label: "class PRIMA" info1: "state: layout_undefined
 size: -1B,
+peculiarity: peculiarity_existent
 " color: green}
-edge: { sourcename: "t13" targetname: "e15"class: 12 label: "member" color:blue}
-edge: { sourcename: "t13" targetname: "e18"class: 12 label: "member" color:blue}
-edge: { sourcename: "t13" targetname: "e21"class: 12 label: "member" color:blue}
-node: {title: "e18" label: "ent set_a" color: yellow
+edge: { sourcename: "t12" targetname: "e14"class: 12 label: "member" color:blue}
+edge: { sourcename: "t12" targetname: "e17"class: 12 label: "member" color:blue}
+edge: { sourcename: "t12" targetname: "e20"class: 12 label: "member" color:blue}
+node: {title: "e17" label: "ent PRIMA_set_a" color: yellow
  info1: "
-id: e18
+id: e17
 allocation:  allocation_static
 visibility:  visibility_local
 variability: variability_constant
 volatility:  volatility_non_volatile
 peculiarity: peculiarity_existent
-name:    set_a
+name:    PRIMA_set_a
 ld_name: PRIMA_set_a
 offset:  -1
-irg = g71"
+irg = g68"
 }
-edge: { sourcename: "e18" targetname: "t16"class: 3 label: "type" color: red}
-edge: { sourcename: "e18" targetname: "n17"label: "value 0"}
-node: {title: "n17" label: "&(PRIMA_set_a)P  17" color: yellow info1: "visited: 3
+edge: { sourcename: "e17" targetname: "t15"class: 3 label: "type" color: red}
+edge: { sourcename: "e17" targetname: "n16"label: "value 0"}
+node: {title: "n16" label: "&(PRIMA_set_a)P  16"  info1: "visited: 3
+arity: 0
 Const of type type_unknown
-"}
-node: {title: "t16" label: "method set_a" info1: "state: layout_fixed,
+" info2: "(mode_is_data (mymode) || mymode == mode_b) && Const node"color: yellow}
+node: {title: "t15" label: "method set_a" info1: "state: layout_fixed,
 mode: P,
 size: 4B,
+variadicity: variadicity_non_variadic
+params: 2
+results: 0
 "}
-edge: { sourcename: "t16" targetname: "t14"class: 5 label: "param 0" color: green}
-edge: { sourcename: "t16" targetname: "t12"class: 5 label: "param 1" color: green}
-node: {title: "t14" label: "pointer class_prima_ptr" info1: "state: layout_fixed,
+edge: { sourcename: "t15" targetname: "t13"class: 5 label: "param 0" color: green}
+edge: { sourcename: "t15" targetname: "t11"class: 5 label: "param 1" color: green}
+node: {title: "t13" label: "pointer class_prima_ptr" info1: "state: layout_fixed,
 mode: P,
 size: 4B,
 "}
-edge: { sourcename: "t14" targetname: "t13"class: 9 label: "points to" color:green}
-node: {title: "t12" label: "primitive int" info1: "state: layout_fixed,
+edge: { sourcename: "t13" targetname: "t12"class: 9 label: "points to" color:green}
+node: {title: "t11" label: "primitive int" info1: "state: layout_fixed,
 mode: Is,
 size: 4B,
 "}
-node: {title: "e21" label: "ent c" color: yellow
+node: {title: "e20" label: "ent PRIMA_c" color: yellow
  info1: "
-id: e21
+id: e20
 allocation:  allocation_static
 visibility:  visibility_local
 variability: variability_constant
 volatility:  volatility_non_volatile
 peculiarity: peculiarity_existent
-name:    c
+name:    PRIMA_c
 ld_name: PRIMA_c
 offset:  -1
-irg = g94"
+irg = g90"
 }
-edge: { sourcename: "e21" targetname: "t19"class: 3 label: "type" color: red}
-edge: { sourcename: "e21" targetname: "n20"label: "value 0"}
-node: {title: "n20" label: "&(PRIMA_c)P  20" color: yellow info1: "visited: 3
+edge: { sourcename: "e20" targetname: "t18"class: 3 label: "type" color: red}
+edge: { sourcename: "e20" targetname: "n19"label: "value 0"}
+node: {title: "n19" label: "&(PRIMA_c)P  19"  info1: "visited: 3
+arity: 0
 Const of type type_unknown
-"}
-node: {title: "t19" label: "method c" info1: "state: layout_fixed,
+" info2: "(mode_is_data (mymode) || mymode == mode_b) && Const node"color: yellow}
+node: {title: "t18" label: "method c" info1: "state: layout_fixed,
 mode: P,
 size: 4B,
-"}
-edge: { sourcename: "t19" targetname: "t14"class: 5 label: "param 0" color: green}
-edge: { sourcename: "t19" targetname: "t12"class: 5 label: "param 1" color: green}
-edge: { sourcename: "t19" targetname: "t12"class: 6 label: "res 0" color: green}
-node: {title: "t82" label: "class cframe_tp" info1: "state: layout_undefined
+variadicity: variadicity_non_variadic
+params: 2
+results: 1
+"}
+edge: { sourcename: "t18" targetname: "t13"class: 5 label: "param 0" color: green}
+edge: { sourcename: "t18" targetname: "t11"class: 5 label: "param 1" color: green}
+edge: { sourcename: "t18" targetname: "t11"class: 6 label: "res 0" color: green}
+node: {title: "t79" label: "class cframe_tp" info1: "state: layout_undefined
 size: -1B,
+peculiarity: peculiarity_existent
 " color: green}
-edge: { sourcename: "n162" targetname: "e15"class: 2 priority: 2 linestyle: dotted}
+edge: { sourcename: "n156" targetname: "e14"class:2 priority:2 linestyle:dotted}
 }