summaryrefslogtreecommitdiff
path: root/chapter03/docs/03-graph2.gv
diff options
context:
space:
mode:
authorDibyendu Majumdar <dibyendumajumdar@users.noreply.github.com>2023-11-03 21:21:54 +0000
committerGitHub <noreply@github.com>2023-11-03 21:21:54 +0000
commit736c658c274404084b15b450b2ab72d0e7569586 (patch)
tree38f729d42ca6a82f32429dde774eba7666a57391 /chapter03/docs/03-graph2.gv
parent360f4d1f2b5b4a3cb8bd97f1a659e8f7a3d0669e (diff)
downloadSimple-736c658c274404084b15b450b2ab72d0e7569586.tar.gz
Simple-736c658c274404084b15b450b2ab72d0e7569586.zip
Backport changes in Chapter 5 to previous chapters and update Chapter5 documentation (#34)
* Backport changes from chapter 5 to older chapters (#30) * Fix wrong indent * Backport to chapter 4 * Backport to chapter 3 * Backport to chapter 2 * Backport to chapter 1 * Add if statement to comment (#32) * Update visuals for chapters 1,2 & 3. Reenable drawing of edges from constants to Start for these chapters. * Update visuals for chapters 4. Revise text to explain the labeling of edges in graphs and that we omit edge from Constant to Start nodes from chapter 4. * Add code snippets for if statement parsing and the duplication and merging of ScopeNodes. Explain how scopeNodes are duplicated and merged. * Add constant check to minus node (#31) * Fix closing root block with } (#33) * Backport fix closing root block with } to chapter 4 and 3 (#35) * Show use-def edge from Phi to Region as dotted edge. Add example of Phi peephole. Update visuals. Add more examples. * Fix visuals in chapter 1 and README in chapter 4. * Remove subheading * Adjust spaces --------- Co-authored-by: XmiliaH <45106915+XmiliaH@users.noreply.github.com>
Diffstat (limited to 'chapter03/docs/03-graph2.gv')
-rw-r--r--chapter03/docs/03-graph2.gv46
1 files changed, 26 insertions, 20 deletions
diff --git a/chapter03/docs/03-graph2.gv b/chapter03/docs/03-graph2.gv
index c6c55028..f570b13e 100644
--- a/chapter03/docs/03-graph2.gv
+++ b/chapter03/docs/03-graph2.gv
@@ -1,29 +1,35 @@
digraph chapter03 {
+/*
+int a=1; int b=2; int c=0; { int b=3; c=a+b; #showGraph; } return c; #showGraph;
+*/
rankdir=BT;
+ ordering="in";
+ concentrate="true";
subgraph cluster_Nodes {
- Start1 [ shape=box style=filled fillcolor=yellow label="Start" ];
- Con_2 [ label="#1" ];
- Con_3 [ label="#2" ];
- Con_5 [ label="#3" ];
- Add6 [ label="Add" ];
- Return7 [ shape=box style=filled fillcolor=yellow label="Return" ];
+ Start2 [ shape=box style=filled fillcolor=yellow label="Start" ];
+ Con_3 [ label="#1" ];
+ Con_4 [ label="#2" ];
+ Con_6 [ label="#3" ];
+ Add7 [ label="+" ];
+ Return8 [ shape=box style=filled fillcolor=yellow label="Return" ];
}
node [shape=plaintext];
- subgraph cluster_0 {
- scope0 [label=<
+ subgraph cluster_Scope1_0 {
+ Scope1_0 [label=<
<TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0">
- <TR><TD BGCOLOR="aqua">0</TD><TD PORT="scope0_a">a</TD><TD PORT="scope0_b">b</TD><TD PORT="scope0_c">c</TD></TR>
+ <TR><TD BGCOLOR="cyan">0</TD><TD PORT="Scope1_0_a">a</TD><TD PORT="Scope1_0_b">b</TD><TD PORT="Scope1_0_c">c</TD></TR>
</TABLE>>];
}
- Con_2 -> Start1 [style=dotted];
- Con_3 -> Start1 [style=dotted];
- Con_5 -> Start1 [style=dotted];
- Add6 -> Con_2;
- Add6 -> Con_5;
- Return7 -> Start1 [color=red];
- Return7 -> Add6;
+ edge [ fontname=Helvetica, fontsize=8 ];
+ Con_3 -> Start2[taillabel=0 style=dotted];
+ Con_4 -> Start2[taillabel=0 style=dotted];
+ Con_6 -> Start2[taillabel=0 style=dotted];
+ Add7 -> Con_3[taillabel=1];
+ Add7 -> Con_6[taillabel=2];
+ Return8 -> Start2[taillabel=0 color=red];
+ Return8 -> Add7[taillabel=1];
edge [style=dashed color=cornflowerblue];
- scope0:scope0_a -> Con_2;
- scope0:scope0_b -> Con_3;
- scope0:scope0_c -> Add6;
-}
+ Scope1_0:"Scope1_0_a" -> Con_3;
+ Scope1_0:"Scope1_0_b" -> Con_4;
+ Scope1_0:"Scope1_0_c" -> Add7;
+} \ No newline at end of file