Reference results for test
authorGötz Lindenmaier <goetz@ipd.info.uni-karlsruhe.de>
Wed, 22 Jan 2003 13:04:43 +0000 (13:04 +0000)
committerGötz Lindenmaier <goetz@ipd.info.uni-karlsruhe.de>
Wed, 22 Jan 2003 13:04:43 +0000 (13:04 +0000)
[r642]

36 files changed:
testprograms/ref-results/ARRAY-HEAP_EXAMPLE_main-type.vcg [new file with mode: 0644]
testprograms/ref-results/ARRAY-HEAP_EXAMPLE_main.vcg [new file with mode: 0644]
testprograms/ref-results/ARRAY-STACK_EXAMPLE_main-all.vcg [new file with mode: 0644]
testprograms/ref-results/All_types.vcg [new file with mode: 0644]
testprograms/ref-results/CALL_STR_EXAMPLE_main.vcg [new file with mode: 0644]
testprograms/ref-results/COND_EXAMPLE_main.vcg [new file with mode: 0644]
testprograms/ref-results/CONST_EVAL_EXAMPLE_main.vcg [new file with mode: 0644]
testprograms/ref-results/DEAD_BLOCK_main-cfg.vcg [new file with mode: 0644]
testprograms/ref-results/DEAD_BLOCK_main.vcg [new file with mode: 0644]
testprograms/ref-results/EMPTY_main.vcg [new file with mode: 0644]
testprograms/ref-results/ENDLESS_LOOP_EXAMPLE_main.vcg [new file with mode: 0644]
testprograms/ref-results/GLOBAL_CSE_EXAMPLE_main.vcg [new file with mode: 0644]
testprograms/ref-results/GLOBAL_VAR_main-all.vcg [new file with mode: 0644]
testprograms/ref-results/GLOBAL_VAR_main.vcg [new file with mode: 0644]
testprograms/ref-results/IF_ELSE_EXAMPLE_main.vcg [new file with mode: 0644]
testprograms/ref-results/IF_EXAMPLE_main.vcg [new file with mode: 0644]
testprograms/ref-results/IF_WHILE_EXAMPLE_main.vcg [new file with mode: 0644]
testprograms/ref-results/IRREGULAR_CF_main-cfg.vcg [new file with mode: 0644]
testprograms/ref-results/IRREGULAR_CF_main.vcg [new file with mode: 0644]
testprograms/ref-results/IRR_LOOP_main-cfg.vcg [new file with mode: 0644]
testprograms/ref-results/IRR_LOOP_main.vcg [new file with mode: 0644]
testprograms/ref-results/MEMORY_EXAMPLE_main.vcg [new file with mode: 0644]
testprograms/ref-results/OO_INLINE_EXAMPLE_main-all.vcg [new file with mode: 0644]
testprograms/ref-results/OO_INLINE_EXAMPLE_main.vcg [new file with mode: 0644]
testprograms/ref-results/OO_PROGRAM_EXAMPLE_main-all.vcg [new file with mode: 0644]
testprograms/ref-results/OO_PROGRAM_EXAMPLE_main.vcg [new file with mode: 0644]
testprograms/ref-results/PRIMA_c-all.vcg [new file with mode: 0644]
testprograms/ref-results/PRIMA_set_a-all.vcg [new file with mode: 0644]
testprograms/ref-results/THREE_CFPRED_EXAMPLE_main-cfg.vcg [new file with mode: 0644]
testprograms/ref-results/THREE_CFPRED_EXAMPLE_main.vcg [new file with mode: 0644]
testprograms/ref-results/WHILE_EXAMPLE_main.vcg [new file with mode: 0644]
testprograms/ref-results/c.vcg [new file with mode: 0644]
testprograms/ref-results/main-type.vcg [new file with mode: 0644]
testprograms/ref-results/main.vcg [new file with mode: 0644]
testprograms/ref-results/run-result.txt [new file with mode: 0644]
testprograms/ref-results/set_a.vcg [new file with mode: 0644]

