summaryrefslogtreecommitdiff
path: root/chapter10/docs/example1.gv
diff options
context:
space:
mode:
authorDibyendu Majumdar <dibyendumajumdar@users.noreply.github.com>2024-04-29 00:11:36 +0100
committerGitHub <noreply@github.com>2024-04-28 16:11:36 -0700
commite31c37890a86aedfb209cf543baf05b1b60a27d2 (patch)
tree5c1151adb45e839a8f4b0f7cc918bf49771e52f1 /chapter10/docs/example1.gv
parent17f9d743c06170f20773863bd1eca4f25ef41490 (diff)
downloadSimple-e31c37890a86aedfb209cf543baf05b1b60a27d2.tar.gz
Simple-e31c37890a86aedfb209cf543baf05b1b60a27d2.zip
Ch10update (#75)
* Store-after-Store peep * Load-after-Store peephole * Fix graph viz mem edge color bug * Scalar replace loop carried dependence * #67 Dead Not node hanging around - if we add a Not in the upcast then add it to the IterPeeps worklist to ensure it gets cleaned up. We don't see the Not node in the parser hence we cannot do a peep on it there. * #67 Update visuals. Add description of Store-Store and Store-Load peeps. Add examples. * #67 Undo the change that wasn't supposed to be committed! * #67 Update description of the Store-Store and Store-Load peepholes --------- Co-authored-by: Cliff Click <cliffc@acm.org>
Diffstat (limited to 'chapter10/docs/example1.gv')
-rw-r--r--chapter10/docs/example1.gv72
1 files changed, 33 insertions, 39 deletions
diff --git a/chapter10/docs/example1.gv b/chapter10/docs/example1.gv
index fcc24154..cbb12cb5 100644
--- a/chapter10/docs/example1.gv
+++ b/chapter10/docs/example1.gv
@@ -1,8 +1,7 @@
digraph chapter10 {
/*
-struct Vec2D { int x; int y; }
-
-Vec2D v = new Vec2D;
+struct Vector2D { int x; int y; }
+Vector2D v = new Vector2D;
v.x = 1;
if (arg)
v.y = 2;
@@ -12,7 +11,6 @@ return v;
*/
rankdir=BT;
- ordering="in";
concentrate="true";
compound="true";
subgraph cluster_Nodes {
@@ -21,18 +19,17 @@ return v;
<TR><TD BGCOLOR="yellow">Start</TD></TR>
<TR><TD>
<TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0">
- <TR><TD PORT="p0" BGCOLOR="yellow">$ctrl</TD><TD PORT="p1">arg</TD><TD PORT="p2">$Vec2D_x</TD><TD PORT="p3">$Vec2D_y</TD></TR>
+ <TR><TD PORT="p0" BGCOLOR="yellow">$ctrl</TD><TD PORT="p1">arg</TD><TD PORT="p2">$2</TD><TD PORT="p3">$3</TD></TR>
</TABLE>
</TD></TR>
</TABLE>>
];
Stop3 [ shape=box style=filled fillcolor=yellow label="Stop" ];
- New8 [ label="new Vec2D" ];
+ new8 [ label="new Vector2D" ];
Con_9 [ label="#0" ];
- Store10 [ label="Store" ];
- Store11 [ label="Store" ];
+ Store11 [ label=".y =" ];
Con_12 [ label="#1" ];
- Store13 [ label="Store" ];
+ Store13 [ label=".x =" ];
If14 [ shape=plaintext label=<
<TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" CELLPADDING="4">
<TR><TD BGCOLOR="yellow">If</TD></TR>
@@ -44,41 +41,38 @@ return v;
</TABLE>>
];
Con_18 [ label="#2" ];
- Store19 [ label="Store" ];
- Con_20 [ label="#3" ];
- Store21 [ label="Store" ];
- Region22 [ shape=box style=filled fillcolor=yellow label="Region" ];
- Phi_Vec2D_y23 [ style=filled fillcolor=lightyellow label="&phi;_$Vec2D_y" ];
- Return24 [ shape=box style=filled fillcolor=yellow label="Return" ];
- { rank=same; Region22;Phi_Vec2D_y23;}
+ Store19 [ label=".y =" ];
+ Con_22 [ label="#3" ];
+ Store23 [ label=".y =" ];
+ Region24 [ shape=box style=filled fillcolor=yellow label="Region" ];
+ Phi_326 [ style=filled fillcolor=lightyellow label="&phi;_$3" ];
+ Return27 [ shape=box style=filled fillcolor=yellow label="Return" ];
+ { rank=same; Region24;Phi_326;}
}
edge [ fontname=Helvetica, fontsize=8 ];
- Stop3 -> Return24[taillabel=0 color=red];
- New8 -> Start2:p0[taillabel=0 color=green];
- Store10 -> Start2:p2[taillabel=1];
- Store10 -> New8[taillabel=2];
- Store10 -> Con_9[taillabel=3];
- Store11 -> Start2:p3[taillabel=1];
- Store11 -> New8[taillabel=2];
+ Stop3 -> Return27[taillabel=0 color=red];
+ new8 -> Start2:p0[taillabel=0 color=green];
+ Store11 -> Start2:p3[taillabel=1 color=blue];
+ Store11 -> new8[taillabel=2];
Store11 -> Con_9[taillabel=3];
- Store13 -> Store10[taillabel=1];
- Store13 -> New8[taillabel=2];
+ Store13 -> Start2:p2[taillabel=1 color=blue];
+ Store13 -> new8[taillabel=2];
Store13 -> Con_12[taillabel=3];
If14 -> Start2:p0[taillabel=0 color=red];
If14 -> Start2:p1[taillabel=1];
- Store19 -> Store11[taillabel=1];
- Store19 -> New8[taillabel=2];
+ Store19 -> Store11[taillabel=1 color=blue];
+ Store19 -> new8[taillabel=2];
Store19 -> Con_18[taillabel=3];
- Store21 -> Store11[taillabel=1];
- Store21 -> New8[taillabel=2];
- Store21 -> Con_20[taillabel=3];
- Region22 -> If14:p0[taillabel=1 color=red];
- Region22 -> If14:p1[taillabel=2 color=red];
- Phi_Vec2D_y23 -> Region22 [style=dotted taillabel=0];
- Phi_Vec2D_y23 -> Store19[taillabel=1];
- Phi_Vec2D_y23 -> Store21[taillabel=2 constraint=false];
- Return24 -> Region22[taillabel=0 color=red];
- Return24 -> New8[taillabel=1];
- Return24 -> Store13[taillabel=2];
- Return24 -> Phi_Vec2D_y23[taillabel=3];
+ Store23 -> Store11[taillabel=1 color=blue];
+ Store23 -> new8[taillabel=2];
+ Store23 -> Con_22[taillabel=3];
+ Region24 -> If14:p0[taillabel=1 color=red];
+ Region24 -> If14:p1[taillabel=2 color=red];
+ Phi_326 -> Region24 [style=dotted taillabel=0];
+ Phi_326 -> Store19[taillabel=1 color=blue];
+ Phi_326 -> Store23[taillabel=2 color=blue constraint=false];
+ Return27 -> Region24[taillabel=0 color=red];
+ Return27 -> new8[taillabel=1];
+ Return27 -> Store13[taillabel=2 color=blue];
+ Return27 -> Phi_326[taillabel=3 color=blue];
}