extended example
authorBeyhan <beyhan@ipd.info.uni-karlsruhe.de>
Tue, 16 Nov 2004 12:27:28 +0000 (12:27 +0000)
committerBeyhan <beyhan@ipd.info.uni-karlsruhe.de>
Tue, 16 Nov 2004 12:27:28 +0000 (12:27 +0000)
[r4406]

23 files changed:
testprograms/ref-results/STRENGTH_RED_EXAMPLE_m1-looptree.vcg [new file with mode: 0644]
testprograms/ref-results/STRENGTH_RED_EXAMPLE_m1-strength_reduced.vcg
testprograms/ref-results/STRENGTH_RED_EXAMPLE_m1.vcg [new file with mode: 0644]
testprograms/ref-results/STRENGTH_RED_EXAMPLE_m2-looptree.vcg [new file with mode: 0644]
testprograms/ref-results/STRENGTH_RED_EXAMPLE_m2-strength_reduced.vcg
testprograms/ref-results/STRENGTH_RED_EXAMPLE_m2.vcg [new file with mode: 0644]
testprograms/ref-results/STRENGTH_RED_EXAMPLE_m3-looptree.vcg [new file with mode: 0644]
testprograms/ref-results/STRENGTH_RED_EXAMPLE_m3-strength_reduced.vcg
testprograms/ref-results/STRENGTH_RED_EXAMPLE_m3.vcg [new file with mode: 0644]
testprograms/ref-results/STRENGTH_RED_EXAMPLE_m4-looptree.vcg [new file with mode: 0644]
testprograms/ref-results/STRENGTH_RED_EXAMPLE_m4-strength_reduced.vcg
testprograms/ref-results/STRENGTH_RED_EXAMPLE_m4.vcg [new file with mode: 0644]
testprograms/ref-results/STRENGTH_RED_EXAMPLE_m5-looptree.vcg [new file with mode: 0644]
testprograms/ref-results/STRENGTH_RED_EXAMPLE_m5-strength_reduced.vcg
testprograms/ref-results/STRENGTH_RED_EXAMPLE_m5.vcg [new file with mode: 0644]
testprograms/ref-results/STRENGTH_RED_EXAMPLE_m6-looptree.vcg [new file with mode: 0644]
testprograms/ref-results/STRENGTH_RED_EXAMPLE_m6-strength_reduced.vcg [new file with mode: 0644]
testprograms/ref-results/STRENGTH_RED_EXAMPLE_m6.vcg [new file with mode: 0644]
testprograms/ref-results/STRENGTH_RED_EXAMPLE_m7-looptree.vcg [new file with mode: 0644]
testprograms/ref-results/STRENGTH_RED_EXAMPLE_m7-strength_reduced.vcg [new file with mode: 0644]
testprograms/ref-results/STRENGTH_RED_EXAMPLE_m7.vcg [new file with mode: 0644]
testprograms/ref-results/run-result.txt
testprograms/strength_red_example.c