diff --git a/testprograms/ref-results/ARRAY-HEAP_EXAMPLE_main-type.vcg b/testprograms/ref-results/ARRAY-HEAP_EXAMPLE_main-type.vcg
new file mode 100644 (file)
index 0000000..53f1487
--- /dev/null
@@ -0,0 +1,45 @@
+graph: { title: "ir graph of ARRAY-HEAP_EXAMPLE_main"
+display_edge_labels: yes
+layoutalgorithm: mindepth
+manhattan_edges: yes
+port_sharing: no
+orientation: bottom_to_top
+classname 1: "Data"
+classname 2: "Block"
+classname 3: "Entity type"classname 4: "Entity owner"classname 5: "Method Param"classname 6: "Method Res"classname 7: "Super"classname 8: "Union"classname 9: "Points-to"classname 10: "Array Element Type"classname 11: "Overwrites"classname 12: "Member"
+node: {title: "0x80a0830" label: "ent a_elem_ent" color: yellow info1:"automatic allocated
+local
+uninitialized
+non_volatile
+existent
+"}
+edge: { sourcename: "0x80a0830" targetname: "0x809e0c0" class: 3 label: "type" color: red}
+node: {title: "0x80a0790" label: "array a"info1: "state: layout_undefined
+size: -1B,
+"}
+edge: { sourcename: "0x80a0790" targetname: "0x809e0c0" class: 10 label: "arr elt tp" color:green}
+edge: { sourcename: "0x80a0790" targetname: "0x80a0830" class: 10 label: "arr ent" color: green}
+node: {title: "0x809e0c0" label: "primitive int"info1: "state: layout_fixed,
+mode: I,
+size: 4B,
+"}
+node: {title: "0x809e170" label: "ent ARRAY-HEAP_EXAMPLE_main" color: yellow info1:"static allocated
+local
+constant
+non_volatile
+existent
+
+ irg = 0x809e1e0 "}
+edge: { sourcename: "0x809e170" targetname: "0x809e0e8" class: 3 label: "type" color: red}
+edge: { sourcename: "0x809e170" targetname: "0x809be78" label: "value "}
+node: {title: "0x809be78" label: "&(GlobalType_ARRAY-HEAP_EXAMPLE_main)P " color: yellow}
+node: {title: "0x809bae0" label: "class GlobalType"info1: "state: layout_undefined
+size: -1B,
+" color: green}
+edge: { sourcename: "0x809bae0" targetname: "0x809e170" class: 12 label: "member" color:blue}
+node: {title: "0x809e0e8" label: "method ARRAY-HEAP_EXAMPLE_main"info1: "state: layout_fixed,
+mode: P,
+size: 4B,
+"}
+edge: { sourcename: "0x809e0e8" targetname: "0x809e0c0" class: 6 label: "res 0" color: green}
+}
diff --git a/testprograms/ref-results/ARRAY-HEAP_EXAMPLE_main.vcg b/testprograms/ref-results/ARRAY-HEAP_EXAMPLE_main.vcg
new file mode 100644 (file)
index 0000000..a9334c8
--- /dev/null
@@ -0,0 +1,52 @@
+graph: { title: "ir graph of ARRAY-HEAP_EXAMPLE_main"
+display_edge_labels: yes
+layoutalgorithm: mindepth
+manhattan_edges: yes
+port_sharing: no
+orientation: bottom_to_top
+classname 1: "Data"
+classname 2: "Block"
+classname 3: "Entity type"classname 4: "Entity owner"classname 5: "Method Param"classname 6: "Method Res"classname 7: "Super"classname 8: "Union"classname 9: "Points-to"classname 10: "Array Element Type"classname 11: "Overwrites"classname 12: "Member"
+graph: { title: "0x80a0930"  label: "Block" status:clustered color:yellow
+edge: {sourcename: "0x80a0930" targetname: "0x80a09a8" label: "0" color: red}
+node: {title: "0x80a0910" label: "End " color: blue}
+}
+
+graph: { title: "0x80a09e4"  label: "Block" status:clustered color:yellow
+edge: {sourcename: "0x80a09e4" targetname: "0x80a0a5c" label: "0" color: red}
+node: {title: "0x80a09a8" label: "Return " }
+edge: {sourcename: "0x80a09a8" targetname: "0x80a0d70" label: "0" color: blue}
+edge: {sourcename: "0x80a09a8" targetname: "0x80a0b44" label: "1" }
+node: {title: "0x80a0b44" label: "ProjI 2" color: yellow}
+edge: {sourcename: "0x80a0b44" targetname: "0x80a0b80" label: "0" }
+node: {title: "0x80a0b80" label: "Load " }
+edge: {sourcename: "0x80a0b80" targetname: "0x80a0d34" label: "0" color: blue}
+edge: {sourcename: "0x80a0b80" targetname: "0x80a0bc0" label: "1" }
+node: {title: "0x80a0bc0" label: "Sel a_elem_ent" }
+edge: {sourcename: "0x80a0bc0" targetname: "0x80a0d34" label: "0" color: blue}
+edge: {sourcename: "0x80a0bc0" targetname: "0x80a0c3c" label: "1" }
+edge: {sourcename: "0x80a0bc0" targetname: "0x80a0c04" label: "2" }
+node: {title: "0x80a0c3c" label: "ProjP 2" color: yellow}
+edge: {sourcename: "0x80a0c3c" targetname: "0x80a0c78" label: "0" }
+node: {title: "0x80a0c78" label: "Alloc " }
+edge: {sourcename: "0x80a0c78" targetname: "0x80a0cf8" label: "0" color: blue}
+edge: {sourcename: "0x80a0c78" targetname: "0x80a0cc0" label: "1" }
+node: {title: "0x80a0d34" label: "ProjM 0" color: yellow}
+edge: {sourcename: "0x80a0d34" targetname: "0x80a0c78" label: "0" color: blue}
+node: {title: "0x80a0d70" label: "ProjM 0" color: yellow}
+edge: {sourcename: "0x80a0d70" targetname: "0x80a0b80" label: "0" color: blue}
+}
+
+graph: { title: "0x80a0a98"  label: "Block" status:clustered color:yellow
+edge: {sourcename: "0x80a0a98" targetname: "0x80a0a5c" label: "0" color: red}
+node: {title: "0x80a0a5c" label: "ProjX 0" color: yellow}
+edge: {sourcename: "0x80a0a5c" targetname: "0x80a0b10" label: "0" color: red}
+node: {title: "0x80a0b10" label: "Start " color: blue}
+node: {title: "0x80a0c04" label: "3I " color: yellow}
+node: {title: "0x80a0cc0" label: "40I " color: yellow}
+node: {title: "0x80a0cf8" label: "ProjM 1" color: yellow}
+edge: {sourcename: "0x80a0cf8" targetname: "0x80a0b10" label: "0" color: blue}
+}
+
+node: {title: "0x80a0e60" label: "Bad " }
+}
diff --git a/testprograms/ref-results/ARRAY-STACK_EXAMPLE_main-all.vcg b/testprograms/ref-results/ARRAY-STACK_EXAMPLE_main-all.vcg
new file mode 100644 (file)
index 0000000..d656b30
--- /dev/null
@@ -0,0 +1,97 @@
+graph: { title: "ir graph of ARRAY-STACK_EXAMPLE_main"
+display_edge_labels: yes
+layoutalgorithm: mindepth
+manhattan_edges: yes
+port_sharing: no
+orientation: bottom_to_top
+classname 1: "Data"
+classname 2: "Block"
+classname 3: "Entity type"classname 4: "Entity owner"classname 5: "Method Param"classname 6: "Method Res"classname 7: "Super"classname 8: "Union"classname 9: "Points-to"classname 10: "Array Element Type"classname 11: "Overwrites"classname 12: "Member"
+graph: { title: "0x80a0a90"  label: "Block" status:clustered color:yellow
+edge: {sourcename: "0x80a0a90" targetname: "0x80a0b08" label: "0" color: red}
+node: {title: "0x80a0a70" label: "End " color: blue}
+}
+
+graph: { title: "0x80a0b44"  label: "Block" status:clustered color:yellow
+edge: {sourcename: "0x80a0b44" targetname: "0x80a0bbc" label: "0" color: red}
+node: {title: "0x80a0b08" label: "Return " }
+edge: {sourcename: "0x80a0b08" targetname: "0x80a0e54" label: "0" color: blue}
+edge: {sourcename: "0x80a0b08" targetname: "0x80a0ca4" label: "1" }
+node: {title: "0x80a0ca4" label: "ProjI 2" color: yellow}
+edge: {sourcename: "0x80a0ca4" targetname: "0x80a0ce0" label: "0" }
+node: {title: "0x80a0ce0" label: "Load " }
+edge: {sourcename: "0x80a0ce0" targetname: "0x80a0e18" label: "0" color: blue}
+edge: {sourcename: "0x80a0ce0" targetname: "0x80a0d20" label: "1" }
+node: {title: "0x80a0d20" label: "Sel a_tp_elem_ent" }
+edge: {sourcename: "0x80a0d20" targetname: "0x80a0e18" label: "0" color: blue}
+edge: {sourcename: "0x80a0d20" targetname: "0x80a0d9c" label: "1" }
+edge: {sourcename: "0x80a0d20" targetname: "0x80a0d64" label: "2" }
+node: {title: "0x80a0d9c" label: "Sel a" }
+edge: {sourcename: "0x80a0d9c" targetname: "0x80a0e18" label: "0" color: blue}
+edge: {sourcename: "0x80a0d9c" targetname: "0x80a0ddc" label: "1" }
+node: {title: "0x80a0e54" label: "ProjM 0" color: yellow}
+edge: {sourcename: "0x80a0e54" targetname: "0x80a0ce0" label: "0" color: blue}
+}
+
+graph: { title: "0x80a0bf8"  label: "Block" status:clustered color:yellow
+edge: {sourcename: "0x80a0bf8" targetname: "0x80a0bbc" label: "0" color: red}
+node: {title: "0x80a0bbc" label: "ProjX 0" color: yellow}
+edge: {sourcename: "0x80a0bbc" targetname: "0x80a0c70" label: "0" color: red}
+node: {title: "0x80a0c70" label: "Start " color: blue}
+node: {title: "0x80a0d64" label: "3I " color: yellow}
+node: {title: "0x80a0ddc" label: "ProjP 2" color: yellow}
+edge: {sourcename: "0x80a0ddc" targetname: "0x80a0c70" label: "0" }
+node: {title: "0x80a0e18" label: "ProjM 1" color: yellow}
+edge: {sourcename: "0x80a0e18" targetname: "0x80a0c70" label: "0" color: blue}
+}
+
+node: {title: "0x80a0f08" label: "Bad " }
+node: {title: "0x80a08e8" label: "ent a_tp_elem_ent" color: yellow info1:"automatic allocated
+local
+uninitialized
+non_volatile
+existent
+"}
+edge: { sourcename: "0x80a08e8" targetname: "0x809e0c0" class: 3 label: "type" color: red}
+node: {title: "0x80a0850" label: "array a_tp"info1: "state: layout_undefined
+size: -1B,
+"}
+edge: { sourcename: "0x80a0850" targetname: "0x809e0c0" class: 10 label: "arr elt tp" color:green}
+edge: { sourcename: "0x80a0850" targetname: "0x80a08e8" class: 10 label: "arr ent" color: green}
+node: {title: "0x809e0c0" label: "primitive int"info1: "state: layout_fixed,
+mode: I,
+size: 4B,
+"}
+node: {title: "0x80a0970" label: "ent a" color: yellow info1:"automatic allocated
+local
+uninitialized
+non_volatile
+existent
+"}
+edge: { sourcename: "0x80a0970" targetname: "0x80a0850" class: 3 label: "type" color: red}
+node: {title: "0x80a0750" label: "class mainframe_tp"info1: "state: layout_undefined
+size: -1B,
+" color: green}
+edge: { sourcename: "0x80a0750" targetname: "0x80a0970" class: 12 label: "member" color:blue}
+node: {title: "0x809e1e0" label: "ent main" color: yellow info1:"static allocated
+local
+constant
+non_volatile
+existent
+
+ irg = 0x809e268 "}
+edge: { sourcename: "0x809e1e0" targetname: "0x809e180" class: 3 label: "type" color: red}
+edge: { sourcename: "0x809e1e0" targetname: "0x809be78" label: "value "}
+node: {title: "0x809be78" label: "&(ARRAY-STACK_EXAMPLE_main)P " color: yellow}
+node: {title: "0x809e0e8" label: "class ARRAY-STACK_EXAMPLE"info1: "state: layout_undefined
+size: -1B,
+" color: green}
+edge: { sourcename: "0x809e0e8" targetname: "0x809e1e0" class: 12 label: "member" color:blue}
+node: {title: "0x809e180" label: "method main"info1: "state: layout_fixed,
+mode: P,
+size: 4B,
+"}
+edge: { sourcename: "0x809e180" targetname: "0x809e0c0" class: 6 label: "res 0" color: green}
+edge: { sourcename: "0x80a0d20" targetname: "0x80a08e8" class: 2 priority: 2 linestyle: dotted}
+edge: { sourcename: "0x80a0d9c" targetname: "0x80a0970" class: 2 priority: 2 linestyle: dotted}
+}
diff --git a/testprograms/ref-results/All_types.vcg b/testprograms/ref-results/All_types.vcg
new file mode 100644 (file)
index 0000000..5b060dd
--- /dev/null
@@ -0,0 +1,94 @@
+graph: { title: "ir graph of All_types"
+display_edge_labels: no
+layoutalgorithm: mindepth
+manhattan_edges: yes
+port_sharing: no
+orientation: bottom_to_top
+classname 1: "Data"
+classname 2: "Block"
+classname 3: "Entity type"
+classname 4: "Entity owner"
+classname 5: "Method Param"
+classname 6: "Method Res"
+classname 7: "Super"
+classname 8: "Union"
+classname 9: "Points-to"
+classname 10: "Array Element Type"
+classname 11: "Overwrites"
+classname 12: "Member"
+
+node: {title: "0x809e0c0" label: "primitive int"info1: "state: layout_fixed,
+mode: I,
+size: 4B,
+"}
+node: {title: "0x809e0e8" label: "class PRIMA"info1: "state: layout_undefined
+size: -1B,
+" color: green}
+edge: { sourcename: "0x809e0e8" targetname: "0x809e1b0" class: 12 label: "member" color:blue}
+edge: { sourcename: "0x809e0e8" targetname: "0x809e2d0" class: 12 label: "member" color:blue}
+edge: { sourcename: "0x809e0e8" targetname: "0x809e3a0" class: 12 label: "member" color:blue}
+node: {title: "0x809e1b0" label: "ent a" color: yellow info1:"automatic allocated
+local
+uninitialized
+non_volatile
+existent
+"}
+edge: { sourcename: "0x809e1b0" targetname: "0x809e0c0" class: 3 label: "type" color: red}
+node: {title: "0x809e2d0" label: "ent set_a" color: yellow info1:"static allocated
+local
+constant
+non_volatile
+existent
+
+ irg = 0x80a0ae0 "}
+edge: { sourcename: "0x809e2d0" targetname: "0x809e238" class: 3 label: "type" color: red}
+edge: { sourcename: "0x809e2d0" targetname: "0x809be78" label: "value "}
+node: {title: "0x809be78" label: "&(PRIMA_set_a)P " color: yellow}
+node: {title: "0x809e238" label: "method set_a"info1: "state: layout_fixed,
+mode: P,
+size: 4B,
+"}
+edge: { sourcename: "0x809e238" targetname: "0x809e180" class: 5 label: "param 0" color: green}
+edge: { sourcename: "0x809e238" targetname: "0x809e0c0" class: 5 label: "param 1" color: green}
+node: {title: "0x809e180" label: "pointer class_prima_ptr"info1: "state: layout_fixed,
+mode: P,
+size: 4B,
+"}
+edge: { sourcename: "0x809e180" targetname: "0x809e0e8" class: 9 label: "points to" color:green}
+node: {title: "0x809e3a0" label: "ent c" color: yellow info1:"static allocated
+local
+constant
+non_volatile
+existent
+
+ irg = 0x80a30e8 "}
+edge: { sourcename: "0x809e3a0" targetname: "0x809e340" class: 3 label: "type" color: red}
+edge: { sourcename: "0x809e3a0" targetname: "0x809beb0" label: "value "}
+node: {title: "0x809beb0" label: "&(PRIMA_c)P " color: yellow}
+node: {title: "0x809e340" label: "method c"info1: "state: layout_fixed,
+mode: P,
+size: 4B,
+"}
+edge: { sourcename: "0x809e340" targetname: "0x809e180" class: 5 label: "param 0" color: green}
+edge: { sourcename: "0x809e340" targetname: "0x809e0c0" class: 5 label: "param 1" color: green}
+edge: { sourcename: "0x809e340" targetname: "0x809e0c0" class: 6 label: "res 0" color: green}
+node: {title: "0x809e428" label: "method OO_INLINE_EXAMPLE_main"info1: "state: layout_fixed,
+mode: P,
+size: 4B,
+"}
+edge: { sourcename: "0x809e428" targetname: "0x809e0c0" class: 6 label: "res 0" color: green}
+node: {title: "0x809bae0" label: "class GlobalType"info1: "state: layout_undefined
+size: -1B,
+" color: green}
+edge: { sourcename: "0x809bae0" targetname: "0x809e488" class: 12 label: "member" color:blue}
+node: {title: "0x809e488" label: "ent OO_INLINE_EXAMPLE_main" color: yellow info1:"static allocated
+local
+constant
+non_volatile
+existent
+
+ irg = 0x809e510 "}
+edge: { sourcename: "0x809e488" targetname: "0x809e428" class: 3 label: "type" color: red}
+edge: { sourcename: "0x809e488" targetname: "0x809bee8" label: "value "}
+node: {title: "0x809bee8" label: "&(GlobalType_OO_INLINE_EXAMPLE_main)P " color: yellow}
+}
diff --git a/testprograms/ref-results/CALL_STR_EXAMPLE_main.vcg b/testprograms/ref-results/CALL_STR_EXAMPLE_main.vcg
new file mode 100644 (file)
index 0000000..7e7df9c
--- /dev/null
@@ -0,0 +1,39 @@
+graph: { title: "ir graph of CALL_STR_EXAMPLE_main"
+display_edge_labels: yes
+layoutalgorithm: mindepth
+manhattan_edges: yes
+port_sharing: no
+orientation: bottom_to_top
+classname 1: "Data"
+classname 2: "Block"
+classname 3: "Entity type"classname 4: "Entity owner"classname 5: "Method Param"classname 6: "Method Res"classname 7: "Super"classname 8: "Union"classname 9: "Points-to"classname 10: "Array Element Type"classname 11: "Overwrites"classname 12: "Member"
+graph: { title: "0x80a09b0"  label: "Block" status:clustered color:yellow
+edge: {sourcename: "0x80a09b0" targetname: "0x80a0a28" label: "0" color: red}
+node: {title: "0x80a0990" label: "End " color: blue}
+}
+
+graph: { title: "0x80a0a60"  label: "Block" status:clustered color:yellow
+edge: {sourcename: "0x80a0a60" targetname: "0x80a0ad8" label: "0" color: red}
+node: {title: "0x80a0a28" label: "Return " }
+edge: {sourcename: "0x80a0a28" targetname: "0x80a0bc0" label: "0" color: blue}
+node: {title: "0x80a0bc0" label: "ProjM 0" color: yellow}
+edge: {sourcename: "0x80a0bc0" targetname: "0x80a0bfc" label: "0" color: blue}
+node: {title: "0x80a0bfc" label: "Call " }
+edge: {sourcename: "0x80a0bfc" targetname: "0x80a0cbc" label: "0" color: blue}
+edge: {sourcename: "0x80a0bfc" targetname: "0x80a0c80" label: "1" }
+edge: {sourcename: "0x80a0bfc" targetname: "0x80a0c48" label: "2" }
+node: {title: "0x80a0c80" label: "SymC f " }
+}
+
+graph: { title: "0x80a0b14"  label: "Block" status:clustered color:yellow
+edge: {sourcename: "0x80a0b14" targetname: "0x80a0ad8" label: "0" color: red}
+node: {title: "0x80a0ad8" label: "ProjX 0" color: yellow}
+edge: {sourcename: "0x80a0ad8" targetname: "0x80a0b8c" label: "0" color: red}
+node: {title: "0x80a0b8c" label: "Start " color: blue}
+node: {title: "0x80a0c48" label: "Hello world!P " color: yellow}
+node: {title: "0x80a0cbc" label: "ProjM 1" color: yellow}
+edge: {sourcename: "0x80a0cbc" targetname: "0x80a0b8c" label: "0" color: blue}
+}
+
+node: {title: "0x80a0dac" label: "Bad " }
+}
diff --git a/testprograms/ref-results/COND_EXAMPLE_main.vcg b/testprograms/ref-results/COND_EXAMPLE_main.vcg
new file mode 100644 (file)
index 0000000..324859d
--- /dev/null
@@ -0,0 +1,81 @@
+graph: { title: "ir graph of COND_EXAMPLE_main"
+display_edge_labels: yes
+layoutalgorithm: mindepth
+manhattan_edges: yes
+port_sharing: no
+orientation: bottom_to_top
+classname 1: "Data"
+classname 2: "Block"
+classname 3: "Entity type"classname 4: "Entity owner"classname 5: "Method Param"classname 6: "Method Res"classname 7: "Super"classname 8: "Union"classname 9: "Points-to"classname 10: "Array Element Type"classname 11: "Overwrites"classname 12: "Member"
+graph: { title: "0x80a0910"  label: "Block" status:clustered color:yellow
+edge: {sourcename: "0x80a0910" targetname: "0x80a0988" label: "0" color: red}
+node: {title: "0x80a08f0" label: "End " color: blue}
+}
+
+graph: { title: "0x80a09c4"  label: "Block" status:clustered color:yellow
+edge: {sourcename: "0x80a09c4" targetname: "0x80a0f54" label: "0" color: red}
+edge: {sourcename: "0x80a09c4" targetname: "0x80a0a44" label: "1" color: red}
+node: {title: "0x80a0988" label: "Return " }
+edge: {sourcename: "0x80a0988" targetname: "0x80a10cc" label: "0" color: blue}
+edge: {sourcename: "0x80a0988" targetname: "0x80a103c" label: "1" }
+node: {title: "0x80a103c" label: "PhiI " color: green}
+edge: {sourcename: "0x80a103c" targetname: "0x80a1094" label: "0" }
+edge: {sourcename: "0x80a103c" targetname: "0x80a0df4" label: "1" }
+}
+
+graph: { title: "0x80a0a80"  label: "Block" status:clustered color:yellow
+edge: {sourcename: "0x80a0a80" targetname: "0x80a0af8" label: "0" color: red}
+node: {title: "0x80a0a44" label: "ProjX 0" color: yellow}
+edge: {sourcename: "0x80a0a44" targetname: "0x80a0be0" label: "0" color: red}
+node: {title: "0x80a0be0" label: "Cond " }
+edge: {sourcename: "0x80a0be0" targetname: "0x80a0c20" label: "0" }
+node: {title: "0x80a0c20" label: "Projb Ne" color: yellow}
+edge: {sourcename: "0x80a0c20" targetname: "0x80a0c5c" label: "0" }
+node: {title: "0x80a0c5c" label: "CmpT " }
+edge: {sourcename: "0x80a0c5c" targetname: "0x80a0cd0" label: "0" }
+edge: {sourcename: "0x80a0c5c" targetname: "0x80a0c98" label: "1" }
+node: {title: "0x80a0cd0" label: "AndI " }
+edge: {sourcename: "0x80a0cd0" targetname: "0x80a0e6c" label: "0" }
+edge: {sourcename: "0x80a0cd0" targetname: "0x80a0d0c" label: "1" }
+node: {title: "0x80a0d0c" label: "ConvI " }
+edge: {sourcename: "0x80a0d0c" targetname: "0x80a0d44" label: "0" }
+node: {title: "0x80a0d44" label: "Projb Lt" color: yellow}
+edge: {sourcename: "0x80a0d44" targetname: "0x80a0d80" label: "0" }
+node: {title: "0x80a0d80" label: "CmpT " }
+edge: {sourcename: "0x80a0d80" targetname: "0x80a0df4" label: "0" }
+edge: {sourcename: "0x80a0d80" targetname: "0x80a0dbc" label: "1" }
+node: {title: "0x80a0df4" label: "ProjI 0" color: yellow}
+edge: {sourcename: "0x80a0df4" targetname: "0x80a0e30" label: "0" }
+node: {title: "0x80a0e6c" label: "ConvI " }
+edge: {sourcename: "0x80a0e6c" targetname: "0x80a0ea4" label: "0" }
+node: {title: "0x80a0ea4" label: "Projb Gt" color: yellow}
+edge: {sourcename: "0x80a0ea4" targetname: "0x80a0ee0" label: "0" }
+node: {title: "0x80a0ee0" label: "CmpT " }
+edge: {sourcename: "0x80a0ee0" targetname: "0x80a0df4" label: "0" }
+edge: {sourcename: "0x80a0ee0" targetname: "0x80a0f1c" label: "1" }
+node: {title: "0x80a1000" label: "ProjX 1" color: yellow}
+edge: {sourcename: "0x80a1000" targetname: "0x80a0be0" label: "0" color: red}
+}
+
+graph: { title: "0x80a0b34"  label: "Block" status:clustered color:yellow
+edge: {sourcename: "0x80a0b34" targetname: "0x80a0af8" label: "0" color: red}
+node: {title: "0x80a0af8" label: "ProjX 0" color: yellow}
+edge: {sourcename: "0x80a0af8" targetname: "0x80a0bac" label: "0" color: red}
+node: {title: "0x80a0bac" label: "Start " color: blue}
+node: {title: "0x80a0c98" label: "0I " color: yellow}
+node: {title: "0x80a0dbc" label: "10I " color: yellow}
+node: {title: "0x80a0e30" label: "ProjT 4" color: yellow}
+edge: {sourcename: "0x80a0e30" targetname: "0x80a0bac" label: "0" }
+node: {title: "0x80a0f1c" label: "2I " color: yellow}
+node: {title: "0x80a1094" label: "1I " color: yellow}
+node: {title: "0x80a10cc" label: "ProjM 1" color: yellow}
+edge: {sourcename: "0x80a10cc" targetname: "0x80a0bac" label: "0" color: blue}
+}
+
+graph: { title: "0x80a0f88"  label: "Block" status:clustered color:yellow
+edge: {sourcename: "0x80a0f88" targetname: "0x80a1000" label: "0" color: red}
+node: {title: "0x80a0f54" label: "Jmp " }
+}
+
+node: {title: "0x80a1180" label: "Bad " }
+}
diff --git a/testprograms/ref-results/CONST_EVAL_EXAMPLE_main.vcg b/testprograms/ref-results/CONST_EVAL_EXAMPLE_main.vcg
new file mode 100644 (file)
index 0000000..e67d104
--- /dev/null
@@ -0,0 +1,34 @@
+graph: { title: "ir graph of CONST_EVAL_EXAMPLE_main"
+display_edge_labels: yes
+layoutalgorithm: mindepth
+manhattan_edges: yes
+port_sharing: no
+orientation: bottom_to_top
+classname 1: "Data"
+classname 2: "Block"
+classname 3: "Entity type"classname 4: "Entity owner"classname 5: "Method Param"classname 6: "Method Res"classname 7: "Super"classname 8: "Union"classname 9: "Points-to"classname 10: "Array Element Type"classname 11: "Overwrites"classname 12: "Member"
+graph: { title: "0x80a08c8"  label: "Block" status:clustered color:yellow
+edge: {sourcename: "0x80a08c8" targetname: "0x80a0940" label: "0" color: red}
+node: {title: "0x80a08a8" label: "End " color: blue}
+}
+
+graph: { title: "0x80a0980"  label: "Block" status:clustered color:yellow
+edge: {sourcename: "0x80a0980" targetname: "0x80a09f8" label: "0" color: red}
+node: {title: "0x80a0940" label: "Return " }
+edge: {sourcename: "0x80a0940" targetname: "0x80a0b18" label: "0" color: blue}
+edge: {sourcename: "0x80a0940" targetname: "0x80a0ae0" label: "1" }
+edge: {sourcename: "0x80a0940" targetname: "0x80a0ae0" label: "2" }
+}
+
+graph: { title: "0x80a0a34"  label: "Block" status:clustered color:yellow
+edge: {sourcename: "0x80a0a34" targetname: "0x80a09f8" label: "0" color: red}
+node: {title: "0x80a09f8" label: "ProjX 0" color: yellow}
+edge: {sourcename: "0x80a09f8" targetname: "0x80a0aac" label: "0" color: red}
+node: {title: "0x80a0aac" label: "Start " color: blue}
+node: {title: "0x80a0ae0" label: "12I " color: yellow}
+node: {title: "0x80a0b18" label: "ProjM 1" color: yellow}
+edge: {sourcename: "0x80a0b18" targetname: "0x80a0aac" label: "0" color: blue}
+}
+
+node: {title: "0x80a0c08" label: "Bad " }
+}
diff --git a/testprograms/ref-results/DEAD_BLOCK_main-cfg.vcg b/testprograms/ref-results/DEAD_BLOCK_main-cfg.vcg
new file mode 100644 (file)
index 0000000..5e53e0d
--- /dev/null
@@ -0,0 +1,17 @@
+graph: { title: "ir graph of DEAD_BLOCK_main"
+display_edge_labels: yes
+layoutalgorithm: mindepth
+manhattan_edges: yes
+port_sharing: no
+orientation: bottom_to_top
+classname 1: "Data"
+classname 2: "Block"
+classname 3: "Entity type"classname 4: "Entity owner"classname 5: "Method Param"classname 6: "Method Res"classname 7: "Super"classname 8: "Union"classname 9: "Points-to"classname 10: "Array Element Type"classname 11: "Overwrites"classname 12: "Member"
+node: {title:"0x80a0928" label: "Block 0x80a0928" }
+edge: { sourcename: "0x80a0928" targetname: "0x80a0ba4" }
+node: {title:"0x80a0ba4" label: "Block 0x80a0ba4" }
+edge: { sourcename: "0x80a0ba4" targetname: "0x80a0a88" }
+node: {title:"0x80a0a88" label: "Block 0x80a0a88" }
+edge: { sourcename: "0x80a0a88" targetname: "0x80a0a88" }
+node: {title: "0x80a0a54" label: "BadT" }
+}
diff --git a/testprograms/ref-results/DEAD_BLOCK_main.vcg b/testprograms/ref-results/DEAD_BLOCK_main.vcg
new file mode 100644 (file)
index 0000000..7225a8d
--- /dev/null
@@ -0,0 +1,33 @@
+graph: { title: "ir graph of DEAD_BLOCK_main"
+display_edge_labels: yes
+layoutalgorithm: mindepth
+manhattan_edges: yes
+port_sharing: no
+orientation: bottom_to_top
+classname 1: "Data"
+classname 2: "Block"
+classname 3: "Entity type"classname 4: "Entity owner"classname 5: "Method Param"classname 6: "Method Res"classname 7: "Super"classname 8: "Union"classname 9: "Points-to"classname 10: "Array Element Type"classname 11: "Overwrites"classname 12: "Member"
+graph: { title: "0x80a0928"  label: "Block" status:clustered color:yellow
+edge: {sourcename: "0x80a0928" targetname: "0x80a09a0" label: "0" color: red}
+node: {title: "0x80a0908" label: "End " color: blue}
+}
+
+graph: { title: "0x80a0ba4"  label: "Block" status:clustered color:yellow
+edge: {sourcename: "0x80a0ba4" targetname: "0x80a0b00" label: "0" color: red}
+node: {title: "0x80a09a0" label: "Return " }
+edge: {sourcename: "0x80a09a0" targetname: "0x80a0c6c" label: "0" color: blue}
+edge: {sourcename: "0x80a09a0" targetname: "0x80a0c34" label: "1" }
+}
+
+graph: { title: "0x80a0a88"  label: "Block" status:clustered color:yellow
+edge: {sourcename: "0x80a0a88" targetname: "0x80a0b00" label: "0" color: red}
+node: {title: "0x80a0b00" label: "ProjX 0" color: yellow}
+edge: {sourcename: "0x80a0b00" targetname: "0x80a0b3c" label: "0" color: red}
+node: {title: "0x80a0b3c" label: "Start " color: blue}
+node: {title: "0x80a0c34" label: "2I " color: yellow}
+node: {title: "0x80a0c6c" label: "ProjM 1" color: yellow}
+edge: {sourcename: "0x80a0c6c" targetname: "0x80a0b3c" label: "0" color: blue}
+}
+
+node: {title: "0x80a0a54" label: "Bad " }
+}
diff --git a/testprograms/ref-results/EMPTY_main.vcg b/testprograms/ref-results/EMPTY_main.vcg
new file mode 100644 (file)
index 0000000..4605b54
--- /dev/null
@@ -0,0 +1,31 @@
+graph: { title: "ir graph of EMPTY_main"
+display_edge_labels: yes
+layoutalgorithm: mindepth
+manhattan_edges: yes
+port_sharing: no
+orientation: bottom_to_top
+classname 1: "Data"
+classname 2: "Block"
+classname 3: "Entity type"classname 4: "Entity owner"classname 5: "Method Param"classname 6: "Method Res"classname 7: "Super"classname 8: "Union"classname 9: "Points-to"classname 10: "Array Element Type"classname 11: "Overwrites"classname 12: "Member"
+graph: { title: "0x809e280"  label: "Block" status:clustered color:yellow
+edge: {sourcename: "0x809e280" targetname: "0x809e5e0" label: "0" color: red}
+node: {title: "0x809e2e4" label: "End " color: blue}
+}
+
+graph: { title: "0x809e544"  label: "Block" status:clustered color:yellow
+edge: {sourcename: "0x809e544" targetname: "0x809e404" label: "0" color: red}
+node: {title: "0x809e5e0" label: "Return " }
+edge: {sourcename: "0x809e5e0" targetname: "0x809e440" label: "0" color: blue}
+}
+
+graph: { title: "0x809e304"  label: "Block" status:clustered color:yellow
+edge: {sourcename: "0x809e304" targetname: "0x809e404" label: "0" color: red}
+node: {title: "0x809e404" label: "ProjX 0" color: yellow}
+edge: {sourcename: "0x809e404" targetname: "0x809e368" label: "0" color: red}
+node: {title: "0x809e368" label: "Start " color: blue}
+node: {title: "0x809e440" label: "ProjM 1" color: yellow}
+edge: {sourcename: "0x809e440" targetname: "0x809e368" label: "0" color: blue}
+}
+
+node: {title: "0x809e39c" label: "Bad " }
+}
diff --git a/testprograms/ref-results/ENDLESS_LOOP_EXAMPLE_main.vcg b/testprograms/ref-results/ENDLESS_LOOP_EXAMPLE_main.vcg
new file mode 100644 (file)
index 0000000..56a4b98
--- /dev/null
@@ -0,0 +1,58 @@
+graph: { title: "ir graph of ENDLESS_LOOP_EXAMPLE_main"
+display_edge_labels: yes
+layoutalgorithm: mindepth
+manhattan_edges: yes
+port_sharing: no
+orientation: bottom_to_top
+classname 1: "Data"
+classname 2: "Block"
+classname 3: "Entity type"classname 4: "Entity owner"classname 5: "Method Param"classname 6: "Method Res"classname 7: "Super"classname 8: "Union"classname 9: "Points-to"classname 10: "Array Element Type"classname 11: "Overwrites"classname 12: "Member"
+graph: { title: "0x80a0930"  label: "Block" status:clustered color:yellow
+node: {title: "0x80a0910" label: "End " color: blue}
+edge: {sourcename: "0x80a0910" targetname: "0x80a0aac" label: "0" color: red}
+edge: {sourcename: "0x80a0910" targetname: "0x80a0cd0" label: "1" }
+}
+
+graph: { title: "0x80a0aac"  label: "Block" status:clustered color:yellow
+edge: {sourcename: "0x80a0aac" targetname: "0x80a0c24" label: "0" color: red}
+edge: {sourcename: "0x80a0aac" targetname: "0x80a0b2c" label: "1" color: red}
+node: {title: "0x80a0cd0" label: "PhiM " color: green}
+edge: {sourcename: "0x80a0cd0" targetname: "0x80a0fb0" label: "0" color: blue}
+edge: {sourcename: "0x80a0cd0" targetname: "0x80a0d28" label: "1" color: blue}
+node: {title: "0x80a0b2c" label: "Jmp " }
+node: {title: "0x80a0d28" label: "ProjM 0" color: yellow}
+edge: {sourcename: "0x80a0d28" targetname: "0x80a0d64" label: "0" color: blue}
+node: {title: "0x80a0d64" label: "Store " }
+edge: {sourcename: "0x80a0d64" targetname: "0x80a0cd0" label: "0" color: blue}
+edge: {sourcename: "0x80a0d64" targetname: "0x80a0f40" label: "1" }
+edge: {sourcename: "0x80a0d64" targetname: "0x80a0de0" label: "2" }
+node: {title: "0x80a0de0" label: "PhiI " color: green}
+edge: {sourcename: "0x80a0de0" targetname: "0x80a0ec8" label: "0" }
+edge: {sourcename: "0x80a0de0" targetname: "0x80a0e38" label: "1" }
+node: {title: "0x80a0e38" label: "PhiI " color: green}
+edge: {sourcename: "0x80a0e38" targetname: "0x80a0e90" label: "0" }
+edge: {sourcename: "0x80a0e38" targetname: "0x80a0de0" label: "1" }
+}
+
+graph: { title: "0x80a0c58"  label: "Block" status:clustered color:yellow
+edge: {sourcename: "0x80a0c58" targetname: "0x80a0a3c" label: "0" color: red}
+node: {title: "0x80a0c24" label: "Jmp " }
+node: {title: "0x80a0ec8" label: "ProjI 0" color: yellow}
+edge: {sourcename: "0x80a0ec8" targetname: "0x80a0f04" label: "0" }
+}
+
+graph: { title: "0x80a09c4"  label: "Block" status:clustered color:yellow
+edge: {sourcename: "0x80a09c4" targetname: "0x80a0a3c" label: "0" color: red}
+node: {title: "0x80a0a3c" label: "ProjX 0" color: yellow}
+edge: {sourcename: "0x80a0a3c" targetname: "0x80a0a78" label: "0" color: red}
+node: {title: "0x80a0a78" label: "Start " color: blue}
+node: {title: "0x80a0e90" label: "1I " color: yellow}
+node: {title: "0x80a0f04" label: "ProjT 4" color: yellow}
+edge: {sourcename: "0x80a0f04" targetname: "0x80a0a78" label: "0" }
+node: {title: "0x80a0f40" label: "VAR_AP " color: yellow}
+node: {title: "0x80a0fb0" label: "ProjM 1" color: yellow}
+edge: {sourcename: "0x80a0fb0" targetname: "0x80a0a78" label: "0" color: blue}
+}
+
+node: {title: "0x80a0990" label: "Bad " }
+}
diff --git a/testprograms/ref-results/GLOBAL_CSE_EXAMPLE_main.vcg b/testprograms/ref-results/GLOBAL_CSE_EXAMPLE_main.vcg
new file mode 100644 (file)
index 0000000..7e072a0
--- /dev/null
@@ -0,0 +1,74 @@
+graph: { title: "ir graph of GLOBAL_CSE_EXAMPLE_main"
+display_edge_labels: yes
+layoutalgorithm: mindepth
+manhattan_edges: yes
+port_sharing: no
+orientation: bottom_to_top
+classname 1: "Data"
+classname 2: "Block"
+classname 3: "Entity type"classname 4: "Entity owner"classname 5: "Method Param"classname 6: "Method Res"classname 7: "Super"classname 8: "Union"classname 9: "Points-to"classname 10: "Array Element Type"classname 11: "Overwrites"classname 12: "Member"
+graph: { title: "0x80a0870"  label: "Block" status:clustered color:yellow
+edge: {sourcename: "0x80a0870" targetname: "0x80a08e8" label: "0" color: red}
+node: {title: "0x80a0850" label: "End " color: blue}
+}
+
+graph: { title: "0x80a0924"  label: "Block" status:clustered color:yellow
+edge: {sourcename: "0x80a0924" targetname: "0x80a0d54" label: "0" color: red}
+edge: {sourcename: "0x80a0924" targetname: "0x80a09a4" label: "1" color: red}
+node: {title: "0x80a08e8" label: "Return " }
+edge: {sourcename: "0x80a08e8" targetname: "0x80a0f7c" label: "0" color: blue}
+edge: {sourcename: "0x80a08e8" targetname: "0x80a0e3c" label: "1" }
+node: {title: "0x80a0e3c" label: "PhiI " color: green}
+edge: {sourcename: "0x80a0e3c" targetname: "0x80a0f08" label: "0" }
+edge: {sourcename: "0x80a0e3c" targetname: "0x80a0e94" label: "1" }
+}
+
+graph: { title: "0x80a09d8"  label: "Block" status:clustered color:yellow
+edge: {sourcename: "0x80a09d8" targetname: "0x80a0a50" label: "0" color: red}
+node: {title: "0x80a09a4" label: "Jmp " }
+}
+
+graph: { title: "0x80a0a8c"  label: "Block" status:clustered color:yellow
+edge: {sourcename: "0x80a0a8c" targetname: "0x80a0b04" label: "0" color: red}
+node: {title: "0x80a0bec" label: "Cond " }
+edge: {sourcename: "0x80a0bec" targetname: "0x80a0c2c" label: "0" }
+}
+
+graph: { title: "0x80a0b40"  label: "Block" status:clustered color:yellow
+edge: {sourcename: "0x80a0b40" targetname: "0x80a0b04" label: "0" color: red}
+node: {title: "0x80a0bb8" label: "Start " color: blue}
+}
+
+graph: { title: "0x80a0d88"  label: "Block" status:clustered color:yellow
+edge: {sourcename: "0x80a0d88" targetname: "0x80a0e00" label: "0" color: red}
+node: {title: "0x80a0d54" label: "Jmp " }
+}
+
+node: {title: "0x80a0a50" label: "ProjX 1" color: yellow}
+edge: {sourcename: "0x80a0a50" targetname: "0x80a0bec" label: "0" color: red}
+node: {title: "0x80a0b04" label: "ProjX 0" color: yellow}
+edge: {sourcename: "0x80a0b04" targetname: "0x80a0bb8" label: "0" color: red}
+node: {title: "0x80a0c2c" label: "Projb Eq" color: yellow}
+edge: {sourcename: "0x80a0c2c" targetname: "0x80a0c68" label: "0" }
+node: {title: "0x80a0c68" label: "CmpT " }
+edge: {sourcename: "0x80a0c68" targetname: "0x80a0cdc" label: "0" }
+edge: {sourcename: "0x80a0c68" targetname: "0x80a0ca4" label: "1" }
+node: {title: "0x80a0ca4" label: "2I " color: yellow}
+node: {title: "0x80a0cdc" label: "ProjI 0" color: yellow}
+edge: {sourcename: "0x80a0cdc" targetname: "0x80a0d18" label: "0" }
+node: {title: "0x80a0d18" label: "ProjT 4" color: yellow}
+edge: {sourcename: "0x80a0d18" targetname: "0x80a0bb8" label: "0" }
+node: {title: "0x80a0e00" label: "ProjX 0" color: yellow}
+edge: {sourcename: "0x80a0e00" targetname: "0x80a0bec" label: "0" color: red}
+node: {title: "0x80a0e94" label: "SubI " }
+edge: {sourcename: "0x80a0e94" targetname: "0x80a0cdc" label: "0" }
+edge: {sourcename: "0x80a0e94" targetname: "0x80a0ed0" label: "1" }
+node: {title: "0x80a0ed0" label: "3I " color: yellow}
+node: {title: "0x80a0f08" label: "AddI " }
+edge: {sourcename: "0x80a0f08" targetname: "0x80a0e94" label: "0" }
+edge: {sourcename: "0x80a0f08" targetname: "0x80a0f44" label: "1" }
+node: {title: "0x80a0f44" label: "5I " color: yellow}
+node: {title: "0x80a0f7c" label: "ProjM 1" color: yellow}
+edge: {sourcename: "0x80a0f7c" targetname: "0x80a0bb8" label: "0" color: blue}
+node: {title: "0x80a1030" label: "Bad " }
+}
diff --git a/testprograms/ref-results/GLOBAL_VAR_main-all.vcg b/testprograms/ref-results/GLOBAL_VAR_main-all.vcg
new file mode 100644 (file)
index 0000000..2b697f6
--- /dev/null
@@ -0,0 +1,77 @@
+graph: { title: "ir graph of GLOBAL_VAR_main"
+display_edge_labels: yes
+layoutalgorithm: mindepth
+manhattan_edges: yes
+port_sharing: no
+orientation: bottom_to_top
+classname 1: "Data"
+classname 2: "Block"
+classname 3: "Entity type"classname 4: "Entity owner"classname 5: "Method Param"classname 6: "Method Res"classname 7: "Super"classname 8: "Union"classname 9: "Points-to"classname 10: "Array Element Type"classname 11: "Overwrites"classname 12: "Member"
+node: {title: "0x80a0878" label: "End " color: blue}
+edge: { sourcename: "0x80a0878" targetname: "0x80a0898" class: 2 priority: 2 linestyle: dotted}
+node: {title: "0x80a0898" label: "Block " color: lightyellow}
+edge: {sourcename: "0x80a0898" targetname: "0x80a0910" label: "0" color: red}
+node: {title: "0x80a0910" label: "Return " }
+edge: { sourcename: "0x80a0910" targetname: "0x80a0948" class: 2 priority: 2 linestyle: dotted}
+edge: {sourcename: "0x80a0910" targetname: "0x80a0aa8" label: "0" color: blue}
+node: {title: "0x80a0948" label: "Block " color: lightyellow}
+edge: {sourcename: "0x80a0948" targetname: "0x80a09c0" label: "0" color: red}
+node: {title: "0x80a09c0" label: "ProjX 0" color: yellow}
+edge: { sourcename: "0x80a09c0" targetname: "0x80a09fc" class: 2 priority: 2 linestyle: dotted}
+edge: {sourcename: "0x80a09c0" targetname: "0x80a0a74" label: "0" color: red}
+node: {title: "0x80a09fc" label: "Block " color: lightyellow}
+edge: {sourcename: "0x80a09fc" targetname: "0x80a09c0" label: "0" color: red}
+node: {title: "0x80a0a74" label: "Start " color: blue}
+edge: { sourcename: "0x80a0a74" targetname: "0x80a09fc" class: 2 priority: 2 linestyle: dotted}
+node: {title: "0x80a0aa8" label: "ProjM 0" color: yellow}
+edge: { sourcename: "0x80a0aa8" targetname: "0x80a0948" class: 2 priority: 2 linestyle: dotted}
+edge: {sourcename: "0x80a0aa8" targetname: "0x80a0ae4" label: "0" color: blue}
+node: {title: "0x80a0ae4" label: "Store " }
+edge: { sourcename: "0x80a0ae4" targetname: "0x80a0948" class: 2 priority: 2 linestyle: dotted}
+edge: {sourcename: "0x80a0ae4" targetname: "0x80a0bdc" label: "0" color: blue}
+edge: {sourcename: "0x80a0ae4" targetname: "0x80a0b60" label: "1" }
+edge: {sourcename: "0x80a0ae4" targetname: "0x80a0b28" label: "2" }
+node: {title: "0x80a0b28" label: "2I " color: yellow}
+edge: { sourcename: "0x80a0b28" targetname: "0x80a09fc" class: 2 priority: 2 linestyle: dotted}
+node: {title: "0x80a0b60" label: "Sel i" }
+edge: { sourcename: "0x80a0b60" targetname: "0x80a0948" class: 2 priority: 2 linestyle: dotted}
+edge: {sourcename: "0x80a0b60" targetname: "0x80a0bdc" label: "0" color: blue}
+edge: {sourcename: "0x80a0b60" targetname: "0x80a0ba0" label: "1" }
+node: {title: "0x80a0ba0" label: "ProjP 3" color: yellow}
+edge: { sourcename: "0x80a0ba0" targetname: "0x80a09fc" class: 2 priority: 2 linestyle: dotted}
+edge: {sourcename: "0x80a0ba0" targetname: "0x80a0a74" label: "0" }
+node: {title: "0x80a0bdc" label: "ProjM 1" color: yellow}
+edge: { sourcename: "0x80a0bdc" targetname: "0x80a09fc" class: 2 priority: 2 linestyle: dotted}
+edge: {sourcename: "0x80a0bdc" targetname: "0x80a0a74" label: "0" color: blue}
+node: {title: "0x809e1e0" label: "ent i" color: yellow info1:"automatic allocated
+local
+uninitialized
+non_volatile
+existent
+"}
+edge: { sourcename: "0x809e1e0" targetname: "0x809e0c0" class: 3 label: "type" color: red}
+node: {title: "0x809bae0" label: "class GlobalType"info1: "state: layout_undefined
+size: -1B,
+" color: green}
+edge: { sourcename: "0x809bae0" targetname: "0x809e170" class: 12 label: "member" color:blue}
+edge: { sourcename: "0x809bae0" targetname: "0x809e1e0" class: 12 label: "member" color:blue}
+node: {title: "0x809e170" label: "ent GLOBAL_VAR_main" color: yellow info1:"static allocated
+local
+constant
+non_volatile
+existent
+
+ irg = 0x809e278 "}
+edge: { sourcename: "0x809e170" targetname: "0x809e0e8" class: 3 label: "type" color: red}
+edge: { sourcename: "0x809e170" targetname: "0x809be78" label: "value "}
+node: {title: "0x809be78" label: "&(GlobalType_GLOBAL_VAR_main)P " color: yellow}
+node: {title: "0x809e0e8" label: "method GLOBAL_VAR_main"info1: "state: layout_fixed,
+mode: P,
+size: 4B,
+"}
+node: {title: "0x809e0c0" label: "primitive int"info1: "state: layout_fixed,
+mode: I,
+size: 4B,
+"}
+edge: { sourcename: "0x80a0b60" targetname: "0x809e1e0" class: 2 priority: 2 linestyle: dotted}
+}
diff --git a/testprograms/ref-results/GLOBAL_VAR_main.vcg b/testprograms/ref-results/GLOBAL_VAR_main.vcg
new file mode 100644 (file)
index 0000000..e9021ff
--- /dev/null
@@ -0,0 +1,43 @@
+graph: { title: "ir graph of GLOBAL_VAR_main"
+display_edge_labels: yes
+layoutalgorithm: mindepth
+manhattan_edges: yes
+port_sharing: no
+orientation: bottom_to_top
+classname 1: "Data"
+classname 2: "Block"
+classname 3: "Entity type"classname 4: "Entity owner"classname 5: "Method Param"classname 6: "Method Res"classname 7: "Super"classname 8: "Union"classname 9: "Points-to"classname 10: "Array Element Type"classname 11: "Overwrites"classname 12: "Member"
+graph: { title: "0x80a0898"  label: "Block" status:clustered color:yellow
+edge: {sourcename: "0x80a0898" targetname: "0x80a0910" label: "0" color: red}
+node: {title: "0x80a0878" label: "End " color: blue}
+}
+
+graph: { title: "0x80a0948"  label: "Block" status:clustered color:yellow
+edge: {sourcename: "0x80a0948" targetname: "0x80a09c0" label: "0" color: red}
+node: {title: "0x80a0910" label: "Return " }
+edge: {sourcename: "0x80a0910" targetname: "0x80a0aa8" label: "0" color: blue}
+node: {title: "0x80a0aa8" label: "ProjM 0" color: yellow}
+edge: {sourcename: "0x80a0aa8" targetname: "0x80a0ae4" label: "0" color: blue}
+node: {title: "0x80a0ae4" label: "Store " }
+edge: {sourcename: "0x80a0ae4" targetname: "0x80a0bdc" label: "0" color: blue}
+edge: {sourcename: "0x80a0ae4" targetname: "0x80a0b60" label: "1" }
+edge: {sourcename: "0x80a0ae4" targetname: "0x80a0b28" label: "2" }
+node: {title: "0x80a0b60" label: "Sel i" }
+edge: {sourcename: "0x80a0b60" targetname: "0x80a0bdc" label: "0" color: blue}
+edge: {sourcename: "0x80a0b60" targetname: "0x80a0ba0" label: "1" }
+}
+
+graph: { title: "0x80a09fc"  label: "Block" status:clustered color:yellow
+edge: {sourcename: "0x80a09fc" targetname: "0x80a09c0" label: "0" color: red}
+node: {title: "0x80a09c0" label: "ProjX 0" color: yellow}
+edge: {sourcename: "0x80a09c0" targetname: "0x80a0a74" label: "0" color: red}
+node: {title: "0x80a0a74" label: "Start " color: blue}
+node: {title: "0x80a0b28" label: "2I " color: yellow}
+node: {title: "0x80a0ba0" label: "ProjP 3" color: yellow}
+edge: {sourcename: "0x80a0ba0" targetname: "0x80a0a74" label: "0" }
+node: {title: "0x80a0bdc" label: "ProjM 1" color: yellow}
+edge: {sourcename: "0x80a0bdc" targetname: "0x80a0a74" label: "0" color: blue}
+}
+
+node: {title: "0x80a0c90" label: "Bad " }
+}
diff --git a/testprograms/ref-results/IF_ELSE_EXAMPLE_main.vcg b/testprograms/ref-results/IF_ELSE_EXAMPLE_main.vcg
new file mode 100644 (file)
index 0000000..590c29e
--- /dev/null
@@ -0,0 +1,35 @@
+graph: { title: "ir graph of IF_ELSE_EXAMPLE_main"
+display_edge_labels: yes
+layoutalgorithm: mindepth
+manhattan_edges: yes
+port_sharing: no
+orientation: bottom_to_top
+classname 1: "Data"
+classname 2: "Block"
+classname 3: "Entity type"classname 4: "Entity owner"classname 5: "Method Param"classname 6: "Method Res"classname 7: "Super"classname 8: "Union"classname 9: "Points-to"classname 10: "Array Element Type"classname 11: "Overwrites"classname 12: "Member"
+graph: { title: "0x80a0860"  label: "Block" status:clustered color:yellow
+edge: {sourcename: "0x80a0860" targetname: "0x80a08d8" label: "0" color: red}
+node: {title: "0x80a0840" label: "End " color: blue}
+}
+
+graph: { title: "0x80a09c4"  label: "Block" status:clustered color:yellow
+edge: {sourcename: "0x80a09c4" targetname: "0x80a0a3c" label: "0" color: red}
+node: {title: "0x80a08d8" label: "Return " }
+edge: {sourcename: "0x80a08d8" targetname: "0x80a0be0" label: "0" color: blue}
+edge: {sourcename: "0x80a08d8" targetname: "0x80a0ba8" label: "1" }
+edge: {sourcename: "0x80a08d8" targetname: "0x80a0b70" label: "2" }
+}
+
+graph: { title: "0x80a0a78"  label: "Block" status:clustered color:yellow
+edge: {sourcename: "0x80a0a78" targetname: "0x80a0a3c" label: "0" color: red}
+node: {title: "0x80a0a3c" label: "ProjX 0" color: yellow}
+edge: {sourcename: "0x80a0a3c" targetname: "0x80a0af0" label: "0" color: red}
+node: {title: "0x80a0af0" label: "Start " color: blue}
+node: {title: "0x80a0b70" label: "2I " color: yellow}
+node: {title: "0x80a0ba8" label: "0I " color: yellow}
+node: {title: "0x80a0be0" label: "ProjM 1" color: yellow}
+edge: {sourcename: "0x80a0be0" targetname: "0x80a0af0" label: "0" color: blue}
+}
+
+node: {title: "0x80a0b24" label: "Bad " }
+}
diff --git a/testprograms/ref-results/IF_EXAMPLE_main.vcg b/testprograms/ref-results/IF_EXAMPLE_main.vcg
new file mode 100644 (file)
index 0000000..d2c033c
--- /dev/null
@@ -0,0 +1,65 @@
+graph: { title: "ir graph of IF_EXAMPLE_main"
+display_edge_labels: yes
+layoutalgorithm: mindepth
+manhattan_edges: yes
+port_sharing: no
+orientation: bottom_to_top
+classname 1: "Data"
+classname 2: "Block"
+classname 3: "Entity type"classname 4: "Entity owner"classname 5: "Method Param"classname 6: "Method Res"classname 7: "Super"classname 8: "Union"classname 9: "Points-to"classname 10: "Array Element Type"classname 11: "Overwrites"classname 12: "Member"
+graph: { title: "0x809e2a0"  label: "Block" status:clustered color:yellow
+edge: {sourcename: "0x809e2a0" targetname: "0x809eb2c" label: "0" color: red}
+node: {title: "0x809e30c" label: "End " color: blue}
+}
+
+graph: { title: "0x809e910"  label: "Block" status:clustered color:yellow
+edge: {sourcename: "0x809e910" targetname: "0x809e720" label: "0" color: red}
+edge: {sourcename: "0x809e910" targetname: "0x809e8dc" label: "1" color: red}
+node: {title: "0x809eb2c" label: "Return " }
+edge: {sourcename: "0x809eb2c" targetname: "0x809e470" label: "0" color: blue}
+edge: {sourcename: "0x809eb2c" targetname: "0x809e9cc" label: "1" }
+node: {title: "0x809e9cc" label: "PhiI " color: green}
+edge: {sourcename: "0x809e9cc" targetname: "0x809e5e0" label: "0" }
+edge: {sourcename: "0x809e9cc" targetname: "0x809e874" label: "1" }
+}
+
+graph: { title: "0x809e798"  label: "Block" status:clustered color:yellow
+edge: {sourcename: "0x809e798" targetname: "0x809e75c" label: "0" color: red}
+node: {title: "0x809e8dc" label: "Jmp " }
+node: {title: "0x809e874" label: "SubI " }
+edge: {sourcename: "0x809e874" targetname: "0x809e5e0" label: "0" }
+edge: {sourcename: "0x809e874" targetname: "0x809e804" label: "1" }
+}
+
+graph: { title: "0x809e574"  label: "Block" status:clustered color:yellow
+edge: {sourcename: "0x809e574" targetname: "0x809e434" label: "0" color: red}
+node: {title: "0x809e75c" label: "ProjX 1" color: yellow}
+edge: {sourcename: "0x809e75c" targetname: "0x809e6e0" label: "0" color: red}
+node: {title: "0x809e6e0" label: "Cond " }
+edge: {sourcename: "0x809e6e0" targetname: "0x809e6a4" label: "0" }
+node: {title: "0x809e6a4" label: "Projb Eq" color: yellow}
+edge: {sourcename: "0x809e6a4" targetname: "0x809e668" label: "0" }
+node: {title: "0x809e668" label: "CmpT " }
+edge: {sourcename: "0x809e668" targetname: "0x809e5e0" label: "0" }
+edge: {sourcename: "0x809e668" targetname: "0x809e61c" label: "1" }
+node: {title: "0x809e5e0" label: "ProjI 0" color: yellow}
+edge: {sourcename: "0x809e5e0" targetname: "0x809e524" label: "0" }
+node: {title: "0x809e720" label: "ProjX 0" color: yellow}
+edge: {sourcename: "0x809e720" targetname: "0x809e6e0" label: "0" color: red}
+}
+
+graph: { title: "0x809e32c"  label: "Block" status:clustered color:yellow
+edge: {sourcename: "0x809e32c" targetname: "0x809e434" label: "0" color: red}
+node: {title: "0x809e434" label: "ProjX 0" color: yellow}
+edge: {sourcename: "0x809e434" targetname: "0x809e398" label: "0" color: red}
+node: {title: "0x809e398" label: "Start " color: blue}
+node: {title: "0x809e61c" label: "2I " color: yellow}
+node: {title: "0x809e524" label: "ProjT 4" color: yellow}
+edge: {sourcename: "0x809e524" targetname: "0x809e398" label: "0" }
+node: {title: "0x809e804" label: "3I " color: yellow}
+node: {title: "0x809e470" label: "ProjM 1" color: yellow}
+edge: {sourcename: "0x809e470" targetname: "0x809e398" label: "0" color: blue}
+}
+
+node: {title: "0x809e3cc" label: "Bad " }
+}
diff --git a/testprograms/ref-results/IF_WHILE_EXAMPLE_main.vcg b/testprograms/ref-results/IF_WHILE_EXAMPLE_main.vcg
new file mode 100644 (file)
index 0000000..40e64f8
--- /dev/null
@@ -0,0 +1,116 @@
+graph: { title: "ir graph of IF_WHILE_EXAMPLE_main"
+display_edge_labels: no
+layoutalgorithm: mindepth
+manhattan_edges: yes
+port_sharing: no
+orientation: bottom_to_top
+classname 1: "Data"
+classname 2: "Block"
+classname 3: "Entity type"classname 4: "Entity owner"classname 5: "Method Param"classname 6: "Method Res"classname 7: "Super"classname 8: "Union"classname 9: "Points-to"classname 10: "Array Element Type"classname 11: "Overwrites"classname 12: "Member"
+node: {title: "0x80a0d8c" label: "Start " color: blue}
+edge: { sourcename: "0x80a0d8c" targetname: "0x80a0cd8" class: 2 priority: 2 linestyle: dotted}
+node: {title: "0x80a0d50" label: "ProjX 0" color: yellow}
+edge: { sourcename: "0x80a0d50" targetname: "0x80a0cd8" class: 2 priority: 2 linestyle: dotted}
+edge: {sourcename: "0x80a0d50" targetname: "0x80a0d8c" label: "0" color: red}
+node: {title: "0x80a0cd8" label: "Block " color: lightyellow}
+edge: {sourcename: "0x80a0cd8" targetname: "0x80a0d50" label: "0" color: red}
+node: {title: "0x80a0ca0" label: "0I " color: yellow}
+edge: { sourcename: "0x80a0ca0" targetname: "0x80a0cd8" class: 2 priority: 2 linestyle: dotted}
+node: {title: "0x80a0c64" label: "CmpT " }
+edge: { sourcename: "0x80a0c64" targetname: "0x80a0a80" class: 2 priority: 2 linestyle: dotted}
+edge: {sourcename: "0x80a0c64" targetname: "0x80a0ca0" label: "0" }
+edge: {sourcename: "0x80a0c64" targetname: "0x80a0ca0" label: "1" }
+node: {title: "0x80a0c28" label: "Projb Eq" color: yellow}
+edge: { sourcename: "0x80a0c28" targetname: "0x80a0a80" class: 2 priority: 2 linestyle: dotted}
+edge: {sourcename: "0x80a0c28" targetname: "0x80a0c64" label: "0" }
+node: {title: "0x80a0be8" label: "Cond " }
+edge: { sourcename: "0x80a0be8" targetname: "0x80a0a80" class: 2 priority: 2 linestyle: dotted}
+edge: {sourcename: "0x80a0be8" targetname: "0x80a0c28" label: "0" }
+node: {title: "0x80a0bac" label: "ProjX 1" color: yellow}
+edge: { sourcename: "0x80a0bac" targetname: "0x80a0a80" class: 2 priority: 2 linestyle: dotted}
+edge: {sourcename: "0x80a0bac" targetname: "0x80a0be8" label: "0" color: red}
+node: {title: "0x80a0b34" label: "Block " color: lightyellow}
+edge: {sourcename: "0x80a0b34" targetname: "0x80a0bac" label: "0" color: red}
+node: {title: "0x80a0b00" label: "Jmp " }
+edge: { sourcename: "0x80a0b00" targetname: "0x80a0b34" class: 2 priority: 2 linestyle: dotted}
+node: {title: "0x80a0df4" label: "Block " color: lightyellow}
+edge: {sourcename: "0x80a0df4" targetname: "0x80a0d50" label: "0" color: red}
+node: {title: "0x80a0dc0" label: "Jmp " }
+edge: { sourcename: "0x80a0dc0" targetname: "0x80a0df4" class: 2 priority: 2 linestyle: dotted}
+node: {title: "0x80a0a80" label: "Block " color: lightyellow}
+edge: {sourcename: "0x80a0a80" targetname: "0x80a0dc0" label: "0" color: red}
+edge: {sourcename: "0x80a0a80" targetname: "0x80a0b00" label: "1" color: red}
+node: {title: "0x80a0a44" label: "ProjX 0" color: yellow}
+edge: { sourcename: "0x80a0a44" targetname: "0x80a0a80" class: 2 priority: 2 linestyle: dotted}
+edge: {sourcename: "0x80a0a44" targetname: "0x80a0be8" label: "0" color: red}
+node: {title: "0x80a09cc" label: "Block " color: lightyellow}
+edge: {sourcename: "0x80a09cc" targetname: "0x80a0a44" label: "0" color: red}
+node: {title: "0x80a0f58" label: "0I " color: yellow}
+edge: { sourcename: "0x80a0f58" targetname: "0x80a0cd8" class: 2 priority: 2 linestyle: dotted}
+node: {title: "0x80a0f00" label: "PhiI " color: green}
+edge: { sourcename: "0x80a0f00" targetname: "0x80a0a80" class: 2 priority: 2 linestyle: dotted}
+edge: {sourcename: "0x80a0f00" targetname: "0x80a0f58" label: "0" }
+edge: {sourcename: "0x80a0f00" targetname: "0x80a0ea8" label: "1" }
+node: {title: "0x80a0f90" label: "1I " color: yellow}
+edge: { sourcename: "0x80a0f90" targetname: "0x80a0cd8" class: 2 priority: 2 linestyle: dotted}
+node: {title: "0x80a0ea8" label: "PhiI " color: green}
+edge: { sourcename: "0x80a0ea8" targetname: "0x80a0a80" class: 2 priority: 2 linestyle: dotted}
+edge: {sourcename: "0x80a0ea8" targetname: "0x80a0f90" label: "0" }
+edge: {sourcename: "0x80a0ea8" targetname: "0x80a0f00" label: "1" }
+node: {title: "0x80a0e6c" label: "SubI " }
+edge: { sourcename: "0x80a0e6c" targetname: "0x80a09cc" class: 2 priority: 2 linestyle: dotted}
+edge: {sourcename: "0x80a0e6c" targetname: "0x80a0f00" label: "0" }
+edge: {sourcename: "0x80a0e6c" targetname: "0x80a0ea8" label: "1" }
+node: {title: "0x80a0fc8" label: "ProjM 1" color: yellow}
+edge: { sourcename: "0x80a0fc8" targetname: "0x80a0cd8" class: 2 priority: 2 linestyle: dotted}
+edge: {sourcename: "0x80a0fc8" targetname: "0x80a0d8c" label: "0" color: blue}
+node: {title: "0x80a0990" label: "Return " }
+edge: { sourcename: "0x80a0990" targetname: "0x80a09cc" class: 2 priority: 2 linestyle: dotted}
+edge: {sourcename: "0x80a0990" targetname: "0x80a0fc8" label: "0" color: blue}
+edge: {sourcename: "0x80a0990" targetname: "0x80a0e6c" label: "1" }
+node: {title: "0x80a0918" label: "Block " color: lightyellow}
+edge: {sourcename: "0x80a0918" targetname: "0x80a0990" label: "0" color: red}
+node: {title: "0x80a08f8" label: "End " color: blue}
+edge: { sourcename: "0x80a08f8" targetname: "0x80a0918" class: 2 priority: 2 linestyle: dotted}
+edge: {sourcename: "0x80a0d8c" targetname: "0x80a0d50" color: red linestyle: dashed}
+edge: {sourcename: "0x80a0d8c" targetname: "0x80a0fc8" color: red linestyle: dashed}
+edge: {sourcename: "0x80a0d50" targetname: "0x80a0df4" color: red linestyle: dashed}
+edge: {sourcename: "0x80a0d50" targetname: "0x80a0cd8" color: red linestyle: dashed}
+edge: {sourcename: "0x80a0df4" targetname: "0x80a0dc0" color: red linestyle: dashed}
+edge: {sourcename: "0x80a0dc0" targetname: "0x80a0a80" color: red linestyle: dashed}
+edge: {sourcename: "0x80a0a80" targetname: "0x80a0bac" color: red linestyle: dashed}
+edge: {sourcename: "0x80a0a80" targetname: "0x80a0be8" color: red linestyle: dashed}
+edge: {sourcename: "0x80a0a80" targetname: "0x80a0c28" color: red linestyle: dashed}
+edge: {sourcename: "0x80a0a80" targetname: "0x80a0c64" color: red linestyle: dashed}
+edge: {sourcename: "0x80a0a80" targetname: "0x80a0a44" color: red linestyle: dashed}
+edge: {sourcename: "0x80a0a80" targetname: "0x80a0f00" color: red linestyle: dashed}
+edge: {sourcename: "0x80a0a80" targetname: "0x80a0ea8" color: red linestyle: dashed}
+edge: {sourcename: "0x80a0bac" targetname: "0x80a0b34" color: red linestyle: dashed}
+edge: {sourcename: "0x80a0b34" targetname: "0x80a0b00" color: red linestyle: dashed}
+edge: {sourcename: "0x80a0b00" targetname: "0x80a0a80" color: red linestyle: dashed}
+edge: {sourcename: "0x80a0be8" targetname: "0x80a0bac" color: red linestyle: dashed}
+edge: {sourcename: "0x80a0be8" targetname: "0x80a0a44" color: red linestyle: dashed}
+edge: {sourcename: "0x80a0a44" targetname: "0x80a09cc" color: red linestyle: dashed}
+edge: {sourcename: "0x80a09cc" targetname: "0x80a0990" color: red linestyle: dashed}
+edge: {sourcename: "0x80a09cc" targetname: "0x80a0e6c" color: red linestyle: dashed}
+edge: {sourcename: "0x80a0990" targetname: "0x80a0918" color: red linestyle: dashed}
+edge: {sourcename: "0x80a0918" targetname: "0x80a08f8" color: red linestyle: dashed}
+edge: {sourcename: "0x80a0e6c" targetname: "0x80a0990" color: red linestyle: dashed}
+edge: {sourcename: "0x80a0c28" targetname: "0x80a0be8" color: red linestyle: dashed}
+edge: {sourcename: "0x80a0c64" targetname: "0x80a0c28" color: red linestyle: dashed}
+edge: {sourcename: "0x80a0f00" targetname: "0x80a0ea8" color: red linestyle: dashed}
+edge: {sourcename: "0x80a0f00" targetname: "0x80a0e6c" color: red linestyle: dashed}
+edge: {sourcename: "0x80a0ea8" targetname: "0x80a0f00" color: red linestyle: dashed}
+edge: {sourcename: "0x80a0ea8" targetname: "0x80a0e6c" color: red linestyle: dashed}
+edge: {sourcename: "0x80a0cd8" targetname: "0x80a0d50" color: red linestyle: dashed}
+edge: {sourcename: "0x80a0cd8" targetname: "0x80a0d8c" color: red linestyle: dashed}
+edge: {sourcename: "0x80a0cd8" targetname: "0x80a0ca0" color: red linestyle: dashed}
+edge: {sourcename: "0x80a0cd8" targetname: "0x80a0fc8" color: red linestyle: dashed}
+edge: {sourcename: "0x80a0cd8" targetname: "0x80a0f58" color: red linestyle: dashed}
+edge: {sourcename: "0x80a0cd8" targetname: "0x80a0f90" color: red linestyle: dashed}
+edge: {sourcename: "0x80a0ca0" targetname: "0x80a0c64" color: red linestyle: dashed}
+edge: {sourcename: "0x80a0ca0" targetname: "0x80a0c64" color: red linestyle: dashed}
+edge: {sourcename: "0x80a0fc8" targetname: "0x80a0990" color: red linestyle: dashed}
+edge: {sourcename: "0x80a0f58" targetname: "0x80a0f00" color: red linestyle: dashed}
+edge: {sourcename: "0x80a0f90" targetname: "0x80a0ea8" color: red linestyle: dashed}
+}
diff --git a/testprograms/ref-results/IRREGULAR_CF_main-cfg.vcg b/testprograms/ref-results/IRREGULAR_CF_main-cfg.vcg
new file mode 100644 (file)
index 0000000..e30b3eb
--- /dev/null
@@ -0,0 +1,29 @@
+graph: { title: "ir graph of IRREGULAR_CF_main"
+display_edge_labels: yes
+layoutalgorithm: mindepth
+manhattan_edges: yes
+port_sharing: no
+orientation: bottom_to_top
+classname 1: "Data"
+classname 2: "Block"
+classname 3: "Entity type"classname 4: "Entity owner"classname 5: "Method Param"classname 6: "Method Res"classname 7: "Super"classname 8: "Union"classname 9: "Points-to"classname 10: "Array Element Type"classname 11: "Overwrites"classname 12: "Member"
+node: {title:"0x80a0918" label: "Block 0x80a0918" }
+edge: { sourcename: "0x80a0918" targetname: "0x80a09c8" }
+node: {title:"0x80a09c8" label: "Block 0x80a09c8" }
+edge: { sourcename: "0x80a09c8" targetname: "0x80a1080" }
+edge: { sourcename: "0x80a09c8" targetname: "0x80a0a7c" }
+node: {title:"0x80a0a7c" label: "Block 0x80a0a7c" }
+edge: { sourcename: "0x80a0a7c" targetname: "0x80a0ea8" }
+edge: { sourcename: "0x80a0a7c" targetname: "0x80a0b30" }
+node: {title:"0x80a0b30" label: "Block 0x80a0b30" }
+edge: { sourcename: "0x80a0b30" targetname: "0x80a0be4" }
+node: {title:"0x80a0be4" label: "Block 0x80a0be4" }
+edge: { sourcename: "0x80a0be4" targetname: "0x80a0c98" }
+node: {title:"0x80a0c98" label: "Block 0x80a0c98" }
+edge: { sourcename: "0x80a0c98" targetname: "0x80a0c98" }
+node: {title:"0x80a0ea8" label: "Block 0x80a0ea8" }
+edge: { sourcename: "0x80a0ea8" targetname: "0x80a0be4" }
+node: {title:"0x80a1080" label: "Block 0x80a1080" }
+edge: { sourcename: "0x80a1080" targetname: "0x80a0ea8" }
+node: {title: "0x80a1224" label: "BadT" }
+}
diff --git a/testprograms/ref-results/IRREGULAR_CF_main.vcg b/testprograms/ref-results/IRREGULAR_CF_main.vcg
new file mode 100644 (file)
index 0000000..d9e83b2
--- /dev/null
@@ -0,0 +1,81 @@
+graph: { title: "ir graph of IRREGULAR_CF_main"
+display_edge_labels: yes
+layoutalgorithm: mindepth
+manhattan_edges: yes
+port_sharing: no
+orientation: bottom_to_top
+classname 1: "Data"
+classname 2: "Block"
+classname 3: "Entity type"classname 4: "Entity owner"classname 5: "Method Param"classname 6: "Method Res"classname 7: "Super"classname 8: "Union"classname 9: "Points-to"classname 10: "Array Element Type"classname 11: "Overwrites"classname 12: "Member"
+graph: { title: "0x80a0918"  label: "Block" status:clustered color:yellow
+edge: {sourcename: "0x80a0918" targetname: "0x80a0990" label: "0" color: red}
+node: {title: "0x80a08f8" label: "End " color: blue}
+}
+
+graph: { title: "0x80a09c8"  label: "Block" status:clustered color:yellow
+edge: {sourcename: "0x80a09c8" targetname: "0x80a104c" label: "0" color: red}
+edge: {sourcename: "0x80a09c8" targetname: "0x80a0a48" label: "1" color: red}
+node: {title: "0x80a0990" label: "Return " }
+edge: {sourcename: "0x80a0990" targetname: "0x80a1134" label: "0" color: blue}
+}
+
+graph: { title: "0x80a0a7c"  label: "Block" status:clustered color:yellow
+edge: {sourcename: "0x80a0a7c" targetname: "0x80a0e6c" label: "0" color: red}
+edge: {sourcename: "0x80a0a7c" targetname: "0x80a0afc" label: "1" color: red}
+node: {title: "0x80a0a48" label: "Jmp " }
+}
+
+graph: { title: "0x80a0b30"  label: "Block" status:clustered color:yellow
+edge: {sourcename: "0x80a0b30" targetname: "0x80a0ba8" label: "0" color: red}
+node: {title: "0x80a0afc" label: "Jmp " }
+}
+
+graph: { title: "0x80a0be4"  label: "Block" status:clustered color:yellow
+edge: {sourcename: "0x80a0be4" targetname: "0x80a0c5c" label: "0" color: red}
+node: {title: "0x80a0ba8" label: "ProjX 1" color: yellow}
+edge: {sourcename: "0x80a0ba8" targetname: "0x80a0d44" label: "0" color: red}
+node: {title: "0x80a0d44" label: "Cond " }
+edge: {sourcename: "0x80a0d44" targetname: "0x80a0d84" label: "0" }
+node: {title: "0x80a0d84" label: "Projb Eq" color: yellow}
+edge: {sourcename: "0x80a0d84" targetname: "0x80a0dc0" label: "0" }
+node: {title: "0x80a0dc0" label: "CmpT " }
+edge: {sourcename: "0x80a0dc0" targetname: "0x80a0e34" label: "0" }
+edge: {sourcename: "0x80a0dc0" targetname: "0x80a0dfc" label: "1" }
+node: {title: "0x80a0f20" label: "ProjX 0" color: yellow}
+edge: {sourcename: "0x80a0f20" targetname: "0x80a0d44" label: "0" color: red}
+}
+
+graph: { title: "0x80a0c98"  label: "Block" status:clustered color:yellow
+edge: {sourcename: "0x80a0c98" targetname: "0x80a0c5c" label: "0" color: red}
+node: {title: "0x80a0c5c" label: "ProjX 0" color: yellow}
+edge: {sourcename: "0x80a0c5c" targetname: "0x80a0d10" label: "0" color: red}
+node: {title: "0x80a0d10" label: "Start " color: blue}
+node: {title: "0x80a0dfc" label: "1I " color: yellow}
+node: {title: "0x80a0e34" label: "0I " color: yellow}
+node: {title: "0x80a1014" label: "2I " color: yellow}
+node: {title: "0x80a1134" label: "ProjM 1" color: yellow}
+edge: {sourcename: "0x80a1134" targetname: "0x80a0d10" label: "0" color: blue}
+}
+
+graph: { title: "0x80a0ea8"  label: "Block" status:clustered color:yellow
+edge: {sourcename: "0x80a0ea8" targetname: "0x80a0f20" label: "0" color: red}
+node: {title: "0x80a0e6c" label: "ProjX 1" color: yellow}
+edge: {sourcename: "0x80a0e6c" targetname: "0x80a0f5c" label: "0" color: red}
+node: {title: "0x80a0f5c" label: "Cond " }
+edge: {sourcename: "0x80a0f5c" targetname: "0x80a0f9c" label: "0" }
+node: {title: "0x80a0f9c" label: "Projb Eq" color: yellow}
+edge: {sourcename: "0x80a0f9c" targetname: "0x80a0fd8" label: "0" }
+node: {title: "0x80a0fd8" label: "CmpT " }
+edge: {sourcename: "0x80a0fd8" targetname: "0x80a0e34" label: "0" }
+edge: {sourcename: "0x80a0fd8" targetname: "0x80a1014" label: "1" }
+node: {title: "0x80a10f8" label: "ProjX 0" color: yellow}
+edge: {sourcename: "0x80a10f8" targetname: "0x80a0f5c" label: "0" color: red}
+}
+
+graph: { title: "0x80a1080"  label: "Block" status:clustered color:yellow
+edge: {sourcename: "0x80a1080" targetname: "0x80a10f8" label: "0" color: red}
+node: {title: "0x80a104c" label: "Jmp " }
+}
+
+node: {title: "0x80a1224" label: "Bad " }
+}
diff --git a/testprograms/ref-results/IRR_LOOP_main-cfg.vcg b/testprograms/ref-results/IRR_LOOP_main-cfg.vcg
new file mode 100644 (file)
index 0000000..79a3df0
--- /dev/null
@@ -0,0 +1,26 @@
+graph: { title: "ir graph of IRR_LOOP_main"
+display_edge_labels: yes
+layoutalgorithm: mindepth
+manhattan_edges: yes
+port_sharing: no
+orientation: bottom_to_top
+classname 1: "Data"
+classname 2: "Block"
+classname 3: "Entity type"classname 4: "Entity owner"classname 5: "Method Param"classname 6: "Method Res"classname 7: "Super"classname 8: "Union"classname 9: "Points-to"classname 10: "Array Element Type"classname 11: "Overwrites"classname 12: "Member"
+node: {title:"0x80a0928" label: "Block 0x80a0928" }
+edge: { sourcename: "0x80a0928" targetname: "0x80a09d8" }
+node: {title:"0x80a09d8" label: "Block 0x80a09d8" }
+edge: { sourcename: "0x80a09d8" targetname: "0x80a0b50" }
+edge: { sourcename: "0x80a09d8" targetname: "0x80a0a94" }
+node: {title:"0x80a0a94" label: "Block 0x80a0a94" }
+edge: { sourcename: "0x80a0a94" targetname: "0x80a0e58" }
+edge: { sourcename: "0x80a0a94" targetname: "0x80a0b50" }
+node: {title:"0x80a0b50" label: "Block 0x80a0b50" }
+edge: { sourcename: "0x80a0b50" targetname: "0x80a0e58" }
+edge: { sourcename: "0x80a0b50" targetname: "0x80a0a94" }
+node: {title:"0x80a0e58" label: "Block 0x80a0e58" }
+edge: { sourcename: "0x80a0e58" targetname: "0x80a0cfc" }
+node: {title:"0x80a0cfc" label: "Block 0x80a0cfc" }
+edge: { sourcename: "0x80a0cfc" targetname: "0x80a0cfc" }
+node: {title: "0x80a12e8" label: "BadT" }
+}
diff --git a/testprograms/ref-results/IRR_LOOP_main.vcg b/testprograms/ref-results/IRR_LOOP_main.vcg
new file mode 100644 (file)
index 0000000..e6b90cc
--- /dev/null
@@ -0,0 +1,91 @@
+graph: { title: "ir graph of IRR_LOOP_main"
+display_edge_labels: yes
+layoutalgorithm: mindepth
+manhattan_edges: yes
+port_sharing: no
+orientation: bottom_to_top
+classname 1: "Data"
+classname 2: "Block"
+classname 3: "Entity type"classname 4: "Entity owner"classname 5: "Method Param"classname 6: "Method Res"classname 7: "Super"classname 8: "Union"classname 9: "Points-to"classname 10: "Array Element Type"classname 11: "Overwrites"classname 12: "Member"
+graph: { title: "0x80a0928"  label: "Block" status:clustered color:yellow
+edge: {sourcename: "0x80a0928" targetname: "0x80a09a0" label: "0" color: red}
+node: {title: "0x80a0908" label: "End " color: blue}
+}
+
+graph: { title: "0x80a09d8"  label: "Block" status:clustered color:yellow
+edge: {sourcename: "0x80a09d8" targetname: "0x80a10b4" label: "0" color: red}
+edge: {sourcename: "0x80a09d8" targetname: "0x80a0a58" label: "1" color: red}
+node: {title: "0x80a09a0" label: "Return " }
+edge: {sourcename: "0x80a09a0" targetname: "0x80a10f0" label: "0" color: blue}
+node: {title: "0x80a10f0" label: "PhiM " color: green}
+edge: {sourcename: "0x80a10f0" targetname: "0x80a11a0" label: "0" color: blue}
+edge: {sourcename: "0x80a10f0" targetname: "0x80a1148" label: "1" color: blue}
+}
+
+graph: { title: "0x80a0a94"  label: "Block" status:clustered color:yellow
+edge: {sourcename: "0x80a0a94" targetname: "0x80a1078" label: "0" color: red}
+edge: {sourcename: "0x80a0a94" targetname: "0x80a0b14" label: "1" color: red}
+node: {title: "0x80a0a58" label: "ProjX 0" color: yellow}
+edge: {sourcename: "0x80a0a58" targetname: "0x80a0c0c" label: "0" color: red}
+node: {title: "0x80a0bd0" label: "ProjX 1" color: yellow}
+edge: {sourcename: "0x80a0bd0" targetname: "0x80a0c0c" label: "0" color: red}
+node: {title: "0x80a0c0c" label: "Cond " }
+edge: {sourcename: "0x80a0c0c" targetname: "0x80a0c4c" label: "0" }
+node: {title: "0x80a0c4c" label: "Projb Eq" color: yellow}
+edge: {sourcename: "0x80a0c4c" targetname: "0x80a0c88" label: "0" }
+node: {title: "0x80a0c88" label: "CmpT " }
+edge: {sourcename: "0x80a0c88" targetname: "0x80a0de4" label: "0" }
+edge: {sourcename: "0x80a0c88" targetname: "0x80a0cc4" label: "1" }
+node: {title: "0x80a1148" label: "PhiM " color: green}
+edge: {sourcename: "0x80a1148" targetname: "0x80a11f8" label: "0" color: blue}
+edge: {sourcename: "0x80a1148" targetname: "0x80a11a0" label: "1" color: blue}
+}
+
+graph: { title: "0x80a0b50"  label: "Block" status:clustered color:yellow
+edge: {sourcename: "0x80a0b50" targetname: "0x80a0e1c" label: "0" color: red}
+edge: {sourcename: "0x80a0b50" targetname: "0x80a0bd0" label: "1" color: red}
+node: {title: "0x80a0b14" label: "ProjX 1" color: yellow}
+edge: {sourcename: "0x80a0b14" targetname: "0x80a0fc0" label: "0" color: red}
+node: {title: "0x80a0fc0" label: "Cond " }
+edge: {sourcename: "0x80a0fc0" targetname: "0x80a1000" label: "0" }
+node: {title: "0x80a1000" label: "Projb Eq" color: yellow}
+edge: {sourcename: "0x80a1000" targetname: "0x80a103c" label: "0" }
+node: {title: "0x80a103c" label: "CmpT " }
+edge: {sourcename: "0x80a103c" targetname: "0x80a0de4" label: "0" }
+edge: {sourcename: "0x80a103c" targetname: "0x80a0cc4" label: "1" }
+node: {title: "0x80a10b4" label: "ProjX 0" color: yellow}
+edge: {sourcename: "0x80a10b4" targetname: "0x80a0fc0" label: "0" color: red}
+node: {title: "0x80a11a0" label: "PhiM " color: green}
+edge: {sourcename: "0x80a11a0" targetname: "0x80a11f8" label: "0" color: blue}
+edge: {sourcename: "0x80a11a0" targetname: "0x80a1148" label: "1" color: blue}
+}
+
+graph: { title: "0x80a0e58"  label: "Block" status:clustered color:yellow
+edge: {sourcename: "0x80a0e58" targetname: "0x80a0d74" label: "0" color: red}
+node: {title: "0x80a0e1c" label: "ProjX 0" color: yellow}
+edge: {sourcename: "0x80a0e1c" targetname: "0x80a0ed0" label: "0" color: red}
+node: {title: "0x80a0ed0" label: "Cond " }
+edge: {sourcename: "0x80a0ed0" targetname: "0x80a0f10" label: "0" }
+node: {title: "0x80a0f10" label: "Projb Eq" color: yellow}
+edge: {sourcename: "0x80a0f10" targetname: "0x80a0f4c" label: "0" }
+node: {title: "0x80a0f4c" label: "CmpT " }
+edge: {sourcename: "0x80a0f4c" targetname: "0x80a0de4" label: "0" }
+edge: {sourcename: "0x80a0f4c" targetname: "0x80a0f88" label: "1" }
+node: {title: "0x80a1078" label: "ProjX 1" color: yellow}
+edge: {sourcename: "0x80a1078" targetname: "0x80a0ed0" label: "0" color: red}
+}
+
+graph: { title: "0x80a0cfc"  label: "Block" status:clustered color:yellow
+edge: {sourcename: "0x80a0cfc" targetname: "0x80a0d74" label: "0" color: red}
+node: {title: "0x80a0cc4" label: "2I " color: yellow}
+node: {title: "0x80a0d74" label: "ProjX 0" color: yellow}
+edge: {sourcename: "0x80a0d74" targetname: "0x80a0db0" label: "0" color: red}
+node: {title: "0x80a0db0" label: "Start " color: blue}
+node: {title: "0x80a0de4" label: "0I " color: yellow}
+node: {title: "0x80a0f88" label: "1I " color: yellow}
+node: {title: "0x80a11f8" label: "ProjM 1" color: yellow}
+edge: {sourcename: "0x80a11f8" targetname: "0x80a0db0" label: "0" color: blue}
+}
+
+node: {title: "0x80a12e8" label: "Bad " }
+}
diff --git a/testprograms/ref-results/MEMORY_EXAMPLE_main.vcg b/testprograms/ref-results/MEMORY_EXAMPLE_main.vcg
new file mode 100644 (file)
index 0000000..f6b90f2
--- /dev/null
@@ -0,0 +1,105 @@
+graph: { title: "ir graph of MEMORY_EXAMPLE_main"
+display_edge_labels: yes
+layoutalgorithm: mindepth
+manhattan_edges: yes
+port_sharing: no
+orientation: bottom_to_top
+classname 1: "Data"
+classname 2: "Block"
+classname 3: "Entity type"classname 4: "Entity owner"classname 5: "Method Param"classname 6: "Method Res"classname 7: "Super"classname 8: "Union"classname 9: "Points-to"classname 10: "Array Element Type"classname 11: "Overwrites"classname 12: "Member"
+graph: { title: "0x80a0930"  label: "Block" status:clustered color:yellow
+edge: {sourcename: "0x80a0930" targetname: "0x80a09a8" label: "0" color: red}
+node: {title: "0x80a0910" label: "End " color: blue}
+}
+
+graph: { title: "0x80a09e4"  label: "Block" status:clustered color:yellow
+edge: {sourcename: "0x80a09e4" targetname: "0x80a0a5c" label: "0" color: red}
+node: {title: "0x80a09a8" label: "Return " }
+edge: {sourcename: "0x80a09a8" targetname: "0x80a1300" label: "0" color: blue}
+edge: {sourcename: "0x80a09a8" targetname: "0x80a1284" label: "1" }
+node: {title: "0x80a1284" label: "ProjI 2" color: yellow}
+edge: {sourcename: "0x80a1284" targetname: "0x80a12c0" label: "0" }
+node: {title: "0x80a12c0" label: "Load " }
+edge: {sourcename: "0x80a12c0" targetname: "0x80a0e00" label: "0" color: blue}
+edge: {sourcename: "0x80a12c0" targetname: "0x80a0c88" label: "1" }
+node: {title: "0x80a1300" label: "ProjM 0" color: yellow}
+edge: {sourcename: "0x80a1300" targetname: "0x80a12c0" label: "0" color: blue}
+}
+
+graph: { title: "0x80a0a98"  label: "Block" status:clustered color:yellow
+edge: {sourcename: "0x80a0a98" targetname: "0x80a1250" label: "0" color: red}
+edge: {sourcename: "0x80a0a98" targetname: "0x80a0b18" label: "1" color: red}
+node: {title: "0x80a0a5c" label: "ProjX 1" color: yellow}
+edge: {sourcename: "0x80a0a5c" targetname: "0x80a0b54" label: "0" color: red}
+node: {title: "0x80a0b18" label: "ProjX 0" color: yellow}
+edge: {sourcename: "0x80a0b18" targetname: "0x80a0b54" label: "0" color: red}
+node: {title: "0x80a0b54" label: "Cond " }
+edge: {sourcename: "0x80a0b54" targetname: "0x80a0b94" label: "0" }
+node: {title: "0x80a0b94" label: "Projb Gt" color: yellow}
+edge: {sourcename: "0x80a0b94" targetname: "0x80a0bd0" label: "0" }
+node: {title: "0x80a0bd0" label: "CmpT " }
+edge: {sourcename: "0x80a0bd0" targetname: "0x80a11dc" label: "0" }
+edge: {sourcename: "0x80a0bd0" targetname: "0x80a0c0c" label: "1" }
+node: {title: "0x80a0c0c" label: "ProjI 2" color: yellow}
+edge: {sourcename: "0x80a0c0c" targetname: "0x80a0c48" label: "0" }
+node: {title: "0x80a0c48" label: "Load " }
+edge: {sourcename: "0x80a0c48" targetname: "0x80a0da8" label: "0" color: blue}
+edge: {sourcename: "0x80a0c48" targetname: "0x80a0c88" label: "1" }
+node: {title: "0x80a0da8" label: "PhiM " color: green}
+edge: {sourcename: "0x80a0da8" targetname: "0x80a102c" label: "0" color: blue}
+edge: {sourcename: "0x80a0da8" targetname: "0x80a0e00" label: "1" color: blue}
+node: {title: "0x80a0e00" label: "ProjM 0" color: yellow}
+edge: {sourcename: "0x80a0e00" targetname: "0x80a0e3c" label: "0" color: blue}
+node: {title: "0x80a0e3c" label: "Store " }
+edge: {sourcename: "0x80a0e3c" targetname: "0x80a0eb8" label: "0" color: blue}
+edge: {sourcename: "0x80a0e3c" targetname: "0x80a0e80" label: "1" }
+edge: {sourcename: "0x80a0e3c" targetname: "0x80a0c0c" label: "2" }
+node: {title: "0x80a0eb8" label: "ProjM 0" color: yellow}
+edge: {sourcename: "0x80a0eb8" targetname: "0x80a0ef4" label: "0" color: blue}
+node: {title: "0x80a0ef4" label: "Store " }
+edge: {sourcename: "0x80a0ef4" targetname: "0x80a0ff0" label: "0" color: blue}
+edge: {sourcename: "0x80a0ef4" targetname: "0x80a0c88" label: "1" }
+edge: {sourcename: "0x80a0ef4" targetname: "0x80a0f38" label: "2" }
+node: {title: "0x80a0f38" label: "ProjI 2" color: yellow}
+edge: {sourcename: "0x80a0f38" targetname: "0x80a0f74" label: "0" }
+node: {title: "0x80a0f74" label: "Load " }
+edge: {sourcename: "0x80a0f74" targetname: "0x80a0fb4" label: "0" color: blue}
+edge: {sourcename: "0x80a0f74" targetname: "0x80a0e80" label: "1" }
+node: {title: "0x80a0fb4" label: "ProjM 0" color: yellow}
+edge: {sourcename: "0x80a0fb4" targetname: "0x80a0c48" label: "0" color: blue}
+node: {title: "0x80a0ff0" label: "ProjM 0" color: yellow}
+edge: {sourcename: "0x80a0ff0" targetname: "0x80a0f74" label: "0" color: blue}
+}
+
+graph: { title: "0x80a1068"  label: "Block" status:clustered color:yellow
+edge: {sourcename: "0x80a1068" targetname: "0x80a0d38" label: "0" color: red}
+node: {title: "0x80a102c" label: "ProjM 0" color: yellow}
+edge: {sourcename: "0x80a102c" targetname: "0x80a10e0" label: "0" color: blue}
+node: {title: "0x80a10e0" label: "Store " }
+edge: {sourcename: "0x80a10e0" targetname: "0x80a115c" label: "0" color: blue}
+edge: {sourcename: "0x80a10e0" targetname: "0x80a0e80" label: "1" }
+edge: {sourcename: "0x80a10e0" targetname: "0x80a1124" label: "2" }
+node: {title: "0x80a115c" label: "ProjM 0" color: yellow}
+edge: {sourcename: "0x80a115c" targetname: "0x80a1198" label: "0" color: blue}
+node: {title: "0x80a1198" label: "Store " }
+edge: {sourcename: "0x80a1198" targetname: "0x80a1214" label: "0" color: blue}
+edge: {sourcename: "0x80a1198" targetname: "0x80a0c88" label: "1" }
+edge: {sourcename: "0x80a1198" targetname: "0x80a11dc" label: "2" }
+node: {title: "0x80a1250" label: "Jmp " }
+}
+
+graph: { title: "0x80a0cc0"  label: "Block" status:clustered color:yellow
+edge: {sourcename: "0x80a0cc0" targetname: "0x80a0d38" label: "0" color: red}
+node: {title: "0x80a0c88" label: "VAR_AP " color: yellow}
+node: {title: "0x80a0d38" label: "ProjX 0" color: yellow}
+edge: {sourcename: "0x80a0d38" targetname: "0x80a0d74" label: "0" color: red}
+node: {title: "0x80a0d74" label: "Start " color: blue}
+node: {title: "0x80a0e80" label: "VAR_BP " color: yellow}
+node: {title: "0x80a1124" label: "1I " color: yellow}
+node: {title: "0x80a11dc" label: "0I " color: yellow}
+node: {title: "0x80a1214" label: "ProjM 1" color: yellow}
+edge: {sourcename: "0x80a1214" targetname: "0x80a0d74" label: "0" color: blue}
+}
+
+node: {title: "0x80a13f0" label: "Bad " }
+}
diff --git a/testprograms/ref-results/OO_INLINE_EXAMPLE_main-all.vcg b/testprograms/ref-results/OO_INLINE_EXAMPLE_main-all.vcg
new file mode 100644 (file)
index 0000000..b2a8d1c
--- /dev/null
@@ -0,0 +1,149 @@
+graph: { title: "ir graph of OO_INLINE_EXAMPLE_main"
+display_edge_labels: no
+layoutalgorithm: mindepth
+manhattan_edges: yes
+port_sharing: no
+orientation: bottom_to_top
+classname 1: "Data"
+classname 2: "Block"
+classname 3: "Entity type"classname 4: "Entity owner"classname 5: "Method Param"classname 6: "Method Res"classname 7: "Super"classname 8: "Union"classname 9: "Points-to"classname 10: "Array Element Type"classname 11: "Overwrites"classname 12: "Member"
+graph: { title: "0x80a6758"  label: "Block" status:clustered color:yellow
+node: {title: "0x80a6738" label: "End " color: blue}
+}
+
+graph: { title: "0x80a68d4"  label: "Block" status:clustered color:yellow
+edge: {sourcename: "0x80a68d4" targetname: "0x80a6988" label: "0" color: red}
+edge: {sourcename: "0x80a68d4" targetname: "0x80a6954" label: "1" color: red}
+node: {title: "0x80a6a34" label: "PhiM " color: green}
+edge: {sourcename: "0x80a6a34" targetname: "0x80a6d2c" label: "0" color: blue}
+edge: {sourcename: "0x80a6a34" targetname: "0x80a6a8c" label: "1" color: blue}
+node: {title: "0x80a6954" label: "Jmp " }
+node: {title: "0x80a6a8c" label: "Store " }
+edge: {sourcename: "0x80a6a8c" targetname: "0x80a6a34" label: "0" color: blue}
+edge: {sourcename: "0x80a6a8c" targetname: "0x80a6bf0" label: "1" }
+edge: {sourcename: "0x80a6a8c" targetname: "0x80a6ad0" label: "2" }
+node: {title: "0x80a6ad0" label: "PhiI " color: green}
+edge: {sourcename: "0x80a6ad0" targetname: "0x80a6bb8" label: "0" }
+edge: {sourcename: "0x80a6ad0" targetname: "0x80a6b28" label: "1" }
+node: {title: "0x80a6b28" label: "PhiI " color: green}
+edge: {sourcename: "0x80a6b28" targetname: "0x80a6b80" label: "0" }
+edge: {sourcename: "0x80a6b28" targetname: "0x80a6ad0" label: "1" }
+node: {title: "0x80a6bf0" label: "Sel a" }
+edge: {sourcename: "0x80a6bf0" targetname: "0x80a6a34" label: "0" color: blue}
+edge: {sourcename: "0x80a6bf0" targetname: "0x80a6c30" label: "1" }
+}
+
+graph: { title: "0x80a69bc"  label: "Block" status:clustered color:yellow
+edge: {sourcename: "0x80a69bc" targetname: "0x80a6864" label: "0" color: red}
+node: {title: "0x80a6988" label: "Jmp " }
+node: {title: "0x80a6b80" label: "0I " color: yellow}
+node: {title: "0x80a6c30" label: "ProjP 2" color: yellow}
+edge: {sourcename: "0x80a6c30" targetname: "0x80a6c6c" label: "0" }
+node: {title: "0x80a6c6c" label: "Alloc " }
+edge: {sourcename: "0x80a6c6c" targetname: "0x80a6cf0" label: "0" color: blue}
+edge: {sourcename: "0x80a6c6c" targetname: "0x80a6cb4" label: "1" }
+node: {title: "0x80a6cb4" label: "SymC PRIMA size " }
+node: {title: "0x80a6d2c" label: "ProjM 0" color: yellow}
+edge: {sourcename: "0x80a6d2c" targetname: "0x80a6d68" label: "0" color: blue}
+node: {title: "0x80a6d68" label: "Store " }
+edge: {sourcename: "0x80a6d68" targetname: "0x80a6e24" label: "0" color: blue}
+edge: {sourcename: "0x80a6d68" targetname: "0x80a6de4" label: "1" }
+edge: {sourcename: "0x80a6d68" targetname: "0x80a6dac" label: "2" }
+node: {title: "0x80a6de4" label: "Sel a" }
+edge: {sourcename: "0x80a6de4" targetname: "0x80a6e24" label: "0" color: blue}
+edge: {sourcename: "0x80a6de4" targetname: "0x80a6c30" label: "1" }
+node: {title: "0x80a6e24" label: "ProjM 0" color: yellow}
+edge: {sourcename: "0x80a6e24" targetname: "0x80a6c6c" label: "0" color: blue}
+}
+
+graph: { title: "0x80a67ec"  label: "Block" status:clustered color:yellow
+edge: {sourcename: "0x80a67ec" targetname: "0x80a6864" label: "0" color: red}
+node: {title: "0x80a6864" label: "ProjX 0" color: yellow}
+edge: {sourcename: "0x80a6864" targetname: "0x80a68a0" label: "0" color: red}
+node: {title: "0x80a68a0" label: "Start " color: blue}
+node: {title: "0x80a6bb8" label: "5I " color: yellow}
+node: {title: "0x80a6cf0" label: "ProjM 1" color: yellow}
+edge: {sourcename: "0x80a6cf0" targetname: "0x80a68a0" label: "0" color: blue}
+node: {title: "0x80a6dac" label: "2I " color: yellow}
+}
+
+node: {title: "0x80a67b8" label: "Bad " }
+node: {title: "0x809e1b0" label: "ent a" color: yellow info1:"automatic allocated
+local
+uninitialized
+non_volatile
+existent
+"}
+edge: { sourcename: "0x809e1b0" targetname: "0x809e0c0" class: 3 label: "type" color: red}
+node: {title: "0x809e0e8" label: "class PRIMA"info1: "state: layout_undefined
+size: -1B,
+" color: green}
+edge: { sourcename: "0x809e0e8" targetname: "0x809e1b0" class: 12 label: "member" color:blue}
+edge: { sourcename: "0x809e0e8" targetname: "0x809e2d0" class: 12 label: "member" color:blue}
+edge: { sourcename: "0x809e0e8" targetname: "0x809e3a0" class: 12 label: "member" color:blue}
+node: {title: "0x809e2d0" label: "ent set_a" color: yellow info1:"static allocated
+local
+constant
+non_volatile
+existent
+
+ irg = 0x80a0ae0 "}
+edge: { sourcename: "0x809e2d0" targetname: "0x809e238" class: 3 label: "type" color: red}
+edge: { sourcename: "0x809e2d0" targetname: "0x809be78" label: "value "}
+node: {title: "0x809be78" label: "&(PRIMA_set_a)P " color: yellow}
+node: {title: "0x809e238" label: "method set_a"info1: "state: layout_fixed,
+mode: P,
+size: 4B,
+"}
+edge: { sourcename: "0x809e238" targetname: "0x809e180" class: 5 label: "param 0" color: green}
+edge: { sourcename: "0x809e238" targetname: "0x809e0c0" class: 5 label: "param 1" color: green}
+node: {title: "0x809e180" label: "pointer class_prima_ptr"info1: "state: layout_fixed,
+mode: P,
+size: 4B,
+"}
+edge: { sourcename: "0x809e180" targetname: "0x809e0e8" class: 9 label: "points to" color:green}
+node: {title: "0x809e0c0" label: "primitive int"info1: "state: layout_fixed,
+mode: I,
+size: 4B,
+"}
+node: {title: "0x809e3a0" label: "ent c" color: yellow info1:"static allocated
+local
+constant
+non_volatile
+existent
+
+ irg = 0x80a30e8 "}
+edge: { sourcename: "0x809e3a0" targetname: "0x809e340" class: 3 label: "type" color: red}
+edge: { sourcename: "0x809e3a0" targetname: "0x809beb0" label: "value "}
+node: {title: "0x809beb0" label: "&(PRIMA_c)P " color: yellow}
+node: {title: "0x809e340" label: "method c"info1: "state: layout_fixed,
+mode: P,
+size: 4B,
+"}
+edge: { sourcename: "0x809e340" targetname: "0x809e180" class: 5 label: "param 0" color: green}
+edge: { sourcename: "0x809e340" targetname: "0x809e0c0" class: 5 label: "param 1" color: green}
+edge: { sourcename: "0x809e340" targetname: "0x809e0c0" class: 6 label: "res 0" color: green}
+node: {title: "0x809e488" label: "ent OO_INLINE_EXAMPLE_main" color: yellow info1:"static allocated
+local
+constant
+non_volatile
+existent
+
+ irg = 0x809e510 "}
+edge: { sourcename: "0x809e488" targetname: "0x809e428" class: 3 label: "type" color: red}
+edge: { sourcename: "0x809e488" targetname: "0x809bee8" label: "value "}
+node: {title: "0x809bee8" label: "&(GlobalType_OO_INLINE_EXAMPLE_main)P " color: yellow}
+node: {title: "0x809bae0" label: "class GlobalType"info1: "state: layout_undefined
+size: -1B,
+" color: green}
+edge: { sourcename: "0x809bae0" targetname: "0x809e488" class: 12 label: "member" color:blue}
+node: {title: "0x809e428" label: "method OO_INLINE_EXAMPLE_main"info1: "state: layout_fixed,
+mode: P,
+size: 4B,
+"}
+edge: { sourcename: "0x809e428" targetname: "0x809e0c0" class: 6 label: "res 0" color: green}
+edge: { sourcename: "0x80a6bf0" targetname: "0x809e1b0" class: 2 priority: 2 linestyle: dotted}
+edge: { sourcename: "0x80a6c6c" targetname: "0x809e0e8" class: 2 priority: 2 linestyle: dotted}
+edge: { sourcename: "0x80a6cb4" targetname: "0x809e0e8" class: 2 priority: 2 linestyle: dotted}
+edge: { sourcename: "0x80a6de4" targetname: "0x809e1b0" class: 2 priority: 2 linestyle: dotted}
+}
diff --git a/testprograms/ref-results/OO_INLINE_EXAMPLE_main.vcg b/testprograms/ref-results/OO_INLINE_EXAMPLE_main.vcg
new file mode 100644 (file)
index 0000000..0f0066b
--- /dev/null
@@ -0,0 +1,71 @@
+graph: { title: "ir graph of OO_INLINE_EXAMPLE_main"
+display_edge_labels: no
+layoutalgorithm: mindepth
+manhattan_edges: yes
+port_sharing: no
+orientation: bottom_to_top
+classname 1: "Data"
+classname 2: "Block"
+classname 3: "Entity type"classname 4: "Entity owner"classname 5: "Method Param"classname 6: "Method Res"classname 7: "Super"classname 8: "Union"classname 9: "Points-to"classname 10: "Array Element Type"classname 11: "Overwrites"classname 12: "Member"
+graph: { title: "0x80a6758"  label: "Block" status:clustered color:yellow
+node: {title: "0x80a6738" label: "End " color: blue}
+}
+
+graph: { title: "0x80a68d4"  label: "Block" status:clustered color:yellow
+edge: {sourcename: "0x80a68d4" targetname: "0x80a6988" label: "0" color: red}
+edge: {sourcename: "0x80a68d4" targetname: "0x80a6954" label: "1" color: red}
+node: {title: "0x80a6a34" label: "PhiM " color: green}
+edge: {sourcename: "0x80a6a34" targetname: "0x80a6d2c" label: "0" color: blue}
+edge: {sourcename: "0x80a6a34" targetname: "0x80a6a8c" label: "1" color: blue}
+node: {title: "0x80a6954" label: "Jmp " }
+node: {title: "0x80a6a8c" label: "Store " }
+edge: {sourcename: "0x80a6a8c" targetname: "0x80a6a34" label: "0" color: blue}
+edge: {sourcename: "0x80a6a8c" targetname: "0x80a6bf0" label: "1" }
+edge: {sourcename: "0x80a6a8c" targetname: "0x80a6ad0" label: "2" }
+node: {title: "0x80a6ad0" label: "PhiI " color: green}
+edge: {sourcename: "0x80a6ad0" targetname: "0x80a6bb8" label: "0" }
+edge: {sourcename: "0x80a6ad0" targetname: "0x80a6b28" label: "1" }
+node: {title: "0x80a6b28" label: "PhiI " color: green}
+edge: {sourcename: "0x80a6b28" targetname: "0x80a6b80" label: "0" }
+edge: {sourcename: "0x80a6b28" targetname: "0x80a6ad0" label: "1" }
+node: {title: "0x80a6bf0" label: "Sel a" }
+edge: {sourcename: "0x80a6bf0" targetname: "0x80a6a34" label: "0" color: blue}
+edge: {sourcename: "0x80a6bf0" targetname: "0x80a6c30" label: "1" }
+}
+
+graph: { title: "0x80a69bc"  label: "Block" status:clustered color:yellow
+edge: {sourcename: "0x80a69bc" targetname: "0x80a6864" label: "0" color: red}
+node: {title: "0x80a6988" label: "Jmp " }
+node: {title: "0x80a6b80" label: "0I " color: yellow}
+node: {title: "0x80a6c30" label: "ProjP 2" color: yellow}
+edge: {sourcename: "0x80a6c30" targetname: "0x80a6c6c" label: "0" }
+node: {title: "0x80a6c6c" label: "Alloc " }
+edge: {sourcename: "0x80a6c6c" targetname: "0x80a6cf0" label: "0" color: blue}
+edge: {sourcename: "0x80a6c6c" targetname: "0x80a6cb4" label: "1" }
+node: {title: "0x80a6cb4" label: "SymC PRIMA size " }
+node: {title: "0x80a6d2c" label: "ProjM 0" color: yellow}
+edge: {sourcename: "0x80a6d2c" targetname: "0x80a6d68" label: "0" color: blue}
+node: {title: "0x80a6d68" label: "Store " }
+edge: {sourcename: "0x80a6d68" targetname: "0x80a6e24" label: "0" color: blue}
+edge: {sourcename: "0x80a6d68" targetname: "0x80a6de4" label: "1" }
+edge: {sourcename: "0x80a6d68" targetname: "0x80a6dac" label: "2" }
+node: {title: "0x80a6de4" label: "Sel a" }
+edge: {sourcename: "0x80a6de4" targetname: "0x80a6e24" label: "0" color: blue}
+edge: {sourcename: "0x80a6de4" targetname: "0x80a6c30" label: "1" }
+node: {title: "0x80a6e24" label: "ProjM 0" color: yellow}
+edge: {sourcename: "0x80a6e24" targetname: "0x80a6c6c" label: "0" color: blue}
+}
+
+graph: { title: "0x80a67ec"  label: "Block" status:clustered color:yellow
+edge: {sourcename: "0x80a67ec" targetname: "0x80a6864" label: "0" color: red}
+node: {title: "0x80a6864" label: "ProjX 0" color: yellow}
+edge: {sourcename: "0x80a6864" targetname: "0x80a68a0" label: "0" color: red}
+node: {title: "0x80a68a0" label: "Start " color: blue}
+node: {title: "0x80a6bb8" label: "5I " color: yellow}
+node: {title: "0x80a6cf0" label: "ProjM 1" color: yellow}
+edge: {sourcename: "0x80a6cf0" targetname: "0x80a68a0" label: "0" color: blue}
+node: {title: "0x80a6dac" label: "2I " color: yellow}
+}
+
+node: {title: "0x80a67b8" label: "Bad " }
+}
diff --git a/testprograms/ref-results/OO_PROGRAM_EXAMPLE_main-all.vcg b/testprograms/ref-results/OO_PROGRAM_EXAMPLE_main-all.vcg
new file mode 100644 (file)
index 0000000..e897d39
--- /dev/null
@@ -0,0 +1,146 @@
+graph: { title: "ir graph of OO_PROGRAM_EXAMPLE_main"
+display_edge_labels: yes
+layoutalgorithm: mindepth
+manhattan_edges: yes
+port_sharing: no
+orientation: bottom_to_top
+classname 1: "Data"
+classname 2: "Block"
+classname 3: "Entity type"classname 4: "Entity owner"classname 5: "Method Param"classname 6: "Method Res"classname 7: "Super"classname 8: "Union"classname 9: "Points-to"classname 10: "Array Element Type"classname 11: "Overwrites"classname 12: "Member"
+graph: { title: "0x80a56d8"  label: "Block" status:clustered color:yellow
+edge: {sourcename: "0x80a56d8" targetname: "0x80a5750" label: "0" color: red}
+node: {title: "0x80a56b8" label: "End " color: blue}
+}
+
+graph: { title: "0x80a578c"  label: "Block" status:clustered color:yellow
+edge: {sourcename: "0x80a578c" targetname: "0x80a5804" label: "0" color: red}
+node: {title: "0x80a5750" label: "Return " }
+edge: {sourcename: "0x80a5750" targetname: "0x80a5c68" label: "0" color: blue}
+edge: {sourcename: "0x80a5750" targetname: "0x80a58ec" label: "1" }
+node: {title: "0x80a58ec" label: "ProjI 0" color: yellow}
+edge: {sourcename: "0x80a58ec" targetname: "0x80a5928" label: "0" }
+node: {title: "0x80a5928" label: "ProjT 2" color: yellow}
+edge: {sourcename: "0x80a5928" targetname: "0x80a5964" label: "0" }
+node: {title: "0x80a5964" label: "Call " }
+edge: {sourcename: "0x80a5964" targetname: "0x80a5b28" label: "0" color: blue}
+edge: {sourcename: "0x80a5964" targetname: "0x80a5ae8" label: "1" }
+edge: {sourcename: "0x80a5964" targetname: "0x80a59ec" label: "2" }
+edge: {sourcename: "0x80a5964" targetname: "0x80a59b4" label: "3" }
+node: {title: "0x80a59ec" label: "ProjP 2" color: yellow}
+edge: {sourcename: "0x80a59ec" targetname: "0x80a5a28" label: "0" }
+node: {title: "0x80a5a28" label: "Alloc " }
+edge: {sourcename: "0x80a5a28" targetname: "0x80a5aac" label: "0" color: blue}
+edge: {sourcename: "0x80a5a28" targetname: "0x80a5a70" label: "1" }
+node: {title: "0x80a5a70" label: "SymC PRIMA size " }
+node: {title: "0x80a5ae8" label: "Sel c" }
+edge: {sourcename: "0x80a5ae8" targetname: "0x80a5b28" label: "0" color: blue}
+edge: {sourcename: "0x80a5ae8" targetname: "0x80a59ec" label: "1" }
+node: {title: "0x80a5b28" label: "ProjM 0" color: yellow}
+edge: {sourcename: "0x80a5b28" targetname: "0x80a5b64" label: "0" color: blue}
+node: {title: "0x80a5b64" label: "Call " }
+edge: {sourcename: "0x80a5b64" targetname: "0x80a5c2c" label: "0" color: blue}
+edge: {sourcename: "0x80a5b64" targetname: "0x80a5bec" label: "1" }
+edge: {sourcename: "0x80a5b64" targetname: "0x80a59ec" label: "2" }
+edge: {sourcename: "0x80a5b64" targetname: "0x80a5bb4" label: "3" }
+node: {title: "0x80a5bec" label: "Sel set_a" }
+edge: {sourcename: "0x80a5bec" targetname: "0x80a5c2c" label: "0" color: blue}
+edge: {sourcename: "0x80a5bec" targetname: "0x80a59ec" label: "1" }
+node: {title: "0x80a5c2c" label: "ProjM 0" color: yellow}
+edge: {sourcename: "0x80a5c2c" targetname: "0x80a5a28" label: "0" color: blue}
+node: {title: "0x80a5c68" label: "ProjM 0" color: yellow}
+edge: {sourcename: "0x80a5c68" targetname: "0x80a5964" label: "0" color: blue}
+}
+
+graph: { title: "0x80a5840"  label: "Block" status:clustered color:yellow
+edge: {sourcename: "0x80a5840" targetname: "0x80a5804" label: "0" color: red}
+node: {title: "0x80a5804" label: "ProjX 0" color: yellow}
+edge: {sourcename: "0x80a5804" targetname: "0x80a58b8" label: "0" color: red}
+node: {title: "0x80a58b8" label: "Start " color: blue}
+node: {title: "0x80a59b4" label: "5I " color: yellow}
+node: {title: "0x80a5aac" label: "ProjM 1" color: yellow}
+edge: {sourcename: "0x80a5aac" targetname: "0x80a58b8" label: "0" color: blue}
+node: {title: "0x80a5bb4" label: "2I " color: yellow}
+}
+
+node: {title: "0x80a5d58" label: "Bad " }
+node: {title: "0x809e340" label: "method c"info1: "state: layout_fixed,
+mode: P,
+size: 4B,
+"}
+edge: { sourcename: "0x809e340" targetname: "0x809e180" class: 5 label: "param 0" color: green}
+edge: { sourcename: "0x809e340" targetname: "0x809e0c0" class: 5 label: "param 1" color: green}
+edge: { sourcename: "0x809e340" targetname: "0x809e0c0" class: 6 label: "res 0" color: green}
+node: {title: "0x809e180" label: "pointer class_prima_ptr"info1: "state: layout_fixed,
+mode: P,
+size: 4B,
+"}
+edge: { sourcename: "0x809e180" targetname: "0x809e0e8" class: 9 label: "points to" color:green}
+node: {title: "0x809e0e8" label: "class PRIMA"info1: "state: layout_undefined
+size: -1B,
+" color: green}
+edge: { sourcename: "0x809e0e8" targetname: "0x809e1b0" class: 12 label: "member" color:blue}
+edge: { sourcename: "0x809e0e8" targetname: "0x809e2d0" class: 12 label: "member" color:blue}
+edge: { sourcename: "0x809e0e8" targetname: "0x809e3a0" class: 12 label: "member" color:blue}
+node: {title: "0x809e1b0" label: "ent a" color: yellow info1:"automatic allocated
+local
+uninitialized
+non_volatile
+existent
+"}
+edge: { sourcename: "0x809e1b0" targetname: "0x809e0c0" class: 3 label: "type" color: red}
+node: {title: "0x809e0c0" label: "primitive int"info1: "state: layout_fixed,
+mode: I,
+size: 4B,
+"}
+node: {title: "0x809e2d0" label: "ent set_a" color: yellow info1:"static allocated
+local
+constant
+non_volatile
+existent
+
+ irg = 0x80a0ae0 "}
+edge: { sourcename: "0x809e2d0" targetname: "0x809e238" class: 3 label: "type" color: red}
+edge: { sourcename: "0x809e2d0" targetname: "0x809be78" label: "value "}
+node: {title: "0x809be78" label: "&(PRIMA_set_a)P " color: yellow}
+node: {title: "0x809e238" label: "method set_a"info1: "state: layout_fixed,
+mode: P,
+size: 4B,
+"}
+edge: { sourcename: "0x809e238" targetname: "0x809e180" class: 5 label: "param 0" color: green}
+edge: { sourcename: "0x809e238" targetname: "0x809e0c0" class: 5 label: "param 1" color: green}
+node: {title: "0x809e3a0" label: "ent c" color: yellow info1:"static allocated
+local
+constant
+non_volatile
+existent
+
+ irg = 0x80a30e8 "}
+edge: { sourcename: "0x809e3a0" targetname: "0x809e340" class: 3 label: "type" color: red}
+edge: { sourcename: "0x809e3a0" targetname: "0x809beb0" label: "value "}
+node: {title: "0x809beb0" label: "&(PRIMA_c)P " color: yellow}
+node: {title: "0x809e488" label: "ent OO_PROGRAM_EXAMPLE_main" color: yellow info1:"static allocated
+local
+constant
+non_volatile
+existent
+
+ irg = 0x809e510 "}
+edge: { sourcename: "0x809e488" targetname: "0x809e428" class: 3 label: "type" color: red}
+edge: { sourcename: "0x809e488" targetname: "0x809bee8" label: "value "}
+node: {title: "0x809bee8" label: "&(GlobalType_OO_PROGRAM_EXAMPLE_main)P " color: yellow}
+node: {title: "0x809bae0" label: "class GlobalType"info1: "state: layout_undefined
+size: -1B,
+" color: green}
+edge: { sourcename: "0x809bae0" targetname: "0x809e488" class: 12 label: "member" color:blue}
+node: {title: "0x809e428" label: "method OO_PROGRAM_EXAMPLE_main"info1: "state: layout_fixed,
+mode: P,
+size: 4B,
+"}
+edge: { sourcename: "0x809e428" targetname: "0x809e0c0" class: 6 label: "res 0" color: green}
+edge: { sourcename: "0x80a5964" targetname: "0x809e340" class: 2 priority: 2 linestyle: dotted}
+edge: { sourcename: "0x80a5a28" targetname: "0x809e0e8" class: 2 priority: 2 linestyle: dotted}
+edge: { sourcename: "0x80a5a70" targetname: "0x809e0e8" class: 2 priority: 2 linestyle: dotted}
+edge: { sourcename: "0x80a5ae8" targetname: "0x809e3a0" class: 2 priority: 2 linestyle: dotted}
+edge: { sourcename: "0x80a5b64" targetname: "0x809e238" class: 2 priority: 2 linestyle: dotted}
+edge: { sourcename: "0x80a5bec" targetname: "0x809e2d0" class: 2 priority: 2 linestyle: dotted}
+}
diff --git a/testprograms/ref-results/OO_PROGRAM_EXAMPLE_main.vcg b/testprograms/ref-results/OO_PROGRAM_EXAMPLE_main.vcg
new file mode 100644 (file)
index 0000000..bb86a91
--- /dev/null
@@ -0,0 +1,66 @@
+graph: { title: "ir graph of OO_PROGRAM_EXAMPLE_main"
+display_edge_labels: yes
+layoutalgorithm: mindepth
+manhattan_edges: yes
+port_sharing: no
+orientation: bottom_to_top
+classname 1: "Data"
+classname 2: "Block"
+classname 3: "Entity type"classname 4: "Entity owner"classname 5: "Method Param"classname 6: "Method Res"classname 7: "Super"classname 8: "Union"classname 9: "Points-to"classname 10: "Array Element Type"classname 11: "Overwrites"classname 12: "Member"
+graph: { title: "0x80a56d8"  label: "Block" status:clustered color:yellow
+edge: {sourcename: "0x80a56d8" targetname: "0x80a5750" label: "0" color: red}
+node: {title: "0x80a56b8" label: "End " color: blue}
+}
+
+graph: { title: "0x80a578c"  label: "Block" status:clustered color:yellow
+edge: {sourcename: "0x80a578c" targetname: "0x80a5804" label: "0" color: red}
+node: {title: "0x80a5750" label: "Return " }
+edge: {sourcename: "0x80a5750" targetname: "0x80a5c68" label: "0" color: blue}
+edge: {sourcename: "0x80a5750" targetname: "0x80a58ec" label: "1" }
+node: {title: "0x80a58ec" label: "ProjI 0" color: yellow}
+edge: {sourcename: "0x80a58ec" targetname: "0x80a5928" label: "0" }
+node: {title: "0x80a5928" label: "ProjT 2" color: yellow}
+edge: {sourcename: "0x80a5928" targetname: "0x80a5964" label: "0" }
+node: {title: "0x80a5964" label: "Call " }
+edge: {sourcename: "0x80a5964" targetname: "0x80a5b28" label: "0" color: blue}
+edge: {sourcename: "0x80a5964" targetname: "0x80a5ae8" label: "1" }
+edge: {sourcename: "0x80a5964" targetname: "0x80a59ec" label: "2" }
+edge: {sourcename: "0x80a5964" targetname: "0x80a59b4" label: "3" }
+node: {title: "0x80a59ec" label: "ProjP 2" color: yellow}
+edge: {sourcename: "0x80a59ec" targetname: "0x80a5a28" label: "0" }
+node: {title: "0x80a5a28" label: "Alloc " }
+edge: {sourcename: "0x80a5a28" targetname: "0x80a5aac" label: "0" color: blue}
+edge: {sourcename: "0x80a5a28" targetname: "0x80a5a70" label: "1" }
+node: {title: "0x80a5a70" label: "SymC PRIMA size " }
+node: {title: "0x80a5ae8" label: "Sel c" }
+edge: {sourcename: "0x80a5ae8" targetname: "0x80a5b28" label: "0" color: blue}
+edge: {sourcename: "0x80a5ae8" targetname: "0x80a59ec" label: "1" }
+node: {title: "0x80a5b28" label: "ProjM 0" color: yellow}
+edge: {sourcename: "0x80a5b28" targetname: "0x80a5b64" label: "0" color: blue}
+node: {title: "0x80a5b64" label: "Call " }
+edge: {sourcename: "0x80a5b64" targetname: "0x80a5c2c" label: "0" color: blue}
+edge: {sourcename: "0x80a5b64" targetname: "0x80a5bec" label: "1" }
+edge: {sourcename: "0x80a5b64" targetname: "0x80a59ec" label: "2" }
+edge: {sourcename: "0x80a5b64" targetname: "0x80a5bb4" label: "3" }
+node: {title: "0x80a5bec" label: "Sel set_a" }
+edge: {sourcename: "0x80a5bec" targetname: "0x80a5c2c" label: "0" color: blue}
+edge: {sourcename: "0x80a5bec" targetname: "0x80a59ec" label: "1" }
+node: {title: "0x80a5c2c" label: "ProjM 0" color: yellow}
+edge: {sourcename: "0x80a5c2c" targetname: "0x80a5a28" label: "0" color: blue}
+node: {title: "0x80a5c68" label: "ProjM 0" color: yellow}
+edge: {sourcename: "0x80a5c68" targetname: "0x80a5964" label: "0" color: blue}
+}
+
+graph: { title: "0x80a5840"  label: "Block" status:clustered color:yellow
+edge: {sourcename: "0x80a5840" targetname: "0x80a5804" label: "0" color: red}
+node: {title: "0x80a5804" label: "ProjX 0" color: yellow}
+edge: {sourcename: "0x80a5804" targetname: "0x80a58b8" label: "0" color: red}
+node: {title: "0x80a58b8" label: "Start " color: blue}
+node: {title: "0x80a59b4" label: "5I " color: yellow}
+node: {title: "0x80a5aac" label: "ProjM 1" color: yellow}
+edge: {sourcename: "0x80a5aac" targetname: "0x80a58b8" label: "0" color: blue}
+node: {title: "0x80a5bb4" label: "2I " color: yellow}
+}
+
+node: {title: "0x80a5d58" label: "Bad " }
+}
diff --git a/testprograms/ref-results/PRIMA_c-all.vcg b/testprograms/ref-results/PRIMA_c-all.vcg
new file mode 100644 (file)
index 0000000..48972e0
--- /dev/null
@@ -0,0 +1,114 @@
+graph: { title: "ir graph of PRIMA_c"
+display_edge_labels: no
+layoutalgorithm: mindepth
+manhattan_edges: yes
+port_sharing: no
+orientation: bottom_to_top
+classname 1: "Data"
+classname 2: "Block"
+classname 3: "Entity type"classname 4: "Entity owner"classname 5: "Method Param"classname 6: "Method Res"classname 7: "Super"classname 8: "Union"classname 9: "Points-to"classname 10: "Array Element Type"classname 11: "Overwrites"classname 12: "Member"
+graph: { title: "0x80a4198"  label: "Block" status:clustered color:yellow
+node: {title: "0x80a4178" label: "End " color: blue}
+}
+
+graph: { title: "0x80a4314"  label: "Block" status:clustered color:yellow
+edge: {sourcename: "0x80a4314" targetname: "0x80a43c8" label: "0" color: red}
+edge: {sourcename: "0x80a4314" targetname: "0x80a4394" label: "1" color: red}
+node: {title: "0x80a4474" label: "PhiM " color: green}
+edge: {sourcename: "0x80a4474" targetname: "0x80a46ec" label: "0" color: blue}
+edge: {sourcename: "0x80a4474" targetname: "0x80a44cc" label: "1" color: blue}
+node: {title: "0x80a4394" label: "Jmp " }
+node: {title: "0x80a44cc" label: "Store " }
+edge: {sourcename: "0x80a44cc" targetname: "0x80a4474" label: "0" color: blue}
+edge: {sourcename: "0x80a44cc" targetname: "0x80a4670" label: "1" }
+edge: {sourcename: "0x80a44cc" targetname: "0x80a4510" label: "2" }
+node: {title: "0x80a4510" label: "PhiI " color: green}
+edge: {sourcename: "0x80a4510" targetname: "0x80a45f8" label: "0" }
+edge: {sourcename: "0x80a4510" targetname: "0x80a4568" label: "1" }
+node: {title: "0x80a4568" label: "PhiI " color: green}
+edge: {sourcename: "0x80a4568" targetname: "0x80a45c0" label: "0" }
+edge: {sourcename: "0x80a4568" targetname: "0x80a4510" label: "1" }
+node: {title: "0x80a4670" label: "Sel a" }
+edge: {sourcename: "0x80a4670" targetname: "0x80a4474" label: "0" color: blue}
+edge: {sourcename: "0x80a4670" targetname: "0x80a46b0" label: "1" }
+}
+
+graph: { title: "0x80a43fc"  label: "Block" status:clustered color:yellow
+edge: {sourcename: "0x80a43fc" targetname: "0x80a42a4" label: "0" color: red}
+node: {title: "0x80a43c8" label: "Jmp " }
+node: {title: "0x80a45f8" label: "ProjI 1" color: yellow}
+edge: {sourcename: "0x80a45f8" targetname: "0x80a4634" label: "0" }
+node: {title: "0x80a46b0" label: "ProjP 0" color: yellow}
+edge: {sourcename: "0x80a46b0" targetname: "0x80a4634" label: "0" }
+}
+
+graph: { title: "0x80a422c"  label: "Block" status:clustered color:yellow
+edge: {sourcename: "0x80a422c" targetname: "0x80a42a4" label: "0" color: red}
+node: {title: "0x80a42a4" label: "ProjX 0" color: yellow}
+edge: {sourcename: "0x80a42a4" targetname: "0x80a42e0" label: "0" color: red}
+node: {title: "0x80a42e0" label: "Start " color: blue}
+node: {title: "0x80a45c0" label: "0I " color: yellow}
+node: {title: "0x80a4634" label: "ProjT 4" color: yellow}
+edge: {sourcename: "0x80a4634" targetname: "0x80a42e0" label: "0" }
+node: {title: "0x80a46ec" label: "ProjM 1" color: yellow}
+edge: {sourcename: "0x80a46ec" targetname: "0x80a42e0" label: "0" color: blue}
+}
+
+node: {title: "0x80a41f8" label: "Bad " }
+node: {title: "0x809e1b0" label: "ent a" color: yellow info1:"automatic allocated
+local
+uninitialized
+non_volatile
+existent
+"}
+edge: { sourcename: "0x809e1b0" targetname: "0x809e0c0" class: 3 label: "type" color: red}
+node: {title: "0x809e0e8" label: "class PRIMA"info1: "state: layout_undefined
+size: -1B,
+" color: green}
+edge: { sourcename: "0x809e0e8" targetname: "0x809e1b0" class: 12 label: "member" color:blue}
+edge: { sourcename: "0x809e0e8" targetname: "0x809e2d0" class: 12 label: "member" color:blue}
+edge: { sourcename: "0x809e0e8" targetname: "0x809e3a0" class: 12 label: "member" color:blue}
+node: {title: "0x809e2d0" label: "ent set_a" color: yellow info1:"static allocated
+local
+constant
+non_volatile
+existent
+
+ irg = 0x80a0ae0 "}
+edge: { sourcename: "0x809e2d0" targetname: "0x809e238" class: 3 label: "type" color: red}
+edge: { sourcename: "0x809e2d0" targetname: "0x809be78" label: "value "}
+node: {title: "0x809be78" label: "&(PRIMA_set_a)P " color: yellow}
+node: {title: "0x809e238" label: "method set_a"info1: "state: layout_fixed,
+mode: P,
+size: 4B,
+"}
+edge: { sourcename: "0x809e238" targetname: "0x809e180" class: 5 label: "param 0" color: green}
+edge: { sourcename: "0x809e238" targetname: "0x809e0c0" class: 5 label: "param 1" color: green}
+node: {title: "0x809e180" label: "pointer class_prima_ptr"info1: "state: layout_fixed,
+mode: P,
+size: 4B,
+"}
+edge: { sourcename: "0x809e180" targetname: "0x809e0e8" class: 9 label: "points to" color:green}
+node: {title: "0x809e0c0" label: "primitive int"info1: "state: layout_fixed,
+mode: I,
+size: 4B,
+"}
+node: {title: "0x809e3a0" label: "ent c" color: yellow info1:"static allocated
+local
+constant
+non_volatile
+existent
+
+ irg = 0x80a30e8 "}
+edge: { sourcename: "0x809e3a0" targetname: "0x809e340" class: 3 label: "type" color: red}
+edge: { sourcename: "0x809e3a0" targetname: "0x809beb0" label: "value "}
+node: {title: "0x809beb0" label: "&(PRIMA_c)P " color: yellow}
+node: {title: "0x809e340" label: "method c"info1: "state: layout_fixed,
+mode: P,
+size: 4B,
+"}
+edge: { sourcename: "0x809e340" targetname: "0x809e180" class: 5 label: "param 0" color: green}
+edge: { sourcename: "0x809e340" targetname: "0x809e0c0" class: 5 label: "param 1" color: green}
+edge: { sourcename: "0x809e340" targetname: "0x809e0c0" class: 6 label: "res 0" color: green}
+edge: { sourcename: "0x80a4670" targetname: "0x809e1b0" class: 2 priority: 2 linestyle: dotted}
+}
diff --git a/testprograms/ref-results/PRIMA_set_a-all.vcg b/testprograms/ref-results/PRIMA_set_a-all.vcg
new file mode 100644 (file)
index 0000000..0414834
--- /dev/null
@@ -0,0 +1,102 @@
+graph: { title: "ir graph of PRIMA_set_a"
+display_edge_labels: no
+layoutalgorithm: mindepth
+manhattan_edges: yes
+port_sharing: no
+orientation: bottom_to_top
+classname 1: "Data"
+classname 2: "Block"
+classname 3: "Entity type"classname 4: "Entity owner"classname 5: "Method Param"classname 6: "Method Res"classname 7: "Super"classname 8: "Union"classname 9: "Points-to"classname 10: "Array Element Type"classname 11: "Overwrites"classname 12: "Member"
+graph: { title: "0x80a1bb8"  label: "Block" status:clustered color:yellow
+edge: {sourcename: "0x80a1bb8" targetname: "0x80a1c30" label: "0" color: red}
+node: {title: "0x80a1b98" label: "End " color: blue}
+}
+
+graph: { title: "0x80a1c68"  label: "Block" status:clustered color:yellow
+edge: {sourcename: "0x80a1c68" targetname: "0x80a1ce0" label: "0" color: red}
+node: {title: "0x80a1c30" label: "Return " }
+edge: {sourcename: "0x80a1c30" targetname: "0x80a1dc8" label: "0" color: blue}
+node: {title: "0x80a1dc8" label: "ProjM 0" color: yellow}
+edge: {sourcename: "0x80a1dc8" targetname: "0x80a1e04" label: "0" color: blue}
+node: {title: "0x80a1e04" label: "Store " }
+edge: {sourcename: "0x80a1e04" targetname: "0x80a1f3c" label: "0" color: blue}
+edge: {sourcename: "0x80a1e04" targetname: "0x80a1ec0" label: "1" }
+edge: {sourcename: "0x80a1e04" targetname: "0x80a1e48" label: "2" }
+node: {title: "0x80a1e48" label: "ProjI 1" color: yellow}
+edge: {sourcename: "0x80a1e48" targetname: "0x80a1e84" label: "0" }
+node: {title: "0x80a1ec0" label: "Sel a" }
+edge: {sourcename: "0x80a1ec0" targetname: "0x80a1f3c" label: "0" color: blue}
+edge: {sourcename: "0x80a1ec0" targetname: "0x80a1f00" label: "1" }
+node: {title: "0x80a1f00" label: "ProjP 0" color: yellow}
+edge: {sourcename: "0x80a1f00" targetname: "0x80a1e84" label: "0" }
+}
+
+graph: { title: "0x80a1d1c"  label: "Block" status:clustered color:yellow
+edge: {sourcename: "0x80a1d1c" targetname: "0x80a1ce0" label: "0" color: red}
+node: {title: "0x80a1ce0" label: "ProjX 0" color: yellow}
+edge: {sourcename: "0x80a1ce0" targetname: "0x80a1d94" label: "0" color: red}
+node: {title: "0x80a1d94" label: "Start " color: blue}
+node: {title: "0x80a1e84" label: "ProjT 4" color: yellow}
+edge: {sourcename: "0x80a1e84" targetname: "0x80a1d94" label: "0" }
+node: {title: "0x80a1f3c" label: "ProjM 1" color: yellow}
+edge: {sourcename: "0x80a1f3c" targetname: "0x80a1d94" label: "0" color: blue}
+}
+
+node: {title: "0x80a1ff0" label: "Bad " }
+node: {title: "0x809e1b0" label: "ent a" color: yellow info1:"automatic allocated
+local
+uninitialized
+non_volatile
+existent
+"}
+edge: { sourcename: "0x809e1b0" targetname: "0x809e0c0" class: 3 label: "type" color: red}
+node: {title: "0x809e0e8" label: "class PRIMA"info1: "state: layout_undefined
+size: -1B,
+" color: green}
+edge: { sourcename: "0x809e0e8" targetname: "0x809e1b0" class: 12 label: "member" color:blue}
+edge: { sourcename: "0x809e0e8" targetname: "0x809e2d0" class: 12 label: "member" color:blue}
+edge: { sourcename: "0x809e0e8" targetname: "0x809e3a0" class: 12 label: "member" color:blue}
+node: {title: "0x809e2d0" label: "ent set_a" color: yellow info1:"static allocated
+local
+constant
+non_volatile
+existent
+
+ irg = 0x80a0ae0 "}
+edge: { sourcename: "0x809e2d0" targetname: "0x809e238" class: 3 label: "type" color: red}
+edge: { sourcename: "0x809e2d0" targetname: "0x809be78" label: "value "}
+node: {title: "0x809be78" label: "&(PRIMA_set_a)P " color: yellow}
+node: {title: "0x809e238" label: "method set_a"info1: "state: layout_fixed,
+mode: P,
+size: 4B,
+"}
+edge: { sourcename: "0x809e238" targetname: "0x809e180" class: 5 label: "param 0" color: green}
+edge: { sourcename: "0x809e238" targetname: "0x809e0c0" class: 5 label: "param 1" color: green}
+node: {title: "0x809e180" label: "pointer class_prima_ptr"info1: "state: layout_fixed,
+mode: P,
+size: 4B,
+"}
+edge: { sourcename: "0x809e180" targetname: "0x809e0e8" class: 9 label: "points to" color:green}
+node: {title: "0x809e0c0" label: "primitive int"info1: "state: layout_fixed,
+mode: I,
+size: 4B,
+"}
+node: {title: "0x809e3a0" label: "ent c" color: yellow info1:"static allocated
+local
+constant
+non_volatile
+existent
+
+ irg = 0x80a30e8 "}
+edge: { sourcename: "0x809e3a0" targetname: "0x809e340" class: 3 label: "type" color: red}
+edge: { sourcename: "0x809e3a0" targetname: "0x809beb0" label: "value "}
+node: {title: "0x809beb0" label: "&(PRIMA_c)P " color: yellow}
+node: {title: "0x809e340" label: "method c"info1: "state: layout_fixed,
+mode: P,
+size: 4B,
+"}
+edge: { sourcename: "0x809e340" targetname: "0x809e180" class: 5 label: "param 0" color: green}
+edge: { sourcename: "0x809e340" targetname: "0x809e0c0" class: 5 label: "param 1" color: green}
+edge: { sourcename: "0x809e340" targetname: "0x809e0c0" class: 6 label: "res 0" color: green}
+edge: { sourcename: "0x80a1ec0" targetname: "0x809e1b0" class: 2 priority: 2 linestyle: dotted}
+}
diff --git a/testprograms/ref-results/THREE_CFPRED_EXAMPLE_main-cfg.vcg b/testprograms/ref-results/THREE_CFPRED_EXAMPLE_main-cfg.vcg
new file mode 100644 (file)
index 0000000..a8b4253
--- /dev/null
@@ -0,0 +1,29 @@
+graph: { title: "ir graph of THREE_CFPRED_EXAMPLE_main"
+display_edge_labels: yes
+layoutalgorithm: mindepth
+manhattan_edges: yes
+port_sharing: no
+orientation: bottom_to_top
+classname 1: "Data"
+classname 2: "Block"
+classname 3: "Entity type"classname 4: "Entity owner"classname 5: "Method Param"classname 6: "Method Res"classname 7: "Super"classname 8: "Union"classname 9: "Points-to"classname 10: "Array Element Type"classname 11: "Overwrites"classname 12: "Member"
+node: {title:"0x80a08c8" label: "Block 0x80a08c8" }
+edge: { sourcename: "0x80a08c8" targetname: "0x80a097c" }
+node: {title:"0x80a097c" label: "Block 0x80a097c" }
+edge: { sourcename: "0x80a097c" targetname: "0x80a1074" }
+edge: { sourcename: "0x80a097c" targetname: "0x80a0f8c" }
+edge: { sourcename: "0x80a097c" targetname: "0x80a0a38" }
+node: {title:"0x80a0a38" label: "Block 0x80a0a38" }
+edge: { sourcename: "0x80a0a38" targetname: "0x80a0aec" }
+node: {title:"0x80a0aec" label: "Block 0x80a0aec" }
+edge: { sourcename: "0x80a0aec" targetname: "0x80a0ba0" }
+node: {title:"0x80a0ba0" label: "Block 0x80a0ba0" }
+edge: { sourcename: "0x80a0ba0" targetname: "0x80a0c54" }
+node: {title:"0x80a0c54" label: "Block 0x80a0c54" }
+edge: { sourcename: "0x80a0c54" targetname: "0x80a0c54" }
+node: {title:"0x80a0f8c" label: "Block 0x80a0f8c" }
+edge: { sourcename: "0x80a0f8c" targetname: "0x80a0aec" }
+node: {title:"0x80a1074" label: "Block 0x80a1074" }
+edge: { sourcename: "0x80a1074" targetname: "0x80a0ba0" }
+node: {title: "0x80a12ac" label: "BadT" }
+}
diff --git a/testprograms/ref-results/THREE_CFPRED_EXAMPLE_main.vcg b/testprograms/ref-results/THREE_CFPRED_EXAMPLE_main.vcg
new file mode 100644 (file)
index 0000000..94c3d25
--- /dev/null
@@ -0,0 +1,91 @@
+graph: { title: "ir graph of THREE_CFPRED_EXAMPLE_main"
+display_edge_labels: yes
+layoutalgorithm: mindepth
+manhattan_edges: yes
+port_sharing: no
+orientation: bottom_to_top
+classname 1: "Data"
+classname 2: "Block"
+classname 3: "Entity type"classname 4: "Entity owner"classname 5: "Method Param"classname 6: "Method Res"classname 7: "Super"classname 8: "Union"classname 9: "Points-to"classname 10: "Array Element Type"classname 11: "Overwrites"classname 12: "Member"
+graph: { title: "0x80a08c8"  label: "Block" status:clustered color:yellow
+edge: {sourcename: "0x80a08c8" targetname: "0x80a0940" label: "0" color: red}
+node: {title: "0x80a08a8" label: "End " color: blue}
+}
+
+graph: { title: "0x80a097c"  label: "Block" status:clustered color:yellow
+edge: {sourcename: "0x80a097c" targetname: "0x80a1040" label: "0" color: red}
+edge: {sourcename: "0x80a097c" targetname: "0x80a0f58" label: "1" color: red}
+edge: {sourcename: "0x80a097c" targetname: "0x80a0a04" label: "2" color: red}
+node: {title: "0x80a0940" label: "Return " }
+edge: {sourcename: "0x80a0940" targetname: "0x80a11f8" label: "0" color: blue}
+edge: {sourcename: "0x80a0940" targetname: "0x80a1128" label: "1" }
+node: {title: "0x80a1128" label: "PhiI " color: green}
+edge: {sourcename: "0x80a1128" targetname: "0x80a11c0" label: "0" }
+edge: {sourcename: "0x80a1128" targetname: "0x80a1188" label: "1" }
+edge: {sourcename: "0x80a1128" targetname: "0x80a1188" label: "2" }
+}
+
+graph: { title: "0x80a0a38"  label: "Block" status:clustered color:yellow
+edge: {sourcename: "0x80a0a38" targetname: "0x80a0ab0" label: "0" color: red}
+node: {title: "0x80a0a04" label: "Jmp " }
+}
+
+graph: { title: "0x80a0aec"  label: "Block" status:clustered color:yellow
+edge: {sourcename: "0x80a0aec" targetname: "0x80a0b64" label: "0" color: red}
+node: {title: "0x80a0ab0" label: "ProjX 1" color: yellow}
+edge: {sourcename: "0x80a0ab0" targetname: "0x80a0e68" label: "0" color: red}
+node: {title: "0x80a0e68" label: "Cond " }
+edge: {sourcename: "0x80a0e68" targetname: "0x80a0ea8" label: "0" }
+node: {title: "0x80a0ea8" label: "Projb Eq" color: yellow}
+edge: {sourcename: "0x80a0ea8" targetname: "0x80a0ee4" label: "0" }
+node: {title: "0x80a0ee4" label: "CmpT " }
+edge: {sourcename: "0x80a0ee4" targetname: "0x80a0f20" label: "0" }
+edge: {sourcename: "0x80a0ee4" targetname: "0x80a0db8" label: "1" }
+node: {title: "0x80a1004" label: "ProjX 0" color: yellow}
+edge: {sourcename: "0x80a1004" targetname: "0x80a0e68" label: "0" color: red}
+}
+
+graph: { title: "0x80a0ba0"  label: "Block" status:clustered color:yellow
+edge: {sourcename: "0x80a0ba0" targetname: "0x80a0c18" label: "0" color: red}
+node: {title: "0x80a0b64" label: "ProjX 0" color: yellow}
+edge: {sourcename: "0x80a0b64" targetname: "0x80a0d00" label: "0" color: red}
+node: {title: "0x80a0d00" label: "Cond " }
+edge: {sourcename: "0x80a0d00" targetname: "0x80a0d40" label: "0" }
+node: {title: "0x80a0d40" label: "Projb Eq" color: yellow}
+edge: {sourcename: "0x80a0d40" targetname: "0x80a0d7c" label: "0" }
+node: {title: "0x80a0d7c" label: "CmpT " }
+edge: {sourcename: "0x80a0d7c" targetname: "0x80a0e30" label: "0" }
+edge: {sourcename: "0x80a0d7c" targetname: "0x80a0db8" label: "1" }
+node: {title: "0x80a0db8" label: "ProjI 0" color: yellow}
+edge: {sourcename: "0x80a0db8" targetname: "0x80a0df4" label: "0" }
+node: {title: "0x80a10ec" label: "ProjX 1" color: yellow}
+edge: {sourcename: "0x80a10ec" targetname: "0x80a0d00" label: "0" color: red}
+}
+
+graph: { title: "0x80a0c54"  label: "Block" status:clustered color:yellow
+edge: {sourcename: "0x80a0c54" targetname: "0x80a0c18" label: "0" color: red}
+node: {title: "0x80a0c18" label: "ProjX 0" color: yellow}
+edge: {sourcename: "0x80a0c18" targetname: "0x80a0ccc" label: "0" color: red}
+node: {title: "0x80a0ccc" label: "Start " color: blue}
+node: {title: "0x80a0df4" label: "ProjT 4" color: yellow}
+edge: {sourcename: "0x80a0df4" targetname: "0x80a0ccc" label: "0" }
+node: {title: "0x80a0e30" label: "1I " color: yellow}
+node: {title: "0x80a0f20" label: "3I " color: yellow}
+node: {title: "0x80a1188" label: "6I " color: yellow}
+node: {title: "0x80a11c0" label: "5I " color: yellow}
+node: {title: "0x80a11f8" label: "ProjM 1" color: yellow}
+edge: {sourcename: "0x80a11f8" targetname: "0x80a0ccc" label: "0" color: blue}
+}
+
+graph: { title: "0x80a0f8c"  label: "Block" status:clustered color:yellow
+edge: {sourcename: "0x80a0f8c" targetname: "0x80a1004" label: "0" color: red}
+node: {title: "0x80a0f58" label: "Jmp " }
+}
+
+graph: { title: "0x80a1074"  label: "Block" status:clustered color:yellow
+edge: {sourcename: "0x80a1074" targetname: "0x80a10ec" label: "0" color: red}
+node: {title: "0x80a1040" label: "Jmp " }
+}
+
+node: {title: "0x80a12ac" label: "Bad " }
+}
diff --git a/testprograms/ref-results/WHILE_EXAMPLE_main.vcg b/testprograms/ref-results/WHILE_EXAMPLE_main.vcg
new file mode 100644 (file)
index 0000000..911870b
--- /dev/null
@@ -0,0 +1,73 @@
+graph: { title: "ir graph of WHILE_EXAMPLE_main"
+display_edge_labels: no
+layoutalgorithm: mindepth
+manhattan_edges: yes
+port_sharing: no
+orientation: bottom_to_top
+classname 1: "Data"
+classname 2: "Block"
+classname 3: "Entity type"classname 4: "Entity owner"classname 5: "Method Param"classname 6: "Method Res"classname 7: "Super"classname 8: "Union"classname 9: "Points-to"classname 10: "Array Element Type"classname 11: "Overwrites"classname 12: "Member"
+graph: { title: "0x80a08f8"  label: "Block" status:clustered color:yellow
+edge: {sourcename: "0x80a08f8" targetname: "0x80a0970" label: "0" color: red}
+node: {title: "0x80a08d8" label: "End " color: blue}
+}
+
+graph: { title: "0x80a09ac"  label: "Block" status:clustered color:yellow
+edge: {sourcename: "0x80a09ac" targetname: "0x80a0a24" label: "0" color: red}
+node: {title: "0x80a0970" label: "Return " }
+edge: {sourcename: "0x80a0970" targetname: "0x80a0fe8" label: "0" color: blue}
+edge: {sourcename: "0x80a0970" targetname: "0x80a0fac" label: "1" }
+node: {title: "0x80a0fac" label: "SubI " }
+edge: {sourcename: "0x80a0fac" targetname: "0x80a0cd8" label: "0" }
+edge: {sourcename: "0x80a0fac" targetname: "0x80a0c80" label: "1" }
+}
+
+graph: { title: "0x80a0a60"  label: "Block" status:clustered color:yellow
+edge: {sourcename: "0x80a0a60" targetname: "0x80a0f78" label: "0" color: red}
+edge: {sourcename: "0x80a0a60" targetname: "0x80a0ae0" label: "1" color: red}
+node: {title: "0x80a0a24" label: "ProjX 0" color: yellow}
+edge: {sourcename: "0x80a0a24" targetname: "0x80a0bc8" label: "0" color: red}
+node: {title: "0x80a0b8c" label: "ProjX 1" color: yellow}
+edge: {sourcename: "0x80a0b8c" targetname: "0x80a0bc8" label: "0" color: red}
+node: {title: "0x80a0bc8" label: "Cond " }
+edge: {sourcename: "0x80a0bc8" targetname: "0x80a0c08" label: "0" }
+node: {title: "0x80a0c08" label: "Projb Eq" color: yellow}
+edge: {sourcename: "0x80a0c08" targetname: "0x80a0c44" label: "0" }
+node: {title: "0x80a0c44" label: "CmpT " }
+edge: {sourcename: "0x80a0c44" targetname: "0x80a0f40" label: "0" }
+edge: {sourcename: "0x80a0c44" targetname: "0x80a0c80" label: "1" }
+node: {title: "0x80a0c80" label: "PhiI " color: green}
+edge: {sourcename: "0x80a0c80" targetname: "0x80a0f08" label: "0" }
+edge: {sourcename: "0x80a0c80" targetname: "0x80a0cd8" label: "1" }
+node: {title: "0x80a0cd8" label: "PhiI " color: green}
+edge: {sourcename: "0x80a0cd8" targetname: "0x80a0d30" label: "0" }
+edge: {sourcename: "0x80a0cd8" targetname: "0x80a0c80" label: "1" }
+}
+
+graph: { title: "0x80a0b14"  label: "Block" status:clustered color:yellow
+edge: {sourcename: "0x80a0b14" targetname: "0x80a0b8c" label: "0" color: red}
+node: {title: "0x80a0ae0" label: "Jmp " }
+}
+
+graph: { title: "0x80a0d6c"  label: "Block" status:clustered color:yellow
+edge: {sourcename: "0x80a0d6c" targetname: "0x80a0de4" label: "0" color: red}
+node: {title: "0x80a0d30" label: "ProjI 0" color: yellow}
+edge: {sourcename: "0x80a0d30" targetname: "0x80a0ecc" label: "0" }
+node: {title: "0x80a0f78" label: "Jmp " }
+}
+
+graph: { title: "0x80a0e20"  label: "Block" status:clustered color:yellow
+edge: {sourcename: "0x80a0e20" targetname: "0x80a0de4" label: "0" color: red}
+node: {title: "0x80a0de4" label: "ProjX 0" color: yellow}
+edge: {sourcename: "0x80a0de4" targetname: "0x80a0e98" label: "0" color: red}
+node: {title: "0x80a0e98" label: "Start " color: blue}
+node: {title: "0x80a0ecc" label: "ProjT 4" color: yellow}
+edge: {sourcename: "0x80a0ecc" targetname: "0x80a0e98" label: "0" }
+node: {title: "0x80a0f08" label: "1I " color: yellow}
+node: {title: "0x80a0f40" label: "0I " color: yellow}
+node: {title: "0x80a0fe8" label: "ProjM 1" color: yellow}
+edge: {sourcename: "0x80a0fe8" targetname: "0x80a0e98" label: "0" color: blue}
+}
+
+node: {title: "0x80a109c" label: "Bad " }
+}
diff --git a/testprograms/ref-results/c.vcg b/testprograms/ref-results/c.vcg
new file mode 100644 (file)
index 0000000..1c4041b
--- /dev/null
@@ -0,0 +1,58 @@
+graph: { title: "ir graph of c"
+display_edge_labels: no
+layoutalgorithm: mindepth
+manhattan_edges: yes
+port_sharing: no
+orientation: bottom_to_top
+classname 1: "Data"
+classname 2: "Block"
+classname 3: "Entity type"classname 4: "Entity owner"classname 5: "Method Param"classname 6: "Method Res"classname 7: "Super"classname 8: "Union"classname 9: "Points-to"classname 10: "Array Element Type"classname 11: "Overwrites"classname 12: "Member"
+graph: { title: "0x80a4198"  label: "Block" status:clustered color:yellow
+node: {title: "0x80a4178" label: "End " color: blue}
+}
+
+graph: { title: "0x80a4314"  label: "Block" status:clustered color:yellow
+edge: {sourcename: "0x80a4314" targetname: "0x80a43c8" label: "0" color: red}
+edge: {sourcename: "0x80a4314" targetname: "0x80a4394" label: "1" color: red}
+node: {title: "0x80a4474" label: "PhiM " color: green}
+edge: {sourcename: "0x80a4474" targetname: "0x80a46ec" label: "0" color: blue}
+edge: {sourcename: "0x80a4474" targetname: "0x80a44cc" label: "1" color: blue}
+node: {title: "0x80a4394" label: "Jmp " }
+node: {title: "0x80a44cc" label: "Store " }
+edge: {sourcename: "0x80a44cc" targetname: "0x80a4474" label: "0" color: blue}
+edge: {sourcename: "0x80a44cc" targetname: "0x80a4670" label: "1" }
+edge: {sourcename: "0x80a44cc" targetname: "0x80a4510" label: "2" }
+node: {title: "0x80a4510" label: "PhiI " color: green}
+edge: {sourcename: "0x80a4510" targetname: "0x80a45f8" label: "0" }
+edge: {sourcename: "0x80a4510" targetname: "0x80a4568" label: "1" }
+node: {title: "0x80a4568" label: "PhiI " color: green}
+edge: {sourcename: "0x80a4568" targetname: "0x80a45c0" label: "0" }
+edge: {sourcename: "0x80a4568" targetname: "0x80a4510" label: "1" }
+node: {title: "0x80a4670" label: "Sel a" }
+edge: {sourcename: "0x80a4670" targetname: "0x80a4474" label: "0" color: blue}
+edge: {sourcename: "0x80a4670" targetname: "0x80a46b0" label: "1" }
+}
+
+graph: { title: "0x80a43fc"  label: "Block" status:clustered color:yellow
+edge: {sourcename: "0x80a43fc" targetname: "0x80a42a4" label: "0" color: red}
+node: {title: "0x80a43c8" label: "Jmp " }
+node: {title: "0x80a45f8" label: "ProjI 1" color: yellow}
+edge: {sourcename: "0x80a45f8" targetname: "0x80a4634" label: "0" }
+node: {title: "0x80a46b0" label: "ProjP 0" color: yellow}
+edge: {sourcename: "0x80a46b0" targetname: "0x80a4634" label: "0" }
+}
+
+graph: { title: "0x80a422c"  label: "Block" status:clustered color:yellow
+edge: {sourcename: "0x80a422c" targetname: "0x80a42a4" label: "0" color: red}
+node: {title: "0x80a42a4" label: "ProjX 0" color: yellow}
+edge: {sourcename: "0x80a42a4" targetname: "0x80a42e0" label: "0" color: red}
+node: {title: "0x80a42e0" label: "Start " color: blue}
+node: {title: "0x80a45c0" label: "0I " color: yellow}
+node: {title: "0x80a4634" label: "ProjT 4" color: yellow}
+edge: {sourcename: "0x80a4634" targetname: "0x80a42e0" label: "0" }
+node: {title: "0x80a46ec" label: "ProjM 1" color: yellow}
+edge: {sourcename: "0x80a46ec" targetname: "0x80a42e0" label: "0" color: blue}
+}
+
+node: {title: "0x80a41f8" label: "Bad " }
+}
diff --git a/testprograms/ref-results/main-type.vcg b/testprograms/ref-results/main-type.vcg
new file mode 100644 (file)
index 0000000..51dfc48
--- /dev/null
@@ -0,0 +1,56 @@
+graph: { title: "ir graph of main"
+display_edge_labels: yes
+layoutalgorithm: mindepth
+manhattan_edges: yes
+port_sharing: no
+orientation: bottom_to_top
+classname 1: "Data"
+classname 2: "Block"
+classname 3: "Entity type"classname 4: "Entity owner"classname 5: "Method Param"classname 6: "Method Res"classname 7: "Super"classname 8: "Union"classname 9: "Points-to"classname 10: "Array Element Type"classname 11: "Overwrites"classname 12: "Member"
+node: {title: "0x80a08e8" label: "ent a_tp_elem_ent" color: yellow info1:"automatic allocated
+local
+uninitialized
+non_volatile
+existent
+"}
+edge: { sourcename: "0x80a08e8" targetname: "0x809e0c0" class: 3 label: "type" color: red}
+node: {title: "0x80a0850" label: "array a_tp"info1: "state: layout_undefined
+size: -1B,
+"}
+edge: { sourcename: "0x80a0850" targetname: "0x809e0c0" class: 10 label: "arr elt tp" color:green}
+edge: { sourcename: "0x80a0850" targetname: "0x80a08e8" class: 10 label: "arr ent" color: green}
+node: {title: "0x809e0c0" label: "primitive int"info1: "state: layout_fixed,
+mode: I,
+size: 4B,
+"}
+node: {title: "0x80a0970" label: "ent a" color: yellow info1:"automatic allocated
+local
+uninitialized
+non_volatile
+existent
+"}
+edge: { sourcename: "0x80a0970" targetname: "0x80a0850" class: 3 label: "type" color: red}
+node: {title: "0x80a0750" label: "class mainframe_tp"info1: "state: layout_undefined
+size: -1B,
+" color: green}
+edge: { sourcename: "0x80a0750" targetname: "0x80a0970" class: 12 label: "member" color:blue}
+node: {title: "0x809e1e0" label: "ent main" color: yellow info1:"static allocated
+local
+constant
+non_volatile
+existent
+
+ irg = 0x809e268 "}
+edge: { sourcename: "0x809e1e0" targetname: "0x809e180" class: 3 label: "type" color: red}
+edge: { sourcename: "0x809e1e0" targetname: "0x809be78" label: "value "}
+node: {title: "0x809be78" label: "&(ARRAY-STACK_EXAMPLE_main)P " color: yellow}
+node: {title: "0x809e0e8" label: "class ARRAY-STACK_EXAMPLE"info1: "state: layout_undefined
+size: -1B,
+" color: green}
+edge: { sourcename: "0x809e0e8" targetname: "0x809e1e0" class: 12 label: "member" color:blue}
+node: {title: "0x809e180" label: "method main"info1: "state: layout_fixed,
+mode: P,
+size: 4B,
+"}
+edge: { sourcename: "0x809e180" targetname: "0x809e0c0" class: 6 label: "res 0" color: green}
+}
diff --git a/testprograms/ref-results/main.vcg b/testprograms/ref-results/main.vcg
new file mode 100644 (file)
index 0000000..6c107fd
--- /dev/null
@@ -0,0 +1,49 @@
+graph: { title: "ir graph of main"
+display_edge_labels: yes
+layoutalgorithm: mindepth
+manhattan_edges: yes
+port_sharing: no
+orientation: bottom_to_top
+classname 1: "Data"
+classname 2: "Block"
+classname 3: "Entity type"classname 4: "Entity owner"classname 5: "Method Param"classname 6: "Method Res"classname 7: "Super"classname 8: "Union"classname 9: "Points-to"classname 10: "Array Element Type"classname 11: "Overwrites"classname 12: "Member"
+graph: { title: "0x80a0a90"  label: "Block" status:clustered color:yellow
+edge: {sourcename: "0x80a0a90" targetname: "0x80a0b08" label: "0" color: red}
+node: {title: "0x80a0a70" label: "End " color: blue}
+}
+
+graph: { title: "0x80a0b44"  label: "Block" status:clustered color:yellow
+edge: {sourcename: "0x80a0b44" targetname: "0x80a0bbc" label: "0" color: red}
+node: {title: "0x80a0b08" label: "Return " }
+edge: {sourcename: "0x80a0b08" targetname: "0x80a0e54" label: "0" color: blue}
+edge: {sourcename: "0x80a0b08" targetname: "0x80a0ca4" label: "1" }
+node: {title: "0x80a0ca4" label: "ProjI 2" color: yellow}
+edge: {sourcename: "0x80a0ca4" targetname: "0x80a0ce0" label: "0" }
+node: {title: "0x80a0ce0" label: "Load " }
+edge: {sourcename: "0x80a0ce0" targetname: "0x80a0e18" label: "0" color: blue}
+edge: {sourcename: "0x80a0ce0" targetname: "0x80a0d20" label: "1" }
+node: {title: "0x80a0d20" label: "Sel a_tp_elem_ent" }
+edge: {sourcename: "0x80a0d20" targetname: "0x80a0e18" label: "0" color: blue}
+edge: {sourcename: "0x80a0d20" targetname: "0x80a0d9c" label: "1" }
+edge: {sourcename: "0x80a0d20" targetname: "0x80a0d64" label: "2" }
+node: {title: "0x80a0d9c" label: "Sel a" }
+edge: {sourcename: "0x80a0d9c" targetname: "0x80a0e18" label: "0" color: blue}
+edge: {sourcename: "0x80a0d9c" targetname: "0x80a0ddc" label: "1" }
+node: {title: "0x80a0e54" label: "ProjM 0" color: yellow}
+edge: {sourcename: "0x80a0e54" targetname: "0x80a0ce0" label: "0" color: blue}
+}
+
+graph: { title: "0x80a0bf8"  label: "Block" status:clustered color:yellow
+edge: {sourcename: "0x80a0bf8" targetname: "0x80a0bbc" label: "0" color: red}
+node: {title: "0x80a0bbc" label: "ProjX 0" color: yellow}
+edge: {sourcename: "0x80a0bbc" targetname: "0x80a0c70" label: "0" color: red}
+node: {title: "0x80a0c70" label: "Start " color: blue}
+node: {title: "0x80a0d64" label: "3I " color: yellow}
+node: {title: "0x80a0ddc" label: "ProjP 2" color: yellow}
+edge: {sourcename: "0x80a0ddc" targetname: "0x80a0c70" label: "0" }
+node: {title: "0x80a0e18" label: "ProjM 1" color: yellow}
+edge: {sourcename: "0x80a0e18" targetname: "0x80a0c70" label: "0" color: blue}
+}
+
+node: {title: "0x80a0f08" label: "Bad " }
+}
diff --git a/testprograms/ref-results/run-result.txt b/testprograms/ref-results/run-result.txt
new file mode 100644 (file)
index 0000000..27dc36c
--- /dev/null
@@ -0,0 +1,150 @@
+
+Creating an IR graph: ARRAY-HEAP_EXAMPLE...
+Optimizing ...
+Dumping the graph and a type graph.
+use xvcg to view these graphs:
+/ben/goetz/bin/xvcg GRAPHNAME
+
+
+Creating an IR graph: EMPTY...
+Done building the graph.  Dumping it.
+use xvcg to view this graph:
+/ben/goetz/bin/xvcg GRAPHNAME
+
+
+Creating an IR graph: IRR_CF...
+Optimizing ...
+Dumping the graph and a control flow graph.
+Use xvcg to view these graphs:
+/ben/goetz/bin/xvcg GRAPHNAME
+
+
+Creating an IR graph: ARRAY-STACK_EXAMPLE...
+Optimizing ...
+Dumping the graph and a type graph.
+Use xvcg to view these graphs:
+/ben/goetz/bin/xvcg GRAPHNAME
+
+
+Creating an IR graph: GLOBAL_VAR ...
+Optimizing ...
+Done building the graph.  Dumping it.
+Use xvcg to view this graph:
+/ben/goetz/bin/xvcg GRAPHNAME
+
+
+Creating an IR graph: IRR_LOOP...
+Optimizing ...
+Dumping the graph and a control flow graph.
+Use xvcg to view these graphs:
+/ben/goetz/bin/xvcg GRAPHNAME
+
+
+Creating an IR graph: CALL_STR_EXAMPLE...
+Optimizing ...
+Done building the graph.  Dumping it.
+Use xvcg to view this graph:
+/ben/goetz/bin/xvcg GRAPHNAME
+
+
+creating an IR graph: IF_ELSE_EXAMPLE...
+
+Optimizing ...
+Done building the graph.  Dumping it.
+use xvcg to view this graph:
+/ben/goetz/bin/xvcg GRAPHNAME
+
+
+Creating an IR graph: MEMORY_EXAMPLE...
+Optimizing ...
+Done building the graph.  Dumping it.
+Use xvcg to view this graph:
+/ben/goetz/bin/xvcg GRAPHNAME
+
+
+Creating an IR graph: COND_EXAMPLE...
+Optimizing ...
+Done building the graph.  Dumping it.
+Use xvcg to view this graph:
+/ben/goetz/bin/xvcg GRAPHNAME
+
+
+Creating an IR graph: IF_EXAMPLE...
+Done building the graph.  Dumping it.
+use xvcg to view this graph:
+/ben/goetz/bin/xvcg GRAPHNAME
+
+
+Creating an IR graph: OO_PROGRAM_EXAMPLE...
+Creating IR graph for set_a:
+Creating IR graph for c:
+Optimizing ...
+Dumping graphs of all procedures and a type graph.
+Use xvcg to view these graphs:
+/ben/goetz/bin/xvcg GRAPHNAME
+
+
+Creating an IR graph: CONST_EVAL_EXAMPLE...
+Optimizing ...
+Done building the graph.  Dumping it.
+use xvcg to view this graph:
+/ben/goetz/bin/xvcg GRAPHNAME
+
+
+Creating an IR graph: IF_WHILE_EXAMPLE...
+Optimizing ...
+Done building the graph.  Dumping it with out-edges.
+Use xvcg to view this graph:
+/ben/goetz/bin/xvcg GRAPHNAME
+
+
+Creating an IR graph: ...
+Optimizing ...
+Dumping the graph and a control flow graph.
+Use xvcg to view these graphs:
+/ben/goetz/bin/xvcg GRAPHNAME
+
+
+Creating an IR graph: DEAD_BLOCK...
+Optimizing ...
+Dumping the graph and a control flow graph.
+Use xvcg to view these graphs:
+/ben/goetz/bin/xvcg GRAPHNAME
+
+
+Creating type information...
+Done building the graph.  Dumping it.
+use xvcg to view this graph:
+/ben/goetz/bin/xvcg GRAPHNAME
+
+
+Creating an IR graph: WHILE_EXAMPLE...
+Optimizing ...
+Done building the graph.  Dumping it.
+Use xvcg to view this graph:
+/ben/goetz/bin/xvcg GRAPHNAME
+
+
+Creating an IR graph: ENDLESS_LOOP_EXAMPLE...
+Optimizing ...
+Done building the graph.  Dumping it.
+Use xvcg to view this graph:
+/ben/goetz/bin/xvcg GRAPHNAME
+
+
+Creating an IR graph: GLOBAL_CSE_EXAMPLE...
+Optimizing ...
+Done building the graph.  Dumping it.
+use xvcg to view this graph:
+/ben/goetz/bin/xvcg GRAPHNAME
+
+
+Creating an IR graph: OO_INLINE_EXAMPLE...
+Creating IR graph for set_a:
+Creating IR graph for c:
+Inlining set_a ...
+INLINEing c ...
+Optimizing ...
+Dumping graphs of all procedures and a type graph.
+Use xvcg to view these graphs:
+/ben/goetz/bin/xvcg GRAPHNAME
diff --git a/testprograms/ref-results/set_a.vcg b/testprograms/ref-results/set_a.vcg
new file mode 100644 (file)
index 0000000..531febd
--- /dev/null
@@ -0,0 +1,46 @@
+graph: { title: "ir graph of set_a"
+display_edge_labels: no
+layoutalgorithm: mindepth
+manhattan_edges: yes
+port_sharing: no
+orientation: bottom_to_top
+classname 1: "Data"
+classname 2: "Block"
+classname 3: "Entity type"classname 4: "Entity owner"classname 5: "Method Param"classname 6: "Method Res"classname 7: "Super"classname 8: "Union"classname 9: "Points-to"classname 10: "Array Element Type"classname 11: "Overwrites"classname 12: "Member"
+graph: { title: "0x80a1bb8"  label: "Block" status:clustered color:yellow
+edge: {sourcename: "0x80a1bb8" targetname: "0x80a1c30" label: "0" color: red}
+node: {title: "0x80a1b98" label: "End " color: blue}
+}
+
+graph: { title: "0x80a1c68"  label: "Block" status:clustered color:yellow
+edge: {sourcename: "0x80a1c68" targetname: "0x80a1ce0" label: "0" color: red}
+node: {title: "0x80a1c30" label: "Return " }
+edge: {sourcename: "0x80a1c30" targetname: "0x80a1dc8" label: "0" color: blue}
+node: {title: "0x80a1dc8" label: "ProjM 0" color: yellow}
+edge: {sourcename: "0x80a1dc8" targetname: "0x80a1e04" label: "0" color: blue}
+node: {title: "0x80a1e04" label: "Store " }
+edge: {sourcename: "0x80a1e04" targetname: "0x80a1f3c" label: "0" color: blue}
+edge: {sourcename: "0x80a1e04" targetname: "0x80a1ec0" label: "1" }
+edge: {sourcename: "0x80a1e04" targetname: "0x80a1e48" label: "2" }
+node: {title: "0x80a1e48" label: "ProjI 1" color: yellow}
+edge: {sourcename: "0x80a1e48" targetname: "0x80a1e84" label: "0" }
+node: {title: "0x80a1ec0" label: "Sel a" }
+edge: {sourcename: "0x80a1ec0" targetname: "0x80a1f3c" label: "0" color: blue}
+edge: {sourcename: "0x80a1ec0" targetname: "0x80a1f00" label: "1" }
+node: {title: "0x80a1f00" label: "ProjP 0" color: yellow}
+edge: {sourcename: "0x80a1f00" targetname: "0x80a1e84" label: "0" }
+}
+
+graph: { title: "0x80a1d1c"  label: "Block" status:clustered color:yellow
+edge: {sourcename: "0x80a1d1c" targetname: "0x80a1ce0" label: "0" color: red}
+node: {title: "0x80a1ce0" label: "ProjX 0" color: yellow}
+edge: {sourcename: "0x80a1ce0" targetname: "0x80a1d94" label: "0" color: red}
+node: {title: "0x80a1d94" label: "Start " color: blue}
+node: {title: "0x80a1e84" label: "ProjT 4" color: yellow}
+edge: {sourcename: "0x80a1e84" targetname: "0x80a1d94" label: "0" }
+node: {title: "0x80a1f3c" label: "ProjM 1" color: yellow}
+edge: {sourcename: "0x80a1f3c" targetname: "0x80a1d94" label: "0" color: blue}
+}
+
+node: {title: "0x80a1ff0" label: "Bad " }
+}