From e2deeb7429a30380564f3efee0d102b9669625e8 Mon Sep 17 00:00:00 2001 From: Beyhan Date: Tue, 16 Nov 2004 12:27:28 +0000 Subject: [PATCH] extended example [r4406] --- .../STRENGTH_RED_EXAMPLE_m1-looptree.vcg | 73 +++ ...RENGTH_RED_EXAMPLE_m1-strength_reduced.vcg | 435 ++++++++++-------- .../ref-results/STRENGTH_RED_EXAMPLE_m1.vcg | 405 ++++++++++++++++ .../STRENGTH_RED_EXAMPLE_m2-looptree.vcg | 69 +++ ...RENGTH_RED_EXAMPLE_m2-strength_reduced.vcg | 228 +++++---- .../ref-results/STRENGTH_RED_EXAMPLE_m2.vcg | 272 +++++++++++ .../STRENGTH_RED_EXAMPLE_m3-looptree.vcg | 69 +++ ...RENGTH_RED_EXAMPLE_m3-strength_reduced.vcg | 243 ++++++---- .../ref-results/STRENGTH_RED_EXAMPLE_m3.vcg | 292 ++++++++++++ .../STRENGTH_RED_EXAMPLE_m4-looptree.vcg | 69 +++ ...RENGTH_RED_EXAMPLE_m4-strength_reduced.vcg | 274 +++++++---- .../ref-results/STRENGTH_RED_EXAMPLE_m4.vcg | 290 ++++++++++++ .../STRENGTH_RED_EXAMPLE_m5-looptree.vcg | 69 +++ ...RENGTH_RED_EXAMPLE_m5-strength_reduced.vcg | 201 ++++---- .../ref-results/STRENGTH_RED_EXAMPLE_m5.vcg | 278 +++++++++++ .../STRENGTH_RED_EXAMPLE_m6-looptree.vcg | 69 +++ ...RENGTH_RED_EXAMPLE_m6-strength_reduced.vcg | 278 +++++++++++ .../ref-results/STRENGTH_RED_EXAMPLE_m6.vcg | 291 ++++++++++++ .../STRENGTH_RED_EXAMPLE_m7-looptree.vcg | 69 +++ ...RENGTH_RED_EXAMPLE_m7-strength_reduced.vcg | 285 ++++++++++++ .../ref-results/STRENGTH_RED_EXAMPLE_m7.vcg | 285 ++++++++++++ testprograms/ref-results/run-result.txt | 70 ++- testprograms/strength_red_example.c | 134 +++++- 23 files changed, 4157 insertions(+), 591 deletions(-) create mode 100644 testprograms/ref-results/STRENGTH_RED_EXAMPLE_m1-looptree.vcg create mode 100644 testprograms/ref-results/STRENGTH_RED_EXAMPLE_m1.vcg create mode 100644 testprograms/ref-results/STRENGTH_RED_EXAMPLE_m2-looptree.vcg create mode 100644 testprograms/ref-results/STRENGTH_RED_EXAMPLE_m2.vcg create mode 100644 testprograms/ref-results/STRENGTH_RED_EXAMPLE_m3-looptree.vcg create mode 100644 testprograms/ref-results/STRENGTH_RED_EXAMPLE_m3.vcg create mode 100644 testprograms/ref-results/STRENGTH_RED_EXAMPLE_m4-looptree.vcg create mode 100644 testprograms/ref-results/STRENGTH_RED_EXAMPLE_m4.vcg create mode 100644 testprograms/ref-results/STRENGTH_RED_EXAMPLE_m5-looptree.vcg create mode 100644 testprograms/ref-results/STRENGTH_RED_EXAMPLE_m5.vcg create mode 100644 testprograms/ref-results/STRENGTH_RED_EXAMPLE_m6-looptree.vcg create mode 100644 testprograms/ref-results/STRENGTH_RED_EXAMPLE_m6-strength_reduced.vcg create mode 100644 testprograms/ref-results/STRENGTH_RED_EXAMPLE_m6.vcg create mode 100644 testprograms/ref-results/STRENGTH_RED_EXAMPLE_m7-looptree.vcg create mode 100644 testprograms/ref-results/STRENGTH_RED_EXAMPLE_m7-strength_reduced.vcg create mode 100644 testprograms/ref-results/STRENGTH_RED_EXAMPLE_m7.vcg 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 index 000000000..2160f937e --- /dev/null +++ b/testprograms/ref-results/STRENGTH_RED_EXAMPLE_m1-looptree.vcg @@ -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"} +} diff --git a/testprograms/ref-results/STRENGTH_RED_EXAMPLE_m1-strength_reduced.vcg b/testprograms/ref-results/STRENGTH_RED_EXAMPLE_m1-strength_reduced.vcg index 0c15f814f..56f89c4f6 100644 --- a/testprograms/ref-results/STRENGTH_RED_EXAMPLE_m1-strength_reduced.vcg +++ b/testprograms/ref-results/STRENGTH_RED_EXAMPLE_m1-strength_reduced.vcg @@ -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 index 000000000..cc734a6f6 --- /dev/null +++ b/testprograms/ref-results/STRENGTH_RED_EXAMPLE_m1.vcg @@ -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 index 000000000..781953ad0 --- /dev/null +++ b/testprograms/ref-results/STRENGTH_RED_EXAMPLE_m2-looptree.vcg @@ -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"} +} diff --git a/testprograms/ref-results/STRENGTH_RED_EXAMPLE_m2-strength_reduced.vcg b/testprograms/ref-results/STRENGTH_RED_EXAMPLE_m2-strength_reduced.vcg index 04894edbd..35c913f39 100644 --- a/testprograms/ref-results/STRENGTH_RED_EXAMPLE_m2-strength_reduced.vcg +++ b/testprograms/ref-results/STRENGTH_RED_EXAMPLE_m2-strength_reduced.vcg @@ -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 index 000000000..474ce1892 --- /dev/null +++ b/testprograms/ref-results/STRENGTH_RED_EXAMPLE_m2.vcg @@ -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 index 000000000..5d58fe236 --- /dev/null +++ b/testprograms/ref-results/STRENGTH_RED_EXAMPLE_m3-looptree.vcg @@ -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"} +} diff --git a/testprograms/ref-results/STRENGTH_RED_EXAMPLE_m3-strength_reduced.vcg b/testprograms/ref-results/STRENGTH_RED_EXAMPLE_m3-strength_reduced.vcg index 4fda9c9c0..2366e8ec3 100644 --- a/testprograms/ref-results/STRENGTH_RED_EXAMPLE_m3-strength_reduced.vcg +++ b/testprograms/ref-results/STRENGTH_RED_EXAMPLE_m3-strength_reduced.vcg @@ -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 index 000000000..e88e1167b --- /dev/null +++ b/testprograms/ref-results/STRENGTH_RED_EXAMPLE_m3.vcg @@ -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 index 000000000..8f38747a0 --- /dev/null +++ b/testprograms/ref-results/STRENGTH_RED_EXAMPLE_m4-looptree.vcg @@ -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"} +} diff --git a/testprograms/ref-results/STRENGTH_RED_EXAMPLE_m4-strength_reduced.vcg b/testprograms/ref-results/STRENGTH_RED_EXAMPLE_m4-strength_reduced.vcg index 033d58e35..5b5d7945e 100644 --- a/testprograms/ref-results/STRENGTH_RED_EXAMPLE_m4-strength_reduced.vcg +++ b/testprograms/ref-results/STRENGTH_RED_EXAMPLE_m4-strength_reduced.vcg @@ -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 index 000000000..1b7f2e692 --- /dev/null +++ b/testprograms/ref-results/STRENGTH_RED_EXAMPLE_m4.vcg @@ -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 index 000000000..eb89c1416 --- /dev/null +++ b/testprograms/ref-results/STRENGTH_RED_EXAMPLE_m5-looptree.vcg @@ -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"} +} diff --git a/testprograms/ref-results/STRENGTH_RED_EXAMPLE_m5-strength_reduced.vcg b/testprograms/ref-results/STRENGTH_RED_EXAMPLE_m5-strength_reduced.vcg index 17ee199a6..18126e542 100644 --- a/testprograms/ref-results/STRENGTH_RED_EXAMPLE_m5-strength_reduced.vcg +++ b/testprograms/ref-results/STRENGTH_RED_EXAMPLE_m5-strength_reduced.vcg @@ -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 index 000000000..4cf0f2bf8 --- /dev/null +++ b/testprograms/ref-results/STRENGTH_RED_EXAMPLE_m5.vcg @@ -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 index 000000000..8ecd35cbb --- /dev/null +++ b/testprograms/ref-results/STRENGTH_RED_EXAMPLE_m6-looptree.vcg @@ -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 index 000000000..a15161143 --- /dev/null +++ b/testprograms/ref-results/STRENGTH_RED_EXAMPLE_m6-strength_reduced.vcg @@ -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 index 000000000..6b7eb9918 --- /dev/null +++ b/testprograms/ref-results/STRENGTH_RED_EXAMPLE_m6.vcg @@ -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 index 000000000..09d3613ef --- /dev/null +++ b/testprograms/ref-results/STRENGTH_RED_EXAMPLE_m7-looptree.vcg @@ -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 index 000000000..ef364d2d0 --- /dev/null +++ b/testprograms/ref-results/STRENGTH_RED_EXAMPLE_m7-strength_reduced.vcg @@ -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 index 000000000..c3d336ada --- /dev/null +++ b/testprograms/ref-results/STRENGTH_RED_EXAMPLE_m7.vcg @@ -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} +} + +} + +} diff --git a/testprograms/ref-results/run-result.txt b/testprograms/ref-results/run-result.txt index 2321b9a96..e35f1bb18 100644 --- a/testprograms/ref-results/run-result.txt +++ b/testprograms/ref-results/run-result.txt @@ -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. diff --git a/testprograms/strength_red_example.c b/testprograms/strength_red_example.c index fe6983a4e..5d8eeeb83 100644 --- a/testprograms/strength_red_example.c +++ b/testprograms/strength_red_example.c @@ -12,7 +12,7 @@ # include # include - +# include # include "firm.h" # include "irvrfy.h" @@ -40,6 +40,10 @@ #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"); -- 2.20.1