diff --git a/testprograms/ref-results/STRENGTH_RED_EXAMPLE_m1-looptree.vcg b/testprograms/ref-results/STRENGTH_RED_EXAMPLE_m1-looptree.vcg
new file mode 100644 (file)
index 0000000..2160f93
--- /dev/null
@@ -0,0 +1,73 @@
+graph: { title: "ir graph of STRENGTH_RED_EXAMPLE_m1"
+display_edge_labels: yes
+layoutalgorithm: mindepth
+manhattan_edges: yes
+port_sharing: no
+orientation: top_to_bottom
+classname 1:  "intrablock Data"
+classname 16: "interblock Data"
+classname 2:  "Block"
+classname 13: "Control Flow"
+classname 18: "Exception Control Flow for Interval Analysis"
+classname 14: "intrablock Memory"
+classname 17: "interblock Memory"
+classname 15: "Dominators"
+classname 3:  "Entity type"
+classname 4:  "Entity owner"
+classname 5:  "Method Param"
+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"
+infoname 1: "Attribute"
+infoname 2: "Verification errors"
+colorentry 100:    0   0    0
+colorentry 101:   20   0    0
+colorentry 102:   40   0    0
+colorentry 103:   60   0    0
+colorentry 104:   80   0    0
+colorentry 105:  100   0    0
+colorentry 106:  120   0    0
+colorentry 107:  140   0    0
+colorentry 108:  150   0    0
+colorentry 109:  180   0    0
+colorentry 110:  200   0    0
+colorentry 111:  220   0    0
+colorentry 112:  240   0    0
+colorentry 113:  255   0    0
+colorentry 113:  255  20   20
+colorentry 114:  255  40   40
+colorentry 115:  255  60   60
+colorentry 116:  255  80   80
+colorentry 117:  255 100  100
+colorentry 118:  255 120  120
+colorentry 119:  255 140  140
+colorentry 120:  255 150  150
+colorentry 121:  255 180  180
+colorentry 122:  255 200  200
+colorentry 123:  255 220  220
+colorentry 124:  255 240  240
+colorentry 125:  255 250  250
+
+node: {title: "l534" label: "loop 0, 2 sons, 3 nodes"  info1: " loop nr: 534
+ The loop was analyzed 0 times."}
+node: { title: "l534-0-nodes" color: lightyellow label: "Block  36      ->135400672
+Block  34       ->135400660
+Block  46       ->135400732" }
+edge: {sourcename: "l534" targetname: "l534-0-nodes" label:"0...2"}
+edge: {sourcename: "l534" targetname: "l535" color: darkgreen label: "3"}
+node: {title: "l535" label: "loop 1, 0 sons, 2 nodes"  info1: " loop nr: 535
+ The loop was analyzed 0 times."}
+node: { title: "l535-0-nodes" color: lightyellow label: "Block  49      ->135400708     loop head!
+Block  57       ->135400720" }
+edge: {sourcename: "l535" targetname: "l535-0-nodes" label:"0...1"}
+edge: {sourcename: "l534" targetname: "l536" color: darkgreen label: "4"}
+node: {title: "l536" label: "loop 1, 0 sons, 2 nodes"  info1: " loop nr: 536
+ The loop was analyzed 0 times."}
+node: { title: "l536-0-nodes" color: lightyellow label: "Block  93      ->135400684     loop head!
+Block  103      ->135400696" }
+edge: {sourcename: "l536" targetname: "l536-0-nodes" label:"0...1"}
+}
index 0c15f81..56f89c4 100644 (file)
@@ -52,316 +52,347 @@ colorentry 123:  255 220  220
 colorentry 124:  255 240  240
 colorentry 125:  255 250  250
 
-graph: { title: "g37" label: "STRENGTH_RED_EXAMPLE_m1" status:clustered color:white
-graph: { title: "n26"  label: "Block 26" status:clustered color:yellow
-edge: {sourcename: "n26" targetname: "n103" label: "0" class:13 priority:60 color:red}
-node: {title: "n27" label: "End  27"  info1: "mode:    X
-visited: 30
+graph: { title: "g45" label: "STRENGTH_RED_EXAMPLE_m1" status:clustered color:white
+graph: { title: "n93"  label: "Block 93" status:clustered color:yellow
+edge: {sourcename: "n93" targetname: "n55" label: "0" class:13 priority:60 color:red}
+backedge: {sourcename: "n93" targetname: "n114" label: "1" linestyle:dashed class:13 priority:60 color:red}
+node: {title: "n120" label: "PhiM  120"  info1: "mode:    M
+visited: 37
 irg:     STRENGTH_RED_EXAMPLE_m1
-arity: 2
-"color: blue}
-}
-
-graph: { title: "n98"  label: "Block 98" status:clustered color:yellow
-edge: {sourcename: "n98" targetname: "n78" label: "0" class:13 priority:60 color:red}
-node: {title: "n103" label: "Return  103"  info1: "mode:    X
-visited: 30
+arity: 2 backedges:
+"color: green}
+edge: {sourcename: "n120" targetname: "n91" label: "0" class:17 priority:10 color:blue}
+edge: {sourcename: "n120" targetname: "n112" label: "1" class:17 priority:10 color:blue}
+node: {title: "n557" label: "PhiP  557"  info1: "mode:    P
+visited: 37
+irg:     STRENGTH_RED_EXAMPLE_m1
+arity: 2 backedges:
+"color: green}
+edge: {sourcename: "n557" targetname: "n559" label: "0" class:16 priority:10}
+edge: {sourcename: "n557" targetname: "n558" label: "1" class:16 priority:10}
+node: {title: "n555" label: "MulIs  555"  info1: "mode:    Is
+visited: 37
 irg:     STRENGTH_RED_EXAMPLE_m1
 arity: 2
-return in method of type STRENGTH_RED_EXAMPLE_meth_tp
-  res 0 type: int
 "}
-edge: {sourcename: "n103" targetname: "n96" label: "0" class:17 priority:10 color:blue}
-edge: {sourcename: "n103" targetname: "n97" label: "1" class:16 priority:10}
+node: {title: "n555n59" label: "0x4Is  59"  info1: "mode:    Is
+visited: 37
+irg:     STRENGTH_RED_EXAMPLE_m1
+arity: 0
+Const of type type_unknown
+"color: yellow}
+edge: {sourcename: "n555" targetname: "n555n59" label: "0" class:16 priority:10}
+edge: {sourcename: "n555" targetname: "n92" label: "1" class:16 priority:10}
+node: {title: "n100" label: "Jmp  100"  info1: "mode:    X
+visited: 37
+irg:     STRENGTH_RED_EXAMPLE_m1
+arity: 0
+"}
 }
 
-graph: { title: "n72"  label: "Block 72" status:clustered color:yellow
-edge: {sourcename: "n72" targetname: "n47" label: "0" class:13 priority:60 color:red}
-backedge: {sourcename: "n72" targetname: "n92" label: "1" linestyle:dashed class:13 priority:60 color:red}
-node: {title: "n96" label: "PhiM  96"  info1: "mode:    M
-visited: 30
+graph: { title: "n49"  label: "Block 49" status:clustered color:yellow
+edge: {sourcename: "n49" targetname: "n48" label: "0" class:13 priority:60 color:red}
+backedge: {sourcename: "n49" targetname: "n85" label: "1" linestyle:dashed class:13 priority:60 color:red}
+node: {title: "n91" label: "PhiM  91"  info1: "mode:    M
+visited: 37
+irg:     STRENGTH_RED_EXAMPLE_m1
+arity: 2 backedges:
+"color: green}
+edge: {sourcename: "n91" targetname: "n43" label: "0" class:17 priority:10 color:blue}
+edge: {sourcename: "n91" targetname: "n83" label: "1" class:17 priority:10 color:blue}
+node: {title: "n550" label: "PhiP  550"  info1: "mode:    P
+visited: 37
 irg:     STRENGTH_RED_EXAMPLE_m1
 arity: 2 backedges:
 "color: green}
-edge: {sourcename: "n96" targetname: "n70" label: "0" class:17 priority:10 color:blue}
-edge: {sourcename: "n96" targetname: "n90" label: "1" class:17 priority:10 color:blue}
-node: {title: "n78" label: "ProjX 0 78"  info1: "mode:    X
-visited: 30
+node: {title: "n550n62" label: "SymC &a2  62"  info1: "mode:    P
+visited: 37
+irg:     STRENGTH_RED_EXAMPLE_m1
+arity: 0
+kind addr_ent
+entity GlobalType.a2 (32)
+
+SymConst of type type_unknown
+"}
+edge: {sourcename: "n550" targetname: "n550n62" label: "0" class:16 priority:10}
+edge: {sourcename: "n550" targetname: "n551" label: "1" class:16 priority:10}
+node: {title: "n542" label: "PhiP  542"  info1: "mode:    P
+visited: 37
+irg:     STRENGTH_RED_EXAMPLE_m1
+arity: 2 backedges:
+"color: green}
+node: {title: "n542n61" label: "SymC &a  61"  info1: "mode:    P
+visited: 37
+irg:     STRENGTH_RED_EXAMPLE_m1
+arity: 0
+kind addr_ent
+entity GlobalType.a (31)
+
+SymConst of type type_unknown
+"}
+edge: {sourcename: "n542" targetname: "n542n61" label: "0" class:16 priority:10}
+edge: {sourcename: "n542" targetname: "n543" label: "1" class:16 priority:10}
+node: {title: "n559" label: "AddP  559"  info1: "mode:    P
+visited: 37
+irg:     STRENGTH_RED_EXAMPLE_m1
+arity: 2
+"}
+node: {title: "n559n61" label: "SymC &a  61"  info1: "mode:    P
+visited: 37
+irg:     STRENGTH_RED_EXAMPLE_m1
+arity: 0
+kind addr_ent
+entity GlobalType.a (31)
+
+SymConst of type type_unknown
+"}
+edge: {sourcename: "n559" targetname: "n559n61" label: "0" class:16 priority:10}
+edge: {sourcename: "n559" targetname: "n555" label: "1" class:16 priority:10}
+node: {title: "n55" label: "ProjX 0 55"  info1: "mode:    X
+visited: 37
 irg:     STRENGTH_RED_EXAMPLE_m1
 arity: 1
 "color: yellow}
-edge: {sourcename: "n78" targetname: "n77" label: "0" class:13 priority:60 color:red}
-node: {title: "n79" label: "ProjX 1 79"  info1: "mode:    X
-visited: 30
+edge: {sourcename: "n55" targetname: "n54" label: "0" class:13 priority:60 color:red}
+node: {title: "n56" label: "ProjX 1 56"  info1: "mode:    X
+visited: 37
 irg:     STRENGTH_RED_EXAMPLE_m1
 arity: 1
 "color: yellow}
-edge: {sourcename: "n79" targetname: "n77" label: "0" class:13 priority:60 color:red}
-node: {title: "n77" label: "Cond  77"  info1: "mode:    T
-visited: 30
+edge: {sourcename: "n56" targetname: "n54" label: "0" class:13 priority:60 color:red}
+node: {title: "n54" label: "Cond  54"  info1: "mode:    T
+visited: 37
 irg:     STRENGTH_RED_EXAMPLE_m1
 arity: 1
 "}
-edge: {sourcename: "n77" targetname: "n76" label: "0" class:1  priority:50}
-node: {title: "n76" label: "Projb Lt 76"  info1: "mode:    b
-visited: 30
+edge: {sourcename: "n54" targetname: "n53" label: "0" class:1  priority:50}
+node: {title: "n53" label: "Projb Gt 53"  info1: "mode:    b
+visited: 37
 irg:     STRENGTH_RED_EXAMPLE_m1
 arity: 1
 "color: yellow}
-edge: {sourcename: "n76" targetname: "n75" label: "0" class:1  priority:50}
-node: {title: "n75" label: "Cmp  75"  info1: "mode:    T
-visited: 30
+edge: {sourcename: "n53" targetname: "n52" label: "0" class:1  priority:50}
+node: {title: "n52" label: "Cmp  52"  info1: "mode:    T
+visited: 37
 irg:     STRENGTH_RED_EXAMPLE_m1
 arity: 2
 "}
-node: {title: "n75n39" label: "0x0Is  39"  info1: "mode:    Is
-visited: 30
+node: {title: "n52n51" label: "0xAIs  51"  info1: "mode:    Is
+visited: 37
 irg:     STRENGTH_RED_EXAMPLE_m1
 arity: 0
 Const of type type_unknown
 "color: yellow}
-edge: {sourcename: "n75" targetname: "n75n39" label: "0" class:16 priority:10}
-edge: {sourcename: "n75" targetname: "n97" label: "1" class:1  priority:50}
-node: {title: "n97" label: "PhiIs  97"  info1: "mode:    Is
-visited: 30
+edge: {sourcename: "n52" targetname: "n52n51" label: "0" class:16 priority:10}
+edge: {sourcename: "n52" targetname: "n92" label: "1" class:1  priority:50}
+node: {title: "n92" label: "PhiIs  92"  info1: "mode:    Is
+visited: 37
 irg:     STRENGTH_RED_EXAMPLE_m1
 arity: 2 backedges:
 "color: green}
-edge: {sourcename: "n97" targetname: "n71" label: "0" class:16 priority:10}
-edge: {sourcename: "n97" targetname: "n91" label: "1" class:16 priority:10}
+node: {title: "n92n47" label: "0x0Is  47"  info1: "mode:    Is
+visited: 37
+irg:     STRENGTH_RED_EXAMPLE_m1
+arity: 0
+Const of type type_unknown
+"color: yellow}
+edge: {sourcename: "n92" targetname: "n92n47" label: "0" class:16 priority:10}
+edge: {sourcename: "n92" targetname: "n84" label: "1" class:16 priority:10}
+}
+
+graph: { title: "n46"  label: "Block 46" status:clustered color:yellow
+edge: {sourcename: "n46" targetname: "n40" label: "0" class:13 priority:60 color:red}
+node: {title: "n48" label: "Jmp  48"  info1: "mode:    X
+visited: 37
+irg:     STRENGTH_RED_EXAMPLE_m1
+arity: 0
+"}
 }
 
-graph: { title: "n80"  label: "Block 80" status:clustered color:yellow
-edge: {sourcename: "n80" targetname: "n79" label: "0" class:13 priority:60 color:red}
-node: {title: "n90" label: "ProjM 0 90"  info1: "mode:    M
-visited: 30
+graph: { title: "n57"  label: "Block 57" status:clustered color:yellow
+edge: {sourcename: "n57" targetname: "n56" label: "0" class:13 priority:60 color:red}
+node: {title: "n83" label: "ProjM 0 83"  info1: "mode:    M
+visited: 37
 irg:     STRENGTH_RED_EXAMPLE_m1
 arity: 1
 "color: yellow}
-edge: {sourcename: "n90" targetname: "n88" label: "0" class:17 priority:10 color:blue}
-node: {title: "n88" label: "Store  88"  info1: "mode:    T
-visited: 30
+edge: {sourcename: "n83" targetname: "n81" label: "0" class:17 priority:10 color:blue}
+node: {title: "n81" label: "Store  81"  info1: "mode:    T
+visited: 37
 irg:     STRENGTH_RED_EXAMPLE_m1
 arity: 3
 volatility: volatility_non_volatile
 "}
-node: {title: "n88n58" label: "0x13Is  58"  info1: "mode:    Is
-visited: 30
+node: {title: "n81n80" label: "0xFIs  80"  info1: "mode:    Is
+visited: 37
 irg:     STRENGTH_RED_EXAMPLE_m1
 arity: 0
 Const of type type_unknown
 "color: yellow}
-edge: {sourcename: "n88" targetname: "n96" label: "0" class:17 priority:10 color:blue}
-edge: {sourcename: "n88" targetname: "n85" label: "1" class:1  priority:50}
-edge: {sourcename: "n88" targetname: "n88n58" label: "2" class:16 priority:10}
-node: {title: "n85" label: "AddP  85"  info1: "mode:    P
-visited: 30
+edge: {sourcename: "n81" targetname: "n76" label: "0" class:14 priority:50 color:blue}
+edge: {sourcename: "n81" targetname: "n542" label: "1" class:16 priority:10}
+edge: {sourcename: "n81" targetname: "n81n80" label: "2" class:16 priority:10}
+node: {title: "n76" label: "ProjM 0 76"  info1: "mode:    M
+visited: 37
 irg:     STRENGTH_RED_EXAMPLE_m1
-arity: 2
-"}
-node: {title: "n85n52" label: "SymC &a  52"  info1: "mode:    P
-visited: 30
-irg:     STRENGTH_RED_EXAMPLE_m1
-arity: 0
-kind addr_ent
-entity GlobalType.a (24)
-
-SymConst of type type_unknown
-"}
-edge: {sourcename: "n85" targetname: "n85n52" label: "0" class:16 priority:10}
-edge: {sourcename: "n85" targetname: "n84" label: "1" class:1  priority:50}
-node: {title: "n84" label: "ShlIs  84"  info1: "mode:    Is
-visited: 30
+arity: 1
+"color: yellow}
+edge: {sourcename: "n76" targetname: "n74" label: "0" class:17 priority:10 color:blue}
+node: {title: "n74" label: "Store  74"  info1: "mode:    T
+visited: 37
 irg:     STRENGTH_RED_EXAMPLE_m1
-arity: 2
+arity: 3
+volatility: volatility_non_volatile
 "}
-node: {title: "n84n55" label: "0x2Iu  55"  info1: "mode:    Iu
-visited: 30
+node: {title: "n74n73" label: "0x10Is  73"  info1: "mode:    Is
+visited: 37
 irg:     STRENGTH_RED_EXAMPLE_m1
 arity: 0
 Const of type type_unknown
 "color: yellow}
-edge: {sourcename: "n84" targetname: "n97" label: "0" class:16 priority:10}
-edge: {sourcename: "n84" targetname: "n84n55" label: "1" class:16 priority:10}
-node: {title: "n92" label: "Jmp  92"  info1: "mode:    X
-visited: 30
+edge: {sourcename: "n74" targetname: "n72" label: "0" class:14 priority:50 color:blue}
+edge: {sourcename: "n74" targetname: "n550" label: "1" class:16 priority:10}
+edge: {sourcename: "n74" targetname: "n74n73" label: "2" class:16 priority:10}
+node: {title: "n72" label: "ProjM 0 72"  info1: "mode:    M
+visited: 37
 irg:     STRENGTH_RED_EXAMPLE_m1
-arity: 0
-"}
-node: {title: "n91" label: "SubIs  91"  info1: "mode:    Is
-visited: 30
+arity: 1
+"color: yellow}
+edge: {sourcename: "n72" targetname: "n70" label: "0" class:17 priority:10 color:blue}
+node: {title: "n70" label: "Store  70"  info1: "mode:    T
+visited: 37
 irg:     STRENGTH_RED_EXAMPLE_m1
-arity: 2
+arity: 3
+volatility: volatility_non_volatile
 "}
-node: {title: "n91n50" label: "0x1Is  50"  info1: "mode:    Is
-visited: 30
+node: {title: "n70n68" label: "0x13Is  68"  info1: "mode:    Is
+visited: 37
 irg:     STRENGTH_RED_EXAMPLE_m1
 arity: 0
 Const of type type_unknown
 "color: yellow}
-edge: {sourcename: "n91" targetname: "n97" label: "0" class:16 priority:10}
-edge: {sourcename: "n91" targetname: "n91n50" label: "1" class:16 priority:10}
-}
-
-graph: { title: "n41"  label: "Block 41" status:clustered color:yellow
-edge: {sourcename: "n41" targetname: "n40" label: "0" class:13 priority:60 color:red}
-backedge: {sourcename: "n41" targetname: "n64" label: "1" linestyle:dashed class:13 priority:60 color:red}
-node: {title: "n70" label: "PhiM  70"  info1: "mode:    M
-visited: 30
+edge: {sourcename: "n70" targetname: "n91" label: "0" class:17 priority:10 color:blue}
+edge: {sourcename: "n70" targetname: "n542" label: "1" class:16 priority:10}
+edge: {sourcename: "n70" targetname: "n70n68" label: "2" class:16 priority:10}
+node: {title: "n551" label: "AddP  551"  info1: "mode:    P
+visited: 37
 irg:     STRENGTH_RED_EXAMPLE_m1
-arity: 2 backedges:
-"color: green}
-edge: {sourcename: "n70" targetname: "n35" label: "0" class:17 priority:10 color:blue}
-edge: {sourcename: "n70" targetname: "n62" label: "1" class:17 priority:10 color:blue}
-node: {title: "n47" label: "ProjX 0 47"  info1: "mode:    X
-visited: 30
+arity: 2
+"}
+node: {title: "n551n60" label: "0xCIs  60"  info1: "mode:    Is
+visited: 37
 irg:     STRENGTH_RED_EXAMPLE_m1
-arity: 1
+arity: 0
+Const of type type_unknown
 "color: yellow}
-edge: {sourcename: "n47" targetname: "n46" label: "0" class:13 priority:60 color:red}
-node: {title: "n71" label: "PhiIs  71"  info1: "mode:    Is
-visited: 30
+edge: {sourcename: "n551" targetname: "n551n60" label: "0" class:16 priority:10}
+edge: {sourcename: "n551" targetname: "n550" label: "1" class:16 priority:10}
+node: {title: "n543" label: "AddP  543"  info1: "mode:    P
+visited: 37
 irg:     STRENGTH_RED_EXAMPLE_m1
-arity: 2 backedges:
-"color: green}
-node: {title: "n71n39" label: "0x0Is  39"  info1: "mode:    Is
-visited: 30
+arity: 2
+"}
+node: {title: "n543n59" label: "0x4Is  59"  info1: "mode:    Is
+visited: 37
 irg:     STRENGTH_RED_EXAMPLE_m1
 arity: 0
 Const of type type_unknown
 "color: yellow}
-edge: {sourcename: "n71" targetname: "n71n39" label: "0" class:16 priority:10}
-edge: {sourcename: "n71" targetname: "n63" label: "1" class:16 priority:10}
-node: {title: "n48" label: "ProjX 1 48"  info1: "mode:    X
-visited: 30
+edge: {sourcename: "n543" targetname: "n543n59" label: "0" class:16 priority:10}
+edge: {sourcename: "n543" targetname: "n542" label: "1" class:16 priority:10}
+node: {title: "n85" label: "Jmp  85"  info1: "mode:    X
+visited: 37
 irg:     STRENGTH_RED_EXAMPLE_m1
-arity: 1
-"color: yellow}
-edge: {sourcename: "n48" targetname: "n46" label: "0" class:13 priority:60 color:red}
-node: {title: "n46" label: "Cond  46"  info1: "mode:    T
-visited: 30
-irg:     STRENGTH_RED_EXAMPLE_m1
-arity: 1
+arity: 0
 "}
-edge: {sourcename: "n46" targetname: "n45" label: "0" class:1  priority:50}
-node: {title: "n45" label: "Projb Gt 45"  info1: "mode:    b
-visited: 30
-irg:     STRENGTH_RED_EXAMPLE_m1
-arity: 1
-"color: yellow}
-edge: {sourcename: "n45" targetname: "n44" label: "0" class:1  priority:50}
-node: {title: "n44" label: "Cmp  44"  info1: "mode:    T
-visited: 30
+node: {title: "n84" label: "AddIs  84"  info1: "mode:    Is
+visited: 37
 irg:     STRENGTH_RED_EXAMPLE_m1
 arity: 2
 "}
-node: {title: "n44n43" label: "0xAIs  43"  info1: "mode:    Is
-visited: 30
+node: {title: "n84n58" label: "0x1Is  58"  info1: "mode:    Is
+visited: 37
 irg:     STRENGTH_RED_EXAMPLE_m1
 arity: 0
 Const of type type_unknown
 "color: yellow}
-edge: {sourcename: "n44" targetname: "n44n43" label: "0" class:16 priority:10}
-edge: {sourcename: "n44" targetname: "n71" label: "1" class:1  priority:50}
+edge: {sourcename: "n84" targetname: "n84n58" label: "0" class:16 priority:10}
+edge: {sourcename: "n84" targetname: "n92" label: "1" class:16 priority:10}
 }
 
-graph: { title: "n38"  label: "Block 38" status:clustered color:yellow
-edge: {sourcename: "n38" targetname: "n32" label: "0" class:13 priority:60 color:red}
-node: {title: "n40" label: "Jmp  40"  info1: "mode:    X
-visited: 30
-irg:     STRENGTH_RED_EXAMPLE_m1
-arity: 0
-"}
-}
-
-graph: { title: "n49"  label: "Block 49" status:clustered color:yellow
-edge: {sourcename: "n49" targetname: "n48" label: "0" class:13 priority:60 color:red}
-node: {title: "n62" label: "ProjM 0 62"  info1: "mode:    M
-visited: 30
+graph: { title: "n103"  label: "Block 103" status:clustered color:yellow
+edge: {sourcename: "n103" targetname: "n100" label: "0" class:13 priority:60 color:red}
+node: {title: "n112" label: "ProjM 0 112"  info1: "mode:    M
+visited: 37
 irg:     STRENGTH_RED_EXAMPLE_m1
 arity: 1
 "color: yellow}
-edge: {sourcename: "n62" targetname: "n60" label: "0" class:17 priority:10 color:blue}
-node: {title: "n60" label: "Store  60"  info1: "mode:    T
-visited: 30
+edge: {sourcename: "n112" targetname: "n110" label: "0" class:17 priority:10 color:blue}
+node: {title: "n110" label: "Store  110"  info1: "mode:    T
+visited: 37
 irg:     STRENGTH_RED_EXAMPLE_m1
 arity: 3
 volatility: volatility_non_volatile
 "}
-node: {title: "n60n58" label: "0x13Is  58"  info1: "mode:    Is
-visited: 30
+node: {title: "n110n68" label: "0x13Is  68"  info1: "mode:    Is
+visited: 37
 irg:     STRENGTH_RED_EXAMPLE_m1
 arity: 0
 Const of type type_unknown
 "color: yellow}
-edge: {sourcename: "n60" targetname: "n70" label: "0" class:17 priority:10 color:blue}
-edge: {sourcename: "n60" targetname: "n57" label: "1" class:1  priority:50}
-edge: {sourcename: "n60" targetname: "n60n58" label: "2" class:16 priority:10}
-node: {title: "n57" label: "AddP  57"  info1: "mode:    P
-visited: 30
-irg:     STRENGTH_RED_EXAMPLE_m1
-arity: 2
-"}
-node: {title: "n57n52" label: "SymC &a  52"  info1: "mode:    P
-visited: 30
-irg:     STRENGTH_RED_EXAMPLE_m1
-arity: 0
-kind addr_ent
-entity GlobalType.a (24)
-
-SymConst of type type_unknown
-"}
-edge: {sourcename: "n57" targetname: "n57n52" label: "0" class:16 priority:10}
-edge: {sourcename: "n57" targetname: "n56" label: "1" class:1  priority:50}
-node: {title: "n56" label: "ShlIs  56"  info1: "mode:    Is
-visited: 30
+edge: {sourcename: "n110" targetname: "n120" label: "0" class:17 priority:10 color:blue}
+edge: {sourcename: "n110" targetname: "n557" label: "1" class:16 priority:10}
+edge: {sourcename: "n110" targetname: "n110n68" label: "2" class:16 priority:10}
+node: {title: "n558" label: "AddP  558"  info1: "mode:    P
+visited: 37
 irg:     STRENGTH_RED_EXAMPLE_m1
 arity: 2
 "}
-node: {title: "n56n55" label: "0x2Iu  55"  info1: "mode:    Iu
-visited: 30
+node: {title: "n558n554" label: "0xFFFFFFFCIs  554"  info1: "mode:    Is
+visited: 37
 irg:     STRENGTH_RED_EXAMPLE_m1
 arity: 0
 Const of type type_unknown
 "color: yellow}
-edge: {sourcename: "n56" targetname: "n71" label: "0" class:16 priority:10}
-edge: {sourcename: "n56" targetname: "n56n55" label: "1" class:16 priority:10}
-node: {title: "n63" label: "AddIs  63"  info1: "mode:    Is
-visited: 30
+edge: {sourcename: "n558" targetname: "n558n554" label: "0" class:16 priority:10}
+edge: {sourcename: "n558" targetname: "n557" label: "1" class:16 priority:10}
+node: {title: "n114" label: "Jmp  114"  info1: "mode:    X
+visited: 37
 irg:     STRENGTH_RED_EXAMPLE_m1
-arity: 2
+arity: 0
 "}
-node: {title: "n63n50" label: "0x1Is  50"  info1: "mode:    Is
-visited: 30
+}
+
+graph: { title: "n34"  label: "Block 34" status:clustered color:yellow
+edge: {sourcename: "n34" targetname: "n34n38" label: "0" class:13 priority:60 color:red}
+node: {title: "n35" label: "End  35"  info1: "mode:    X
+visited: 37
 irg:     STRENGTH_RED_EXAMPLE_m1
-arity: 0
-Const of type type_unknown
-"color: yellow}
-edge: {sourcename: "n63" targetname: "n63n50" label: "0" class:16 priority:10}
-edge: {sourcename: "n63" targetname: "n71" label: "1" class:16 priority:10}
-node: {title: "n64" label: "Jmp  64"  info1: "mode:    X
-visited: 30
+arity: 3
+"color: blue}
+}
+node: {title: "n34n38" label: "Bad  38"  info1: "mode:    T
+visited: 37
 irg:     STRENGTH_RED_EXAMPLE_m1
 arity: 0
 "}
-}
 
-graph: { title: "n28"  label: "Block 28" status:clustered color:yellow
-edge: {sourcename: "n28" targetname: "n32" label: "0" class:13 priority:60 color:red}
-node: {title: "n35" label: "ProjM 1 35"  info1: "mode:    M
-visited: 30
+graph: { title: "n36"  label: "Block 36" status:clustered color:yellow
+edge: {sourcename: "n36" targetname: "n40" label: "0" class:13 priority:60 color:red}
+node: {title: "n43" label: "ProjM 1 43"  info1: "mode:    M
+visited: 37
 irg:     STRENGTH_RED_EXAMPLE_m1
 arity: 1
 "color: yellow}
-edge: {sourcename: "n35" targetname: "n29" label: "0" class:17 priority:10 color:blue}
-node: {title: "n32" label: "ProjX 0 32"  info1: "mode:    X
-visited: 30
+edge: {sourcename: "n43" targetname: "n37" label: "0" class:17 priority:10 color:blue}
+node: {title: "n40" label: "ProjX 0 40"  info1: "mode:    X
+visited: 37
 irg:     STRENGTH_RED_EXAMPLE_m1
 arity: 1
 "color: yellow}
-edge: {sourcename: "n32" targetname: "n29" label: "0" class:13 priority:60 color:red}
-node: {title: "n29" label: "Start  29"  info1: "mode:    T
-visited: 30
+edge: {sourcename: "n40" targetname: "n37" label: "0" class:13 priority:60 color:red}
+node: {title: "n37" label: "Start  37"  info1: "mode:    T
+visited: 37
 irg:     STRENGTH_RED_EXAMPLE_m1
 arity: 0
 start of method of type STRENGTH_RED_EXAMPLE_meth_tp
diff --git a/testprograms/ref-results/STRENGTH_RED_EXAMPLE_m1.vcg b/testprograms/ref-results/STRENGTH_RED_EXAMPLE_m1.vcg
new file mode 100644 (file)
index 0000000..cc734a6
--- /dev/null
@@ -0,0 +1,405 @@
+graph: { title: "ir graph of STRENGTH_RED_EXAMPLE_m1"
+display_edge_labels: no
+layoutalgorithm: mindepth
+manhattan_edges: yes
+port_sharing: no
+orientation: bottom_to_top
+classname 1:  "intrablock Data"
+classname 16: "interblock Data"
+classname 2:  "Block"
+classname 13: "Control Flow"
+classname 18: "Exception Control Flow for Interval Analysis"
+classname 14: "intrablock Memory"
+classname 17: "interblock Memory"
+classname 15: "Dominators"
+classname 3:  "Entity type"
+classname 4:  "Entity owner"
+classname 5:  "Method Param"
+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"
+infoname 1: "Attribute"
+infoname 2: "Verification errors"
+colorentry 100:    0   0    0
+colorentry 101:   20   0    0
+colorentry 102:   40   0    0
+colorentry 103:   60   0    0
+colorentry 104:   80   0    0
+colorentry 105:  100   0    0
+colorentry 106:  120   0    0
+colorentry 107:  140   0    0
+colorentry 108:  150   0    0
+colorentry 109:  180   0    0
+colorentry 110:  200   0    0
+colorentry 111:  220   0    0
+colorentry 112:  240   0    0
+colorentry 113:  255   0    0
+colorentry 113:  255  20   20
+colorentry 114:  255  40   40
+colorentry 115:  255  60   60
+colorentry 116:  255  80   80
+colorentry 117:  255 100  100
+colorentry 118:  255 120  120
+colorentry 119:  255 140  140
+colorentry 120:  255 150  150
+colorentry 121:  255 180  180
+colorentry 122:  255 200  200
+colorentry 123:  255 220  220
+colorentry 124:  255 240  240
+colorentry 125:  255 250  250
+
+graph: { title: "g45" label: "STRENGTH_RED_EXAMPLE_m1" status:clustered color:white
+graph: { title: "n93"  label: "Block 93" status:clustered color:yellow
+edge: {sourcename: "n93" targetname: "n55" label: "0" class:13 priority:60 color:red}
+backedge: {sourcename: "n93" targetname: "n114" label: "1" linestyle:dashed class:13 priority:60 color:red}
+node: {title: "n120" label: "PhiM  120"  info1: "mode:    M
+visited: 26
+irg:     STRENGTH_RED_EXAMPLE_m1
+arity: 2 backedges:  1
+"color: green}
+edge: {sourcename: "n120" targetname: "n91" label: "0" class:17 priority:10 color:blue}
+backedge: {sourcename: "n120" targetname: "n112" label: "1" linestyle:dashed class:17 priority:10 color:blue}
+node: {title: "n119" label: "PhiIs  119"  info1: "mode:    Is
+visited: 26
+irg:     STRENGTH_RED_EXAMPLE_m1
+arity: 2 backedges:  1
+"color: green}
+edge: {sourcename: "n119" targetname: "n92" label: "0" class:16 priority:10}
+backedge: {sourcename: "n119" targetname: "n113" label: "1" linestyle:dashed class:16 priority:10}
+node: {title: "n100" label: "Jmp  100"  info1: "mode:    X
+visited: 26
+irg:     STRENGTH_RED_EXAMPLE_m1
+arity: 0
+"}
+}
+
+graph: { title: "n49"  label: "Block 49" status:clustered color:yellow
+edge: {sourcename: "n49" targetname: "n48" label: "0" class:13 priority:60 color:red}
+backedge: {sourcename: "n49" targetname: "n85" label: "1" linestyle:dashed class:13 priority:60 color:red}
+node: {title: "n91" label: "PhiM  91"  info1: "mode:    M
+visited: 26
+irg:     STRENGTH_RED_EXAMPLE_m1
+arity: 2 backedges:  1
+"color: green}
+edge: {sourcename: "n91" targetname: "n43" label: "0" class:17 priority:10 color:blue}
+backedge: {sourcename: "n91" targetname: "n83" label: "1" linestyle:dashed class:17 priority:10 color:blue}
+node: {title: "n55" label: "ProjX 0 55"  info1: "mode:    X
+visited: 26
+irg:     STRENGTH_RED_EXAMPLE_m1
+arity: 1
+"color: yellow}
+edge: {sourcename: "n55" targetname: "n54" label: "0" class:13 priority:60 color:red}
+node: {title: "n56" label: "ProjX 1 56"  info1: "mode:    X
+visited: 26
+irg:     STRENGTH_RED_EXAMPLE_m1
+arity: 1
+"color: yellow}
+edge: {sourcename: "n56" targetname: "n54" label: "0" class:13 priority:60 color:red}
+node: {title: "n54" label: "Cond  54"  info1: "mode:    T
+visited: 26
+irg:     STRENGTH_RED_EXAMPLE_m1
+arity: 1
+"}
+edge: {sourcename: "n54" targetname: "n53" label: "0" class:1  priority:50}
+node: {title: "n53" label: "Projb Gt 53"  info1: "mode:    b
+visited: 26
+irg:     STRENGTH_RED_EXAMPLE_m1
+arity: 1
+"color: yellow}
+edge: {sourcename: "n53" targetname: "n52" label: "0" class:1  priority:50}
+node: {title: "n52" label: "Cmp  52"  info1: "mode:    T
+visited: 26
+irg:     STRENGTH_RED_EXAMPLE_m1
+arity: 2
+"}
+node: {title: "n52n51" label: "0xAIs  51"  info1: "mode:    Is
+visited: 26
+irg:     STRENGTH_RED_EXAMPLE_m1
+arity: 0
+Const of type type_unknown
+"color: yellow}
+edge: {sourcename: "n52" targetname: "n52n51" label: "0" class:16 priority:10}
+edge: {sourcename: "n52" targetname: "n92" label: "1" class:1  priority:50}
+node: {title: "n92" label: "PhiIs  92"  info1: "mode:    Is
+visited: 26
+irg:     STRENGTH_RED_EXAMPLE_m1
+arity: 2 backedges:  1
+"color: green}
+node: {title: "n92n47" label: "0x0Is  47"  info1: "mode:    Is
+visited: 26
+irg:     STRENGTH_RED_EXAMPLE_m1
+arity: 0
+Const of type type_unknown
+"color: yellow}
+edge: {sourcename: "n92" targetname: "n92n47" label: "0" class:16 priority:10}
+backedge: {sourcename: "n92" targetname: "n84" label: "1" linestyle:dashed class:16 priority:10}
+}
+
+graph: { title: "n46"  label: "Block 46" status:clustered color:yellow
+edge: {sourcename: "n46" targetname: "n40" label: "0" class:13 priority:60 color:red}
+node: {title: "n48" label: "Jmp  48"  info1: "mode:    X
+visited: 26
+irg:     STRENGTH_RED_EXAMPLE_m1
+arity: 0
+"}
+}
+
+graph: { title: "n57"  label: "Block 57" status:clustered color:yellow
+edge: {sourcename: "n57" targetname: "n56" label: "0" class:13 priority:60 color:red}
+node: {title: "n83" label: "ProjM 0 83"  info1: "mode:    M
+visited: 26
+irg:     STRENGTH_RED_EXAMPLE_m1
+arity: 1
+"color: yellow}
+edge: {sourcename: "n83" targetname: "n81" label: "0" class:17 priority:10 color:blue}
+node: {title: "n81" label: "Store  81"  info1: "mode:    T
+visited: 26
+irg:     STRENGTH_RED_EXAMPLE_m1
+arity: 3
+volatility: volatility_non_volatile
+"}
+node: {title: "n81n80" label: "0xFIs  80"  info1: "mode:    Is
+visited: 26
+irg:     STRENGTH_RED_EXAMPLE_m1
+arity: 0
+Const of type type_unknown
+"color: yellow}
+edge: {sourcename: "n81" targetname: "n76" label: "0" class:14 priority:50 color:blue}
+edge: {sourcename: "n81" targetname: "n65" label: "1" class:1  priority:50}
+edge: {sourcename: "n81" targetname: "n81n80" label: "2" class:16 priority:10}
+node: {title: "n76" label: "ProjM 0 76"  info1: "mode:    M
+visited: 26
+irg:     STRENGTH_RED_EXAMPLE_m1
+arity: 1
+"color: yellow}
+edge: {sourcename: "n76" targetname: "n74" label: "0" class:17 priority:10 color:blue}
+node: {title: "n74" label: "Store  74"  info1: "mode:    T
+visited: 26
+irg:     STRENGTH_RED_EXAMPLE_m1
+arity: 3
+volatility: volatility_non_volatile
+"}
+node: {title: "n74n73" label: "0x10Is  73"  info1: "mode:    Is
+visited: 26
+irg:     STRENGTH_RED_EXAMPLE_m1
+arity: 0
+Const of type type_unknown
+"color: yellow}
+edge: {sourcename: "n74" targetname: "n72" label: "0" class:14 priority:50 color:blue}
+edge: {sourcename: "n74" targetname: "n67" label: "1" class:1  priority:50}
+edge: {sourcename: "n74" targetname: "n74n73" label: "2" class:16 priority:10}
+node: {title: "n72" label: "ProjM 0 72"  info1: "mode:    M
+visited: 26
+irg:     STRENGTH_RED_EXAMPLE_m1
+arity: 1
+"color: yellow}
+edge: {sourcename: "n72" targetname: "n70" label: "0" class:17 priority:10 color:blue}
+node: {title: "n70" label: "Store  70"  info1: "mode:    T
+visited: 26
+irg:     STRENGTH_RED_EXAMPLE_m1
+arity: 3
+volatility: volatility_non_volatile
+"}
+node: {title: "n70n68" label: "0x13Is  68"  info1: "mode:    Is
+visited: 26
+irg:     STRENGTH_RED_EXAMPLE_m1
+arity: 0
+Const of type type_unknown
+"color: yellow}
+edge: {sourcename: "n70" targetname: "n91" label: "0" class:17 priority:10 color:blue}
+edge: {sourcename: "n70" targetname: "n65" label: "1" class:1  priority:50}
+edge: {sourcename: "n70" targetname: "n70n68" label: "2" class:16 priority:10}
+node: {title: "n67" label: "AddP  67"  info1: "mode:    P
+visited: 26
+irg:     STRENGTH_RED_EXAMPLE_m1
+arity: 2
+"}
+node: {title: "n67n62" label: "SymC &a2  62"  info1: "mode:    P
+visited: 26
+irg:     STRENGTH_RED_EXAMPLE_m1
+arity: 0
+kind addr_ent
+entity GlobalType.a2 (32)
+
+SymConst of type type_unknown
+"}
+edge: {sourcename: "n67" targetname: "n67n62" label: "0" class:16 priority:10}
+edge: {sourcename: "n67" targetname: "n66" label: "1" class:1  priority:50}
+node: {title: "n66" label: "MulIs  66"  info1: "mode:    Is
+visited: 26
+irg:     STRENGTH_RED_EXAMPLE_m1
+arity: 2
+"}
+node: {title: "n66n60" label: "0xCIs  60"  info1: "mode:    Is
+visited: 26
+irg:     STRENGTH_RED_EXAMPLE_m1
+arity: 0
+Const of type type_unknown
+"color: yellow}
+edge: {sourcename: "n66" targetname: "n66n60" label: "0" class:16 priority:10}
+edge: {sourcename: "n66" targetname: "n92" label: "1" class:16 priority:10}
+node: {title: "n65" label: "AddP  65"  info1: "mode:    P
+visited: 26
+irg:     STRENGTH_RED_EXAMPLE_m1
+arity: 2
+"}
+node: {title: "n65n61" label: "SymC &a  61"  info1: "mode:    P
+visited: 26
+irg:     STRENGTH_RED_EXAMPLE_m1
+arity: 0
+kind addr_ent
+entity GlobalType.a (31)
+
+SymConst of type type_unknown
+"}
+edge: {sourcename: "n65" targetname: "n65n61" label: "0" class:16 priority:10}
+edge: {sourcename: "n65" targetname: "n64" label: "1" class:1  priority:50}
+node: {title: "n64" label: "MulIs  64"  info1: "mode:    Is
+visited: 26
+irg:     STRENGTH_RED_EXAMPLE_m1
+arity: 2
+"}
+node: {title: "n64n59" label: "0x4Is  59"  info1: "mode:    Is
+visited: 26
+irg:     STRENGTH_RED_EXAMPLE_m1
+arity: 0
+Const of type type_unknown
+"color: yellow}
+edge: {sourcename: "n64" targetname: "n64n59" label: "0" class:16 priority:10}
+edge: {sourcename: "n64" targetname: "n92" label: "1" class:16 priority:10}
+node: {title: "n85" label: "Jmp  85"  info1: "mode:    X
+visited: 26
+irg:     STRENGTH_RED_EXAMPLE_m1
+arity: 0
+"}
+node: {title: "n84" label: "AddIs  84"  info1: "mode:    Is
+visited: 26
+irg:     STRENGTH_RED_EXAMPLE_m1
+arity: 2
+"}
+node: {title: "n84n58" label: "0x1Is  58"  info1: "mode:    Is
+visited: 26
+irg:     STRENGTH_RED_EXAMPLE_m1
+arity: 0
+Const of type type_unknown
+"color: yellow}
+edge: {sourcename: "n84" targetname: "n84n58" label: "0" class:16 priority:10}
+edge: {sourcename: "n84" targetname: "n92" label: "1" class:16 priority:10}
+}
+
+graph: { title: "n103"  label: "Block 103" status:clustered color:yellow
+edge: {sourcename: "n103" targetname: "n100" label: "0" class:13 priority:60 color:red}
+node: {title: "n112" label: "ProjM 0 112"  info1: "mode:    M
+visited: 26
+irg:     STRENGTH_RED_EXAMPLE_m1
+arity: 1
+"color: yellow}
+edge: {sourcename: "n112" targetname: "n110" label: "0" class:17 priority:10 color:blue}
+node: {title: "n110" label: "Store  110"  info1: "mode:    T
+visited: 26
+irg:     STRENGTH_RED_EXAMPLE_m1
+arity: 3
+volatility: volatility_non_volatile
+"}
+node: {title: "n110n68" label: "0x13Is  68"  info1: "mode:    Is
+visited: 26
+irg:     STRENGTH_RED_EXAMPLE_m1
+arity: 0
+Const of type type_unknown
+"color: yellow}
+edge: {sourcename: "n110" targetname: "n120" label: "0" class:17 priority:10 color:blue}
+edge: {sourcename: "n110" targetname: "n107" label: "1" class:1  priority:50}
+edge: {sourcename: "n110" targetname: "n110n68" label: "2" class:16 priority:10}
+node: {title: "n107" label: "AddP  107"  info1: "mode:    P
+visited: 26
+irg:     STRENGTH_RED_EXAMPLE_m1
+arity: 2
+"}
+node: {title: "n107n61" label: "SymC &a  61"  info1: "mode:    P
+visited: 26
+irg:     STRENGTH_RED_EXAMPLE_m1
+arity: 0
+kind addr_ent
+entity GlobalType.a (31)
+
+SymConst of type type_unknown
+"}
+edge: {sourcename: "n107" targetname: "n107n61" label: "0" class:16 priority:10}
+edge: {sourcename: "n107" targetname: "n106" label: "1" class:1  priority:50}
+node: {title: "n106" label: "MulIs  106"  info1: "mode:    Is
+visited: 26
+irg:     STRENGTH_RED_EXAMPLE_m1
+arity: 2
+"}
+node: {title: "n106n59" label: "0x4Is  59"  info1: "mode:    Is
+visited: 26
+irg:     STRENGTH_RED_EXAMPLE_m1
+arity: 0
+Const of type type_unknown
+"color: yellow}
+edge: {sourcename: "n106" targetname: "n106n59" label: "0" class:16 priority:10}
+edge: {sourcename: "n106" targetname: "n119" label: "1" class:16 priority:10}
+node: {title: "n113" label: "SubIs  113"  info1: "mode:    Is
+visited: 26
+irg:     STRENGTH_RED_EXAMPLE_m1
+arity: 2
+"}
+node: {title: "n113n58" label: "0x1Is  58"  info1: "mode:    Is
+visited: 26
+irg:     STRENGTH_RED_EXAMPLE_m1
+arity: 0
+Const of type type_unknown
+"color: yellow}
+edge: {sourcename: "n113" targetname: "n119" label: "0" class:16 priority:10}
+edge: {sourcename: "n113" targetname: "n113n58" label: "1" class:16 priority:10}
+node: {title: "n114" label: "Jmp  114"  info1: "mode:    X
+visited: 26
+irg:     STRENGTH_RED_EXAMPLE_m1
+arity: 0
+"}
+}
+
+graph: { title: "n34"  label: "Block 34" status:clustered color:yellow
+edge: {sourcename: "n34" targetname: "n34n38" label: "0" class:13 priority:60 color:red}
+node: {title: "n35" label: "End  35"  info1: "mode:    X
+visited: 26
+irg:     STRENGTH_RED_EXAMPLE_m1
+arity: 3
+"color: blue}
+}
+node: {title: "n34n38" label: "Bad  38"  info1: "mode:    T
+visited: 26
+irg:     STRENGTH_RED_EXAMPLE_m1
+arity: 0
+"}
+
+graph: { title: "n36"  label: "Block 36" status:clustered color:yellow
+edge: {sourcename: "n36" targetname: "n40" label: "0" class:13 priority:60 color:red}
+node: {title: "n43" label: "ProjM 1 43"  info1: "mode:    M
+visited: 26
+irg:     STRENGTH_RED_EXAMPLE_m1
+arity: 1
+"color: yellow}
+edge: {sourcename: "n43" targetname: "n37" label: "0" class:17 priority:10 color:blue}
+node: {title: "n40" label: "ProjX 0 40"  info1: "mode:    X
+visited: 26
+irg:     STRENGTH_RED_EXAMPLE_m1
+arity: 1
+"color: yellow}
+edge: {sourcename: "n40" targetname: "n37" label: "0" class:13 priority:60 color:red}
+node: {title: "n37" label: "Start  37"  info1: "mode:    T
+visited: 26
+irg:     STRENGTH_RED_EXAMPLE_m1
+arity: 0
+start of method of type STRENGTH_RED_EXAMPLE_meth_tp
+  param 0 type: int
+"color: blue}
+}
+
+}
+
+}
diff --git a/testprograms/ref-results/STRENGTH_RED_EXAMPLE_m2-looptree.vcg b/testprograms/ref-results/STRENGTH_RED_EXAMPLE_m2-looptree.vcg
new file mode 100644 (file)
index 0000000..781953a
--- /dev/null
@@ -0,0 +1,69 @@
+graph: { title: "ir graph of STRENGTH_RED_EXAMPLE_m2"
+display_edge_labels: yes
+layoutalgorithm: mindepth
+manhattan_edges: yes
+port_sharing: no
+orientation: top_to_bottom
+classname 1:  "intrablock Data"
+classname 16: "interblock Data"
+classname 2:  "Block"
+classname 13: "Control Flow"
+classname 18: "Exception Control Flow for Interval Analysis"
+classname 14: "intrablock Memory"
+classname 17: "interblock Memory"
+classname 15: "Dominators"
+classname 3:  "Entity type"
+classname 4:  "Entity owner"
+classname 5:  "Method Param"
+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"
+infoname 1: "Attribute"
+infoname 2: "Verification errors"
+colorentry 100:    0   0    0
+colorentry 101:   20   0    0
+colorentry 102:   40   0    0
+colorentry 103:   60   0    0
+colorentry 104:   80   0    0
+colorentry 105:  100   0    0
+colorentry 106:  120   0    0
+colorentry 107:  140   0    0
+colorentry 108:  150   0    0
+colorentry 109:  180   0    0
+colorentry 110:  200   0    0
+colorentry 111:  220   0    0
+colorentry 112:  240   0    0
+colorentry 113:  255   0    0
+colorentry 113:  255  20   20
+colorentry 114:  255  40   40
+colorentry 115:  255  60   60
+colorentry 116:  255  80   80
+colorentry 117:  255 100  100
+colorentry 118:  255 120  120
+colorentry 119:  255 140  140
+colorentry 120:  255 150  150
+colorentry 121:  255 180  180
+colorentry 122:  255 200  200
+colorentry 123:  255 220  220
+colorentry 124:  255 240  240
+colorentry 125:  255 250  250
+
+node: {title: "l566" label: "loop 0, 1 sons, 4 nodes"  info1: " loop nr: 566
+ The loop was analyzed 0 times."}
+node: { title: "l566-0-nodes" color: lightyellow label: "Block  139     ->135412824
+Block  149      ->135412836" }
+edge: {sourcename: "l566" targetname: "l566-0-nodes" label:"0...1"}
+edge: {sourcename: "l566" targetname: "l567" color: darkgreen label: "2"}
+node: {title: "l567" label: "loop 1, 0 sons, 2 nodes"  info1: " loop nr: 567
+ The loop was analyzed 0 times."}
+node: { title: "l567-0-nodes" color: lightyellow label: "Block  153     ->135412800     loop head!
+Block  161      ->135412812" }
+edge: {sourcename: "l567" targetname: "l567-0-nodes" label:"0...1"}
+node: { title: "l566-3-nodes" color: lightyellow label: "Block  183     ->135412788
+Block  137      ->135412776" }
+edge: {sourcename: "l566" targetname: "l566-3-nodes" label:"3...4"}
+}
index 04894ed..35c913f 100644 (file)
@@ -52,194 +52,240 @@ colorentry 123:  255 220  220
 colorentry 124:  255 240  240
 colorentry 125:  255 250  250
 
-graph: { title: "g125" label: "STRENGTH_RED_EXAMPLE_m2" status:clustered color:white
-graph: { title: "n114"  label: "Block 114" status:clustered color:yellow
-edge: {sourcename: "n114" targetname: "n162" label: "0" class:13 priority:60 color:red}
-node: {title: "n115" label: "End  115"  info1: "mode:    X
-visited: 24
+graph: { title: "g148" label: "STRENGTH_RED_EXAMPLE_m2" status:clustered color:white
+graph: { title: "n137"  label: "Block 137" status:clustered color:yellow
+edge: {sourcename: "n137" targetname: "n186" label: "0" class:13 priority:60 color:red}
+node: {title: "n138" label: "End  138"  info1: "mode:    X
+visited: 28
 irg:     STRENGTH_RED_EXAMPLE_m2
 arity: 1
 "color: blue}
 }
 
-graph: { title: "n159"  label: "Block 159" status:clustered color:yellow
-edge: {sourcename: "n159" targetname: "n136" label: "0" class:13 priority:60 color:red}
-node: {title: "n162" label: "Return  162"  info1: "mode:    X
-visited: 24
+graph: { title: "n183"  label: "Block 183" status:clustered color:yellow
+edge: {sourcename: "n183" targetname: "n159" label: "0" class:13 priority:60 color:red}
+node: {title: "n186" label: "Return  186"  info1: "mode:    X
+visited: 28
 irg:     STRENGTH_RED_EXAMPLE_m2
 arity: 2
 return in method of type STRENGTH_RED_EXAMPLE_meth_tp
   res 0 type: int
 "}
-node: {title: "n162n140" label: "0x4Is  140"  info1: "mode:    Is
-visited: 24
+node: {title: "n186n165" label: "0x4Is  165"  info1: "mode:    Is
+visited: 28
 irg:     STRENGTH_RED_EXAMPLE_m2
 arity: 0
 Const of type type_unknown
 "color: yellow}
-edge: {sourcename: "n162" targetname: "n166" label: "0" class:17 priority:10 color:blue}
-edge: {sourcename: "n162" targetname: "n162n140" label: "1" class:16 priority:10}
+edge: {sourcename: "n186" targetname: "n190" label: "0" class:17 priority:10 color:blue}
+edge: {sourcename: "n186" targetname: "n186n165" label: "1" class:16 priority:10}
 }
 
-graph: { title: "n130"  label: "Block 130" status:clustered color:yellow
-edge: {sourcename: "n130" targetname: "n129" label: "0" class:13 priority:60 color:red}
-backedge: {sourcename: "n130" targetname: "n153" label: "1" linestyle:dashed class:13 priority:60 color:red}
-node: {title: "n166" label: "PhiM  166"  info1: "mode:    M
-visited: 24
+graph: { title: "n153"  label: "Block 153" status:clustered color:yellow
+edge: {sourcename: "n153" targetname: "n152" label: "0" class:13 priority:60 color:red}
+backedge: {sourcename: "n153" targetname: "n177" label: "1" linestyle:dashed class:13 priority:60 color:red}
+node: {title: "n190" label: "PhiM  190"  info1: "mode:    M
+visited: 28
 irg:     STRENGTH_RED_EXAMPLE_m2
 arity: 2 backedges:
 "color: green}
-edge: {sourcename: "n166" targetname: "n123" label: "0" class:17 priority:10 color:blue}
-edge: {sourcename: "n166" targetname: "n151" label: "1" class:17 priority:10 color:blue}
-node: {title: "n136" label: "ProjX 0 136"  info1: "mode:    X
-visited: 24
+edge: {sourcename: "n190" targetname: "n146" label: "0" class:17 priority:10 color:blue}
+edge: {sourcename: "n190" targetname: "n175" label: "1" class:17 priority:10 color:blue}
+node: {title: "n573" label: "PhiIs  573"  info1: "mode:    Is
+visited: 28
+irg:     STRENGTH_RED_EXAMPLE_m2
+arity: 2 backedges:
+"color: green}
+node: {title: "n573n150" label: "0x0Is  150"  info1: "mode:    Is
+visited: 28
+irg:     STRENGTH_RED_EXAMPLE_m2
+arity: 0
+Const of type type_unknown
+"color: yellow}
+edge: {sourcename: "n573" targetname: "n573n150" label: "0" class:16 priority:10}
+edge: {sourcename: "n573" targetname: "n574" label: "1" class:16 priority:10}
+node: {title: "n580" label: "PhiIs  580"  info1: "mode:    Is
+visited: 28
+irg:     STRENGTH_RED_EXAMPLE_m2
+arity: 2 backedges:
+"color: green}
+node: {title: "n580n150" label: "0x0Is  150"  info1: "mode:    Is
+visited: 28
+irg:     STRENGTH_RED_EXAMPLE_m2
+arity: 0
+Const of type type_unknown
+"color: yellow}
+edge: {sourcename: "n580" targetname: "n580n150" label: "0" class:16 priority:10}
+edge: {sourcename: "n580" targetname: "n581" label: "1" class:16 priority:10}
+node: {title: "n159" label: "ProjX 0 159"  info1: "mode:    X
+visited: 28
 irg:     STRENGTH_RED_EXAMPLE_m2
 arity: 1
 "color: yellow}
-edge: {sourcename: "n136" targetname: "n135" label: "0" class:13 priority:60 color:red}
-node: {title: "n137" label: "ProjX 1 137"  info1: "mode:    X
-visited: 24
+edge: {sourcename: "n159" targetname: "n158" label: "0" class:13 priority:60 color:red}
+node: {title: "n160" label: "ProjX 1 160"  info1: "mode:    X
+visited: 28
 irg:     STRENGTH_RED_EXAMPLE_m2
 arity: 1
 "color: yellow}
-edge: {sourcename: "n137" targetname: "n135" label: "0" class:13 priority:60 color:red}
-node: {title: "n135" label: "Cond  135"  info1: "mode:    T
-visited: 24
+edge: {sourcename: "n160" targetname: "n158" label: "0" class:13 priority:60 color:red}
+node: {title: "n158" label: "Cond  158"  info1: "mode:    T
+visited: 28
 irg:     STRENGTH_RED_EXAMPLE_m2
 arity: 1
 "}
-edge: {sourcename: "n135" targetname: "n134" label: "0" class:1  priority:50}
-node: {title: "n134" label: "Projb Gt 134"  info1: "mode:    b
-visited: 24
+edge: {sourcename: "n158" targetname: "n157" label: "0" class:1  priority:50}
+node: {title: "n157" label: "Projb Gt 157"  info1: "mode:    b
+visited: 28
 irg:     STRENGTH_RED_EXAMPLE_m2
 arity: 1
 "color: yellow}
-edge: {sourcename: "n134" targetname: "n133" label: "0" class:1  priority:50}
-node: {title: "n133" label: "Cmp  133"  info1: "mode:    T
-visited: 24
+edge: {sourcename: "n157" targetname: "n156" label: "0" class:1  priority:50}
+node: {title: "n156" label: "Cmp  156"  info1: "mode:    T
+visited: 28
 irg:     STRENGTH_RED_EXAMPLE_m2
 arity: 2
 "}
-node: {title: "n133n132" label: "0xAIs  132"  info1: "mode:    Is
-visited: 24
+node: {title: "n156n155" label: "0xAIs  155"  info1: "mode:    Is
+visited: 28
 irg:     STRENGTH_RED_EXAMPLE_m2
 arity: 0
 Const of type type_unknown
 "color: yellow}
-edge: {sourcename: "n133" targetname: "n133n132" label: "0" class:16 priority:10}
-edge: {sourcename: "n133" targetname: "n167" label: "1" class:1  priority:50}
-node: {title: "n167" label: "PhiIs  167"  info1: "mode:    Is
-visited: 24
+edge: {sourcename: "n156" targetname: "n156n155" label: "0" class:16 priority:10}
+edge: {sourcename: "n156" targetname: "n191" label: "1" class:1  priority:50}
+node: {title: "n191" label: "PhiIs  191"  info1: "mode:    Is
+visited: 28
 irg:     STRENGTH_RED_EXAMPLE_m2
 arity: 2 backedges:
 "color: green}
-node: {title: "n167n127" label: "0x0Is  127"  info1: "mode:    Is
-visited: 24
+node: {title: "n191n150" label: "0x0Is  150"  info1: "mode:    Is
+visited: 28
 irg:     STRENGTH_RED_EXAMPLE_m2
 arity: 0
 Const of type type_unknown
 "color: yellow}
-edge: {sourcename: "n167" targetname: "n167n127" label: "0" class:16 priority:10}
-edge: {sourcename: "n167" targetname: "n152" label: "1" class:16 priority:10}
+edge: {sourcename: "n191" targetname: "n191n150" label: "0" class:16 priority:10}
+edge: {sourcename: "n191" targetname: "n176" label: "1" class:16 priority:10}
 }
 
-graph: { title: "n126"  label: "Block 126" status:clustered color:yellow
-edge: {sourcename: "n126" targetname: "n120" label: "0" class:13 priority:60 color:red}
-node: {title: "n129" label: "Jmp  129"  info1: "mode:    X
-visited: 24
+graph: { title: "n149"  label: "Block 149" status:clustered color:yellow
+edge: {sourcename: "n149" targetname: "n143" label: "0" class:13 priority:60 color:red}
+node: {title: "n152" label: "Jmp  152"  info1: "mode:    X
+visited: 28
 irg:     STRENGTH_RED_EXAMPLE_m2
 arity: 0
 "}
 }
 
-graph: { title: "n138"  label: "Block 138" status:clustered color:yellow
-edge: {sourcename: "n138" targetname: "n137" label: "0" class:13 priority:60 color:red}
-node: {title: "n151" label: "ProjM 0 151"  info1: "mode:    M
-visited: 24
+graph: { title: "n161"  label: "Block 161" status:clustered color:yellow
+edge: {sourcename: "n161" targetname: "n160" label: "0" class:13 priority:60 color:red}
+node: {title: "n175" label: "ProjM 0 175"  info1: "mode:    M
+visited: 28
 irg:     STRENGTH_RED_EXAMPLE_m2
 arity: 1
 "color: yellow}
-edge: {sourcename: "n151" targetname: "n149" label: "0" class:17 priority:10 color:blue}
-node: {title: "n149" label: "Store  149"  info1: "mode:    T
-visited: 24
+edge: {sourcename: "n175" targetname: "n173" label: "0" class:17 priority:10 color:blue}
+node: {title: "n173" label: "Store  173"  info1: "mode:    T
+visited: 28
 irg:     STRENGTH_RED_EXAMPLE_m2
 arity: 3
 volatility: volatility_non_volatile
 "}
-node: {title: "n149n147" label: "0x13Is  147"  info1: "mode:    Is
-visited: 24
+edge: {sourcename: "n173" targetname: "n190" label: "0" class:17 priority:10 color:blue}
+edge: {sourcename: "n173" targetname: "n565" label: "1" class:1  priority:50}
+edge: {sourcename: "n173" targetname: "n580" label: "2" class:16 priority:10}
+node: {title: "n565" label: "AddP  565"  info1: "mode:    P
+visited: 28
+irg:     STRENGTH_RED_EXAMPLE_m2
+arity: 2
+"}
+edge: {sourcename: "n565" targetname: "n573" label: "0" class:16 priority:10}
+edge: {sourcename: "n565" targetname: "n564" label: "1" class:1  priority:50}
+node: {title: "n574" label: "AddIs  574"  info1: "mode:    Is
+visited: 28
+irg:     STRENGTH_RED_EXAMPLE_m2
+arity: 2
+"}
+node: {title: "n574n165" label: "0x4Is  165"  info1: "mode:    Is
+visited: 28
 irg:     STRENGTH_RED_EXAMPLE_m2
 arity: 0
 Const of type type_unknown
 "color: yellow}
-edge: {sourcename: "n149" targetname: "n166" label: "0" class:17 priority:10 color:blue}
-edge: {sourcename: "n149" targetname: "n146" label: "1" class:1  priority:50}
-edge: {sourcename: "n149" targetname: "n149n147" label: "2" class:16 priority:10}
-node: {title: "n146" label: "AddP  146"  info1: "mode:    P
-visited: 24
+edge: {sourcename: "n574" targetname: "n574n165" label: "0" class:16 priority:10}
+edge: {sourcename: "n574" targetname: "n573" label: "1" class:16 priority:10}
+node: {title: "n564" label: "AddP  564"  info1: "mode:    P
+visited: 28
 irg:     STRENGTH_RED_EXAMPLE_m2
 arity: 2
 "}
-node: {title: "n146n128" label: "SymC &a  128"  info1: "mode:    P
-visited: 24
+node: {title: "n564n151" label: "SymC &a  151"  info1: "mode:    P
+visited: 28
 irg:     STRENGTH_RED_EXAMPLE_m2
 arity: 0
 kind addr_ent
-entity GlobalType.a (112)
+entity GlobalType.a (135)
 
 SymConst of type type_unknown
 "}
-edge: {sourcename: "n146" targetname: "n144" label: "0" class:1  priority:50}
-edge: {sourcename: "n146" targetname: "n146n128" label: "1" class:16 priority:10}
-node: {title: "n144" label: "ShlIs  144"  info1: "mode:    Is
-visited: 24
+node: {title: "n564n163" label: "0xDIs  163"  info1: "mode:    Is
+visited: 28
+irg:     STRENGTH_RED_EXAMPLE_m2
+arity: 0
+Const of type type_unknown
+"color: yellow}
+edge: {sourcename: "n564" targetname: "n564n151" label: "0" class:16 priority:10}
+edge: {sourcename: "n564" targetname: "n564n163" label: "1" class:16 priority:10}
+node: {title: "n581" label: "AddIs  581"  info1: "mode:    Is
+visited: 28
 irg:     STRENGTH_RED_EXAMPLE_m2
 arity: 2
 "}
-node: {title: "n144n143" label: "0x2Iu  143"  info1: "mode:    Iu
-visited: 24
+node: {title: "n581n162" label: "0xFIs  162"  info1: "mode:    Is
+visited: 28
 irg:     STRENGTH_RED_EXAMPLE_m2
 arity: 0
 Const of type type_unknown
 "color: yellow}
-edge: {sourcename: "n144" targetname: "n167" label: "0" class:16 priority:10}
-edge: {sourcename: "n144" targetname: "n144n143" label: "1" class:16 priority:10}
-node: {title: "n153" label: "Jmp  153"  info1: "mode:    X
-visited: 24
+edge: {sourcename: "n581" targetname: "n581n162" label: "0" class:16 priority:10}
+edge: {sourcename: "n581" targetname: "n580" label: "1" class:16 priority:10}
+node: {title: "n177" label: "Jmp  177"  info1: "mode:    X
+visited: 28
 irg:     STRENGTH_RED_EXAMPLE_m2
 arity: 0
 "}
-node: {title: "n152" label: "AddIs  152"  info1: "mode:    Is
-visited: 24
+node: {title: "n176" label: "AddIs  176"  info1: "mode:    Is
+visited: 28
 irg:     STRENGTH_RED_EXAMPLE_m2
 arity: 2
 "}
-node: {title: "n152n139" label: "0x1Is  139"  info1: "mode:    Is
-visited: 24
+node: {title: "n176n164" label: "0x1Is  164"  info1: "mode:    Is
+visited: 28
 irg:     STRENGTH_RED_EXAMPLE_m2
 arity: 0
 Const of type type_unknown
 "color: yellow}
-edge: {sourcename: "n152" targetname: "n152n139" label: "0" class:16 priority:10}
-edge: {sourcename: "n152" targetname: "n167" label: "1" class:16 priority:10}
+edge: {sourcename: "n176" targetname: "n176n164" label: "0" class:16 priority:10}
+edge: {sourcename: "n176" targetname: "n191" label: "1" class:16 priority:10}
 }
 
-graph: { title: "n116"  label: "Block 116" status:clustered color:yellow
-edge: {sourcename: "n116" targetname: "n120" label: "0" class:13 priority:60 color:red}
-node: {title: "n123" label: "ProjM 1 123"  info1: "mode:    M
-visited: 24
+graph: { title: "n139"  label: "Block 139" status:clustered color:yellow
+edge: {sourcename: "n139" targetname: "n143" label: "0" class:13 priority:60 color:red}
+node: {title: "n146" label: "ProjM 1 146"  info1: "mode:    M
+visited: 28
 irg:     STRENGTH_RED_EXAMPLE_m2
 arity: 1
 "color: yellow}
-edge: {sourcename: "n123" targetname: "n117" label: "0" class:17 priority:10 color:blue}
-node: {title: "n120" label: "ProjX 0 120"  info1: "mode:    X
-visited: 24
+edge: {sourcename: "n146" targetname: "n140" label: "0" class:17 priority:10 color:blue}
+node: {title: "n143" label: "ProjX 0 143"  info1: "mode:    X
+visited: 28
 irg:     STRENGTH_RED_EXAMPLE_m2
 arity: 1
 "color: yellow}
-edge: {sourcename: "n120" targetname: "n117" label: "0" class:13 priority:60 color:red}
-node: {title: "n117" label: "Start  117"  info1: "mode:    T
-visited: 24
+edge: {sourcename: "n143" targetname: "n140" label: "0" class:13 priority:60 color:red}
+node: {title: "n140" label: "Start  140"  info1: "mode:    T
+visited: 28
 irg:     STRENGTH_RED_EXAMPLE_m2
 arity: 0
 start of method of type STRENGTH_RED_EXAMPLE_meth_tp
diff --git a/testprograms/ref-results/STRENGTH_RED_EXAMPLE_m2.vcg b/testprograms/ref-results/STRENGTH_RED_EXAMPLE_m2.vcg
new file mode 100644 (file)
index 0000000..474ce18
--- /dev/null
@@ -0,0 +1,272 @@
+graph: { title: "ir graph of STRENGTH_RED_EXAMPLE_m2"
+display_edge_labels: no
+layoutalgorithm: mindepth
+manhattan_edges: yes
+port_sharing: no
+orientation: bottom_to_top
+classname 1:  "intrablock Data"
+classname 16: "interblock Data"
+classname 2:  "Block"
+classname 13: "Control Flow"
+classname 18: "Exception Control Flow for Interval Analysis"
+classname 14: "intrablock Memory"
+classname 17: "interblock Memory"
+classname 15: "Dominators"
+classname 3:  "Entity type"
+classname 4:  "Entity owner"
+classname 5:  "Method Param"
+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"
+infoname 1: "Attribute"
+infoname 2: "Verification errors"
+colorentry 100:    0   0    0
+colorentry 101:   20   0    0
+colorentry 102:   40   0    0
+colorentry 103:   60   0    0
+colorentry 104:   80   0    0
+colorentry 105:  100   0    0
+colorentry 106:  120   0    0
+colorentry 107:  140   0    0
+colorentry 108:  150   0    0
+colorentry 109:  180   0    0
+colorentry 110:  200   0    0
+colorentry 111:  220   0    0
+colorentry 112:  240   0    0
+colorentry 113:  255   0    0
+colorentry 113:  255  20   20
+colorentry 114:  255  40   40
+colorentry 115:  255  60   60
+colorentry 116:  255  80   80
+colorentry 117:  255 100  100
+colorentry 118:  255 120  120
+colorentry 119:  255 140  140
+colorentry 120:  255 150  150
+colorentry 121:  255 180  180
+colorentry 122:  255 200  200
+colorentry 123:  255 220  220
+colorentry 124:  255 240  240
+colorentry 125:  255 250  250
+
+graph: { title: "g148" label: "STRENGTH_RED_EXAMPLE_m2" status:clustered color:white
+graph: { title: "n137"  label: "Block 137" status:clustered color:yellow
+edge: {sourcename: "n137" targetname: "n186" label: "0" class:13 priority:60 color:red}
+node: {title: "n138" label: "End  138"  info1: "mode:    X
+visited: 17
+irg:     STRENGTH_RED_EXAMPLE_m2
+arity: 1
+"color: blue}
+}
+
+graph: { title: "n183"  label: "Block 183" status:clustered color:yellow
+edge: {sourcename: "n183" targetname: "n159" label: "0" class:13 priority:60 color:red}
+node: {title: "n186" label: "Return  186"  info1: "mode:    X
+visited: 17
+irg:     STRENGTH_RED_EXAMPLE_m2
+arity: 2
+return in method of type STRENGTH_RED_EXAMPLE_meth_tp
+  res 0 type: int
+"}
+node: {title: "n186n165" label: "0x4Is  165"  info1: "mode:    Is
+visited: 17
+irg:     STRENGTH_RED_EXAMPLE_m2
+arity: 0
+Const of type type_unknown
+"color: yellow}
+edge: {sourcename: "n186" targetname: "n190" label: "0" class:17 priority:10 color:blue}
+edge: {sourcename: "n186" targetname: "n186n165" label: "1" class:16 priority:10}
+}
+
+graph: { title: "n153"  label: "Block 153" status:clustered color:yellow
+edge: {sourcename: "n153" targetname: "n152" label: "0" class:13 priority:60 color:red}
+backedge: {sourcename: "n153" targetname: "n177" label: "1" linestyle:dashed class:13 priority:60 color:red}
+node: {title: "n190" label: "PhiM  190"  info1: "mode:    M
+visited: 17
+irg:     STRENGTH_RED_EXAMPLE_m2
+arity: 2 backedges:  1
+"color: green}
+edge: {sourcename: "n190" targetname: "n146" label: "0" class:17 priority:10 color:blue}
+backedge: {sourcename: "n190" targetname: "n175" label: "1" linestyle:dashed class:17 priority:10 color:blue}
+node: {title: "n159" label: "ProjX 0 159"  info1: "mode:    X
+visited: 17
+irg:     STRENGTH_RED_EXAMPLE_m2
+arity: 1
+"color: yellow}
+edge: {sourcename: "n159" targetname: "n158" label: "0" class:13 priority:60 color:red}
+node: {title: "n160" label: "ProjX 1 160"  info1: "mode:    X
+visited: 17
+irg:     STRENGTH_RED_EXAMPLE_m2
+arity: 1
+"color: yellow}
+edge: {sourcename: "n160" targetname: "n158" label: "0" class:13 priority:60 color:red}
+node: {title: "n158" label: "Cond  158"  info1: "mode:    T
+visited: 17
+irg:     STRENGTH_RED_EXAMPLE_m2
+arity: 1
+"}
+edge: {sourcename: "n158" targetname: "n157" label: "0" class:1  priority:50}
+node: {title: "n157" label: "Projb Gt 157"  info1: "mode:    b
+visited: 17
+irg:     STRENGTH_RED_EXAMPLE_m2
+arity: 1
+"color: yellow}
+edge: {sourcename: "n157" targetname: "n156" label: "0" class:1  priority:50}
+node: {title: "n156" label: "Cmp  156"  info1: "mode:    T
+visited: 17
+irg:     STRENGTH_RED_EXAMPLE_m2
+arity: 2
+"}
+node: {title: "n156n155" label: "0xAIs  155"  info1: "mode:    Is
+visited: 17
+irg:     STRENGTH_RED_EXAMPLE_m2
+arity: 0
+Const of type type_unknown
+"color: yellow}
+edge: {sourcename: "n156" targetname: "n156n155" label: "0" class:16 priority:10}
+edge: {sourcename: "n156" targetname: "n191" label: "1" class:1  priority:50}
+node: {title: "n191" label: "PhiIs  191"  info1: "mode:    Is
+visited: 17
+irg:     STRENGTH_RED_EXAMPLE_m2
+arity: 2 backedges:  1
+"color: green}
+node: {title: "n191n150" label: "0x0Is  150"  info1: "mode:    Is
+visited: 17
+irg:     STRENGTH_RED_EXAMPLE_m2
+arity: 0
+Const of type type_unknown
+"color: yellow}
+edge: {sourcename: "n191" targetname: "n191n150" label: "0" class:16 priority:10}
+backedge: {sourcename: "n191" targetname: "n176" label: "1" linestyle:dashed class:16 priority:10}
+}
+
+graph: { title: "n149"  label: "Block 149" status:clustered color:yellow
+edge: {sourcename: "n149" targetname: "n143" label: "0" class:13 priority:60 color:red}
+node: {title: "n152" label: "Jmp  152"  info1: "mode:    X
+visited: 17
+irg:     STRENGTH_RED_EXAMPLE_m2
+arity: 0
+"}
+}
+
+graph: { title: "n161"  label: "Block 161" status:clustered color:yellow
+edge: {sourcename: "n161" targetname: "n160" label: "0" class:13 priority:60 color:red}
+node: {title: "n175" label: "ProjM 0 175"  info1: "mode:    M
+visited: 17
+irg:     STRENGTH_RED_EXAMPLE_m2
+arity: 1
+"color: yellow}
+edge: {sourcename: "n175" targetname: "n173" label: "0" class:17 priority:10 color:blue}
+node: {title: "n173" label: "Store  173"  info1: "mode:    T
+visited: 17
+irg:     STRENGTH_RED_EXAMPLE_m2
+arity: 3
+volatility: volatility_non_volatile
+"}
+edge: {sourcename: "n173" targetname: "n190" label: "0" class:17 priority:10 color:blue}
+edge: {sourcename: "n173" targetname: "n171" label: "1" class:1  priority:50}
+edge: {sourcename: "n173" targetname: "n167" label: "2" class:1  priority:50}
+node: {title: "n171" label: "AddP  171"  info1: "mode:    P
+visited: 17
+irg:     STRENGTH_RED_EXAMPLE_m2
+arity: 2
+"}
+node: {title: "n171n163" label: "0xDIs  163"  info1: "mode:    Is
+visited: 17
+irg:     STRENGTH_RED_EXAMPLE_m2
+arity: 0
+Const of type type_unknown
+"color: yellow}
+edge: {sourcename: "n171" targetname: "n171n163" label: "0" class:16 priority:10}
+edge: {sourcename: "n171" targetname: "n170" label: "1" class:1  priority:50}
+node: {title: "n170" label: "AddP  170"  info1: "mode:    P
+visited: 17
+irg:     STRENGTH_RED_EXAMPLE_m2
+arity: 2
+"}
+node: {title: "n170n151" label: "SymC &a  151"  info1: "mode:    P
+visited: 17
+irg:     STRENGTH_RED_EXAMPLE_m2
+arity: 0
+kind addr_ent
+entity GlobalType.a (135)
+
+SymConst of type type_unknown
+"}
+edge: {sourcename: "n170" targetname: "n168" label: "0" class:1  priority:50}
+edge: {sourcename: "n170" targetname: "n170n151" label: "1" class:16 priority:10}
+node: {title: "n168" label: "MulIs  168"  info1: "mode:    Is
+visited: 17
+irg:     STRENGTH_RED_EXAMPLE_m2
+arity: 2
+"}
+node: {title: "n168n165" label: "0x4Is  165"  info1: "mode:    Is
+visited: 17
+irg:     STRENGTH_RED_EXAMPLE_m2
+arity: 0
+Const of type type_unknown
+"color: yellow}
+edge: {sourcename: "n168" targetname: "n168n165" label: "0" class:16 priority:10}
+edge: {sourcename: "n168" targetname: "n191" label: "1" class:16 priority:10}
+node: {title: "n167" label: "MulIs  167"  info1: "mode:    Is
+visited: 17
+irg:     STRENGTH_RED_EXAMPLE_m2
+arity: 2
+"}
+node: {title: "n167n162" label: "0xFIs  162"  info1: "mode:    Is
+visited: 17
+irg:     STRENGTH_RED_EXAMPLE_m2
+arity: 0
+Const of type type_unknown
+"color: yellow}
+edge: {sourcename: "n167" targetname: "n167n162" label: "0" class:16 priority:10}
+edge: {sourcename: "n167" targetname: "n191" label: "1" class:16 priority:10}
+node: {title: "n177" label: "Jmp  177"  info1: "mode:    X
+visited: 17
+irg:     STRENGTH_RED_EXAMPLE_m2
+arity: 0
+"}
+node: {title: "n176" label: "AddIs  176"  info1: "mode:    Is
+visited: 17
+irg:     STRENGTH_RED_EXAMPLE_m2
+arity: 2
+"}
+node: {title: "n176n164" label: "0x1Is  164"  info1: "mode:    Is
+visited: 17
+irg:     STRENGTH_RED_EXAMPLE_m2
+arity: 0
+Const of type type_unknown
+"color: yellow}
+edge: {sourcename: "n176" targetname: "n176n164" label: "0" class:16 priority:10}
+edge: {sourcename: "n176" targetname: "n191" label: "1" class:16 priority:10}
+}
+
+graph: { title: "n139"  label: "Block 139" status:clustered color:yellow
+edge: {sourcename: "n139" targetname: "n143" label: "0" class:13 priority:60 color:red}
+node: {title: "n146" label: "ProjM 1 146"  info1: "mode:    M
+visited: 17
+irg:     STRENGTH_RED_EXAMPLE_m2
+arity: 1
+"color: yellow}
+edge: {sourcename: "n146" targetname: "n140" label: "0" class:17 priority:10 color:blue}
+node: {title: "n143" label: "ProjX 0 143"  info1: "mode:    X
+visited: 17
+irg:     STRENGTH_RED_EXAMPLE_m2
+arity: 1
+"color: yellow}
+edge: {sourcename: "n143" targetname: "n140" label: "0" class:13 priority:60 color:red}
+node: {title: "n140" label: "Start  140"  info1: "mode:    T
+visited: 17
+irg:     STRENGTH_RED_EXAMPLE_m2
+arity: 0
+start of method of type STRENGTH_RED_EXAMPLE_meth_tp
+  param 0 type: int
+"color: blue}
+}
+
+}
+
+}
diff --git a/testprograms/ref-results/STRENGTH_RED_EXAMPLE_m3-looptree.vcg b/testprograms/ref-results/STRENGTH_RED_EXAMPLE_m3-looptree.vcg
new file mode 100644 (file)
index 0000000..5d58fe2
--- /dev/null
@@ -0,0 +1,69 @@
+graph: { title: "ir graph of STRENGTH_RED_EXAMPLE_m3"
+display_edge_labels: yes
+layoutalgorithm: mindepth
+manhattan_edges: yes
+port_sharing: no
+orientation: top_to_bottom
+classname 1:  "intrablock Data"
+classname 16: "interblock Data"
+classname 2:  "Block"
+classname 13: "Control Flow"
+classname 18: "Exception Control Flow for Interval Analysis"
+classname 14: "intrablock Memory"
+classname 17: "interblock Memory"
+classname 15: "Dominators"
+classname 3:  "Entity type"
+classname 4:  "Entity owner"
+classname 5:  "Method Param"
+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"
+infoname 1: "Attribute"
+infoname 2: "Verification errors"
+colorentry 100:    0   0    0
+colorentry 101:   20   0    0
+colorentry 102:   40   0    0
+colorentry 103:   60   0    0
+colorentry 104:   80   0    0
+colorentry 105:  100   0    0
+colorentry 106:  120   0    0
+colorentry 107:  140   0    0
+colorentry 108:  150   0    0
+colorentry 109:  180   0    0
+colorentry 110:  200   0    0
+colorentry 111:  220   0    0
+colorentry 112:  240   0    0
+colorentry 113:  255   0    0
+colorentry 113:  255  20   20
+colorentry 114:  255  40   40
+colorentry 115:  255  60   60
+colorentry 116:  255  80   80
+colorentry 117:  255 100  100
+colorentry 118:  255 120  120
+colorentry 119:  255 140  140
+colorentry 120:  255 150  150
+colorentry 121:  255 180  180
+colorentry 122:  255 200  200
+colorentry 123:  255 220  220
+colorentry 124:  255 240  240
+colorentry 125:  255 250  250
+
+node: {title: "l595" label: "loop 0, 1 sons, 4 nodes"  info1: " loop nr: 595
+ The loop was analyzed 0 times."}
+node: { title: "l595-0-nodes" color: lightyellow label: "Block  204     ->135427296
+Block  214      ->135427308" }
+edge: {sourcename: "l595" targetname: "l595-0-nodes" label:"0...1"}
+edge: {sourcename: "l595" targetname: "l596" color: darkgreen label: "2"}
+node: {title: "l596" label: "loop 1, 0 sons, 2 nodes"  info1: " loop nr: 596
+ The loop was analyzed 0 times."}
+node: { title: "l596-0-nodes" color: lightyellow label: "Block  218     ->135427272     loop head!
+Block  226      ->135427284" }
+edge: {sourcename: "l596" targetname: "l596-0-nodes" label:"0...1"}
+node: { title: "l595-3-nodes" color: lightyellow label: "Block  249     ->135427260
+Block  202      ->135427248" }
+edge: {sourcename: "l595" targetname: "l595-3-nodes" label:"3...4"}
+}
index 4fda9c9..2366e8e 100644 (file)
@@ -52,188 +52,247 @@ colorentry 123:  255 220  220
 colorentry 124:  255 240  240
 colorentry 125:  255 250  250
 
-graph: { title: "g189" label: "STRENGTH_RED_EXAMPLE_m3" status:clustered color:white
-graph: { title: "n178"  label: "Block 178" status:clustered color:yellow
-edge: {sourcename: "n178" targetname: "n225" label: "0" class:13 priority:60 color:red}
-node: {title: "n179" label: "End  179"  info1: "mode:    X
-visited: 25
+graph: { title: "g213" label: "STRENGTH_RED_EXAMPLE_m3" status:clustered color:white
+graph: { title: "n202"  label: "Block 202" status:clustered color:yellow
+edge: {sourcename: "n202" targetname: "n252" label: "0" class:13 priority:60 color:red}
+node: {title: "n203" label: "End  203"  info1: "mode:    X
+visited: 28
 irg:     STRENGTH_RED_EXAMPLE_m3
 arity: 1
 "color: blue}
 }
 
-graph: { title: "n222"  label: "Block 222" status:clustered color:yellow
-edge: {sourcename: "n222" targetname: "n200" label: "0" class:13 priority:60 color:red}
-node: {title: "n225" label: "Return  225"  info1: "mode:    X
-visited: 25
+graph: { title: "n249"  label: "Block 249" status:clustered color:yellow
+edge: {sourcename: "n249" targetname: "n224" label: "0" class:13 priority:60 color:red}
+node: {title: "n252" label: "Return  252"  info1: "mode:    X
+visited: 28
 irg:     STRENGTH_RED_EXAMPLE_m3
 arity: 2
 return in method of type STRENGTH_RED_EXAMPLE_meth_tp
   res 0 type: int
 "}
-node: {title: "n225n204" label: "0x4Is  204"  info1: "mode:    Is
-visited: 25
+node: {title: "n252n228" label: "0x4Is  228"  info1: "mode:    Is
+visited: 28
 irg:     STRENGTH_RED_EXAMPLE_m3
 arity: 0
 Const of type type_unknown
 "color: yellow}
-edge: {sourcename: "n225" targetname: "n229" label: "0" class:17 priority:10 color:blue}
-edge: {sourcename: "n225" targetname: "n225n204" label: "1" class:16 priority:10}
+edge: {sourcename: "n252" targetname: "n256" label: "0" class:17 priority:10 color:blue}
+edge: {sourcename: "n252" targetname: "n252n228" label: "1" class:16 priority:10}
 }
 
-graph: { title: "n194"  label: "Block 194" status:clustered color:yellow
-edge: {sourcename: "n194" targetname: "n193" label: "0" class:13 priority:60 color:red}
-backedge: {sourcename: "n194" targetname: "n216" label: "1" linestyle:dashed class:13 priority:60 color:red}
-node: {title: "n229" label: "PhiM  229"  info1: "mode:    M
-visited: 25
+graph: { title: "n218"  label: "Block 218" status:clustered color:yellow
+edge: {sourcename: "n218" targetname: "n217" label: "0" class:13 priority:60 color:red}
+backedge: {sourcename: "n218" targetname: "n243" label: "1" linestyle:dashed class:13 priority:60 color:red}
+node: {title: "n256" label: "PhiM  256"  info1: "mode:    M
+visited: 28
 irg:     STRENGTH_RED_EXAMPLE_m3
 arity: 2 backedges:
 "color: green}
-edge: {sourcename: "n229" targetname: "n187" label: "0" class:17 priority:10 color:blue}
-edge: {sourcename: "n229" targetname: "n214" label: "1" class:17 priority:10 color:blue}
-node: {title: "n200" label: "ProjX 0 200"  info1: "mode:    X
-visited: 25
+edge: {sourcename: "n256" targetname: "n211" label: "0" class:17 priority:10 color:blue}
+edge: {sourcename: "n256" targetname: "n241" label: "1" class:17 priority:10 color:blue}
+node: {title: "n602" label: "PhiIs  602"  info1: "mode:    Is
+visited: 28
+irg:     STRENGTH_RED_EXAMPLE_m3
+arity: 2 backedges:
+"color: green}
+node: {title: "n602n600" label: "0x28Is  600"  info1: "mode:    Is
+visited: 28
+irg:     STRENGTH_RED_EXAMPLE_m3
+arity: 0
+Const of type type_unknown
+"color: yellow}
+edge: {sourcename: "n602" targetname: "n602n600" label: "0" class:16 priority:10}
+edge: {sourcename: "n602" targetname: "n603" label: "1" class:16 priority:10}
+node: {title: "n224" label: "ProjX 0 224"  info1: "mode:    X
+visited: 28
 irg:     STRENGTH_RED_EXAMPLE_m3
 arity: 1
 "color: yellow}
-edge: {sourcename: "n200" targetname: "n199" label: "0" class:13 priority:60 color:red}
-node: {title: "n201" label: "ProjX 1 201"  info1: "mode:    X
-visited: 25
+edge: {sourcename: "n224" targetname: "n223" label: "0" class:13 priority:60 color:red}
+node: {title: "n225" label: "ProjX 1 225"  info1: "mode:    X
+visited: 28
 irg:     STRENGTH_RED_EXAMPLE_m3
 arity: 1
 "color: yellow}
-edge: {sourcename: "n201" targetname: "n199" label: "0" class:13 priority:60 color:red}
-node: {title: "n199" label: "Cond  199"  info1: "mode:    T
-visited: 25
+edge: {sourcename: "n225" targetname: "n223" label: "0" class:13 priority:60 color:red}
+node: {title: "n223" label: "Cond  223"  info1: "mode:    T
+visited: 28
 irg:     STRENGTH_RED_EXAMPLE_m3
 arity: 1
 "}
-edge: {sourcename: "n199" targetname: "n198" label: "0" class:1  priority:50}
-node: {title: "n198" label: "Projb Lt 198"  info1: "mode:    b
-visited: 25
+edge: {sourcename: "n223" targetname: "n222" label: "0" class:1  priority:50}
+node: {title: "n222" label: "Projb Lt 222"  info1: "mode:    b
+visited: 28
 irg:     STRENGTH_RED_EXAMPLE_m3
 arity: 1
 "color: yellow}
-edge: {sourcename: "n198" targetname: "n197" label: "0" class:1  priority:50}
-node: {title: "n197" label: "Cmp  197"  info1: "mode:    T
-visited: 25
+edge: {sourcename: "n222" targetname: "n221" label: "0" class:1  priority:50}
+node: {title: "n221" label: "Cmp  221"  info1: "mode:    T
+visited: 28
 irg:     STRENGTH_RED_EXAMPLE_m3
 arity: 2
 "}
-node: {title: "n197n196" label: "0x0Is  196"  info1: "mode:    Is
-visited: 25
+node: {title: "n221n220" label: "0x0Is  220"  info1: "mode:    Is
+visited: 28
 irg:     STRENGTH_RED_EXAMPLE_m3
 arity: 0
 Const of type type_unknown
 "color: yellow}
-edge: {sourcename: "n197" targetname: "n197n196" label: "0" class:16 priority:10}
-edge: {sourcename: "n197" targetname: "n230" label: "1" class:1  priority:50}
-node: {title: "n230" label: "PhiIs  230"  info1: "mode:    Is
-visited: 25
+edge: {sourcename: "n221" targetname: "n221n220" label: "0" class:16 priority:10}
+edge: {sourcename: "n221" targetname: "n257" label: "1" class:1  priority:50}
+node: {title: "n257" label: "PhiIs  257"  info1: "mode:    Is
+visited: 28
 irg:     STRENGTH_RED_EXAMPLE_m3
 arity: 2 backedges:
 "color: green}
-node: {title: "n230n191" label: "0xAIs  191"  info1: "mode:    Is
-visited: 25
+node: {title: "n257n215" label: "0xAIs  215"  info1: "mode:    Is
+visited: 28
 irg:     STRENGTH_RED_EXAMPLE_m3
 arity: 0
 Const of type type_unknown
 "color: yellow}
-edge: {sourcename: "n230" targetname: "n230n191" label: "0" class:16 priority:10}
-edge: {sourcename: "n230" targetname: "n215" label: "1" class:16 priority:10}
+edge: {sourcename: "n257" targetname: "n257n215" label: "0" class:16 priority:10}
+edge: {sourcename: "n257" targetname: "n589" label: "1" class:16 priority:10}
 }
 
-graph: { title: "n190"  label: "Block 190" status:clustered color:yellow
-edge: {sourcename: "n190" targetname: "n184" label: "0" class:13 priority:60 color:red}
-node: {title: "n193" label: "Jmp  193"  info1: "mode:    X
-visited: 25
+graph: { title: "n214"  label: "Block 214" status:clustered color:yellow
+edge: {sourcename: "n214" targetname: "n208" label: "0" class:13 priority:60 color:red}
+node: {title: "n217" label: "Jmp  217"  info1: "mode:    X
+visited: 28
 irg:     STRENGTH_RED_EXAMPLE_m3
 arity: 0
 "}
 }
 
-graph: { title: "n202"  label: "Block 202" status:clustered color:yellow
-edge: {sourcename: "n202" targetname: "n201" label: "0" class:13 priority:60 color:red}
-node: {title: "n214" label: "ProjM 0 214"  info1: "mode:    M
-visited: 25
+graph: { title: "n226"  label: "Block 226" status:clustered color:yellow
+edge: {sourcename: "n226" targetname: "n225" label: "0" class:13 priority:60 color:red}
+node: {title: "n241" label: "ProjM 0 241"  info1: "mode:    M
+visited: 28
 irg:     STRENGTH_RED_EXAMPLE_m3
 arity: 1
 "color: yellow}
-edge: {sourcename: "n214" targetname: "n212" label: "0" class:17 priority:10 color:blue}
-node: {title: "n212" label: "Store  212"  info1: "mode:    T
-visited: 25
+edge: {sourcename: "n241" targetname: "n239" label: "0" class:17 priority:10 color:blue}
+node: {title: "n239" label: "Store  239"  info1: "mode:    T
+visited: 28
 irg:     STRENGTH_RED_EXAMPLE_m3
 arity: 3
 volatility: volatility_non_volatile
 "}
-edge: {sourcename: "n212" targetname: "n229" label: "0" class:17 priority:10 color:blue}
-edge: {sourcename: "n212" targetname: "n210" label: "1" class:1  priority:50}
-edge: {sourcename: "n212" targetname: "n230" label: "2" class:16 priority:10}
-node: {title: "n210" label: "AddP  210"  info1: "mode:    P
-visited: 25
+edge: {sourcename: "n239" targetname: "n256" label: "0" class:17 priority:10 color:blue}
+edge: {sourcename: "n239" targetname: "n237" label: "1" class:1  priority:50}
+edge: {sourcename: "n239" targetname: "n257" label: "2" class:16 priority:10}
+node: {title: "n237" label: "AddP  237"  info1: "mode:    P
+visited: 28
+irg:     STRENGTH_RED_EXAMPLE_m3
+arity: 2
+"}
+edge: {sourcename: "n237" targetname: "n235" label: "0" class:1  priority:50}
+edge: {sourcename: "n237" targetname: "n594" label: "1" class:1  priority:50}
+node: {title: "n235" label: "AddP  235"  info1: "mode:    P
+visited: 28
 irg:     STRENGTH_RED_EXAMPLE_m3
 arity: 2
 "}
-node: {title: "n210n192" label: "SymC &a  192"  info1: "mode:    P
-visited: 25
+node: {title: "n235n229" label: "0x8Is  229"  info1: "mode:    Is
+visited: 28
 irg:     STRENGTH_RED_EXAMPLE_m3
 arity: 0
-kind addr_ent
-entity GlobalType.a (176)
-
-SymConst of type type_unknown
+Const of type type_unknown
+"color: yellow}
+edge: {sourcename: "n235" targetname: "n235n229" label: "0" class:16 priority:10}
+edge: {sourcename: "n235" targetname: "n591" label: "1" class:1  priority:50}
+node: {title: "n594" label: "AddP  594"  info1: "mode:    P
+visited: 28
+irg:     STRENGTH_RED_EXAMPLE_m3
+arity: 2
 "}
-edge: {sourcename: "n210" targetname: "n208" label: "0" class:1  priority:50}
-edge: {sourcename: "n210" targetname: "n210n192" label: "1" class:16 priority:10}
-node: {title: "n208" label: "ShlIs  208"  info1: "mode:    Is
-visited: 25
+node: {title: "n594n593" label: "0x10Is  593"  info1: "mode:    Is
+visited: 28
+irg:     STRENGTH_RED_EXAMPLE_m3
+arity: 0
+Const of type type_unknown
+"color: yellow}
+edge: {sourcename: "n594" targetname: "n591" label: "0" class:1  priority:50}
+edge: {sourcename: "n594" targetname: "n594n593" label: "1" class:16 priority:10}
+node: {title: "n591" label: "AddP  591"  info1: "mode:    P
+visited: 28
+irg:     STRENGTH_RED_EXAMPLE_m3
+arity: 2
+"}
+edge: {sourcename: "n591" targetname: "n602" label: "0" class:16 priority:10}
+edge: {sourcename: "n591" targetname: "n590" label: "1" class:1  priority:50}
+node: {title: "n603" label: "AddIs  603"  info1: "mode:    Is
+visited: 28
 irg:     STRENGTH_RED_EXAMPLE_m3
 arity: 2
 "}
-node: {title: "n208n207" label: "0x2Iu  207"  info1: "mode:    Iu
-visited: 25
+node: {title: "n603n598" label: "0xFFFFFFFCIs  598"  info1: "mode:    Is
+visited: 28
+irg:     STRENGTH_RED_EXAMPLE_m3
+arity: 0
+Const of type type_unknown
+"color: yellow}
+edge: {sourcename: "n603" targetname: "n603n598" label: "0" class:16 priority:10}
+edge: {sourcename: "n603" targetname: "n602" label: "1" class:16 priority:10}
+node: {title: "n590" label: "AddP  590"  info1: "mode:    P
+visited: 28
+irg:     STRENGTH_RED_EXAMPLE_m3
+arity: 2
+"}
+node: {title: "n590n216" label: "SymC &a  216"  info1: "mode:    P
+visited: 28
+irg:     STRENGTH_RED_EXAMPLE_m3
+arity: 0
+kind addr_ent
+entity GlobalType.a (200)
+
+SymConst of type type_unknown
+"}
+node: {title: "n590n228" label: "0x4Is  228"  info1: "mode:    Is
+visited: 28
 irg:     STRENGTH_RED_EXAMPLE_m3
 arity: 0
 Const of type type_unknown
 "color: yellow}
-edge: {sourcename: "n208" targetname: "n230" label: "0" class:16 priority:10}
-edge: {sourcename: "n208" targetname: "n208n207" label: "1" class:16 priority:10}
-node: {title: "n216" label: "Jmp  216"  info1: "mode:    X
-visited: 25
+edge: {sourcename: "n590" targetname: "n590n216" label: "0" class:16 priority:10}
+edge: {sourcename: "n590" targetname: "n590n228" label: "1" class:16 priority:10}
+node: {title: "n243" label: "Jmp  243"  info1: "mode:    X
+visited: 28
 irg:     STRENGTH_RED_EXAMPLE_m3
 arity: 0
 "}
-node: {title: "n215" label: "SubIs  215"  info1: "mode:    Is
-visited: 25
+node: {title: "n589" label: "AddIs  589"  info1: "mode:    Is
+visited: 28
 irg:     STRENGTH_RED_EXAMPLE_m3
 arity: 2
 "}
-node: {title: "n215n203" label: "0x1Is  203"  info1: "mode:    Is
-visited: 25
+node: {title: "n589n588" label: "0xFFFFFFFFIs  588"  info1: "mode:    Is
+visited: 28
 irg:     STRENGTH_RED_EXAMPLE_m3
 arity: 0
 Const of type type_unknown
 "color: yellow}
-edge: {sourcename: "n215" targetname: "n230" label: "0" class:16 priority:10}
-edge: {sourcename: "n215" targetname: "n215n203" label: "1" class:16 priority:10}
+edge: {sourcename: "n589" targetname: "n257" label: "0" class:16 priority:10}
+edge: {sourcename: "n589" targetname: "n589n588" label: "1" class:16 priority:10}
 }
 
-graph: { title: "n180"  label: "Block 180" status:clustered color:yellow
-edge: {sourcename: "n180" targetname: "n184" label: "0" class:13 priority:60 color:red}
-node: {title: "n187" label: "ProjM 1 187"  info1: "mode:    M
-visited: 25
+graph: { title: "n204"  label: "Block 204" status:clustered color:yellow
+edge: {sourcename: "n204" targetname: "n208" label: "0" class:13 priority:60 color:red}
+node: {title: "n211" label: "ProjM 1 211"  info1: "mode:    M
+visited: 28
 irg:     STRENGTH_RED_EXAMPLE_m3
 arity: 1
 "color: yellow}
-edge: {sourcename: "n187" targetname: "n181" label: "0" class:17 priority:10 color:blue}
-node: {title: "n184" label: "ProjX 0 184"  info1: "mode:    X
-visited: 25
+edge: {sourcename: "n211" targetname: "n205" label: "0" class:17 priority:10 color:blue}
+node: {title: "n208" label: "ProjX 0 208"  info1: "mode:    X
+visited: 28
 irg:     STRENGTH_RED_EXAMPLE_m3
 arity: 1
 "color: yellow}
-edge: {sourcename: "n184" targetname: "n181" label: "0" class:13 priority:60 color:red}
-node: {title: "n181" label: "Start  181"  info1: "mode:    T
-visited: 25
+edge: {sourcename: "n208" targetname: "n205" label: "0" class:13 priority:60 color:red}
+node: {title: "n205" label: "Start  205"  info1: "mode:    T
+visited: 28
 irg:     STRENGTH_RED_EXAMPLE_m3
 arity: 0
 start of method of type STRENGTH_RED_EXAMPLE_meth_tp
diff --git a/testprograms/ref-results/STRENGTH_RED_EXAMPLE_m3.vcg b/testprograms/ref-results/STRENGTH_RED_EXAMPLE_m3.vcg
new file mode 100644 (file)
index 0000000..e88e116
--- /dev/null
@@ -0,0 +1,292 @@
+graph: { title: "ir graph of STRENGTH_RED_EXAMPLE_m3"
+display_edge_labels: no
+layoutalgorithm: mindepth
+manhattan_edges: yes
+port_sharing: no
+orientation: bottom_to_top
+classname 1:  "intrablock Data"
+classname 16: "interblock Data"
+classname 2:  "Block"
+classname 13: "Control Flow"
+classname 18: "Exception Control Flow for Interval Analysis"
+classname 14: "intrablock Memory"
+classname 17: "interblock Memory"
+classname 15: "Dominators"
+classname 3:  "Entity type"
+classname 4:  "Entity owner"
+classname 5:  "Method Param"
+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"
+infoname 1: "Attribute"
+infoname 2: "Verification errors"
+colorentry 100:    0   0    0
+colorentry 101:   20   0    0
+colorentry 102:   40   0    0
+colorentry 103:   60   0    0
+colorentry 104:   80   0    0
+colorentry 105:  100   0    0
+colorentry 106:  120   0    0
+colorentry 107:  140   0    0
+colorentry 108:  150   0    0
+colorentry 109:  180   0    0
+colorentry 110:  200   0    0
+colorentry 111:  220   0    0
+colorentry 112:  240   0    0
+colorentry 113:  255   0    0
+colorentry 113:  255  20   20
+colorentry 114:  255  40   40
+colorentry 115:  255  60   60
+colorentry 116:  255  80   80
+colorentry 117:  255 100  100
+colorentry 118:  255 120  120
+colorentry 119:  255 140  140
+colorentry 120:  255 150  150
+colorentry 121:  255 180  180
+colorentry 122:  255 200  200
+colorentry 123:  255 220  220
+colorentry 124:  255 240  240
+colorentry 125:  255 250  250
+
+graph: { title: "g213" label: "STRENGTH_RED_EXAMPLE_m3" status:clustered color:white
+graph: { title: "n202"  label: "Block 202" status:clustered color:yellow
+edge: {sourcename: "n202" targetname: "n252" label: "0" class:13 priority:60 color:red}
+node: {title: "n203" label: "End  203"  info1: "mode:    X
+visited: 17
+irg:     STRENGTH_RED_EXAMPLE_m3
+arity: 1
+"color: blue}
+}
+
+graph: { title: "n249"  label: "Block 249" status:clustered color:yellow
+edge: {sourcename: "n249" targetname: "n224" label: "0" class:13 priority:60 color:red}
+node: {title: "n252" label: "Return  252"  info1: "mode:    X
+visited: 17
+irg:     STRENGTH_RED_EXAMPLE_m3
+arity: 2
+return in method of type STRENGTH_RED_EXAMPLE_meth_tp
+  res 0 type: int
+"}
+node: {title: "n252n228" label: "0x4Is  228"  info1: "mode:    Is
+visited: 17
+irg:     STRENGTH_RED_EXAMPLE_m3
+arity: 0
+Const of type type_unknown
+"color: yellow}
+edge: {sourcename: "n252" targetname: "n256" label: "0" class:17 priority:10 color:blue}
+edge: {sourcename: "n252" targetname: "n252n228" label: "1" class:16 priority:10}
+}
+
+graph: { title: "n218"  label: "Block 218" status:clustered color:yellow
+edge: {sourcename: "n218" targetname: "n217" label: "0" class:13 priority:60 color:red}
+backedge: {sourcename: "n218" targetname: "n243" label: "1" linestyle:dashed class:13 priority:60 color:red}
+node: {title: "n256" label: "PhiM  256"  info1: "mode:    M
+visited: 17
+irg:     STRENGTH_RED_EXAMPLE_m3
+arity: 2 backedges:  1
+"color: green}
+edge: {sourcename: "n256" targetname: "n211" label: "0" class:17 priority:10 color:blue}
+backedge: {sourcename: "n256" targetname: "n241" label: "1" linestyle:dashed class:17 priority:10 color:blue}
+node: {title: "n224" label: "ProjX 0 224"  info1: "mode:    X
+visited: 17
+irg:     STRENGTH_RED_EXAMPLE_m3
+arity: 1
+"color: yellow}
+edge: {sourcename: "n224" targetname: "n223" label: "0" class:13 priority:60 color:red}
+node: {title: "n225" label: "ProjX 1 225"  info1: "mode:    X
+visited: 17
+irg:     STRENGTH_RED_EXAMPLE_m3
+arity: 1
+"color: yellow}
+edge: {sourcename: "n225" targetname: "n223" label: "0" class:13 priority:60 color:red}
+node: {title: "n223" label: "Cond  223"  info1: "mode:    T
+visited: 17
+irg:     STRENGTH_RED_EXAMPLE_m3
+arity: 1
+"}
+edge: {sourcename: "n223" targetname: "n222" label: "0" class:1  priority:50}
+node: {title: "n222" label: "Projb Lt 222"  info1: "mode:    b
+visited: 17
+irg:     STRENGTH_RED_EXAMPLE_m3
+arity: 1
+"color: yellow}
+edge: {sourcename: "n222" targetname: "n221" label: "0" class:1  priority:50}
+node: {title: "n221" label: "Cmp  221"  info1: "mode:    T
+visited: 17
+irg:     STRENGTH_RED_EXAMPLE_m3
+arity: 2
+"}
+node: {title: "n221n220" label: "0x0Is  220"  info1: "mode:    Is
+visited: 17
+irg:     STRENGTH_RED_EXAMPLE_m3
+arity: 0
+Const of type type_unknown
+"color: yellow}
+edge: {sourcename: "n221" targetname: "n221n220" label: "0" class:16 priority:10}
+edge: {sourcename: "n221" targetname: "n257" label: "1" class:1  priority:50}
+node: {title: "n257" label: "PhiIs  257"  info1: "mode:    Is
+visited: 17
+irg:     STRENGTH_RED_EXAMPLE_m3
+arity: 2 backedges:  1
+"color: green}
+node: {title: "n257n215" label: "0xAIs  215"  info1: "mode:    Is
+visited: 17
+irg:     STRENGTH_RED_EXAMPLE_m3
+arity: 0
+Const of type type_unknown
+"color: yellow}
+edge: {sourcename: "n257" targetname: "n257n215" label: "0" class:16 priority:10}
+backedge: {sourcename: "n257" targetname: "n242" label: "1" linestyle:dashed class:16 priority:10}
+}
+
+graph: { title: "n214"  label: "Block 214" status:clustered color:yellow
+edge: {sourcename: "n214" targetname: "n208" label: "0" class:13 priority:60 color:red}
+node: {title: "n217" label: "Jmp  217"  info1: "mode:    X
+visited: 17
+irg:     STRENGTH_RED_EXAMPLE_m3
+arity: 0
+"}
+}
+
+graph: { title: "n226"  label: "Block 226" status:clustered color:yellow
+edge: {sourcename: "n226" targetname: "n225" label: "0" class:13 priority:60 color:red}
+node: {title: "n241" label: "ProjM 0 241"  info1: "mode:    M
+visited: 17
+irg:     STRENGTH_RED_EXAMPLE_m3
+arity: 1
+"color: yellow}
+edge: {sourcename: "n241" targetname: "n239" label: "0" class:17 priority:10 color:blue}
+node: {title: "n239" label: "Store  239"  info1: "mode:    T
+visited: 17
+irg:     STRENGTH_RED_EXAMPLE_m3
+arity: 3
+volatility: volatility_non_volatile
+"}
+edge: {sourcename: "n239" targetname: "n256" label: "0" class:17 priority:10 color:blue}
+edge: {sourcename: "n239" targetname: "n237" label: "1" class:1  priority:50}
+edge: {sourcename: "n239" targetname: "n257" label: "2" class:16 priority:10}
+node: {title: "n237" label: "AddP  237"  info1: "mode:    P
+visited: 17
+irg:     STRENGTH_RED_EXAMPLE_m3
+arity: 2
+"}
+edge: {sourcename: "n237" targetname: "n235" label: "0" class:1  priority:50}
+edge: {sourcename: "n237" targetname: "n236" label: "1" class:1  priority:50}
+node: {title: "n236" label: "AddP  236"  info1: "mode:    P
+visited: 17
+irg:     STRENGTH_RED_EXAMPLE_m3
+arity: 2
+"}
+node: {title: "n236n229" label: "0x8Is  229"  info1: "mode:    Is
+visited: 17
+irg:     STRENGTH_RED_EXAMPLE_m3
+arity: 0
+Const of type type_unknown
+"color: yellow}
+edge: {sourcename: "n236" targetname: "n236n229" label: "0" class:16 priority:10}
+edge: {sourcename: "n236" targetname: "n235" label: "1" class:1  priority:50}
+node: {title: "n235" label: "AddP  235"  info1: "mode:    P
+visited: 17
+irg:     STRENGTH_RED_EXAMPLE_m3
+arity: 2
+"}
+node: {title: "n235n229" label: "0x8Is  229"  info1: "mode:    Is
+visited: 17
+irg:     STRENGTH_RED_EXAMPLE_m3
+arity: 0
+Const of type type_unknown
+"color: yellow}
+edge: {sourcename: "n235" targetname: "n235n229" label: "0" class:16 priority:10}
+edge: {sourcename: "n235" targetname: "n234" label: "1" class:1  priority:50}
+node: {title: "n234" label: "AddP  234"  info1: "mode:    P
+visited: 17
+irg:     STRENGTH_RED_EXAMPLE_m3
+arity: 2
+"}
+node: {title: "n234n228" label: "0x4Is  228"  info1: "mode:    Is
+visited: 17
+irg:     STRENGTH_RED_EXAMPLE_m3
+arity: 0
+Const of type type_unknown
+"color: yellow}
+edge: {sourcename: "n234" targetname: "n234n228" label: "0" class:16 priority:10}
+edge: {sourcename: "n234" targetname: "n233" label: "1" class:1  priority:50}
+node: {title: "n233" label: "AddP  233"  info1: "mode:    P
+visited: 17
+irg:     STRENGTH_RED_EXAMPLE_m3
+arity: 2
+"}
+node: {title: "n233n216" label: "SymC &a  216"  info1: "mode:    P
+visited: 17
+irg:     STRENGTH_RED_EXAMPLE_m3
+arity: 0
+kind addr_ent
+entity GlobalType.a (200)
+
+SymConst of type type_unknown
+"}
+edge: {sourcename: "n233" targetname: "n231" label: "0" class:1  priority:50}
+edge: {sourcename: "n233" targetname: "n233n216" label: "1" class:16 priority:10}
+node: {title: "n231" label: "MulIs  231"  info1: "mode:    Is
+visited: 17
+irg:     STRENGTH_RED_EXAMPLE_m3
+arity: 2
+"}
+node: {title: "n231n228" label: "0x4Is  228"  info1: "mode:    Is
+visited: 17
+irg:     STRENGTH_RED_EXAMPLE_m3
+arity: 0
+Const of type type_unknown
+"color: yellow}
+edge: {sourcename: "n231" targetname: "n231n228" label: "0" class:16 priority:10}
+edge: {sourcename: "n231" targetname: "n257" label: "1" class:16 priority:10}
+node: {title: "n243" label: "Jmp  243"  info1: "mode:    X
+visited: 17
+irg:     STRENGTH_RED_EXAMPLE_m3
+arity: 0
+"}
+node: {title: "n242" label: "SubIs  242"  info1: "mode:    Is
+visited: 17
+irg:     STRENGTH_RED_EXAMPLE_m3
+arity: 2
+"}
+node: {title: "n242n227" label: "0x1Is  227"  info1: "mode:    Is
+visited: 17
+irg:     STRENGTH_RED_EXAMPLE_m3
+arity: 0
+Const of type type_unknown
+"color: yellow}
+edge: {sourcename: "n242" targetname: "n257" label: "0" class:16 priority:10}
+edge: {sourcename: "n242" targetname: "n242n227" label: "1" class:16 priority:10}
+}
+
+graph: { title: "n204"  label: "Block 204" status:clustered color:yellow
+edge: {sourcename: "n204" targetname: "n208" label: "0" class:13 priority:60 color:red}
+node: {title: "n211" label: "ProjM 1 211"  info1: "mode:    M
+visited: 17
+irg:     STRENGTH_RED_EXAMPLE_m3
+arity: 1
+"color: yellow}
+edge: {sourcename: "n211" targetname: "n205" label: "0" class:17 priority:10 color:blue}
+node: {title: "n208" label: "ProjX 0 208"  info1: "mode:    X
+visited: 17
+irg:     STRENGTH_RED_EXAMPLE_m3
+arity: 1
+"color: yellow}
+edge: {sourcename: "n208" targetname: "n205" label: "0" class:13 priority:60 color:red}
+node: {title: "n205" label: "Start  205"  info1: "mode:    T
+visited: 17
+irg:     STRENGTH_RED_EXAMPLE_m3
+arity: 0
+start of method of type STRENGTH_RED_EXAMPLE_meth_tp
+  param 0 type: int
+"color: blue}
+}
+
+}
+
+}
diff --git a/testprograms/ref-results/STRENGTH_RED_EXAMPLE_m4-looptree.vcg b/testprograms/ref-results/STRENGTH_RED_EXAMPLE_m4-looptree.vcg
new file mode 100644 (file)
index 0000000..8f38747
--- /dev/null
@@ -0,0 +1,69 @@
+graph: { title: "ir graph of STRENGTH_RED_EXAMPLE_m4"
+display_edge_labels: yes
+layoutalgorithm: mindepth
+manhattan_edges: yes
+port_sharing: no
+orientation: top_to_bottom
+classname 1:  "intrablock Data"
+classname 16: "interblock Data"
+classname 2:  "Block"
+classname 13: "Control Flow"
+classname 18: "Exception Control Flow for Interval Analysis"
+classname 14: "intrablock Memory"
+classname 17: "interblock Memory"
+classname 15: "Dominators"
+classname 3:  "Entity type"
+classname 4:  "Entity owner"
+classname 5:  "Method Param"
+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"
+infoname 1: "Attribute"
+infoname 2: "Verification errors"
+colorentry 100:    0   0    0
+colorentry 101:   20   0    0
+colorentry 102:   40   0    0
+colorentry 103:   60   0    0
+colorentry 104:   80   0    0
+colorentry 105:  100   0    0
+colorentry 106:  120   0    0
+colorentry 107:  140   0    0
+colorentry 108:  150   0    0
+colorentry 109:  180   0    0
+colorentry 110:  200   0    0
+colorentry 111:  220   0    0
+colorentry 112:  240   0    0
+colorentry 113:  255   0    0
+colorentry 113:  255  20   20
+colorentry 114:  255  40   40
+colorentry 115:  255  60   60
+colorentry 116:  255  80   80
+colorentry 117:  255 100  100
+colorentry 118:  255 120  120
+colorentry 119:  255 140  140
+colorentry 120:  255 150  150
+colorentry 121:  255 180  180
+colorentry 122:  255 200  200
+colorentry 123:  255 220  220
+colorentry 124:  255 240  240
+colorentry 125:  255 250  250
+
+node: {title: "l620" label: "loop 0, 1 sons, 4 nodes"  info1: " loop nr: 620
+ The loop was analyzed 0 times."}
+node: { title: "l620-0-nodes" color: lightyellow label: "Block  270     ->135442068
+Block  280      ->135442080" }
+edge: {sourcename: "l620" targetname: "l620-0-nodes" label:"0...1"}
+edge: {sourcename: "l620" targetname: "l621" color: darkgreen label: "2"}
+node: {title: "l621" label: "loop 1, 0 sons, 2 nodes"  info1: " loop nr: 621
+ The loop was analyzed 0 times."}
+node: { title: "l621-0-nodes" color: lightyellow label: "Block  284     ->135442044     loop head!
+Block  292      ->135442056" }
+edge: {sourcename: "l621" targetname: "l621-0-nodes" label:"0...1"}
+node: { title: "l620-3-nodes" color: lightyellow label: "Block  316     ->135442032
+Block  268      ->135442020" }
+edge: {sourcename: "l620" targetname: "l620-3-nodes" label:"3...4"}
+}
index 033d58e..5b5d794 100644 (file)
@@ -52,188 +52,284 @@ colorentry 123:  255 220  220
 colorentry 124:  255 240  240
 colorentry 125:  255 250  250
 
-graph: { title: "g252" label: "STRENGTH_RED_EXAMPLE_m4" status:clustered color:white
-graph: { title: "n241"  label: "Block 241" status:clustered color:yellow
-edge: {sourcename: "n241" targetname: "n288" label: "0" class:13 priority:60 color:red}
-node: {title: "n242" label: "End  242"  info1: "mode:    X
-visited: 25
+graph: { title: "g279" label: "STRENGTH_RED_EXAMPLE_m4" status:clustered color:white
+graph: { title: "n268"  label: "Block 268" status:clustered color:yellow
+edge: {sourcename: "n268" targetname: "n319" label: "0" class:13 priority:60 color:red}
+node: {title: "n269" label: "End  269"  info1: "mode:    X
+visited: 32
 irg:     STRENGTH_RED_EXAMPLE_m4
 arity: 1
 "color: blue}
 }
 
-graph: { title: "n285"  label: "Block 285" status:clustered color:yellow
-edge: {sourcename: "n285" targetname: "n263" label: "0" class:13 priority:60 color:red}
-node: {title: "n288" label: "Return  288"  info1: "mode:    X
-visited: 25
+graph: { title: "n316"  label: "Block 316" status:clustered color:yellow
+edge: {sourcename: "n316" targetname: "n290" label: "0" class:13 priority:60 color:red}
+node: {title: "n319" label: "Return  319"  info1: "mode:    X
+visited: 32
 irg:     STRENGTH_RED_EXAMPLE_m4
 arity: 2
 return in method of type STRENGTH_RED_EXAMPLE_meth_tp
   res 0 type: int
 "}
-node: {title: "n288n267" label: "0x4Is  267"  info1: "mode:    Is
-visited: 25
+node: {title: "n319n294" label: "0x4Is  294"  info1: "mode:    Is
+visited: 32
 irg:     STRENGTH_RED_EXAMPLE_m4
 arity: 0
 Const of type type_unknown
 "color: yellow}
-edge: {sourcename: "n288" targetname: "n292" label: "0" class:17 priority:10 color:blue}
-edge: {sourcename: "n288" targetname: "n288n267" label: "1" class:16 priority:10}
+edge: {sourcename: "n319" targetname: "n323" label: "0" class:17 priority:10 color:blue}
+edge: {sourcename: "n319" targetname: "n319n294" label: "1" class:16 priority:10}
 }
 
-graph: { title: "n257"  label: "Block 257" status:clustered color:yellow
-edge: {sourcename: "n257" targetname: "n256" label: "0" class:13 priority:60 color:red}
-backedge: {sourcename: "n257" targetname: "n279" label: "1" linestyle:dashed class:13 priority:60 color:red}
-node: {title: "n292" label: "PhiM  292"  info1: "mode:    M
-visited: 25
+graph: { title: "n284"  label: "Block 284" status:clustered color:yellow
+edge: {sourcename: "n284" targetname: "n283" label: "0" class:13 priority:60 color:red}
+backedge: {sourcename: "n284" targetname: "n310" label: "1" linestyle:dashed class:13 priority:60 color:red}
+node: {title: "n323" label: "PhiM  323"  info1: "mode:    M
+visited: 32
 irg:     STRENGTH_RED_EXAMPLE_m4
 arity: 2 backedges:
 "color: green}
-edge: {sourcename: "n292" targetname: "n250" label: "0" class:17 priority:10 color:blue}
-edge: {sourcename: "n292" targetname: "n278" label: "1" class:17 priority:10 color:blue}
-node: {title: "n263" label: "ProjX 0 263"  info1: "mode:    X
-visited: 25
+edge: {sourcename: "n323" targetname: "n277" label: "0" class:17 priority:10 color:blue}
+edge: {sourcename: "n323" targetname: "n309" label: "1" class:17 priority:10 color:blue}
+node: {title: "n627" label: "PhiIs  627"  info1: "mode:    Is
+visited: 32
+irg:     STRENGTH_RED_EXAMPLE_m4
+arity: 2 backedges:
+"color: green}
+node: {title: "n627n281" label: "0x0Is  281"  info1: "mode:    Is
+visited: 32
+irg:     STRENGTH_RED_EXAMPLE_m4
+arity: 0
+Const of type type_unknown
+"color: yellow}
+edge: {sourcename: "n627" targetname: "n627n281" label: "0" class:16 priority:10}
+edge: {sourcename: "n627" targetname: "n628" label: "1" class:16 priority:10}
+node: {title: "n634" label: "PhiIs  634"  info1: "mode:    Is
+visited: 32
+irg:     STRENGTH_RED_EXAMPLE_m4
+arity: 2 backedges:
+"color: green}
+node: {title: "n634n281" label: "0x0Is  281"  info1: "mode:    Is
+visited: 32
+irg:     STRENGTH_RED_EXAMPLE_m4
+arity: 0
+Const of type type_unknown
+"color: yellow}
+edge: {sourcename: "n634" targetname: "n634n281" label: "0" class:16 priority:10}
+edge: {sourcename: "n634" targetname: "n635" label: "1" class:16 priority:10}
+node: {title: "n290" label: "ProjX 0 290"  info1: "mode:    X
+visited: 32
 irg:     STRENGTH_RED_EXAMPLE_m4
 arity: 1
 "color: yellow}
-edge: {sourcename: "n263" targetname: "n262" label: "0" class:13 priority:60 color:red}
-node: {title: "n264" label: "ProjX 1 264"  info1: "mode:    X
-visited: 25
+edge: {sourcename: "n290" targetname: "n289" label: "0" class:13 priority:60 color:red}
+node: {title: "n291" label: "ProjX 1 291"  info1: "mode:    X
+visited: 32
 irg:     STRENGTH_RED_EXAMPLE_m4
 arity: 1
 "color: yellow}
-edge: {sourcename: "n264" targetname: "n262" label: "0" class:13 priority:60 color:red}
-node: {title: "n262" label: "Cond  262"  info1: "mode:    T
-visited: 25
+edge: {sourcename: "n291" targetname: "n289" label: "0" class:13 priority:60 color:red}
+node: {title: "n289" label: "Cond  289"  info1: "mode:    T
+visited: 32
 irg:     STRENGTH_RED_EXAMPLE_m4
 arity: 1
 "}
-edge: {sourcename: "n262" targetname: "n261" label: "0" class:1  priority:50}
-node: {title: "n261" label: "Projb Gt 261"  info1: "mode:    b
-visited: 25
+edge: {sourcename: "n289" targetname: "n288" label: "0" class:1  priority:50}
+node: {title: "n288" label: "Projb Gt 288"  info1: "mode:    b
+visited: 32
 irg:     STRENGTH_RED_EXAMPLE_m4
 arity: 1
 "color: yellow}
-edge: {sourcename: "n261" targetname: "n260" label: "0" class:1  priority:50}
-node: {title: "n260" label: "Cmp  260"  info1: "mode:    T
-visited: 25
+edge: {sourcename: "n288" targetname: "n287" label: "0" class:1  priority:50}
+node: {title: "n287" label: "Cmp  287"  info1: "mode:    T
+visited: 32
 irg:     STRENGTH_RED_EXAMPLE_m4
 arity: 2
 "}
-node: {title: "n260n259" label: "0xAIs  259"  info1: "mode:    Is
-visited: 25
+node: {title: "n287n286" label: "0xAIs  286"  info1: "mode:    Is
+visited: 32
 irg:     STRENGTH_RED_EXAMPLE_m4
 arity: 0
 Const of type type_unknown
 "color: yellow}
-edge: {sourcename: "n260" targetname: "n260n259" label: "0" class:16 priority:10}
-edge: {sourcename: "n260" targetname: "n293" label: "1" class:1  priority:50}
-node: {title: "n293" label: "PhiIs  293"  info1: "mode:    Is
-visited: 25
+edge: {sourcename: "n287" targetname: "n287n286" label: "0" class:16 priority:10}
+edge: {sourcename: "n287" targetname: "n324" label: "1" class:1  priority:50}
+node: {title: "n324" label: "PhiIs  324"  info1: "mode:    Is
+visited: 32
 irg:     STRENGTH_RED_EXAMPLE_m4
 arity: 2 backedges:
 "color: green}
-node: {title: "n293n254" label: "0x0Is  254"  info1: "mode:    Is
-visited: 25
+node: {title: "n324n281" label: "0x0Is  281"  info1: "mode:    Is
+visited: 32
 irg:     STRENGTH_RED_EXAMPLE_m4
 arity: 0
 Const of type type_unknown
 "color: yellow}
-edge: {sourcename: "n293" targetname: "n293n254" label: "0" class:16 priority:10}
-edge: {sourcename: "n293" targetname: "n269" label: "1" class:16 priority:10}
+edge: {sourcename: "n324" targetname: "n324n281" label: "0" class:16 priority:10}
+edge: {sourcename: "n324" targetname: "n297" label: "1" class:16 priority:10}
 }
 
-graph: { title: "n253"  label: "Block 253" status:clustered color:yellow
-edge: {sourcename: "n253" targetname: "n247" label: "0" class:13 priority:60 color:red}
-node: {title: "n256" label: "Jmp  256"  info1: "mode:    X
-visited: 25
+graph: { title: "n280"  label: "Block 280" status:clustered color:yellow
+edge: {sourcename: "n280" targetname: "n274" label: "0" class:13 priority:60 color:red}
+node: {title: "n283" label: "Jmp  283"  info1: "mode:    X
+visited: 32
 irg:     STRENGTH_RED_EXAMPLE_m4
 arity: 0
 "}
 }
 
-graph: { title: "n265"  label: "Block 265" status:clustered color:yellow
-edge: {sourcename: "n265" targetname: "n264" label: "0" class:13 priority:60 color:red}
-node: {title: "n278" label: "ProjM 0 278"  info1: "mode:    M
-visited: 25
+graph: { title: "n292"  label: "Block 292" status:clustered color:yellow
+edge: {sourcename: "n292" targetname: "n291" label: "0" class:13 priority:60 color:red}
+node: {title: "n309" label: "ProjM 0 309"  info1: "mode:    M
+visited: 32
 irg:     STRENGTH_RED_EXAMPLE_m4
 arity: 1
 "color: yellow}
-edge: {sourcename: "n278" targetname: "n276" label: "0" class:17 priority:10 color:blue}
-node: {title: "n276" label: "Store  276"  info1: "mode:    T
-visited: 25
+edge: {sourcename: "n309" targetname: "n307" label: "0" class:17 priority:10 color:blue}
+node: {title: "n307" label: "Store  307"  info1: "mode:    T
+visited: 32
 irg:     STRENGTH_RED_EXAMPLE_m4
 arity: 3
 volatility: volatility_non_volatile
 "}
-edge: {sourcename: "n276" targetname: "n292" label: "0" class:17 priority:10 color:blue}
-edge: {sourcename: "n276" targetname: "n274" label: "1" class:1  priority:50}
-edge: {sourcename: "n276" targetname: "n269" label: "2" class:1  priority:50}
-node: {title: "n274" label: "AddP  274"  info1: "mode:    P
-visited: 25
+edge: {sourcename: "n307" targetname: "n304" label: "0" class:14 priority:50 color:blue}
+edge: {sourcename: "n307" targetname: "n613" label: "1" class:1  priority:50}
+edge: {sourcename: "n307" targetname: "n297" label: "2" class:1  priority:50}
+node: {title: "n304" label: "ProjM 0 304"  info1: "mode:    M
+visited: 32
+irg:     STRENGTH_RED_EXAMPLE_m4
+arity: 1
+"color: yellow}
+edge: {sourcename: "n304" targetname: "n302" label: "0" class:17 priority:10 color:blue}
+node: {title: "n302" label: "Store  302"  info1: "mode:    T
+visited: 32
+irg:     STRENGTH_RED_EXAMPLE_m4
+arity: 3
+volatility: volatility_non_volatile
+"}
+edge: {sourcename: "n302" targetname: "n323" label: "0" class:17 priority:10 color:blue}
+edge: {sourcename: "n302" targetname: "n619" label: "1" class:1  priority:50}
+edge: {sourcename: "n302" targetname: "n297" label: "2" class:1  priority:50}
+node: {title: "n619" label: "AddP  619"  info1: "mode:    P
+visited: 32
+irg:     STRENGTH_RED_EXAMPLE_m4
+arity: 2
+"}
+edge: {sourcename: "n619" targetname: "n627" label: "0" class:16 priority:10}
+edge: {sourcename: "n619" targetname: "n618" label: "1" class:1  priority:50}
+node: {title: "n628" label: "AddIs  628"  info1: "mode:    Is
+visited: 32
 irg:     STRENGTH_RED_EXAMPLE_m4
 arity: 2
 "}
-node: {title: "n274n255" label: "SymC &a  255"  info1: "mode:    P
-visited: 25
+node: {title: "n628n295" label: "0x8Is  295"  info1: "mode:    Is
+visited: 32
+irg:     STRENGTH_RED_EXAMPLE_m4
+arity: 0
+Const of type type_unknown
+"color: yellow}
+edge: {sourcename: "n628" targetname: "n628n295" label: "0" class:16 priority:10}
+edge: {sourcename: "n628" targetname: "n627" label: "1" class:16 priority:10}
+node: {title: "n618" label: "AddP  618"  info1: "mode:    P
+visited: 32
+irg:     STRENGTH_RED_EXAMPLE_m4
+arity: 2
+"}
+node: {title: "n618n282" label: "SymC &a  282"  info1: "mode:    P
+visited: 32
 irg:     STRENGTH_RED_EXAMPLE_m4
 arity: 0
 kind addr_ent
-entity GlobalType.a (239)
+entity GlobalType.a (266)
 
 SymConst of type type_unknown
 "}
-edge: {sourcename: "n274" targetname: "n272" label: "0" class:1  priority:50}
-edge: {sourcename: "n274" targetname: "n274n255" label: "1" class:16 priority:10}
-node: {title: "n272" label: "ShlIs  272"  info1: "mode:    Is
-visited: 25
+node: {title: "n618n295" label: "0x8Is  295"  info1: "mode:    Is
+visited: 32
+irg:     STRENGTH_RED_EXAMPLE_m4
+arity: 0
+Const of type type_unknown
+"color: yellow}
+edge: {sourcename: "n618" targetname: "n618n282" label: "0" class:16 priority:10}
+edge: {sourcename: "n618" targetname: "n618n295" label: "1" class:16 priority:10}
+node: {title: "n613" label: "AddP  613"  info1: "mode:    P
+visited: 32
+irg:     STRENGTH_RED_EXAMPLE_m4
+arity: 2
+"}
+edge: {sourcename: "n613" targetname: "n634" label: "0" class:16 priority:10}
+edge: {sourcename: "n613" targetname: "n612" label: "1" class:1  priority:50}
+node: {title: "n635" label: "AddIs  635"  info1: "mode:    Is
+visited: 32
 irg:     STRENGTH_RED_EXAMPLE_m4
 arity: 2
 "}
-node: {title: "n272n271" label: "0x2Iu  271"  info1: "mode:    Iu
-visited: 25
+node: {title: "n635n294" label: "0x4Is  294"  info1: "mode:    Is
+visited: 32
+irg:     STRENGTH_RED_EXAMPLE_m4
+arity: 0
+Const of type type_unknown
+"color: yellow}
+edge: {sourcename: "n635" targetname: "n635n294" label: "0" class:16 priority:10}
+edge: {sourcename: "n635" targetname: "n634" label: "1" class:16 priority:10}
+node: {title: "n612" label: "AddP  612"  info1: "mode:    P
+visited: 32
+irg:     STRENGTH_RED_EXAMPLE_m4
+arity: 2
+"}
+node: {title: "n612n282" label: "SymC &a  282"  info1: "mode:    P
+visited: 32
+irg:     STRENGTH_RED_EXAMPLE_m4
+arity: 0
+kind addr_ent
+entity GlobalType.a (266)
+
+SymConst of type type_unknown
+"}
+node: {title: "n612n294" label: "0x4Is  294"  info1: "mode:    Is
+visited: 32
 irg:     STRENGTH_RED_EXAMPLE_m4
 arity: 0
 Const of type type_unknown
 "color: yellow}
-edge: {sourcename: "n272" targetname: "n269" label: "0" class:1  priority:50}
-edge: {sourcename: "n272" targetname: "n272n271" label: "1" class:16 priority:10}
-node: {title: "n279" label: "Jmp  279"  info1: "mode:    X
-visited: 25
+edge: {sourcename: "n612" targetname: "n612n282" label: "0" class:16 priority:10}
+edge: {sourcename: "n612" targetname: "n612n294" label: "1" class:16 priority:10}
+node: {title: "n310" label: "Jmp  310"  info1: "mode:    X
+visited: 32
 irg:     STRENGTH_RED_EXAMPLE_m4
 arity: 0
 "}
-node: {title: "n269" label: "AddIs  269"  info1: "mode:    Is
-visited: 25
+node: {title: "n297" label: "AddIs  297"  info1: "mode:    Is
+visited: 32
 irg:     STRENGTH_RED_EXAMPLE_m4
 arity: 2
 "}
-node: {title: "n269n266" label: "0x1Is  266"  info1: "mode:    Is
-visited: 25
+node: {title: "n297n293" label: "0x1Is  293"  info1: "mode:    Is
+visited: 32
 irg:     STRENGTH_RED_EXAMPLE_m4
 arity: 0
 Const of type type_unknown
 "color: yellow}
-edge: {sourcename: "n269" targetname: "n269n266" label: "0" class:16 priority:10}
-edge: {sourcename: "n269" targetname: "n293" label: "1" class:16 priority:10}
+edge: {sourcename: "n297" targetname: "n297n293" label: "0" class:16 priority:10}
+edge: {sourcename: "n297" targetname: "n324" label: "1" class:16 priority:10}
 }
 
-graph: { title: "n243"  label: "Block 243" status:clustered color:yellow
-edge: {sourcename: "n243" targetname: "n247" label: "0" class:13 priority:60 color:red}
-node: {title: "n250" label: "ProjM 1 250"  info1: "mode:    M
-visited: 25
+graph: { title: "n270"  label: "Block 270" status:clustered color:yellow
+edge: {sourcename: "n270" targetname: "n274" label: "0" class:13 priority:60 color:red}
+node: {title: "n277" label: "ProjM 1 277"  info1: "mode:    M
+visited: 32
 irg:     STRENGTH_RED_EXAMPLE_m4
 arity: 1
 "color: yellow}
-edge: {sourcename: "n250" targetname: "n244" label: "0" class:17 priority:10 color:blue}
-node: {title: "n247" label: "ProjX 0 247"  info1: "mode:    X
-visited: 25
+edge: {sourcename: "n277" targetname: "n271" label: "0" class:17 priority:10 color:blue}
+node: {title: "n274" label: "ProjX 0 274"  info1: "mode:    X
+visited: 32
 irg:     STRENGTH_RED_EXAMPLE_m4
 arity: 1
 "color: yellow}
-edge: {sourcename: "n247" targetname: "n244" label: "0" class:13 priority:60 color:red}
-node: {title: "n244" label: "Start  244"  info1: "mode:    T
-visited: 25
+edge: {sourcename: "n274" targetname: "n271" label: "0" class:13 priority:60 color:red}
+node: {title: "n271" label: "Start  271"  info1: "mode:    T
+visited: 32
 irg:     STRENGTH_RED_EXAMPLE_m4
 arity: 0
 start of method of type STRENGTH_RED_EXAMPLE_meth_tp
diff --git a/testprograms/ref-results/STRENGTH_RED_EXAMPLE_m4.vcg b/testprograms/ref-results/STRENGTH_RED_EXAMPLE_m4.vcg
new file mode 100644 (file)
index 0000000..1b7f2e6
--- /dev/null
@@ -0,0 +1,290 @@
+graph: { title: "ir graph of STRENGTH_RED_EXAMPLE_m4"
+display_edge_labels: no
+layoutalgorithm: mindepth
+manhattan_edges: yes
+port_sharing: no
+orientation: bottom_to_top
+classname 1:  "intrablock Data"
+classname 16: "interblock Data"
+classname 2:  "Block"
+classname 13: "Control Flow"
+classname 18: "Exception Control Flow for Interval Analysis"
+classname 14: "intrablock Memory"
+classname 17: "interblock Memory"
+classname 15: "Dominators"
+classname 3:  "Entity type"
+classname 4:  "Entity owner"
+classname 5:  "Method Param"
+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"
+infoname 1: "Attribute"
+infoname 2: "Verification errors"
+colorentry 100:    0   0    0
+colorentry 101:   20   0    0
+colorentry 102:   40   0    0
+colorentry 103:   60   0    0
+colorentry 104:   80   0    0
+colorentry 105:  100   0    0
+colorentry 106:  120   0    0
+colorentry 107:  140   0    0
+colorentry 108:  150   0    0
+colorentry 109:  180   0    0
+colorentry 110:  200   0    0
+colorentry 111:  220   0    0
+colorentry 112:  240   0    0
+colorentry 113:  255   0    0
+colorentry 113:  255  20   20
+colorentry 114:  255  40   40
+colorentry 115:  255  60   60
+colorentry 116:  255  80   80
+colorentry 117:  255 100  100
+colorentry 118:  255 120  120
+colorentry 119:  255 140  140
+colorentry 120:  255 150  150
+colorentry 121:  255 180  180
+colorentry 122:  255 200  200
+colorentry 123:  255 220  220
+colorentry 124:  255 240  240
+colorentry 125:  255 250  250
+
+graph: { title: "g279" label: "STRENGTH_RED_EXAMPLE_m4" status:clustered color:white
+graph: { title: "n268"  label: "Block 268" status:clustered color:yellow
+edge: {sourcename: "n268" targetname: "n319" label: "0" class:13 priority:60 color:red}
+node: {title: "n269" label: "End  269"  info1: "mode:    X
+visited: 21
+irg:     STRENGTH_RED_EXAMPLE_m4
+arity: 1
+"color: blue}
+}
+
+graph: { title: "n316"  label: "Block 316" status:clustered color:yellow
+edge: {sourcename: "n316" targetname: "n290" label: "0" class:13 priority:60 color:red}
+node: {title: "n319" label: "Return  319"  info1: "mode:    X
+visited: 21
+irg:     STRENGTH_RED_EXAMPLE_m4
+arity: 2
+return in method of type STRENGTH_RED_EXAMPLE_meth_tp
+  res 0 type: int
+"}
+node: {title: "n319n294" label: "0x4Is  294"  info1: "mode:    Is
+visited: 21
+irg:     STRENGTH_RED_EXAMPLE_m4
+arity: 0
+Const of type type_unknown
+"color: yellow}
+edge: {sourcename: "n319" targetname: "n323" label: "0" class:17 priority:10 color:blue}
+edge: {sourcename: "n319" targetname: "n319n294" label: "1" class:16 priority:10}
+}
+
+graph: { title: "n284"  label: "Block 284" status:clustered color:yellow
+edge: {sourcename: "n284" targetname: "n283" label: "0" class:13 priority:60 color:red}
+backedge: {sourcename: "n284" targetname: "n310" label: "1" linestyle:dashed class:13 priority:60 color:red}
+node: {title: "n323" label: "PhiM  323"  info1: "mode:    M
+visited: 21
+irg:     STRENGTH_RED_EXAMPLE_m4
+arity: 2 backedges:  1
+"color: green}
+edge: {sourcename: "n323" targetname: "n277" label: "0" class:17 priority:10 color:blue}
+backedge: {sourcename: "n323" targetname: "n309" label: "1" linestyle:dashed class:17 priority:10 color:blue}
+node: {title: "n290" label: "ProjX 0 290"  info1: "mode:    X
+visited: 21
+irg:     STRENGTH_RED_EXAMPLE_m4
+arity: 1
+"color: yellow}
+edge: {sourcename: "n290" targetname: "n289" label: "0" class:13 priority:60 color:red}
+node: {title: "n291" label: "ProjX 1 291"  info1: "mode:    X
+visited: 21
+irg:     STRENGTH_RED_EXAMPLE_m4
+arity: 1
+"color: yellow}
+edge: {sourcename: "n291" targetname: "n289" label: "0" class:13 priority:60 color:red}
+node: {title: "n289" label: "Cond  289"  info1: "mode:    T
+visited: 21
+irg:     STRENGTH_RED_EXAMPLE_m4
+arity: 1
+"}
+edge: {sourcename: "n289" targetname: "n288" label: "0" class:1  priority:50}
+node: {title: "n288" label: "Projb Gt 288"  info1: "mode:    b
+visited: 21
+irg:     STRENGTH_RED_EXAMPLE_m4
+arity: 1
+"color: yellow}
+edge: {sourcename: "n288" targetname: "n287" label: "0" class:1  priority:50}
+node: {title: "n287" label: "Cmp  287"  info1: "mode:    T
+visited: 21
+irg:     STRENGTH_RED_EXAMPLE_m4
+arity: 2
+"}
+node: {title: "n287n286" label: "0xAIs  286"  info1: "mode:    Is
+visited: 21
+irg:     STRENGTH_RED_EXAMPLE_m4
+arity: 0
+Const of type type_unknown
+"color: yellow}
+edge: {sourcename: "n287" targetname: "n287n286" label: "0" class:16 priority:10}
+edge: {sourcename: "n287" targetname: "n324" label: "1" class:1  priority:50}
+node: {title: "n324" label: "PhiIs  324"  info1: "mode:    Is
+visited: 21
+irg:     STRENGTH_RED_EXAMPLE_m4
+arity: 2 backedges:  1
+"color: green}
+node: {title: "n324n281" label: "0x0Is  281"  info1: "mode:    Is
+visited: 21
+irg:     STRENGTH_RED_EXAMPLE_m4
+arity: 0
+Const of type type_unknown
+"color: yellow}
+edge: {sourcename: "n324" targetname: "n324n281" label: "0" class:16 priority:10}
+backedge: {sourcename: "n324" targetname: "n297" label: "1" linestyle:dashed class:16 priority:10}
+}
+
+graph: { title: "n280"  label: "Block 280" status:clustered color:yellow
+edge: {sourcename: "n280" targetname: "n274" label: "0" class:13 priority:60 color:red}
+node: {title: "n283" label: "Jmp  283"  info1: "mode:    X
+visited: 21
+irg:     STRENGTH_RED_EXAMPLE_m4
+arity: 0
+"}
+}
+
+graph: { title: "n292"  label: "Block 292" status:clustered color:yellow
+edge: {sourcename: "n292" targetname: "n291" label: "0" class:13 priority:60 color:red}
+node: {title: "n309" label: "ProjM 0 309"  info1: "mode:    M
+visited: 21
+irg:     STRENGTH_RED_EXAMPLE_m4
+arity: 1
+"color: yellow}
+edge: {sourcename: "n309" targetname: "n307" label: "0" class:17 priority:10 color:blue}
+node: {title: "n307" label: "Store  307"  info1: "mode:    T
+visited: 21
+irg:     STRENGTH_RED_EXAMPLE_m4
+arity: 3
+volatility: volatility_non_volatile
+"}
+edge: {sourcename: "n307" targetname: "n304" label: "0" class:14 priority:50 color:blue}
+edge: {sourcename: "n307" targetname: "n306" label: "1" class:1  priority:50}
+edge: {sourcename: "n307" targetname: "n297" label: "2" class:1  priority:50}
+node: {title: "n304" label: "ProjM 0 304"  info1: "mode:    M
+visited: 21
+irg:     STRENGTH_RED_EXAMPLE_m4
+arity: 1
+"color: yellow}
+edge: {sourcename: "n304" targetname: "n302" label: "0" class:17 priority:10 color:blue}
+node: {title: "n302" label: "Store  302"  info1: "mode:    T
+visited: 21
+irg:     STRENGTH_RED_EXAMPLE_m4
+arity: 3
+volatility: volatility_non_volatile
+"}
+edge: {sourcename: "n302" targetname: "n323" label: "0" class:17 priority:10 color:blue}
+edge: {sourcename: "n302" targetname: "n300" label: "1" class:1  priority:50}
+edge: {sourcename: "n302" targetname: "n297" label: "2" class:1  priority:50}
+node: {title: "n300" label: "AddP  300"  info1: "mode:    P
+visited: 21
+irg:     STRENGTH_RED_EXAMPLE_m4
+arity: 2
+"}
+node: {title: "n300n282" label: "SymC &a  282"  info1: "mode:    P
+visited: 21
+irg:     STRENGTH_RED_EXAMPLE_m4
+arity: 0
+kind addr_ent
+entity GlobalType.a (266)
+
+SymConst of type type_unknown
+"}
+edge: {sourcename: "n300" targetname: "n298" label: "0" class:1  priority:50}
+edge: {sourcename: "n300" targetname: "n300n282" label: "1" class:16 priority:10}
+node: {title: "n298" label: "MulIs  298"  info1: "mode:    Is
+visited: 21
+irg:     STRENGTH_RED_EXAMPLE_m4
+arity: 2
+"}
+node: {title: "n298n295" label: "0x8Is  295"  info1: "mode:    Is
+visited: 21
+irg:     STRENGTH_RED_EXAMPLE_m4
+arity: 0
+Const of type type_unknown
+"color: yellow}
+edge: {sourcename: "n298" targetname: "n298n295" label: "0" class:16 priority:10}
+edge: {sourcename: "n298" targetname: "n297" label: "1" class:1  priority:50}
+node: {title: "n306" label: "AddP  306"  info1: "mode:    P
+visited: 21
+irg:     STRENGTH_RED_EXAMPLE_m4
+arity: 2
+"}
+node: {title: "n306n282" label: "SymC &a  282"  info1: "mode:    P
+visited: 21
+irg:     STRENGTH_RED_EXAMPLE_m4
+arity: 0
+kind addr_ent
+entity GlobalType.a (266)
+
+SymConst of type type_unknown
+"}
+edge: {sourcename: "n306" targetname: "n306n282" label: "0" class:16 priority:10}
+edge: {sourcename: "n306" targetname: "n305" label: "1" class:1  priority:50}
+node: {title: "n305" label: "MulIs  305"  info1: "mode:    Is
+visited: 21
+irg:     STRENGTH_RED_EXAMPLE_m4
+arity: 2
+"}
+node: {title: "n305n294" label: "0x4Is  294"  info1: "mode:    Is
+visited: 21
+irg:     STRENGTH_RED_EXAMPLE_m4
+arity: 0
+Const of type type_unknown
+"color: yellow}
+edge: {sourcename: "n305" targetname: "n305n294" label: "0" class:16 priority:10}
+edge: {sourcename: "n305" targetname: "n297" label: "1" class:1  priority:50}
+node: {title: "n310" label: "Jmp  310"  info1: "mode:    X
+visited: 21
+irg:     STRENGTH_RED_EXAMPLE_m4
+arity: 0
+"}
+node: {title: "n297" label: "AddIs  297"  info1: "mode:    Is
+visited: 21
+irg:     STRENGTH_RED_EXAMPLE_m4
+arity: 2
+"}
+node: {title: "n297n293" label: "0x1Is  293"  info1: "mode:    Is
+visited: 21
+irg:     STRENGTH_RED_EXAMPLE_m4
+arity: 0
+Const of type type_unknown
+"color: yellow}
+edge: {sourcename: "n297" targetname: "n297n293" label: "0" class:16 priority:10}
+edge: {sourcename: "n297" targetname: "n324" label: "1" class:16 priority:10}
+}
+
+graph: { title: "n270"  label: "Block 270" status:clustered color:yellow
+edge: {sourcename: "n270" targetname: "n274" label: "0" class:13 priority:60 color:red}
+node: {title: "n277" label: "ProjM 1 277"  info1: "mode:    M
+visited: 21
+irg:     STRENGTH_RED_EXAMPLE_m4
+arity: 1
+"color: yellow}
+edge: {sourcename: "n277" targetname: "n271" label: "0" class:17 priority:10 color:blue}
+node: {title: "n274" label: "ProjX 0 274"  info1: "mode:    X
+visited: 21
+irg:     STRENGTH_RED_EXAMPLE_m4
+arity: 1
+"color: yellow}
+edge: {sourcename: "n274" targetname: "n271" label: "0" class:13 priority:60 color:red}
+node: {title: "n271" label: "Start  271"  info1: "mode:    T
+visited: 21
+irg:     STRENGTH_RED_EXAMPLE_m4
+arity: 0
+start of method of type STRENGTH_RED_EXAMPLE_meth_tp
+  param 0 type: int
+"color: blue}
+}
+
+}
+
+}
diff --git a/testprograms/ref-results/STRENGTH_RED_EXAMPLE_m5-looptree.vcg b/testprograms/ref-results/STRENGTH_RED_EXAMPLE_m5-looptree.vcg
new file mode 100644 (file)
index 0000000..eb89c14
--- /dev/null
@@ -0,0 +1,69 @@
+graph: { title: "ir graph of STRENGTH_RED_EXAMPLE_m5"
+display_edge_labels: yes
+layoutalgorithm: mindepth
+manhattan_edges: yes
+port_sharing: no
+orientation: top_to_bottom
+classname 1:  "intrablock Data"
+classname 16: "interblock Data"
+classname 2:  "Block"
+classname 13: "Control Flow"
+classname 18: "Exception Control Flow for Interval Analysis"
+classname 14: "intrablock Memory"
+classname 17: "interblock Memory"
+classname 15: "Dominators"
+classname 3:  "Entity type"
+classname 4:  "Entity owner"
+classname 5:  "Method Param"
+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"
+infoname 1: "Attribute"
+infoname 2: "Verification errors"
+colorentry 100:    0   0    0
+colorentry 101:   20   0    0
+colorentry 102:   40   0    0
+colorentry 103:   60   0    0
+colorentry 104:   80   0    0
+colorentry 105:  100   0    0
+colorentry 106:  120   0    0
+colorentry 107:  140   0    0
+colorentry 108:  150   0    0
+colorentry 109:  180   0    0
+colorentry 110:  200   0    0
+colorentry 111:  220   0    0
+colorentry 112:  240   0    0
+colorentry 113:  255   0    0
+colorentry 113:  255  20   20
+colorentry 114:  255  40   40
+colorentry 115:  255  60   60
+colorentry 116:  255  80   80
+colorentry 117:  255 100  100
+colorentry 118:  255 120  120
+colorentry 119:  255 140  140
+colorentry 120:  255 150  150
+colorentry 121:  255 180  180
+colorentry 122:  255 200  200
+colorentry 123:  255 220  220
+colorentry 124:  255 240  240
+colorentry 125:  255 250  250
+
+node: {title: "l653" label: "loop 0, 1 sons, 4 nodes"  info1: " loop nr: 653
+ The loop was analyzed 0 times."}
+node: { title: "l653-0-nodes" color: lightyellow label: "Block  337     ->135456872
+Block  347      ->135456884" }
+edge: {sourcename: "l653" targetname: "l653-0-nodes" label:"0...1"}
+edge: {sourcename: "l653" targetname: "l654" color: darkgreen label: "2"}
+node: {title: "l654" label: "loop 1, 0 sons, 2 nodes"  info1: " loop nr: 654
+ The loop was analyzed 0 times."}
+node: { title: "l654-0-nodes" color: lightyellow label: "Block  351     ->135456848     loop head!
+Block  359      ->135456860" }
+edge: {sourcename: "l654" targetname: "l654-0-nodes" label:"0...1"}
+node: { title: "l653-3-nodes" color: lightyellow label: "Block  382     ->135456836
+Block  335      ->135456824" }
+edge: {sourcename: "l653" targetname: "l653-3-nodes" label:"3...4"}
+}
index 17ee199..18126e5 100644 (file)
@@ -52,194 +52,207 @@ colorentry 123:  255 220  220
 colorentry 124:  255 240  240
 colorentry 125:  255 250  250
 
-graph: { title: "g315" label: "STRENGTH_RED_EXAMPLE_m5" status:clustered color:white
-graph: { title: "n304"  label: "Block 304" status:clustered color:yellow
-edge: {sourcename: "n304" targetname: "n352" label: "0" class:13 priority:60 color:red}
-node: {title: "n305" label: "End  305"  info1: "mode:    X
-visited: 24
+graph: { title: "g346" label: "STRENGTH_RED_EXAMPLE_m5" status:clustered color:white
+graph: { title: "n335"  label: "Block 335" status:clustered color:yellow
+edge: {sourcename: "n335" targetname: "n385" label: "0" class:13 priority:60 color:red}
+node: {title: "n336" label: "End  336"  info1: "mode:    X
+visited: 27
 irg:     STRENGTH_RED_EXAMPLE_m5
 arity: 1
 "color: blue}
 }
 
-graph: { title: "n349"  label: "Block 349" status:clustered color:yellow
-edge: {sourcename: "n349" targetname: "n326" label: "0" class:13 priority:60 color:red}
-node: {title: "n352" label: "Return  352"  info1: "mode:    X
-visited: 24
+graph: { title: "n382"  label: "Block 382" status:clustered color:yellow
+edge: {sourcename: "n382" targetname: "n357" label: "0" class:13 priority:60 color:red}
+node: {title: "n385" label: "Return  385"  info1: "mode:    X
+visited: 27
 irg:     STRENGTH_RED_EXAMPLE_m5
 arity: 2
 return in method of type STRENGTH_RED_EXAMPLE_meth_tp
   res 0 type: int
 "}
-node: {title: "n352n330" label: "0x4Is  330"  info1: "mode:    Is
-visited: 24
+node: {title: "n385n361" label: "0x4Is  361"  info1: "mode:    Is
+visited: 27
 irg:     STRENGTH_RED_EXAMPLE_m5
 arity: 0
 Const of type type_unknown
 "color: yellow}
-edge: {sourcename: "n352" targetname: "n356" label: "0" class:17 priority:10 color:blue}
-edge: {sourcename: "n352" targetname: "n352n330" label: "1" class:16 priority:10}
+edge: {sourcename: "n385" targetname: "n389" label: "0" class:17 priority:10 color:blue}
+edge: {sourcename: "n385" targetname: "n385n361" label: "1" class:16 priority:10}
 }
 
-graph: { title: "n320"  label: "Block 320" status:clustered color:yellow
-edge: {sourcename: "n320" targetname: "n319" label: "0" class:13 priority:60 color:red}
-backedge: {sourcename: "n320" targetname: "n343" label: "1" linestyle:dashed class:13 priority:60 color:red}
-node: {title: "n356" label: "PhiM  356"  info1: "mode:    M
-visited: 24
+graph: { title: "n351"  label: "Block 351" status:clustered color:yellow
+edge: {sourcename: "n351" targetname: "n350" label: "0" class:13 priority:60 color:red}
+backedge: {sourcename: "n351" targetname: "n376" label: "1" linestyle:dashed class:13 priority:60 color:red}
+node: {title: "n389" label: "PhiM  389"  info1: "mode:    M
+visited: 27
 irg:     STRENGTH_RED_EXAMPLE_m5
 arity: 2 backedges:
 "color: green}
-edge: {sourcename: "n356" targetname: "n313" label: "0" class:17 priority:10 color:blue}
-edge: {sourcename: "n356" targetname: "n342" label: "1" class:17 priority:10 color:blue}
-node: {title: "n326" label: "ProjX 0 326"  info1: "mode:    X
-visited: 24
+edge: {sourcename: "n389" targetname: "n344" label: "0" class:17 priority:10 color:blue}
+edge: {sourcename: "n389" targetname: "n375" label: "1" class:17 priority:10 color:blue}
+node: {title: "n357" label: "ProjX 0 357"  info1: "mode:    X
+visited: 27
 irg:     STRENGTH_RED_EXAMPLE_m5
 arity: 1
 "color: yellow}
-edge: {sourcename: "n326" targetname: "n325" label: "0" class:13 priority:60 color:red}
-node: {title: "n327" label: "ProjX 1 327"  info1: "mode:    X
-visited: 24
+edge: {sourcename: "n357" targetname: "n356" label: "0" class:13 priority:60 color:red}
+node: {title: "n358" label: "ProjX 1 358"  info1: "mode:    X
+visited: 27
 irg:     STRENGTH_RED_EXAMPLE_m5
 arity: 1
 "color: yellow}
-edge: {sourcename: "n327" targetname: "n325" label: "0" class:13 priority:60 color:red}
-node: {title: "n325" label: "Cond  325"  info1: "mode:    T
-visited: 24
+edge: {sourcename: "n358" targetname: "n356" label: "0" class:13 priority:60 color:red}
+node: {title: "n356" label: "Cond  356"  info1: "mode:    T
+visited: 27
 irg:     STRENGTH_RED_EXAMPLE_m5
 arity: 1
 "}
-edge: {sourcename: "n325" targetname: "n324" label: "0" class:1  priority:50}
-node: {title: "n324" label: "Projb Lt 324"  info1: "mode:    b
-visited: 24
+edge: {sourcename: "n356" targetname: "n355" label: "0" class:1  priority:50}
+node: {title: "n355" label: "Projb Lt 355"  info1: "mode:    b
+visited: 27
 irg:     STRENGTH_RED_EXAMPLE_m5
 arity: 1
 "color: yellow}
-edge: {sourcename: "n324" targetname: "n323" label: "0" class:1  priority:50}
-node: {title: "n323" label: "Cmp  323"  info1: "mode:    T
-visited: 24
+edge: {sourcename: "n355" targetname: "n354" label: "0" class:1  priority:50}
+node: {title: "n354" label: "Cmp  354"  info1: "mode:    T
+visited: 27
 irg:     STRENGTH_RED_EXAMPLE_m5
 arity: 2
 "}
-node: {title: "n323n322" label: "0x0Is  322"  info1: "mode:    Is
-visited: 24
+node: {title: "n354n353" label: "0x0Is  353"  info1: "mode:    Is
+visited: 27
 irg:     STRENGTH_RED_EXAMPLE_m5
 arity: 0
 Const of type type_unknown
 "color: yellow}
-edge: {sourcename: "n323" targetname: "n323n322" label: "0" class:16 priority:10}
-edge: {sourcename: "n323" targetname: "n357" label: "1" class:1  priority:50}
-node: {title: "n357" label: "PhiIs  357"  info1: "mode:    Is
-visited: 24
+edge: {sourcename: "n354" targetname: "n354n353" label: "0" class:16 priority:10}
+edge: {sourcename: "n354" targetname: "n390" label: "1" class:1  priority:50}
+node: {title: "n390" label: "PhiIs  390"  info1: "mode:    Is
+visited: 27
 irg:     STRENGTH_RED_EXAMPLE_m5
 arity: 2 backedges:
 "color: green}
-node: {title: "n357n317" label: "0xAIs  317"  info1: "mode:    Is
-visited: 24
+node: {title: "n390n656" label: "0x28Is  656"  info1: "mode:    Is
+visited: 27
 irg:     STRENGTH_RED_EXAMPLE_m5
 arity: 0
 Const of type type_unknown
 "color: yellow}
-edge: {sourcename: "n357" targetname: "n357n317" label: "0" class:16 priority:10}
-edge: {sourcename: "n357" targetname: "n332" label: "1" class:16 priority:10}
+edge: {sourcename: "n390" targetname: "n390n656" label: "0" class:16 priority:10}
+edge: {sourcename: "n390" targetname: "n643" label: "1" class:16 priority:10}
 }
 
-graph: { title: "n316"  label: "Block 316" status:clustered color:yellow
-edge: {sourcename: "n316" targetname: "n310" label: "0" class:13 priority:60 color:red}
-node: {title: "n319" label: "Jmp  319"  info1: "mode:    X
-visited: 24
+graph: { title: "n347"  label: "Block 347" status:clustered color:yellow
+edge: {sourcename: "n347" targetname: "n341" label: "0" class:13 priority:60 color:red}
+node: {title: "n350" label: "Jmp  350"  info1: "mode:    X
+visited: 27
 irg:     STRENGTH_RED_EXAMPLE_m5
 arity: 0
 "}
 }
 
-graph: { title: "n328"  label: "Block 328" status:clustered color:yellow
-edge: {sourcename: "n328" targetname: "n327" label: "0" class:13 priority:60 color:red}
-node: {title: "n342" label: "ProjM 0 342"  info1: "mode:    M
-visited: 24
+graph: { title: "n359"  label: "Block 359" status:clustered color:yellow
+edge: {sourcename: "n359" targetname: "n358" label: "0" class:13 priority:60 color:red}
+node: {title: "n375" label: "ProjM 0 375"  info1: "mode:    M
+visited: 27
 irg:     STRENGTH_RED_EXAMPLE_m5
 arity: 1
 "color: yellow}
-edge: {sourcename: "n342" targetname: "n340" label: "0" class:17 priority:10 color:blue}
-node: {title: "n340" label: "Store  340"  info1: "mode:    T
-visited: 24
+edge: {sourcename: "n375" targetname: "n373" label: "0" class:17 priority:10 color:blue}
+node: {title: "n373" label: "Store  373"  info1: "mode:    T
+visited: 27
 irg:     STRENGTH_RED_EXAMPLE_m5
 arity: 3
 volatility: volatility_non_volatile
 "}
-node: {title: "n340n338" label: "0x13Is  338"  info1: "mode:    Is
-visited: 24
+node: {title: "n373n371" label: "0x13Is  371"  info1: "mode:    Is
+visited: 27
 irg:     STRENGTH_RED_EXAMPLE_m5
 arity: 0
 Const of type type_unknown
 "color: yellow}
-edge: {sourcename: "n340" targetname: "n356" label: "0" class:17 priority:10 color:blue}
-edge: {sourcename: "n340" targetname: "n337" label: "1" class:1  priority:50}
-edge: {sourcename: "n340" targetname: "n340n338" label: "2" class:16 priority:10}
-node: {title: "n337" label: "AddP  337"  info1: "mode:    P
-visited: 24
+edge: {sourcename: "n373" targetname: "n389" label: "0" class:17 priority:10 color:blue}
+edge: {sourcename: "n373" targetname: "n652" label: "1" class:1  priority:50}
+edge: {sourcename: "n373" targetname: "n373n371" label: "2" class:16 priority:10}
+node: {title: "n652" label: "AddP  652"  info1: "mode:    P
+visited: 27
 irg:     STRENGTH_RED_EXAMPLE_m5
 arity: 2
 "}
-node: {title: "n337n318" label: "SymC &a  318"  info1: "mode:    P
-visited: 24
+node: {title: "n652n651" label: "0x9Is  651"  info1: "mode:    Is
+visited: 27
 irg:     STRENGTH_RED_EXAMPLE_m5
 arity: 0
-kind addr_ent
-entity GlobalType.a (302)
-
-SymConst of type type_unknown
+Const of type type_unknown
+"color: yellow}
+edge: {sourcename: "n652" targetname: "n649" label: "0" class:1  priority:50}
+edge: {sourcename: "n652" targetname: "n652n651" label: "1" class:16 priority:10}
+node: {title: "n649" label: "AddP  649"  info1: "mode:    P
+visited: 27
+irg:     STRENGTH_RED_EXAMPLE_m5
+arity: 2
 "}
-edge: {sourcename: "n337" targetname: "n335" label: "0" class:1  priority:50}
-edge: {sourcename: "n337" targetname: "n337n318" label: "1" class:16 priority:10}
-node: {title: "n335" label: "ShlIs  335"  info1: "mode:    Is
-visited: 24
+edge: {sourcename: "n649" targetname: "n390" label: "0" class:16 priority:10}
+edge: {sourcename: "n649" targetname: "n648" label: "1" class:1  priority:50}
+node: {title: "n648" label: "AddP  648"  info1: "mode:    P
+visited: 27
 irg:     STRENGTH_RED_EXAMPLE_m5
 arity: 2
 "}
-node: {title: "n335n334" label: "0x2Iu  334"  info1: "mode:    Iu
-visited: 24
+node: {title: "n648n349" label: "SymC &a  349"  info1: "mode:    P
+visited: 27
+irg:     STRENGTH_RED_EXAMPLE_m5
+arity: 0
+kind addr_ent
+entity GlobalType.a (333)
+
+SymConst of type type_unknown
+"}
+node: {title: "n648n646" label: "0xFFFFFFFCIs  646"  info1: "mode:    Is
+visited: 27
 irg:     STRENGTH_RED_EXAMPLE_m5
 arity: 0
 Const of type type_unknown
 "color: yellow}
-edge: {sourcename: "n335" targetname: "n332" label: "0" class:1  priority:50}
-edge: {sourcename: "n335" targetname: "n335n334" label: "1" class:16 priority:10}
-node: {title: "n343" label: "Jmp  343"  info1: "mode:    X
-visited: 24
+edge: {sourcename: "n648" targetname: "n648n349" label: "0" class:16 priority:10}
+edge: {sourcename: "n648" targetname: "n648n646" label: "1" class:16 priority:10}
+node: {title: "n376" label: "Jmp  376"  info1: "mode:    X
+visited: 27
 irg:     STRENGTH_RED_EXAMPLE_m5
 arity: 0
 "}
-node: {title: "n332" label: "SubIs  332"  info1: "mode:    Is
-visited: 24
+node: {title: "n643" label: "AddIs  643"  info1: "mode:    Is
+visited: 27
 irg:     STRENGTH_RED_EXAMPLE_m5
 arity: 2
 "}
-node: {title: "n332n329" label: "0x1Is  329"  info1: "mode:    Is
-visited: 24
+node: {title: "n643n646" label: "0xFFFFFFFCIs  646"  info1: "mode:    Is
+visited: 27
 irg:     STRENGTH_RED_EXAMPLE_m5
 arity: 0
 Const of type type_unknown
 "color: yellow}
-edge: {sourcename: "n332" targetname: "n357" label: "0" class:16 priority:10}
-edge: {sourcename: "n332" targetname: "n332n329" label: "1" class:16 priority:10}
+edge: {sourcename: "n643" targetname: "n390" label: "0" class:16 priority:10}
+edge: {sourcename: "n643" targetname: "n643n646" label: "1" class:16 priority:10}
 }
 
-graph: { title: "n306"  label: "Block 306" status:clustered color:yellow
-edge: {sourcename: "n306" targetname: "n310" label: "0" class:13 priority:60 color:red}
-node: {title: "n313" label: "ProjM 1 313"  info1: "mode:    M
-visited: 24
+graph: { title: "n337"  label: "Block 337" status:clustered color:yellow
+edge: {sourcename: "n337" targetname: "n341" label: "0" class:13 priority:60 color:red}
+node: {title: "n344" label: "ProjM 1 344"  info1: "mode:    M
+visited: 27
 irg:     STRENGTH_RED_EXAMPLE_m5
 arity: 1
 "color: yellow}
-edge: {sourcename: "n313" targetname: "n307" label: "0" class:17 priority:10 color:blue}
-node: {title: "n310" label: "ProjX 0 310"  info1: "mode:    X
-visited: 24
+edge: {sourcename: "n344" targetname: "n338" label: "0" class:17 priority:10 color:blue}
+node: {title: "n341" label: "ProjX 0 341"  info1: "mode:    X
+visited: 27
 irg:     STRENGTH_RED_EXAMPLE_m5
 arity: 1
 "color: yellow}
-edge: {sourcename: "n310" targetname: "n307" label: "0" class:13 priority:60 color:red}
-node: {title: "n307" label: "Start  307"  info1: "mode:    T
-visited: 24
+edge: {sourcename: "n341" targetname: "n338" label: "0" class:13 priority:60 color:red}
+node: {title: "n338" label: "Start  338"  info1: "mode:    T
+visited: 27
 irg:     STRENGTH_RED_EXAMPLE_m5
 arity: 0
 start of method of type STRENGTH_RED_EXAMPLE_meth_tp
diff --git a/testprograms/ref-results/STRENGTH_RED_EXAMPLE_m5.vcg b/testprograms/ref-results/STRENGTH_RED_EXAMPLE_m5.vcg
new file mode 100644 (file)
index 0000000..4cf0f2b
--- /dev/null
@@ -0,0 +1,278 @@
+graph: { title: "ir graph of STRENGTH_RED_EXAMPLE_m5"
+display_edge_labels: no
+layoutalgorithm: mindepth
+manhattan_edges: yes
+port_sharing: no
+orientation: bottom_to_top
+classname 1:  "intrablock Data"
+classname 16: "interblock Data"
+classname 2:  "Block"
+classname 13: "Control Flow"
+classname 18: "Exception Control Flow for Interval Analysis"
+classname 14: "intrablock Memory"
+classname 17: "interblock Memory"
+classname 15: "Dominators"
+classname 3:  "Entity type"
+classname 4:  "Entity owner"
+classname 5:  "Method Param"
+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"
+infoname 1: "Attribute"
+infoname 2: "Verification errors"
+colorentry 100:    0   0    0
+colorentry 101:   20   0    0
+colorentry 102:   40   0    0
+colorentry 103:   60   0    0
+colorentry 104:   80   0    0
+colorentry 105:  100   0    0
+colorentry 106:  120   0    0
+colorentry 107:  140   0    0
+colorentry 108:  150   0    0
+colorentry 109:  180   0    0
+colorentry 110:  200   0    0
+colorentry 111:  220   0    0
+colorentry 112:  240   0    0
+colorentry 113:  255   0    0
+colorentry 113:  255  20   20
+colorentry 114:  255  40   40
+colorentry 115:  255  60   60
+colorentry 116:  255  80   80
+colorentry 117:  255 100  100
+colorentry 118:  255 120  120
+colorentry 119:  255 140  140
+colorentry 120:  255 150  150
+colorentry 121:  255 180  180
+colorentry 122:  255 200  200
+colorentry 123:  255 220  220
+colorentry 124:  255 240  240
+colorentry 125:  255 250  250
+
+graph: { title: "g346" label: "STRENGTH_RED_EXAMPLE_m5" status:clustered color:white
+graph: { title: "n335"  label: "Block 335" status:clustered color:yellow
+edge: {sourcename: "n335" targetname: "n385" label: "0" class:13 priority:60 color:red}
+node: {title: "n336" label: "End  336"  info1: "mode:    X
+visited: 16
+irg:     STRENGTH_RED_EXAMPLE_m5
+arity: 1
+"color: blue}
+}
+
+graph: { title: "n382"  label: "Block 382" status:clustered color:yellow
+edge: {sourcename: "n382" targetname: "n357" label: "0" class:13 priority:60 color:red}
+node: {title: "n385" label: "Return  385"  info1: "mode:    X
+visited: 16
+irg:     STRENGTH_RED_EXAMPLE_m5
+arity: 2
+return in method of type STRENGTH_RED_EXAMPLE_meth_tp
+  res 0 type: int
+"}
+node: {title: "n385n361" label: "0x4Is  361"  info1: "mode:    Is
+visited: 16
+irg:     STRENGTH_RED_EXAMPLE_m5
+arity: 0
+Const of type type_unknown
+"color: yellow}
+edge: {sourcename: "n385" targetname: "n389" label: "0" class:17 priority:10 color:blue}
+edge: {sourcename: "n385" targetname: "n385n361" label: "1" class:16 priority:10}
+}
+
+graph: { title: "n351"  label: "Block 351" status:clustered color:yellow
+edge: {sourcename: "n351" targetname: "n350" label: "0" class:13 priority:60 color:red}
+backedge: {sourcename: "n351" targetname: "n376" label: "1" linestyle:dashed class:13 priority:60 color:red}
+node: {title: "n389" label: "PhiM  389"  info1: "mode:    M
+visited: 16
+irg:     STRENGTH_RED_EXAMPLE_m5
+arity: 2 backedges:  1
+"color: green}
+edge: {sourcename: "n389" targetname: "n344" label: "0" class:17 priority:10 color:blue}
+backedge: {sourcename: "n389" targetname: "n375" label: "1" linestyle:dashed class:17 priority:10 color:blue}
+node: {title: "n357" label: "ProjX 0 357"  info1: "mode:    X
+visited: 16
+irg:     STRENGTH_RED_EXAMPLE_m5
+arity: 1
+"color: yellow}
+edge: {sourcename: "n357" targetname: "n356" label: "0" class:13 priority:60 color:red}
+node: {title: "n358" label: "ProjX 1 358"  info1: "mode:    X
+visited: 16
+irg:     STRENGTH_RED_EXAMPLE_m5
+arity: 1
+"color: yellow}
+edge: {sourcename: "n358" targetname: "n356" label: "0" class:13 priority:60 color:red}
+node: {title: "n356" label: "Cond  356"  info1: "mode:    T
+visited: 16
+irg:     STRENGTH_RED_EXAMPLE_m5
+arity: 1
+"}
+edge: {sourcename: "n356" targetname: "n355" label: "0" class:1  priority:50}
+node: {title: "n355" label: "Projb Lt 355"  info1: "mode:    b
+visited: 16
+irg:     STRENGTH_RED_EXAMPLE_m5
+arity: 1
+"color: yellow}
+edge: {sourcename: "n355" targetname: "n354" label: "0" class:1  priority:50}
+node: {title: "n354" label: "Cmp  354"  info1: "mode:    T
+visited: 16
+irg:     STRENGTH_RED_EXAMPLE_m5
+arity: 2
+"}
+node: {title: "n354n353" label: "0x0Is  353"  info1: "mode:    Is
+visited: 16
+irg:     STRENGTH_RED_EXAMPLE_m5
+arity: 0
+Const of type type_unknown
+"color: yellow}
+edge: {sourcename: "n354" targetname: "n354n353" label: "0" class:16 priority:10}
+edge: {sourcename: "n354" targetname: "n390" label: "1" class:1  priority:50}
+node: {title: "n390" label: "PhiIs  390"  info1: "mode:    Is
+visited: 16
+irg:     STRENGTH_RED_EXAMPLE_m5
+arity: 2 backedges:  1
+"color: green}
+node: {title: "n390n348" label: "0xAIs  348"  info1: "mode:    Is
+visited: 16
+irg:     STRENGTH_RED_EXAMPLE_m5
+arity: 0
+Const of type type_unknown
+"color: yellow}
+edge: {sourcename: "n390" targetname: "n390n348" label: "0" class:16 priority:10}
+backedge: {sourcename: "n390" targetname: "n363" label: "1" linestyle:dashed class:16 priority:10}
+}
+
+graph: { title: "n347"  label: "Block 347" status:clustered color:yellow
+edge: {sourcename: "n347" targetname: "n341" label: "0" class:13 priority:60 color:red}
+node: {title: "n350" label: "Jmp  350"  info1: "mode:    X
+visited: 16
+irg:     STRENGTH_RED_EXAMPLE_m5
+arity: 0
+"}
+}
+
+graph: { title: "n359"  label: "Block 359" status:clustered color:yellow
+edge: {sourcename: "n359" targetname: "n358" label: "0" class:13 priority:60 color:red}
+node: {title: "n375" label: "ProjM 0 375"  info1: "mode:    M
+visited: 16
+irg:     STRENGTH_RED_EXAMPLE_m5
+arity: 1
+"color: yellow}
+edge: {sourcename: "n375" targetname: "n373" label: "0" class:17 priority:10 color:blue}
+node: {title: "n373" label: "Store  373"  info1: "mode:    T
+visited: 16
+irg:     STRENGTH_RED_EXAMPLE_m5
+arity: 3
+volatility: volatility_non_volatile
+"}
+node: {title: "n373n371" label: "0x13Is  371"  info1: "mode:    Is
+visited: 16
+irg:     STRENGTH_RED_EXAMPLE_m5
+arity: 0
+Const of type type_unknown
+"color: yellow}
+edge: {sourcename: "n373" targetname: "n389" label: "0" class:17 priority:10 color:blue}
+edge: {sourcename: "n373" targetname: "n370" label: "1" class:1  priority:50}
+edge: {sourcename: "n373" targetname: "n373n371" label: "2" class:16 priority:10}
+node: {title: "n370" label: "AddP  370"  info1: "mode:    P
+visited: 16
+irg:     STRENGTH_RED_EXAMPLE_m5
+arity: 2
+"}
+node: {title: "n370n365" label: "0x5Is  365"  info1: "mode:    Is
+visited: 16
+irg:     STRENGTH_RED_EXAMPLE_m5
+arity: 0
+Const of type type_unknown
+"color: yellow}
+edge: {sourcename: "n370" targetname: "n370n365" label: "0" class:16 priority:10}
+edge: {sourcename: "n370" targetname: "n369" label: "1" class:1  priority:50}
+node: {title: "n369" label: "AddP  369"  info1: "mode:    P
+visited: 16
+irg:     STRENGTH_RED_EXAMPLE_m5
+arity: 2
+"}
+node: {title: "n369n361" label: "0x4Is  361"  info1: "mode:    Is
+visited: 16
+irg:     STRENGTH_RED_EXAMPLE_m5
+arity: 0
+Const of type type_unknown
+"color: yellow}
+edge: {sourcename: "n369" targetname: "n369n361" label: "0" class:16 priority:10}
+edge: {sourcename: "n369" targetname: "n368" label: "1" class:1  priority:50}
+node: {title: "n368" label: "AddP  368"  info1: "mode:    P
+visited: 16
+irg:     STRENGTH_RED_EXAMPLE_m5
+arity: 2
+"}
+node: {title: "n368n349" label: "SymC &a  349"  info1: "mode:    P
+visited: 16
+irg:     STRENGTH_RED_EXAMPLE_m5
+arity: 0
+kind addr_ent
+entity GlobalType.a (333)
+
+SymConst of type type_unknown
+"}
+edge: {sourcename: "n368" targetname: "n366" label: "0" class:1  priority:50}
+edge: {sourcename: "n368" targetname: "n368n349" label: "1" class:16 priority:10}
+node: {title: "n366" label: "MulIs  366"  info1: "mode:    Is
+visited: 16
+irg:     STRENGTH_RED_EXAMPLE_m5
+arity: 2
+"}
+node: {title: "n366n361" label: "0x4Is  361"  info1: "mode:    Is
+visited: 16
+irg:     STRENGTH_RED_EXAMPLE_m5
+arity: 0
+Const of type type_unknown
+"color: yellow}
+edge: {sourcename: "n366" targetname: "n366n361" label: "0" class:16 priority:10}
+edge: {sourcename: "n366" targetname: "n363" label: "1" class:1  priority:50}
+node: {title: "n376" label: "Jmp  376"  info1: "mode:    X
+visited: 16
+irg:     STRENGTH_RED_EXAMPLE_m5
+arity: 0
+"}
+node: {title: "n363" label: "SubIs  363"  info1: "mode:    Is
+visited: 16
+irg:     STRENGTH_RED_EXAMPLE_m5
+arity: 2
+"}
+node: {title: "n363n360" label: "0x1Is  360"  info1: "mode:    Is
+visited: 16
+irg:     STRENGTH_RED_EXAMPLE_m5
+arity: 0
+Const of type type_unknown
+"color: yellow}
+edge: {sourcename: "n363" targetname: "n390" label: "0" class:16 priority:10}
+edge: {sourcename: "n363" targetname: "n363n360" label: "1" class:16 priority:10}
+}
+
+graph: { title: "n337"  label: "Block 337" status:clustered color:yellow
+edge: {sourcename: "n337" targetname: "n341" label: "0" class:13 priority:60 color:red}
+node: {title: "n344" label: "ProjM 1 344"  info1: "mode:    M
+visited: 16
+irg:     STRENGTH_RED_EXAMPLE_m5
+arity: 1
+"color: yellow}
+edge: {sourcename: "n344" targetname: "n338" label: "0" class:17 priority:10 color:blue}
+node: {title: "n341" label: "ProjX 0 341"  info1: "mode:    X
+visited: 16
+irg:     STRENGTH_RED_EXAMPLE_m5
+arity: 1
+"color: yellow}
+edge: {sourcename: "n341" targetname: "n338" label: "0" class:13 priority:60 color:red}
+node: {title: "n338" label: "Start  338"  info1: "mode:    T
+visited: 16
+irg:     STRENGTH_RED_EXAMPLE_m5
+arity: 0
+start of method of type STRENGTH_RED_EXAMPLE_meth_tp
+  param 0 type: int
+"color: blue}
+}
+
+}
+
+}
diff --git a/testprograms/ref-results/STRENGTH_RED_EXAMPLE_m6-looptree.vcg b/testprograms/ref-results/STRENGTH_RED_EXAMPLE_m6-looptree.vcg
new file mode 100644 (file)
index 0000000..8ecd35c
--- /dev/null
@@ -0,0 +1,69 @@
+graph: { title: "ir graph of STRENGTH_RED_EXAMPLE_m6"
+display_edge_labels: yes
+layoutalgorithm: mindepth
+manhattan_edges: yes
+port_sharing: no
+orientation: top_to_bottom
+classname 1:  "intrablock Data"
+classname 16: "interblock Data"
+classname 2:  "Block"
+classname 13: "Control Flow"
+classname 18: "Exception Control Flow for Interval Analysis"
+classname 14: "intrablock Memory"
+classname 17: "interblock Memory"
+classname 15: "Dominators"
+classname 3:  "Entity type"
+classname 4:  "Entity owner"
+classname 5:  "Method Param"
+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"
+infoname 1: "Attribute"
+infoname 2: "Verification errors"
+colorentry 100:    0   0    0
+colorentry 101:   20   0    0
+colorentry 102:   40   0    0
+colorentry 103:   60   0    0
+colorentry 104:   80   0    0
+colorentry 105:  100   0    0
+colorentry 106:  120   0    0
+colorentry 107:  140   0    0
+colorentry 108:  150   0    0
+colorentry 109:  180   0    0
+colorentry 110:  200   0    0
+colorentry 111:  220   0    0
+colorentry 112:  240   0    0
+colorentry 113:  255   0    0
+colorentry 113:  255  20   20
+colorentry 114:  255  40   40
+colorentry 115:  255  60   60
+colorentry 116:  255  80   80
+colorentry 117:  255 100  100
+colorentry 118:  255 120  120
+colorentry 119:  255 140  140
+colorentry 120:  255 150  150
+colorentry 121:  255 180  180
+colorentry 122:  255 200  200
+colorentry 123:  255 220  220
+colorentry 124:  255 240  240
+colorentry 125:  255 250  250
+
+node: {title: "l678" label: "loop 0, 1 sons, 4 nodes"  info1: " loop nr: 678
+ The loop was analyzed 0 times."}
+node: { title: "l678-0-nodes" color: lightyellow label: "Block  403     ->135471016
+Block  413      ->135471028" }
+edge: {sourcename: "l678" targetname: "l678-0-nodes" label:"0...1"}
+edge: {sourcename: "l678" targetname: "l679" color: darkgreen label: "2"}
+node: {title: "l679" label: "loop 1, 0 sons, 2 nodes"  info1: " loop nr: 679
+ The loop was analyzed 0 times."}
+node: { title: "l679-0-nodes" color: lightyellow label: "Block  417     ->135470992     loop head!
+Block  425      ->135471004" }
+edge: {sourcename: "l679" targetname: "l679-0-nodes" label:"0...1"}
+node: { title: "l678-3-nodes" color: lightyellow label: "Block  448     ->135470980
+Block  401      ->135470968" }
+edge: {sourcename: "l678" targetname: "l678-3-nodes" label:"3...4"}
+}
diff --git a/testprograms/ref-results/STRENGTH_RED_EXAMPLE_m6-strength_reduced.vcg b/testprograms/ref-results/STRENGTH_RED_EXAMPLE_m6-strength_reduced.vcg
new file mode 100644 (file)
index 0000000..a151611
--- /dev/null
@@ -0,0 +1,278 @@
+graph: { title: "ir graph of STRENGTH_RED_EXAMPLE_m6"
+display_edge_labels: no
+layoutalgorithm: mindepth
+manhattan_edges: yes
+port_sharing: no
+orientation: bottom_to_top
+classname 1:  "intrablock Data"
+classname 16: "interblock Data"
+classname 2:  "Block"
+classname 13: "Control Flow"
+classname 18: "Exception Control Flow for Interval Analysis"
+classname 14: "intrablock Memory"
+classname 17: "interblock Memory"
+classname 15: "Dominators"
+classname 3:  "Entity type"
+classname 4:  "Entity owner"
+classname 5:  "Method Param"
+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"
+infoname 1: "Attribute"
+infoname 2: "Verification errors"
+colorentry 100:    0   0    0
+colorentry 101:   20   0    0
+colorentry 102:   40   0    0
+colorentry 103:   60   0    0
+colorentry 104:   80   0    0
+colorentry 105:  100   0    0
+colorentry 106:  120   0    0
+colorentry 107:  140   0    0
+colorentry 108:  150   0    0
+colorentry 109:  180   0    0
+colorentry 110:  200   0    0
+colorentry 111:  220   0    0
+colorentry 112:  240   0    0
+colorentry 113:  255   0    0
+colorentry 113:  255  20   20
+colorentry 114:  255  40   40
+colorentry 115:  255  60   60
+colorentry 116:  255  80   80
+colorentry 117:  255 100  100
+colorentry 118:  255 120  120
+colorentry 119:  255 140  140
+colorentry 120:  255 150  150
+colorentry 121:  255 180  180
+colorentry 122:  255 200  200
+colorentry 123:  255 220  220
+colorentry 124:  255 240  240
+colorentry 125:  255 250  250
+
+graph: { title: "g412" label: "STRENGTH_RED_EXAMPLE_m6" status:clustered color:white
+graph: { title: "n401"  label: "Block 401" status:clustered color:yellow
+edge: {sourcename: "n401" targetname: "n451" label: "0" class:13 priority:60 color:red}
+node: {title: "n402" label: "End  402"  info1: "mode:    X
+visited: 27
+irg:     STRENGTH_RED_EXAMPLE_m6
+arity: 1
+"color: blue}
+}
+
+graph: { title: "n448"  label: "Block 448" status:clustered color:yellow
+edge: {sourcename: "n448" targetname: "n423" label: "0" class:13 priority:60 color:red}
+node: {title: "n451" label: "Return  451"  info1: "mode:    X
+visited: 27
+irg:     STRENGTH_RED_EXAMPLE_m6
+arity: 2
+return in method of type STRENGTH_RED_EXAMPLE_meth_tp
+  res 0 type: int
+"}
+node: {title: "n451n428" label: "0x4Is  428"  info1: "mode:    Is
+visited: 27
+irg:     STRENGTH_RED_EXAMPLE_m6
+arity: 0
+Const of type type_unknown
+"color: yellow}
+edge: {sourcename: "n451" targetname: "n455" label: "0" class:17 priority:10 color:blue}
+edge: {sourcename: "n451" targetname: "n451n428" label: "1" class:16 priority:10}
+}
+
+graph: { title: "n417"  label: "Block 417" status:clustered color:yellow
+edge: {sourcename: "n417" targetname: "n416" label: "0" class:13 priority:60 color:red}
+backedge: {sourcename: "n417" targetname: "n442" label: "1" linestyle:dashed class:13 priority:60 color:red}
+node: {title: "n455" label: "PhiM  455"  info1: "mode:    M
+visited: 27
+irg:     STRENGTH_RED_EXAMPLE_m6
+arity: 2 backedges:
+"color: green}
+edge: {sourcename: "n455" targetname: "n410" label: "0" class:17 priority:10 color:blue}
+edge: {sourcename: "n455" targetname: "n441" label: "1" class:17 priority:10 color:blue}
+node: {title: "n423" label: "ProjX 0 423"  info1: "mode:    X
+visited: 27
+irg:     STRENGTH_RED_EXAMPLE_m6
+arity: 1
+"color: yellow}
+edge: {sourcename: "n423" targetname: "n422" label: "0" class:13 priority:60 color:red}
+node: {title: "n424" label: "ProjX 1 424"  info1: "mode:    X
+visited: 27
+irg:     STRENGTH_RED_EXAMPLE_m6
+arity: 1
+"color: yellow}
+edge: {sourcename: "n424" targetname: "n422" label: "0" class:13 priority:60 color:red}
+node: {title: "n422" label: "Cond  422"  info1: "mode:    T
+visited: 27
+irg:     STRENGTH_RED_EXAMPLE_m6
+arity: 1
+"}
+edge: {sourcename: "n422" targetname: "n421" label: "0" class:1  priority:50}
+node: {title: "n421" label: "Projb Gt 421"  info1: "mode:    b
+visited: 27
+irg:     STRENGTH_RED_EXAMPLE_m6
+arity: 1
+"color: yellow}
+edge: {sourcename: "n421" targetname: "n420" label: "0" class:1  priority:50}
+node: {title: "n420" label: "Cmp  420"  info1: "mode:    T
+visited: 27
+irg:     STRENGTH_RED_EXAMPLE_m6
+arity: 2
+"}
+node: {title: "n420n683" label: "0x28Is  683"  info1: "mode:    Is
+visited: 27
+irg:     STRENGTH_RED_EXAMPLE_m6
+arity: 0
+Const of type type_unknown
+"color: yellow}
+edge: {sourcename: "n420" targetname: "n420n683" label: "0" class:16 priority:10}
+edge: {sourcename: "n420" targetname: "n456" label: "1" class:1  priority:50}
+node: {title: "n456" label: "PhiIs  456"  info1: "mode:    Is
+visited: 27
+irg:     STRENGTH_RED_EXAMPLE_m6
+arity: 2 backedges:
+"color: green}
+node: {title: "n456n414" label: "0x0Is  414"  info1: "mode:    Is
+visited: 27
+irg:     STRENGTH_RED_EXAMPLE_m6
+arity: 0
+Const of type type_unknown
+"color: yellow}
+edge: {sourcename: "n456" targetname: "n456n414" label: "0" class:16 priority:10}
+edge: {sourcename: "n456" targetname: "n668" label: "1" class:16 priority:10}
+}
+
+graph: { title: "n413"  label: "Block 413" status:clustered color:yellow
+edge: {sourcename: "n413" targetname: "n407" label: "0" class:13 priority:60 color:red}
+node: {title: "n416" label: "Jmp  416"  info1: "mode:    X
+visited: 27
+irg:     STRENGTH_RED_EXAMPLE_m6
+arity: 0
+"}
+}
+
+graph: { title: "n425"  label: "Block 425" status:clustered color:yellow
+edge: {sourcename: "n425" targetname: "n424" label: "0" class:13 priority:60 color:red}
+node: {title: "n441" label: "ProjM 0 441"  info1: "mode:    M
+visited: 27
+irg:     STRENGTH_RED_EXAMPLE_m6
+arity: 1
+"color: yellow}
+edge: {sourcename: "n441" targetname: "n439" label: "0" class:17 priority:10 color:blue}
+node: {title: "n439" label: "Store  439"  info1: "mode:    T
+visited: 27
+irg:     STRENGTH_RED_EXAMPLE_m6
+arity: 3
+volatility: volatility_non_volatile
+"}
+node: {title: "n439n437" label: "0x13Is  437"  info1: "mode:    Is
+visited: 27
+irg:     STRENGTH_RED_EXAMPLE_m6
+arity: 0
+Const of type type_unknown
+"color: yellow}
+edge: {sourcename: "n439" targetname: "n455" label: "0" class:17 priority:10 color:blue}
+edge: {sourcename: "n439" targetname: "n677" label: "1" class:1  priority:50}
+edge: {sourcename: "n439" targetname: "n439n437" label: "2" class:16 priority:10}
+node: {title: "n677" label: "AddP  677"  info1: "mode:    P
+visited: 27
+irg:     STRENGTH_RED_EXAMPLE_m6
+arity: 2
+"}
+node: {title: "n677n676" label: "0x8Is  676"  info1: "mode:    Is
+visited: 27
+irg:     STRENGTH_RED_EXAMPLE_m6
+arity: 0
+Const of type type_unknown
+"color: yellow}
+edge: {sourcename: "n677" targetname: "n434" label: "0" class:1  priority:50}
+edge: {sourcename: "n677" targetname: "n677n676" label: "1" class:16 priority:10}
+node: {title: "n434" label: "SubP  434"  info1: "mode:    P
+visited: 27
+irg:     STRENGTH_RED_EXAMPLE_m6
+arity: 2
+"}
+node: {title: "n434n427" label: "0x5Is  427"  info1: "mode:    Is
+visited: 27
+irg:     STRENGTH_RED_EXAMPLE_m6
+arity: 0
+Const of type type_unknown
+"color: yellow}
+edge: {sourcename: "n434" targetname: "n434n427" label: "0" class:16 priority:10}
+edge: {sourcename: "n434" targetname: "n674" label: "1" class:1  priority:50}
+node: {title: "n674" label: "AddP  674"  info1: "mode:    P
+visited: 27
+irg:     STRENGTH_RED_EXAMPLE_m6
+arity: 2
+"}
+edge: {sourcename: "n674" targetname: "n456" label: "0" class:16 priority:10}
+edge: {sourcename: "n674" targetname: "n673" label: "1" class:1  priority:50}
+node: {title: "n673" label: "AddP  673"  info1: "mode:    P
+visited: 27
+irg:     STRENGTH_RED_EXAMPLE_m6
+arity: 2
+"}
+node: {title: "n673n415" label: "SymC &a  415"  info1: "mode:    P
+visited: 27
+irg:     STRENGTH_RED_EXAMPLE_m6
+arity: 0
+kind addr_ent
+entity GlobalType.a (399)
+
+SymConst of type type_unknown
+"}
+node: {title: "n673n671" label: "0xFFFFFFFCIs  671"  info1: "mode:    Is
+visited: 27
+irg:     STRENGTH_RED_EXAMPLE_m6
+arity: 0
+Const of type type_unknown
+"color: yellow}
+edge: {sourcename: "n673" targetname: "n673n415" label: "0" class:16 priority:10}
+edge: {sourcename: "n673" targetname: "n673n671" label: "1" class:16 priority:10}
+node: {title: "n442" label: "Jmp  442"  info1: "mode:    X
+visited: 27
+irg:     STRENGTH_RED_EXAMPLE_m6
+arity: 0
+"}
+node: {title: "n668" label: "AddIs  668"  info1: "mode:    Is
+visited: 27
+irg:     STRENGTH_RED_EXAMPLE_m6
+arity: 2
+"}
+node: {title: "n668n671" label: "0xFFFFFFFCIs  671"  info1: "mode:    Is
+visited: 27
+irg:     STRENGTH_RED_EXAMPLE_m6
+arity: 0
+Const of type type_unknown
+"color: yellow}
+edge: {sourcename: "n668" targetname: "n456" label: "0" class:16 priority:10}
+edge: {sourcename: "n668" targetname: "n668n671" label: "1" class:16 priority:10}
+}
+
+graph: { title: "n403"  label: "Block 403" status:clustered color:yellow
+edge: {sourcename: "n403" targetname: "n407" label: "0" class:13 priority:60 color:red}
+node: {title: "n410" label: "ProjM 1 410"  info1: "mode:    M
+visited: 27
+irg:     STRENGTH_RED_EXAMPLE_m6
+arity: 1
+"color: yellow}
+edge: {sourcename: "n410" targetname: "n404" label: "0" class:17 priority:10 color:blue}
+node: {title: "n407" label: "ProjX 0 407"  info1: "mode:    X
+visited: 27
+irg:     STRENGTH_RED_EXAMPLE_m6
+arity: 1
+"color: yellow}
+edge: {sourcename: "n407" targetname: "n404" label: "0" class:13 priority:60 color:red}
+node: {title: "n404" label: "Start  404"  info1: "mode:    T
+visited: 27
+irg:     STRENGTH_RED_EXAMPLE_m6
+arity: 0
+start of method of type STRENGTH_RED_EXAMPLE_meth_tp
+  param 0 type: int
+"color: blue}
+}
+
+}
+
+}
diff --git a/testprograms/ref-results/STRENGTH_RED_EXAMPLE_m6.vcg b/testprograms/ref-results/STRENGTH_RED_EXAMPLE_m6.vcg
new file mode 100644 (file)
index 0000000..6b7eb99
--- /dev/null
@@ -0,0 +1,291 @@
+graph: { title: "ir graph of STRENGTH_RED_EXAMPLE_m6"
+display_edge_labels: no
+layoutalgorithm: mindepth
+manhattan_edges: yes
+port_sharing: no
+orientation: bottom_to_top
+classname 1:  "intrablock Data"
+classname 16: "interblock Data"
+classname 2:  "Block"
+classname 13: "Control Flow"
+classname 18: "Exception Control Flow for Interval Analysis"
+classname 14: "intrablock Memory"
+classname 17: "interblock Memory"
+classname 15: "Dominators"
+classname 3:  "Entity type"
+classname 4:  "Entity owner"
+classname 5:  "Method Param"
+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"
+infoname 1: "Attribute"
+infoname 2: "Verification errors"
+colorentry 100:    0   0    0
+colorentry 101:   20   0    0
+colorentry 102:   40   0    0
+colorentry 103:   60   0    0
+colorentry 104:   80   0    0
+colorentry 105:  100   0    0
+colorentry 106:  120   0    0
+colorentry 107:  140   0    0
+colorentry 108:  150   0    0
+colorentry 109:  180   0    0
+colorentry 110:  200   0    0
+colorentry 111:  220   0    0
+colorentry 112:  240   0    0
+colorentry 113:  255   0    0
+colorentry 113:  255  20   20
+colorentry 114:  255  40   40
+colorentry 115:  255  60   60
+colorentry 116:  255  80   80
+colorentry 117:  255 100  100
+colorentry 118:  255 120  120
+colorentry 119:  255 140  140
+colorentry 120:  255 150  150
+colorentry 121:  255 180  180
+colorentry 122:  255 200  200
+colorentry 123:  255 220  220
+colorentry 124:  255 240  240
+colorentry 125:  255 250  250
+
+graph: { title: "g412" label: "STRENGTH_RED_EXAMPLE_m6" status:clustered color:white
+graph: { title: "n401"  label: "Block 401" status:clustered color:yellow
+edge: {sourcename: "n401" targetname: "n451" label: "0" class:13 priority:60 color:red}
+node: {title: "n402" label: "End  402"  info1: "mode:    X
+visited: 16
+irg:     STRENGTH_RED_EXAMPLE_m6
+arity: 1
+"color: blue}
+}
+
+graph: { title: "n448"  label: "Block 448" status:clustered color:yellow
+edge: {sourcename: "n448" targetname: "n423" label: "0" class:13 priority:60 color:red}
+node: {title: "n451" label: "Return  451"  info1: "mode:    X
+visited: 16
+irg:     STRENGTH_RED_EXAMPLE_m6
+arity: 2
+return in method of type STRENGTH_RED_EXAMPLE_meth_tp
+  res 0 type: int
+"}
+node: {title: "n451n428" label: "0x4Is  428"  info1: "mode:    Is
+visited: 16
+irg:     STRENGTH_RED_EXAMPLE_m6
+arity: 0
+Const of type type_unknown
+"color: yellow}
+edge: {sourcename: "n451" targetname: "n455" label: "0" class:17 priority:10 color:blue}
+edge: {sourcename: "n451" targetname: "n451n428" label: "1" class:16 priority:10}
+}
+
+graph: { title: "n417"  label: "Block 417" status:clustered color:yellow
+edge: {sourcename: "n417" targetname: "n416" label: "0" class:13 priority:60 color:red}
+backedge: {sourcename: "n417" targetname: "n442" label: "1" linestyle:dashed class:13 priority:60 color:red}
+node: {title: "n455" label: "PhiM  455"  info1: "mode:    M
+visited: 16
+irg:     STRENGTH_RED_EXAMPLE_m6
+arity: 2 backedges:  1
+"color: green}
+edge: {sourcename: "n455" targetname: "n410" label: "0" class:17 priority:10 color:blue}
+backedge: {sourcename: "n455" targetname: "n441" label: "1" linestyle:dashed class:17 priority:10 color:blue}
+node: {title: "n423" label: "ProjX 0 423"  info1: "mode:    X
+visited: 16
+irg:     STRENGTH_RED_EXAMPLE_m6
+arity: 1
+"color: yellow}
+edge: {sourcename: "n423" targetname: "n422" label: "0" class:13 priority:60 color:red}
+node: {title: "n424" label: "ProjX 1 424"  info1: "mode:    X
+visited: 16
+irg:     STRENGTH_RED_EXAMPLE_m6
+arity: 1
+"color: yellow}
+edge: {sourcename: "n424" targetname: "n422" label: "0" class:13 priority:60 color:red}
+node: {title: "n422" label: "Cond  422"  info1: "mode:    T
+visited: 16
+irg:     STRENGTH_RED_EXAMPLE_m6
+arity: 1
+"}
+edge: {sourcename: "n422" targetname: "n421" label: "0" class:1  priority:50}
+node: {title: "n421" label: "Projb Gt 421"  info1: "mode:    b
+visited: 16
+irg:     STRENGTH_RED_EXAMPLE_m6
+arity: 1
+"color: yellow}
+edge: {sourcename: "n421" targetname: "n420" label: "0" class:1  priority:50}
+node: {title: "n420" label: "Cmp  420"  info1: "mode:    T
+visited: 16
+irg:     STRENGTH_RED_EXAMPLE_m6
+arity: 2
+"}
+node: {title: "n420n419" label: "0xAIs  419"  info1: "mode:    Is
+visited: 16
+irg:     STRENGTH_RED_EXAMPLE_m6
+arity: 0
+Const of type type_unknown
+"color: yellow}
+edge: {sourcename: "n420" targetname: "n420n419" label: "0" class:16 priority:10}
+edge: {sourcename: "n420" targetname: "n456" label: "1" class:1  priority:50}
+node: {title: "n456" label: "PhiIs  456"  info1: "mode:    Is
+visited: 16
+irg:     STRENGTH_RED_EXAMPLE_m6
+arity: 2 backedges:  1
+"color: green}
+node: {title: "n456n414" label: "0x0Is  414"  info1: "mode:    Is
+visited: 16
+irg:     STRENGTH_RED_EXAMPLE_m6
+arity: 0
+Const of type type_unknown
+"color: yellow}
+edge: {sourcename: "n456" targetname: "n456n414" label: "0" class:16 priority:10}
+backedge: {sourcename: "n456" targetname: "n430" label: "1" linestyle:dashed class:16 priority:10}
+}
+
+graph: { title: "n413"  label: "Block 413" status:clustered color:yellow
+edge: {sourcename: "n413" targetname: "n407" label: "0" class:13 priority:60 color:red}
+node: {title: "n416" label: "Jmp  416"  info1: "mode:    X
+visited: 16
+irg:     STRENGTH_RED_EXAMPLE_m6
+arity: 0
+"}
+}
+
+graph: { title: "n425"  label: "Block 425" status:clustered color:yellow
+edge: {sourcename: "n425" targetname: "n424" label: "0" class:13 priority:60 color:red}
+node: {title: "n441" label: "ProjM 0 441"  info1: "mode:    M
+visited: 16
+irg:     STRENGTH_RED_EXAMPLE_m6
+arity: 1
+"color: yellow}
+edge: {sourcename: "n441" targetname: "n439" label: "0" class:17 priority:10 color:blue}
+node: {title: "n439" label: "Store  439"  info1: "mode:    T
+visited: 16
+irg:     STRENGTH_RED_EXAMPLE_m6
+arity: 3
+volatility: volatility_non_volatile
+"}
+node: {title: "n439n437" label: "0x13Is  437"  info1: "mode:    Is
+visited: 16
+irg:     STRENGTH_RED_EXAMPLE_m6
+arity: 0
+Const of type type_unknown
+"color: yellow}
+edge: {sourcename: "n439" targetname: "n455" label: "0" class:17 priority:10 color:blue}
+edge: {sourcename: "n439" targetname: "n436" label: "1" class:1  priority:50}
+edge: {sourcename: "n439" targetname: "n439n437" label: "2" class:16 priority:10}
+node: {title: "n436" label: "AddP  436"  info1: "mode:    P
+visited: 16
+irg:     STRENGTH_RED_EXAMPLE_m6
+arity: 2
+"}
+node: {title: "n436n428" label: "0x4Is  428"  info1: "mode:    Is
+visited: 16
+irg:     STRENGTH_RED_EXAMPLE_m6
+arity: 0
+Const of type type_unknown
+"color: yellow}
+edge: {sourcename: "n436" targetname: "n436n428" label: "0" class:16 priority:10}
+edge: {sourcename: "n436" targetname: "n435" label: "1" class:1  priority:50}
+node: {title: "n435" label: "AddP  435"  info1: "mode:    P
+visited: 16
+irg:     STRENGTH_RED_EXAMPLE_m6
+arity: 2
+"}
+node: {title: "n435n428" label: "0x4Is  428"  info1: "mode:    Is
+visited: 16
+irg:     STRENGTH_RED_EXAMPLE_m6
+arity: 0
+Const of type type_unknown
+"color: yellow}
+edge: {sourcename: "n435" targetname: "n435n428" label: "0" class:16 priority:10}
+edge: {sourcename: "n435" targetname: "n434" label: "1" class:1  priority:50}
+node: {title: "n434" label: "SubP  434"  info1: "mode:    P
+visited: 16
+irg:     STRENGTH_RED_EXAMPLE_m6
+arity: 2
+"}
+node: {title: "n434n427" label: "0x5Is  427"  info1: "mode:    Is
+visited: 16
+irg:     STRENGTH_RED_EXAMPLE_m6
+arity: 0
+Const of type type_unknown
+"color: yellow}
+edge: {sourcename: "n434" targetname: "n434n427" label: "0" class:16 priority:10}
+edge: {sourcename: "n434" targetname: "n433" label: "1" class:1  priority:50}
+node: {title: "n433" label: "AddP  433"  info1: "mode:    P
+visited: 16
+irg:     STRENGTH_RED_EXAMPLE_m6
+arity: 2
+"}
+node: {title: "n433n415" label: "SymC &a  415"  info1: "mode:    P
+visited: 16
+irg:     STRENGTH_RED_EXAMPLE_m6
+arity: 0
+kind addr_ent
+entity GlobalType.a (399)
+
+SymConst of type type_unknown
+"}
+edge: {sourcename: "n433" targetname: "n431" label: "0" class:1  priority:50}
+edge: {sourcename: "n433" targetname: "n433n415" label: "1" class:16 priority:10}
+node: {title: "n431" label: "MulIs  431"  info1: "mode:    Is
+visited: 16
+irg:     STRENGTH_RED_EXAMPLE_m6
+arity: 2
+"}
+node: {title: "n431n428" label: "0x4Is  428"  info1: "mode:    Is
+visited: 16
+irg:     STRENGTH_RED_EXAMPLE_m6
+arity: 0
+Const of type type_unknown
+"color: yellow}
+edge: {sourcename: "n431" targetname: "n431n428" label: "0" class:16 priority:10}
+edge: {sourcename: "n431" targetname: "n430" label: "1" class:1  priority:50}
+node: {title: "n442" label: "Jmp  442"  info1: "mode:    X
+visited: 16
+irg:     STRENGTH_RED_EXAMPLE_m6
+arity: 0
+"}
+node: {title: "n430" label: "SubIs  430"  info1: "mode:    Is
+visited: 16
+irg:     STRENGTH_RED_EXAMPLE_m6
+arity: 2
+"}
+node: {title: "n430n426" label: "0x1Is  426"  info1: "mode:    Is
+visited: 16
+irg:     STRENGTH_RED_EXAMPLE_m6
+arity: 0
+Const of type type_unknown
+"color: yellow}
+edge: {sourcename: "n430" targetname: "n456" label: "0" class:16 priority:10}
+edge: {sourcename: "n430" targetname: "n430n426" label: "1" class:16 priority:10}
+}
+
+graph: { title: "n403"  label: "Block 403" status:clustered color:yellow
+edge: {sourcename: "n403" targetname: "n407" label: "0" class:13 priority:60 color:red}
+node: {title: "n410" label: "ProjM 1 410"  info1: "mode:    M
+visited: 16
+irg:     STRENGTH_RED_EXAMPLE_m6
+arity: 1
+"color: yellow}
+edge: {sourcename: "n410" targetname: "n404" label: "0" class:17 priority:10 color:blue}
+node: {title: "n407" label: "ProjX 0 407"  info1: "mode:    X
+visited: 16
+irg:     STRENGTH_RED_EXAMPLE_m6
+arity: 1
+"color: yellow}
+edge: {sourcename: "n407" targetname: "n404" label: "0" class:13 priority:60 color:red}
+node: {title: "n404" label: "Start  404"  info1: "mode:    T
+visited: 16
+irg:     STRENGTH_RED_EXAMPLE_m6
+arity: 0
+start of method of type STRENGTH_RED_EXAMPLE_meth_tp
+  param 0 type: int
+"color: blue}
+}
+
+}
+
+}
diff --git a/testprograms/ref-results/STRENGTH_RED_EXAMPLE_m7-looptree.vcg b/testprograms/ref-results/STRENGTH_RED_EXAMPLE_m7-looptree.vcg
new file mode 100644 (file)
index 0000000..09d3613
--- /dev/null
@@ -0,0 +1,69 @@
+graph: { title: "ir graph of STRENGTH_RED_EXAMPLE_m7"
+display_edge_labels: yes
+layoutalgorithm: mindepth
+manhattan_edges: yes
+port_sharing: no
+orientation: top_to_bottom
+classname 1:  "intrablock Data"
+classname 16: "interblock Data"
+classname 2:  "Block"
+classname 13: "Control Flow"
+classname 18: "Exception Control Flow for Interval Analysis"
+classname 14: "intrablock Memory"
+classname 17: "interblock Memory"
+classname 15: "Dominators"
+classname 3:  "Entity type"
+classname 4:  "Entity owner"
+classname 5:  "Method Param"
+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"
+infoname 1: "Attribute"
+infoname 2: "Verification errors"
+colorentry 100:    0   0    0
+colorentry 101:   20   0    0
+colorentry 102:   40   0    0
+colorentry 103:   60   0    0
+colorentry 104:   80   0    0
+colorentry 105:  100   0    0
+colorentry 106:  120   0    0
+colorentry 107:  140   0    0
+colorentry 108:  150   0    0
+colorentry 109:  180   0    0
+colorentry 110:  200   0    0
+colorentry 111:  220   0    0
+colorentry 112:  240   0    0
+colorentry 113:  255   0    0
+colorentry 113:  255  20   20
+colorentry 114:  255  40   40
+colorentry 115:  255  60   60
+colorentry 116:  255  80   80
+colorentry 117:  255 100  100
+colorentry 118:  255 120  120
+colorentry 119:  255 140  140
+colorentry 120:  255 150  150
+colorentry 121:  255 180  180
+colorentry 122:  255 200  200
+colorentry 123:  255 220  220
+colorentry 124:  255 240  240
+colorentry 125:  255 250  250
+
+node: {title: "l703" label: "loop 0, 1 sons, 4 nodes"  info1: " loop nr: 703
+ The loop was analyzed 0 times."}
+node: { title: "l703-0-nodes" color: lightyellow label: "Block  469     ->135485340
+Block  479      ->135485352" }
+edge: {sourcename: "l703" targetname: "l703-0-nodes" label:"0...1"}
+edge: {sourcename: "l703" targetname: "l704" color: darkgreen label: "2"}
+node: {title: "l704" label: "loop 1, 0 sons, 2 nodes"  info1: " loop nr: 704
+ The loop was analyzed 0 times."}
+node: { title: "l704-0-nodes" color: lightyellow label: "Block  484     ->135485316     loop head!
+Block  492      ->135485328" }
+edge: {sourcename: "l704" targetname: "l704-0-nodes" label:"0...1"}
+node: { title: "l703-3-nodes" color: lightyellow label: "Block  514     ->135485304
+Block  467      ->135485292" }
+edge: {sourcename: "l703" targetname: "l703-3-nodes" label:"3...4"}
+}
diff --git a/testprograms/ref-results/STRENGTH_RED_EXAMPLE_m7-strength_reduced.vcg b/testprograms/ref-results/STRENGTH_RED_EXAMPLE_m7-strength_reduced.vcg
new file mode 100644 (file)
index 0000000..ef364d2
--- /dev/null
@@ -0,0 +1,285 @@
+graph: { title: "ir graph of STRENGTH_RED_EXAMPLE_m7"
+display_edge_labels: no
+layoutalgorithm: mindepth
+manhattan_edges: yes
+port_sharing: no
+orientation: bottom_to_top
+classname 1:  "intrablock Data"
+classname 16: "interblock Data"
+classname 2:  "Block"
+classname 13: "Control Flow"
+classname 18: "Exception Control Flow for Interval Analysis"
+classname 14: "intrablock Memory"
+classname 17: "interblock Memory"
+classname 15: "Dominators"
+classname 3:  "Entity type"
+classname 4:  "Entity owner"
+classname 5:  "Method Param"
+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"
+infoname 1: "Attribute"
+infoname 2: "Verification errors"
+colorentry 100:    0   0    0
+colorentry 101:   20   0    0
+colorentry 102:   40   0    0
+colorentry 103:   60   0    0
+colorentry 104:   80   0    0
+colorentry 105:  100   0    0
+colorentry 106:  120   0    0
+colorentry 107:  140   0    0
+colorentry 108:  150   0    0
+colorentry 109:  180   0    0
+colorentry 110:  200   0    0
+colorentry 111:  220   0    0
+colorentry 112:  240   0    0
+colorentry 113:  255   0    0
+colorentry 113:  255  20   20
+colorentry 114:  255  40   40
+colorentry 115:  255  60   60
+colorentry 116:  255  80   80
+colorentry 117:  255 100  100
+colorentry 118:  255 120  120
+colorentry 119:  255 140  140
+colorentry 120:  255 150  150
+colorentry 121:  255 180  180
+colorentry 122:  255 200  200
+colorentry 123:  255 220  220
+colorentry 124:  255 240  240
+colorentry 125:  255 250  250
+
+graph: { title: "g478" label: "STRENGTH_RED_EXAMPLE_m7" status:clustered color:white
+graph: { title: "n467"  label: "Block 467" status:clustered color:yellow
+edge: {sourcename: "n467" targetname: "n517" label: "0" class:13 priority:60 color:red}
+node: {title: "n468" label: "End  468"  info1: "mode:    X
+visited: 28
+irg:     STRENGTH_RED_EXAMPLE_m7
+arity: 1
+"color: blue}
+}
+
+graph: { title: "n514"  label: "Block 514" status:clustered color:yellow
+edge: {sourcename: "n514" targetname: "n490" label: "0" class:13 priority:60 color:red}
+node: {title: "n517" label: "Return  517"  info1: "mode:    X
+visited: 28
+irg:     STRENGTH_RED_EXAMPLE_m7
+arity: 2
+return in method of type STRENGTH_RED_EXAMPLE_meth_tp
+  res 0 type: int
+"}
+node: {title: "n517n494" label: "0x4Is  494"  info1: "mode:    Is
+visited: 28
+irg:     STRENGTH_RED_EXAMPLE_m7
+arity: 0
+Const of type type_unknown
+"color: yellow}
+edge: {sourcename: "n517" targetname: "n521" label: "0" class:17 priority:10 color:blue}
+edge: {sourcename: "n517" targetname: "n517n494" label: "1" class:16 priority:10}
+}
+
+graph: { title: "n484"  label: "Block 484" status:clustered color:yellow
+edge: {sourcename: "n484" targetname: "n483" label: "0" class:13 priority:60 color:red}
+backedge: {sourcename: "n484" targetname: "n508" label: "1" linestyle:dashed class:13 priority:60 color:red}
+node: {title: "n521" label: "PhiM  521"  info1: "mode:    M
+visited: 28
+irg:     STRENGTH_RED_EXAMPLE_m7
+arity: 2 backedges:
+"color: green}
+edge: {sourcename: "n521" targetname: "n476" label: "0" class:17 priority:10 color:blue}
+edge: {sourcename: "n521" targetname: "n506" label: "1" class:17 priority:10 color:blue}
+node: {title: "n710" label: "PhiIs  710"  info1: "mode:    Is
+visited: 28
+irg:     STRENGTH_RED_EXAMPLE_m7
+arity: 2 backedges:
+"color: green}
+node: {title: "n710n708" label: "0x28Is  708"  info1: "mode:    Is
+visited: 28
+irg:     STRENGTH_RED_EXAMPLE_m7
+arity: 0
+Const of type type_unknown
+"color: yellow}
+edge: {sourcename: "n710" targetname: "n710n708" label: "0" class:16 priority:10}
+edge: {sourcename: "n710" targetname: "n711" label: "1" class:16 priority:10}
+node: {title: "n490" label: "ProjX 0 490"  info1: "mode:    X
+visited: 28
+irg:     STRENGTH_RED_EXAMPLE_m7
+arity: 1
+"color: yellow}
+edge: {sourcename: "n490" targetname: "n489" label: "0" class:13 priority:60 color:red}
+node: {title: "n491" label: "ProjX 1 491"  info1: "mode:    X
+visited: 28
+irg:     STRENGTH_RED_EXAMPLE_m7
+arity: 1
+"color: yellow}
+edge: {sourcename: "n491" targetname: "n489" label: "0" class:13 priority:60 color:red}
+node: {title: "n489" label: "Cond  489"  info1: "mode:    T
+visited: 28
+irg:     STRENGTH_RED_EXAMPLE_m7
+arity: 1
+"}
+edge: {sourcename: "n489" targetname: "n488" label: "0" class:1  priority:50}
+node: {title: "n488" label: "Projb Lt 488"  info1: "mode:    b
+visited: 28
+irg:     STRENGTH_RED_EXAMPLE_m7
+arity: 1
+"color: yellow}
+edge: {sourcename: "n488" targetname: "n487" label: "0" class:1  priority:50}
+node: {title: "n487" label: "Cmp  487"  info1: "mode:    T
+visited: 28
+irg:     STRENGTH_RED_EXAMPLE_m7
+arity: 2
+"}
+node: {title: "n487n486" label: "0x0Is  486"  info1: "mode:    Is
+visited: 28
+irg:     STRENGTH_RED_EXAMPLE_m7
+arity: 0
+Const of type type_unknown
+"color: yellow}
+edge: {sourcename: "n487" targetname: "n487n486" label: "0" class:16 priority:10}
+edge: {sourcename: "n487" targetname: "n522" label: "1" class:1  priority:50}
+node: {title: "n522" label: "PhiIs  522"  info1: "mode:    Is
+visited: 28
+irg:     STRENGTH_RED_EXAMPLE_m7
+arity: 2 backedges:
+"color: green}
+node: {title: "n522n481" label: "0xAIs  481"  info1: "mode:    Is
+visited: 28
+irg:     STRENGTH_RED_EXAMPLE_m7
+arity: 0
+Const of type type_unknown
+"color: yellow}
+edge: {sourcename: "n522" targetname: "n522n481" label: "0" class:16 priority:10}
+edge: {sourcename: "n522" targetname: "n693" label: "1" class:16 priority:10}
+}
+
+graph: { title: "n479"  label: "Block 479" status:clustered color:yellow
+edge: {sourcename: "n479" targetname: "n473" label: "0" class:13 priority:60 color:red}
+node: {title: "n483" label: "Jmp  483"  info1: "mode:    X
+visited: 28
+irg:     STRENGTH_RED_EXAMPLE_m7
+arity: 0
+"}
+}
+
+graph: { title: "n492"  label: "Block 492" status:clustered color:yellow
+edge: {sourcename: "n492" targetname: "n491" label: "0" class:13 priority:60 color:red}
+node: {title: "n506" label: "ProjM 0 506"  info1: "mode:    M
+visited: 28
+irg:     STRENGTH_RED_EXAMPLE_m7
+arity: 1
+"color: yellow}
+edge: {sourcename: "n506" targetname: "n504" label: "0" class:17 priority:10 color:blue}
+node: {title: "n504" label: "Store  504"  info1: "mode:    T
+visited: 28
+irg:     STRENGTH_RED_EXAMPLE_m7
+arity: 3
+volatility: volatility_non_volatile
+"}
+edge: {sourcename: "n504" targetname: "n521" label: "0" class:17 priority:10 color:blue}
+edge: {sourcename: "n504" targetname: "n702" label: "1" class:1  priority:50}
+edge: {sourcename: "n504" targetname: "n502" label: "2" class:1  priority:50}
+node: {title: "n702" label: "AddP  702"  info1: "mode:    P
+visited: 28
+irg:     STRENGTH_RED_EXAMPLE_m7
+arity: 2
+"}
+edge: {sourcename: "n702" targetname: "n710" label: "0" class:16 priority:10}
+edge: {sourcename: "n702" targetname: "n701" label: "1" class:1  priority:50}
+node: {title: "n711" label: "AddIs  711"  info1: "mode:    Is
+visited: 28
+irg:     STRENGTH_RED_EXAMPLE_m7
+arity: 2
+"}
+node: {title: "n711n706" label: "0xFFFFFFFCIs  706"  info1: "mode:    Is
+visited: 28
+irg:     STRENGTH_RED_EXAMPLE_m7
+arity: 0
+Const of type type_unknown
+"color: yellow}
+edge: {sourcename: "n711" targetname: "n711n706" label: "0" class:16 priority:10}
+edge: {sourcename: "n711" targetname: "n710" label: "1" class:16 priority:10}
+node: {title: "n701" label: "AddP  701"  info1: "mode:    P
+visited: 28
+irg:     STRENGTH_RED_EXAMPLE_m7
+arity: 2
+"}
+node: {title: "n701n482" label: "SymC &a  482"  info1: "mode:    P
+visited: 28
+irg:     STRENGTH_RED_EXAMPLE_m7
+arity: 0
+kind addr_ent
+entity GlobalType.a (465)
+
+SymConst of type type_unknown
+"}
+node: {title: "n701n699" label: "0x5CIs  699"  info1: "mode:    Is
+visited: 28
+irg:     STRENGTH_RED_EXAMPLE_m7
+arity: 0
+Const of type type_unknown
+"color: yellow}
+edge: {sourcename: "n701" targetname: "n701n482" label: "0" class:16 priority:10}
+edge: {sourcename: "n701" targetname: "n701n699" label: "1" class:16 priority:10}
+node: {title: "n502" label: "AddIs  502"  info1: "mode:    Is
+visited: 28
+irg:     STRENGTH_RED_EXAMPLE_m7
+arity: 2
+"}
+node: {title: "n502n495" label: "0x13Is  495"  info1: "mode:    Is
+visited: 28
+irg:     STRENGTH_RED_EXAMPLE_m7
+arity: 0
+Const of type type_unknown
+"color: yellow}
+edge: {sourcename: "n502" targetname: "n502n495" label: "0" class:16 priority:10}
+edge: {sourcename: "n502" targetname: "n522" label: "1" class:16 priority:10}
+node: {title: "n508" label: "Jmp  508"  info1: "mode:    X
+visited: 28
+irg:     STRENGTH_RED_EXAMPLE_m7
+arity: 0
+"}
+node: {title: "n693" label: "AddIs  693"  info1: "mode:    Is
+visited: 28
+irg:     STRENGTH_RED_EXAMPLE_m7
+arity: 2
+"}
+node: {title: "n693n692" label: "0xFFFFFFFFIs  692"  info1: "mode:    Is
+visited: 28
+irg:     STRENGTH_RED_EXAMPLE_m7
+arity: 0
+Const of type type_unknown
+"color: yellow}
+edge: {sourcename: "n693" targetname: "n522" label: "0" class:16 priority:10}
+edge: {sourcename: "n693" targetname: "n693n692" label: "1" class:16 priority:10}
+}
+
+graph: { title: "n469"  label: "Block 469" status:clustered color:yellow
+edge: {sourcename: "n469" targetname: "n473" label: "0" class:13 priority:60 color:red}
+node: {title: "n476" label: "ProjM 1 476"  info1: "mode:    M
+visited: 28
+irg:     STRENGTH_RED_EXAMPLE_m7
+arity: 1
+"color: yellow}
+edge: {sourcename: "n476" targetname: "n470" label: "0" class:17 priority:10 color:blue}
+node: {title: "n473" label: "ProjX 0 473"  info1: "mode:    X
+visited: 28
+irg:     STRENGTH_RED_EXAMPLE_m7
+arity: 1
+"color: yellow}
+edge: {sourcename: "n473" targetname: "n470" label: "0" class:13 priority:60 color:red}
+node: {title: "n470" label: "Start  470"  info1: "mode:    T
+visited: 28
+irg:     STRENGTH_RED_EXAMPLE_m7
+arity: 0
+start of method of type STRENGTH_RED_EXAMPLE_meth_tp
+  param 0 type: int
+"color: blue}
+}
+
+}
+
+}
diff --git a/testprograms/ref-results/STRENGTH_RED_EXAMPLE_m7.vcg b/testprograms/ref-results/STRENGTH_RED_EXAMPLE_m7.vcg
new file mode 100644 (file)
index 0000000..c3d336a
--- /dev/null
@@ -0,0 +1,285 @@
+graph: { title: "ir graph of STRENGTH_RED_EXAMPLE_m7"
+display_edge_labels: no
+layoutalgorithm: mindepth
+manhattan_edges: yes
+port_sharing: no
+orientation: bottom_to_top
+classname 1:  "intrablock Data"
+classname 16: "interblock Data"
+classname 2:  "Block"
+classname 13: "Control Flow"
+classname 18: "Exception Control Flow for Interval Analysis"
+classname 14: "intrablock Memory"
+classname 17: "interblock Memory"
+classname 15: "Dominators"
+classname 3:  "Entity type"
+classname 4:  "Entity owner"
+classname 5:  "Method Param"
+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"
+infoname 1: "Attribute"
+infoname 2: "Verification errors"
+colorentry 100:    0   0    0
+colorentry 101:   20   0    0
+colorentry 102:   40   0    0
+colorentry 103:   60   0    0
+colorentry 104:   80   0    0
+colorentry 105:  100   0    0
+colorentry 106:  120   0    0
+colorentry 107:  140   0    0
+colorentry 108:  150   0    0
+colorentry 109:  180   0    0
+colorentry 110:  200   0    0
+colorentry 111:  220   0    0
+colorentry 112:  240   0    0
+colorentry 113:  255   0    0
+colorentry 113:  255  20   20
+colorentry 114:  255  40   40
+colorentry 115:  255  60   60
+colorentry 116:  255  80   80
+colorentry 117:  255 100  100
+colorentry 118:  255 120  120
+colorentry 119:  255 140  140
+colorentry 120:  255 150  150
+colorentry 121:  255 180  180
+colorentry 122:  255 200  200
+colorentry 123:  255 220  220
+colorentry 124:  255 240  240
+colorentry 125:  255 250  250
+
+graph: { title: "g478" label: "STRENGTH_RED_EXAMPLE_m7" status:clustered color:white
+graph: { title: "n467"  label: "Block 467" status:clustered color:yellow
+edge: {sourcename: "n467" targetname: "n517" label: "0" class:13 priority:60 color:red}
+node: {title: "n468" label: "End  468"  info1: "mode:    X
+visited: 17
+irg:     STRENGTH_RED_EXAMPLE_m7
+arity: 1
+"color: blue}
+}
+
+graph: { title: "n514"  label: "Block 514" status:clustered color:yellow
+edge: {sourcename: "n514" targetname: "n490" label: "0" class:13 priority:60 color:red}
+node: {title: "n517" label: "Return  517"  info1: "mode:    X
+visited: 17
+irg:     STRENGTH_RED_EXAMPLE_m7
+arity: 2
+return in method of type STRENGTH_RED_EXAMPLE_meth_tp
+  res 0 type: int
+"}
+node: {title: "n517n494" label: "0x4Is  494"  info1: "mode:    Is
+visited: 17
+irg:     STRENGTH_RED_EXAMPLE_m7
+arity: 0
+Const of type type_unknown
+"color: yellow}
+edge: {sourcename: "n517" targetname: "n521" label: "0" class:17 priority:10 color:blue}
+edge: {sourcename: "n517" targetname: "n517n494" label: "1" class:16 priority:10}
+}
+
+graph: { title: "n484"  label: "Block 484" status:clustered color:yellow
+edge: {sourcename: "n484" targetname: "n483" label: "0" class:13 priority:60 color:red}
+backedge: {sourcename: "n484" targetname: "n508" label: "1" linestyle:dashed class:13 priority:60 color:red}
+node: {title: "n521" label: "PhiM  521"  info1: "mode:    M
+visited: 17
+irg:     STRENGTH_RED_EXAMPLE_m7
+arity: 2 backedges:  1
+"color: green}
+edge: {sourcename: "n521" targetname: "n476" label: "0" class:17 priority:10 color:blue}
+backedge: {sourcename: "n521" targetname: "n506" label: "1" linestyle:dashed class:17 priority:10 color:blue}
+node: {title: "n490" label: "ProjX 0 490"  info1: "mode:    X
+visited: 17
+irg:     STRENGTH_RED_EXAMPLE_m7
+arity: 1
+"color: yellow}
+edge: {sourcename: "n490" targetname: "n489" label: "0" class:13 priority:60 color:red}
+node: {title: "n491" label: "ProjX 1 491"  info1: "mode:    X
+visited: 17
+irg:     STRENGTH_RED_EXAMPLE_m7
+arity: 1
+"color: yellow}
+edge: {sourcename: "n491" targetname: "n489" label: "0" class:13 priority:60 color:red}
+node: {title: "n489" label: "Cond  489"  info1: "mode:    T
+visited: 17
+irg:     STRENGTH_RED_EXAMPLE_m7
+arity: 1
+"}
+edge: {sourcename: "n489" targetname: "n488" label: "0" class:1  priority:50}
+node: {title: "n488" label: "Projb Lt 488"  info1: "mode:    b
+visited: 17
+irg:     STRENGTH_RED_EXAMPLE_m7
+arity: 1
+"color: yellow}
+edge: {sourcename: "n488" targetname: "n487" label: "0" class:1  priority:50}
+node: {title: "n487" label: "Cmp  487"  info1: "mode:    T
+visited: 17
+irg:     STRENGTH_RED_EXAMPLE_m7
+arity: 2
+"}
+node: {title: "n487n486" label: "0x0Is  486"  info1: "mode:    Is
+visited: 17
+irg:     STRENGTH_RED_EXAMPLE_m7
+arity: 0
+Const of type type_unknown
+"color: yellow}
+edge: {sourcename: "n487" targetname: "n487n486" label: "0" class:16 priority:10}
+edge: {sourcename: "n487" targetname: "n522" label: "1" class:1  priority:50}
+node: {title: "n522" label: "PhiIs  522"  info1: "mode:    Is
+visited: 17
+irg:     STRENGTH_RED_EXAMPLE_m7
+arity: 2 backedges:  1
+"color: green}
+node: {title: "n522n481" label: "0xAIs  481"  info1: "mode:    Is
+visited: 17
+irg:     STRENGTH_RED_EXAMPLE_m7
+arity: 0
+Const of type type_unknown
+"color: yellow}
+edge: {sourcename: "n522" targetname: "n522n481" label: "0" class:16 priority:10}
+backedge: {sourcename: "n522" targetname: "n507" label: "1" linestyle:dashed class:16 priority:10}
+}
+
+graph: { title: "n479"  label: "Block 479" status:clustered color:yellow
+edge: {sourcename: "n479" targetname: "n473" label: "0" class:13 priority:60 color:red}
+node: {title: "n483" label: "Jmp  483"  info1: "mode:    X
+visited: 17
+irg:     STRENGTH_RED_EXAMPLE_m7
+arity: 0
+"}
+}
+
+graph: { title: "n492"  label: "Block 492" status:clustered color:yellow
+edge: {sourcename: "n492" targetname: "n491" label: "0" class:13 priority:60 color:red}
+node: {title: "n506" label: "ProjM 0 506"  info1: "mode:    M
+visited: 17
+irg:     STRENGTH_RED_EXAMPLE_m7
+arity: 1
+"color: yellow}
+edge: {sourcename: "n506" targetname: "n504" label: "0" class:17 priority:10 color:blue}
+node: {title: "n504" label: "Store  504"  info1: "mode:    T
+visited: 17
+irg:     STRENGTH_RED_EXAMPLE_m7
+arity: 3
+volatility: volatility_non_volatile
+"}
+edge: {sourcename: "n504" targetname: "n521" label: "0" class:17 priority:10 color:blue}
+edge: {sourcename: "n504" targetname: "n501" label: "1" class:1  priority:50}
+edge: {sourcename: "n504" targetname: "n502" label: "2" class:1  priority:50}
+node: {title: "n501" label: "AddP  501"  info1: "mode:    P
+visited: 17
+irg:     STRENGTH_RED_EXAMPLE_m7
+arity: 2
+"}
+node: {title: "n501n482" label: "SymC &a  482"  info1: "mode:    P
+visited: 17
+irg:     STRENGTH_RED_EXAMPLE_m7
+arity: 0
+kind addr_ent
+entity GlobalType.a (465)
+
+SymConst of type type_unknown
+"}
+edge: {sourcename: "n501" targetname: "n499" label: "0" class:1  priority:50}
+edge: {sourcename: "n501" targetname: "n501n482" label: "1" class:16 priority:10}
+node: {title: "n499" label: "MulIs  499"  info1: "mode:    Is
+visited: 17
+irg:     STRENGTH_RED_EXAMPLE_m7
+arity: 2
+"}
+node: {title: "n499n494" label: "0x4Is  494"  info1: "mode:    Is
+visited: 17
+irg:     STRENGTH_RED_EXAMPLE_m7
+arity: 0
+Const of type type_unknown
+"color: yellow}
+edge: {sourcename: "n499" targetname: "n499n494" label: "0" class:16 priority:10}
+edge: {sourcename: "n499" targetname: "n498" label: "1" class:1  priority:50}
+node: {title: "n498" label: "AddIs  498"  info1: "mode:    Is
+visited: 17
+irg:     STRENGTH_RED_EXAMPLE_m7
+arity: 2
+"}
+node: {title: "n498n495" label: "0x13Is  495"  info1: "mode:    Is
+visited: 17
+irg:     STRENGTH_RED_EXAMPLE_m7
+arity: 0
+Const of type type_unknown
+"color: yellow}
+edge: {sourcename: "n498" targetname: "n498n495" label: "0" class:16 priority:10}
+edge: {sourcename: "n498" targetname: "n497" label: "1" class:1  priority:50}
+node: {title: "n497" label: "AddIs  497"  info1: "mode:    Is
+visited: 17
+irg:     STRENGTH_RED_EXAMPLE_m7
+arity: 2
+"}
+node: {title: "n497n494" label: "0x4Is  494"  info1: "mode:    Is
+visited: 17
+irg:     STRENGTH_RED_EXAMPLE_m7
+arity: 0
+Const of type type_unknown
+"color: yellow}
+edge: {sourcename: "n497" targetname: "n497n494" label: "0" class:16 priority:10}
+edge: {sourcename: "n497" targetname: "n522" label: "1" class:16 priority:10}
+node: {title: "n502" label: "AddIs  502"  info1: "mode:    Is
+visited: 17
+irg:     STRENGTH_RED_EXAMPLE_m7
+arity: 2
+"}
+node: {title: "n502n495" label: "0x13Is  495"  info1: "mode:    Is
+visited: 17
+irg:     STRENGTH_RED_EXAMPLE_m7
+arity: 0
+Const of type type_unknown
+"color: yellow}
+edge: {sourcename: "n502" targetname: "n502n495" label: "0" class:16 priority:10}
+edge: {sourcename: "n502" targetname: "n522" label: "1" class:16 priority:10}
+node: {title: "n508" label: "Jmp  508"  info1: "mode:    X
+visited: 17
+irg:     STRENGTH_RED_EXAMPLE_m7
+arity: 0
+"}
+node: {title: "n507" label: "SubIs  507"  info1: "mode:    Is
+visited: 17
+irg:     STRENGTH_RED_EXAMPLE_m7
+arity: 2
+"}
+node: {title: "n507n493" label: "0x1Is  493"  info1: "mode:    Is
+visited: 17
+irg:     STRENGTH_RED_EXAMPLE_m7
+arity: 0
+Const of type type_unknown
+"color: yellow}
+edge: {sourcename: "n507" targetname: "n522" label: "0" class:16 priority:10}
+edge: {sourcename: "n507" targetname: "n507n493" label: "1" class:16 priority:10}
+}
+
+graph: { title: "n469"  label: "Block 469" status:clustered color:yellow
+edge: {sourcename: "n469" targetname: "n473" label: "0" class:13 priority:60 color:red}
+node: {title: "n476" label: "ProjM 1 476"  info1: "mode:    M
+visited: 17
+irg:     STRENGTH_RED_EXAMPLE_m7
+arity: 1
+"color: yellow}
+edge: {sourcename: "n476" targetname: "n470" label: "0" class:17 priority:10 color:blue}
+node: {title: "n473" label: "ProjX 0 473"  info1: "mode:    X
+visited: 17
+irg:     STRENGTH_RED_EXAMPLE_m7
+arity: 1
+"color: yellow}
+edge: {sourcename: "n473" targetname: "n470" label: "0" class:13 priority:60 color:red}
+node: {title: "n470" label: "Start  470"  info1: "mode:    T
+visited: 17
+irg:     STRENGTH_RED_EXAMPLE_m7
+arity: 0
+start of method of type STRENGTH_RED_EXAMPLE_meth_tp
+  param 0 type: int
+"color: blue}
+}
+
+}
+
+}
index 2321b9a..e35f1bb 100644 (file)
@@ -153,12 +153,70 @@ Use xvcg to view these graphs:
 
 Creating an IR graph: IF_EXAMPLE...
 Done building the graph.  Dumping and optimizing it.
-Reduced 0 iteration variables in graph GlobalType.STRENGTH_RED_EXAMPLE_m1
-.Reduced 0 iteration variables in graph GlobalType.STRENGTH_RED_EXAMPLE_m2
-.Reduced 0 iteration variables in graph GlobalType.STRENGTH_RED_EXAMPLE_m3
-.Reduced 0 iteration variables in graph GlobalType.STRENGTH_RED_EXAMPLE_m4
-.Reduced 0 iteration variables in graph GlobalType.STRENGTH_RED_EXAMPLE_m5
-.
+The new Phi node is : reduce(l.321) PhiIs: 92 (0x811fe64)
+reducing operation is : reduce(l.322) MulIs: 64 (0x811d184)
+in graph : reduce(l.323) graph STRENGTH_RED_EXAMPLE_m1: 45 (0x811c7b8) in class GlobalType.
+
+Reducing operation is : reduce(l.428) AddP: 65 (0x811d1cc)
+in graph : reduce(l.429) graph STRENGTH_RED_EXAMPLE_m1: 45 (0x811c7b8) in class GlobalType.
+The new Phi node is : reduce(l.321) PhiIs: 92 (0x811fe64)
+reducing operation is : reduce(l.322) MulIs: 66 (0x811d214)
+in graph : reduce(l.323) graph STRENGTH_RED_EXAMPLE_m1: 45 (0x811c7b8) in class GlobalType.
+
+Reducing operation is : reduce(l.428) AddP: 67 (0x811d25c)
+in graph : reduce(l.429) graph STRENGTH_RED_EXAMPLE_m1: 45 (0x811c7b8) in class GlobalType.
+The new Phi node is : reduce(l.321) PhiIs: 119 (0x8120510)
+reducing operation is : reduce(l.322) MulIs: 106 (0x81201cc)
+in graph : reduce(l.323) graph STRENGTH_RED_EXAMPLE_m1: 45 (0x811c7b8) in class GlobalType.
+
+Reducing operation is : reduce(l.428) AddP: 107 (0x8120214)
+in graph : reduce(l.429) graph STRENGTH_RED_EXAMPLE_m1: 45 (0x811c7b8) in class GlobalType.
+
+ 3 made new_phis und  reduced 6 iteration variables in
+ graph GlobalType.STRENGTH_RED_EXAMPLE_m1.
+The new Phi node is : reduce(l.321) PhiIs: 191 (0x81220dc)
+reducing operation is : reduce(l.322) MulIs: 168 (0x8121ad4)
+in graph : reduce(l.323) graph STRENGTH_RED_EXAMPLE_m2: 148 (0x81210b0) in class GlobalType.
+The new Phi node is : reduce(l.321) PhiIs: 191 (0x81220dc)
+reducing operation is : reduce(l.322) MulIs: 167 (0x8121a8c)
+in graph : reduce(l.323) graph STRENGTH_RED_EXAMPLE_m2: 148 (0x81210b0) in class GlobalType.
+
+ 2 made new_phis und  reduced 3 iteration variables in
+ graph GlobalType.STRENGTH_RED_EXAMPLE_m2.
+The new Phi node is : reduce(l.321) PhiIs: 257 (0x8125994)
+reducing operation is : reduce(l.322) MulIs: 231 (0x81252b4)
+in graph : reduce(l.323) graph STRENGTH_RED_EXAMPLE_m3: 213 (0x8124920) in class GlobalType.
+
+ 1 made new_phis und  reduced 2 iteration variables in
+ graph GlobalType.STRENGTH_RED_EXAMPLE_m3.
+The new Phi node is : reduce(l.321) PhiIs: 324 (0x812a880)
+reducing operation is : reduce(l.322) MulIs: 616 (0x812ad14)
+in graph : reduce(l.323) graph STRENGTH_RED_EXAMPLE_m4: 279 (0x8128220) in class GlobalType.
+The new Phi node is : reduce(l.321) PhiIs: 324 (0x812a880)
+reducing operation is : reduce(l.322) MulIs: 610 (0x812abc4)
+in graph : reduce(l.323) graph STRENGTH_RED_EXAMPLE_m4: 279 (0x8128220) in class GlobalType.
+
+ 2 made new_phis und  reduced 4 iteration variables in
+ graph GlobalType.STRENGTH_RED_EXAMPLE_m4.
+
+Reducing operation is : reduce(l.392) MulIs: 644 (0x812e5f8)
+in graph : reduce(l.393) graph STRENGTH_RED_EXAMPLE_m5: 346 (0x812ba80) in class GlobalType.
+
+ 0 made new_phis und  reduced 2 iteration variables in
+ graph GlobalType.STRENGTH_RED_EXAMPLE_m5.
+
+Reducing operation is : reduce(l.392) MulIs: 669 (0x8131d38)
+in graph : reduce(l.393) graph STRENGTH_RED_EXAMPLE_m6: 412 (0x812f2f0) in class GlobalType.
+
+ 0 made new_phis und  reduced 2 iteration variables in
+ graph GlobalType.STRENGTH_RED_EXAMPLE_m6.
+The new Phi node is : reduce(l.321) PhiIs: 522 (0x8133c2c)
+reducing operation is : reduce(l.322) MulIs: 697 (0x81355d4)
+in graph : reduce(l.323) graph STRENGTH_RED_EXAMPLE_m7: 478 (0x8132bb8) in class GlobalType.
+
+ 1 made new_phis und  reduced 2 iteration variables in
+ graph GlobalType.STRENGTH_RED_EXAMPLE_m7.
+
 Creating an IR graph: THREE_CFPRED_EXAMPLE ...
 Optimizing ...
 Dumping the graph and a control flow graph.
index fe6983a..5d8eeeb 100644 (file)
@@ -12,7 +12,7 @@
 
 # include <stdio.h>
 # include <string.h>
-
+# include <reassoc.h>
 # include "firm.h"
 
 # include "irvrfy.h"
 #define METHODNAME3 "STRENGTH_RED_EXAMPLE_m3"
 #define METHODNAME4 "STRENGTH_RED_EXAMPLE_m4"
 #define METHODNAME5 "STRENGTH_RED_EXAMPLE_m5"
+#define METHODNAME6 "STRENGTH_RED_EXAMPLE_m6"
+#define METHODNAME7 "STRENGTH_RED_EXAMPLE_m7"
+#define METHODNAME8 "STRENGTH_RED_EXAMPLE_m8"
+#define METHODNAME9 "STRENGTH_RED_EXAMPLE_m9"
 #define METHODTPNAME "STRENGTH_RED_EXAMPLE_meth_tp"
 #define NRARGS 1
 #define NRES 1
@@ -53,9 +57,9 @@
 
 static int i_pos = 0;
 static int arr_pos = 1;
-static type *typ;
+static type *typ, *typ2;
 
-static ir_node *r1, *f, *r;
+static ir_node *r1, *f, *r, *c2;
 
 typedef enum {
   loop_forward,
@@ -89,6 +93,8 @@ static void function_begin(type *owner, type *mtp, char *fct_name, loop_dir_t lo
 
   /* The value position used for: */
   i_pos = 0;
+  if(fct_name == METHODNAME7)
+    c2 = new_Const (mode_Is, new_tarval_from_long (5, mode_Is));
 
   /* Generate the constant and assign it to b. The assignment is resolved to a
      dataflow edge. */
@@ -99,7 +105,6 @@ static void function_begin(type *owner, type *mtp, char *fct_name, loop_dir_t lo
   }
   sym.entity_p =  array_ent ;
   set_value (arr_pos, new_SymConst(sym, symconst_addr_ent));
-
   x = new_Jmp ();
 
   /* We know all predecessors of the block and all set_values and set_stores are
@@ -127,6 +132,9 @@ static void function_begin(type *owner, type *mtp, char *fct_name, loop_dir_t lo
   add_immBlock_pred (r, t);
 }
 
+int x;
+static int y;
+
 static void function_end(ir_node *b) {
   ir_node *x = new_Jmp ();
   mature_immBlock (r);
@@ -156,8 +164,8 @@ main(void)
 {
   ir_graph *irg;
   type *owner;
-  entity *ent, *array_ent;
-  type *proc_tp, *array_type; /* type information for the method main */
+  entity *ent, *array_ent, *array_ent2;
+  type *proc_tp, *array_type, *array_type2; /* type information for the method main */
   ir_node *x,*x1 ,  *r, *t, *f, *f1, *t1, *cmp, *r1, *r2;
   int i_pos;
 
@@ -165,10 +173,14 @@ main(void)
 
   init_firm (NULL);
 
+  arch_dep_set_opts(arch_dep_none);
+
   do_node_verification(NODE_VERIFICATION_REPORT);
 
   typ = new_type_primitive(new_id_from_chars(PRIM_NAME, strlen(PRIM_NAME)), mode_Is);
 
+  typ2 = new_type_primitive(new_id_from_chars(PRIM_NAME, strlen(PRIM_NAME)), mode_Is);
+
   /** The global array variable a **/
 
 
@@ -191,13 +203,18 @@ main(void)
 
   /* make type infromation for the array */
   array_type = new_type_array(new_id_from_chars("array", 5),N_DIMS, typ);
-
+  array_type2 = new_type_array(new_id_from_chars("array2", 6),N_DIMS, typ2);
   /* set the bounds for the array */
   set_array_bounds(array_type, 0,
                   new_Const(mode_Iu, new_tarval_from_long (L_BOUND, mode_Iu)),
                   new_Const(mode_Iu, new_tarval_from_long (U_BOUND, mode_Iu)));
+  set_array_bounds(array_type2, 0,
+                  new_Const(mode_Iu, new_tarval_from_long (L_BOUND, mode_Iu)),
+                  new_Const(mode_Iu, new_tarval_from_long (U_BOUND, mode_Iu)));
+
   /* The array is an entity of the global typ */
   array_ent = new_entity( owner, new_id_from_chars("a", 1), array_type);
+  array_ent2 = new_entity( owner, new_id_from_chars("a2", 2), array_type2);
 
   /** The code of the procedure **/
 
@@ -233,15 +250,30 @@ main(void)
   add_immBlock_pred (r, t);
 
   ir_node *b, *c, *d, *res;
-  symconst_symbol sym;
+  symconst_symbol sym, sym2;
   c = new_Const (mode_Is, new_tarval_from_long (1, mode_Is));
   b = new_Const (mode_Is, new_tarval_from_long (4, mode_Is));
+  ir_node *b2 = new_Const (mode_Is, new_tarval_from_long (12, mode_Is));
   sym.entity_p =  array_ent ;
+  sym2.entity_p =  array_ent2 ;
   d = new_SymConst(sym, symconst_addr_ent);
+  ir_node *d2 = new_SymConst(sym2, symconst_addr_ent);
   res = new_Add(d, new_Mul(get_value(i_pos, mode_Is), b, mode_Is), mode_P);
+  //ir_node *res2 = new_Add(d2, get_value(i_pos, mode_Is), mode_P);
+  ir_node *res2 = new_Add(d2, new_Mul(get_value(i_pos, mode_Is), b2, mode_Is), mode_P);
+  //res2 = new_Add(res2,  new_Const (mode_Is, new_tarval_from_long (12, mode_Is)), mode_P);
   set_store (new_Proj (new_Store (get_store (), res, new_Const (mode_Is,
                                  new_tarval_from_long (19,mode_Is))),
                       mode_M, 0));
+  set_store (new_Proj (new_Store (get_store (), res2, new_Const (mode_Is,
+                                 new_tarval_from_long (16,mode_Is))),
+                      mode_M, 0));
+  d = new_SymConst(sym, symconst_addr_ent);
+   res = new_Add(d, new_Mul(get_value(i_pos, mode_Is), b, mode_Is), mode_P);
+  set_store (new_Proj (new_Store (get_store (), res, new_Const
+                                 (mode_Is, new_tarval_from_long (15,mode_Is))),
+                      mode_M, 0));
+
   set_value (i_pos, new_Add(get_value(i_pos, mode_Is), c , mode_Is));
 
   x = new_Jmp ();
@@ -251,15 +283,16 @@ main(void)
   mature_immBlock (r1);
 
   r2 = new_immBlock();
+  ir_node *b1 = new_Const (mode_Is, new_tarval_from_long (45, mode_Is));
   add_immBlock_pred(get_irg_current_block(irg), f);
-  cmp = new_Cmp(new_Const (mode_Is, new_tarval_from_long(0, mode_Is)),get_value(i_pos, mode_Is));
+  cmp = new_Cmp(new_Const (mode_Is, new_tarval_from_long(0, mode_Is)), b1);
   x = new_Cond (new_Proj(cmp, mode_b, Lt));
   f1 = new_Proj (x, mode_X, 0);
   t1 = new_Proj (x, mode_X, 1);
 
   ir_node *block = new_immBlock();
   add_immBlock_pred(block, t1);
-
+  b1 = new_Sub (b1, get_value(i_pos, mode_Is), mode_Is);
   res = new_Add(d, new_Mul(get_value(i_pos, mode_Is), b, mode_Is), mode_P);
   set_store (new_Proj (new_Store (get_store (), res, new_Const (mode_Is,
                        new_tarval_from_long (19, mode_Is))), mode_M, 0));
@@ -292,13 +325,16 @@ main(void)
   /* -------------------------------------------------------------------------------- */
 
   function_begin(owner, proc_tp, METHODNAME2, loop_forward);
-
+  ir_node *mul, *q;
+  q =  new_Const (mode_Is, new_tarval_from_long (15, mode_Is));
+  ir_node *q1 =  new_Const (mode_Is, new_tarval_from_long (13, mode_Is));
   c = new_Const (mode_Is, new_tarval_from_long (1, mode_Is));
   b = new_Const (mode_Is, new_tarval_from_long (4, mode_Is));
+  mul = new_Mul(q, get_value(i_pos, mode_Is), mode_Is);
 
   res = new_Add(get_value(arr_pos, mode_P), new_Mul(get_value(i_pos, mode_Is), b, mode_Is), mode_P);
-  set_store (new_Proj (new_Store (get_store (), res, new_Const (mode_Is,
-                                 new_tarval_from_long (19, mode_Is))),
+  res = new_Add(q1, res, mode_P);
+  set_store (new_Proj (new_Store (get_store (), res, mul),
                       mode_M, 0));
 
   set_value (i_pos, new_Add(get_value(i_pos, mode_Is), c, mode_Is));
@@ -311,11 +347,17 @@ main(void)
 
   c = new_Const (mode_Is, new_tarval_from_long (1, mode_Is));
   b = new_Const (mode_Is, new_tarval_from_long (4, mode_Is));
+ ir_node *b3 = new_Const (mode_Is, new_tarval_from_long (8, mode_Is));
 
 
   res = new_Add(get_value(arr_pos, mode_P), new_Mul(get_value(i_pos, mode_Is), b, mode_Is), mode_P);
+  res = new_Add(b, res, mode_P);
+  res = new_Add(b3, res, mode_P);
+  ir_node *res3 = new_Add(b3, res, mode_P);
+  res = new_Add(res3, res, mode_P);
   set_store (new_Proj (new_Store (get_store (), res, get_value(i_pos, mode_Is)), mode_M, 0));
 
+
   set_value (i_pos, new_Sub(get_value(i_pos, mode_Is), c, mode_Is));
 
   function_end(b);
@@ -326,9 +368,13 @@ main(void)
 
   c = new_Const (mode_Is, new_tarval_from_long (1, mode_Is));
   b = new_Const (mode_Is, new_tarval_from_long (4, mode_Is));
+ ir_node *b4 = new_Const (mode_Is, new_tarval_from_long (8, mode_Is));
 
   set_value (i_pos, new_Add(get_value(i_pos, mode_Is), c, mode_Is));
-
+  ir_node *mul4 = new_Mul(get_value(i_pos, mode_Is), b4, mode_Is);
+  res = new_Add(mul4, get_value(arr_pos, mode_P), mode_P);
+  set_store (new_Proj (new_Store (get_store (), res,get_value(i_pos, mode_Is)),
+                      mode_M, 0));
   res = new_Add(get_value(arr_pos, mode_P), new_Mul(get_value(i_pos, mode_Is), b, mode_Is), mode_P);
   set_store (new_Proj (new_Store (get_store (), res,get_value(i_pos, mode_Is)),
                       mode_M, 0));
@@ -344,8 +390,32 @@ main(void)
 
   set_value (i_pos, new_Sub(get_value(i_pos, mode_Is), c, mode_Is));
 
-
+  ir_node * res5 = new_Add (c, b, mode_Is);
   res = new_Add(get_value(arr_pos, mode_P), new_Mul(get_value(i_pos, mode_Is), b, mode_Is), mode_P);
+  res = new_Add(res, b, mode_P);
+  res = new_Add(res, res5, mode_P);
+  set_store (new_Proj (new_Store (get_store (), res, new_Const (mode_Is,
+                                 new_tarval_from_long (19, mode_Is))),
+                      mode_M, 0));
+
+  function_end(b);
+
+  /* -------------------------------------------------------------------------- */
+
+  function_begin(owner, proc_tp, METHODNAME6, loop_forward);
+
+  c = new_Const (mode_Is, new_tarval_from_long (1, mode_Is));
+  ir_node *c1 = new_Const (mode_Is, new_tarval_from_long (5, mode_Is));
+  b = new_Const (mode_Is, new_tarval_from_long (4, mode_Is));
+
+
+ set_value (i_pos, new_Sub(get_value(i_pos, mode_Is), c, mode_Is));
+
+  res = new_Add( get_value(arr_pos, mode_P), new_Mul(get_value(i_pos, mode_Is),
+                            b, mode_Is), mode_P);
+  res = new_Sub(c1, res, mode_P);
+  res = new_Add( b, res, mode_P);
+  res = new_Add(b, res, mode_P);
   set_store (new_Proj (new_Store (get_store (), res, new_Const (mode_Is,
                                  new_tarval_from_long (19, mode_Is))),
                       mode_M, 0));
@@ -354,6 +424,29 @@ main(void)
 
   /* -------------------------------------------------------------------------- */
 
+  function_begin(owner, proc_tp, METHODNAME7, loop_backward);
+
+  c = new_Const (mode_Is, new_tarval_from_long (1, mode_Is));
+  b = new_Const (mode_Is, new_tarval_from_long (4, mode_Is));
+  ir_node *b7 = new_Const (mode_Is,
+                          new_tarval_from_long (19, mode_Is));
+
+
+
+  // a[i] = a[i+4]
+  res = get_value(i_pos, mode_Is);
+  res = new_Add(res, b, mode_Is);
+  res = new_Add(res, b7, mode_Is);
+  res = new_Mul(res, b, mode_Is);
+  res = new_Add(get_value(arr_pos, mode_P), res, mode_P);
+  ir_node *res7 = new_Add( get_value(i_pos, mode_Is), b7, mode_Is);
+  set_store (new_Proj (new_Store (get_store (), res, res7),
+                      mode_M, 0));
+  set_value (i_pos, new_Sub(get_value(i_pos, mode_Is), c, mode_Is));
+  function_end(b);
+
+  /* -------------------------------------------------------------------------- */
+
   int i, n_irgs = get_irp_n_irgs();
 
   printf("Done building the graph.  Dumping and optimizing it.\n");
@@ -367,13 +460,20 @@ main(void)
     /* output the vcg file */
     //dump_ir_block_graph (current_ir_graph, "-early");
     construct_backedges(current_ir_graph);
-    //dump_ir_block_graph (current_ir_graph, 0);
+    dump_ir_block_graph (current_ir_graph, 0);
     dump_all_types(0);
     set_opt_strength_red_verbose(2);
     set_firm_verbosity(2);
+    optimize_reassociation(current_ir_graph);
     reduce_strength(current_ir_graph);
 
-    //dump_loop_tree(current_ir_graph, "");
+    // remove_critical_cf_edges(current_ir_graph);
+    //set_opt_global_cse(1);
+    //place_code(current_ir_graph);
+    //set_opt_global_cse(0);
+    // optimize_reassociation(current_ir_graph);
+
+    dump_loop_tree(current_ir_graph, "");
     dump_ir_block_graph (current_ir_graph, "-strength_reduced");
   }
   //printf("use xvcg to view this graph:\n");