summaryrefslogtreecommitdiff
path: root/chapter02/docs/02-pre-peephole-ex1.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 /chapter02/docs/02-pre-peephole-ex1.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 'chapter02/docs/02-pre-peephole-ex1.gv')
-rw-r--r--chapter02/docs/02-pre-peephole-ex1.gv50
1 files changed, 28 insertions, 22 deletions
diff --git a/chapter02/docs/02-pre-peephole-ex1.gv b/chapter02/docs/02-pre-peephole-ex1.gv
index c2eab457..411de5ee 100644
--- a/chapter02/docs/02-pre-peephole-ex1.gv
+++ b/chapter02/docs/02-pre-peephole-ex1.gv
@@ -1,28 +1,34 @@
digraph chapter02 {
+/*
+return 1+2*3+-5;
+*/
rankdir=BT;
+ ordering="in";
+ concentrate="true";
subgraph cluster_Nodes {
Start1 [ shape=box style=filled fillcolor=yellow label="Start" ];
- Con12 [ label="Con1" ];
- Con23 [ label="Con2" ];
- Con34 [ label="Con3" ];
- Mul5 [ label="Mul" ];
- Con56 [ label="Con5" ];
- Minus7 [ label="Minus" ];
- Add8 [ label="Add" ];
- Add9 [ label="Add" ];
+ Con_2 [ label="#1" ];
+ Con_3 [ label="#2" ];
+ Con_4 [ label="#3" ];
+ Mul5 [ label="*" ];
+ Con_6 [ label="#5" ];
+ Minus7 [ label="-" ];
+ Add8 [ label="+" ];
+ Add9 [ label="+" ];
Return10 [ shape=box style=filled fillcolor=yellow label="Return" ];
}
- Con12 -> Start1 [style=dotted];
- Con23 -> Start1 [style=dotted];
- Con34 -> Start1 [style=dotted];
- Mul5 -> Con23;
- Mul5 -> Con34;
- Con56 -> Start1 [style=dotted];
- Minus7 -> Con56;
- Add8 -> Mul5;
- Add8 -> Minus7;
- Add9 -> Con12;
- Add9 -> Add8;
- Return10 -> Start1 [color=red];
- Return10 -> Add9;
-} \ No newline at end of file
+ edge [ fontname=Helvetica, fontsize=8 ];
+ Con_2 -> Start1[taillabel=0 style=dotted];
+ Con_3 -> Start1[taillabel=0 style=dotted];
+ Con_4 -> Start1[taillabel=0 style=dotted];
+ Mul5 -> Con_3[taillabel=1];
+ Mul5 -> Con_4[taillabel=2];
+ Con_6 -> Start1[taillabel=0 style=dotted];
+ Minus7 -> Con_6[taillabel=1];
+ Add8 -> Mul5[taillabel=1];
+ Add8 -> Minus7[taillabel=2];
+ Add9 -> Con_2[taillabel=1];
+ Add9 -> Add8[taillabel=2];
+ Return10 -> Start1[taillabel=0 color=red];
+ Return10 -> Add9[taillabel=1];
+}