diff options
| author | Dibyendu Majumdar <dibyendumajumdar@users.noreply.github.com> | 2023-11-03 21:21:54 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-11-03 21:21:54 +0000 |
| commit | 736c658c274404084b15b450b2ab72d0e7569586 (patch) | |
| tree | 38f729d42ca6a82f32429dde774eba7666a57391 /chapter04/docs | |
| parent | 360f4d1f2b5b4a3cb8bd97f1a659e8f7a3d0669e (diff) | |
| download | Simple-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 'chapter04/docs')
| -rw-r--r-- | chapter04/docs/04-post-peephole.gv | 32 | ||||
| -rw-r--r-- | chapter04/docs/04-post-peephole.svg | 82 | ||||
| -rw-r--r-- | chapter04/docs/04-pre-peephole.gv | 42 | ||||
| -rw-r--r-- | chapter04/docs/04-pre-peephole.svg | 116 |
4 files changed, 137 insertions, 135 deletions
diff --git a/chapter04/docs/04-post-peephole.gv b/chapter04/docs/04-post-peephole.gv index 22f55468..51e176bc 100644 --- a/chapter04/docs/04-post-peephole.gv +++ b/chapter04/docs/04-post-peephole.gv @@ -3,8 +3,10 @@ digraph chapter04 { return 1+arg+2; #showGraph; */ rankdir=BT; + ordering="in"; + concentrate="true"; subgraph cluster_Nodes { - Start1 [ shape=plaintext label=< + Start2 [ shape=plaintext label=< <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" CELLPADDING="4"> <TR><TD BGCOLOR="yellow">Start</TD></TR> <TR><TD> @@ -14,28 +16,28 @@ return 1+arg+2; #showGraph; </TD></TR> </TABLE>> ]; - Con_9 [ label="#3" ]; - Add10 [ label="Add" ]; - Return11 [ shape=box style=filled fillcolor=yellow label="Return" ]; + Con_10 [ label="#3" ]; + Add11 [ label="+" ]; + Return12 [ 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="cyan">0</TD><TD PORT="scope0_$ctrl">$ctrl</TD><TD PORT="scope0_arg">arg</TD></TR> + <TR><TD BGCOLOR="cyan">0</TD><TD PORT="Scope1_0_$ctrl">$ctrl</TD><TD PORT="Scope1_0_arg">arg</TD></TR> </TABLE>>]; - subgraph cluster_1 { - scope1 [label=< + subgraph cluster_Scope1_1 { + Scope1_1 [label=< <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0"> <TR><TD BGCOLOR="cyan">1</TD></TR> </TABLE>>]; } } - Add10 -> Start1:p1; - Add10 -> Con_9; - Return11 -> Start1:p0 [color=red]; - Return11 -> Add10; + edge [ fontname=Helvetica, fontsize=8 ]; + Add11 -> Start2:p1[taillabel=1]; + Add11 -> Con_10[taillabel=2]; + Return12 -> Start2:p0[taillabel=0; color=red]; + Return12 -> Add11[taillabel=1]; edge [style=dashed color=cornflowerblue]; - scope0:"scope0_$ctrl" -> Start1:p0; - scope0:"scope0_arg" -> Start1:p1; + Scope1_0:"Scope1_0_arg" -> Start2:p1; }
\ No newline at end of file diff --git a/chapter04/docs/04-post-peephole.svg b/chapter04/docs/04-post-peephole.svg index 5a45722c..550c16ef 100644 --- a/chapter04/docs/04-post-peephole.svg +++ b/chapter04/docs/04-post-peephole.svg @@ -14,16 +14,16 @@ <polygon fill="none" stroke="black" points="8,-8 8,-232 193,-232 193,-8 8,-8"/> </g> <g id="clust2" class="cluster"> -<title>cluster_0</title> +<title>cluster_Scope1_0</title> <polygon fill="none" stroke="black" points="201,-72 201,-140 401,-140 401,-72 201,-72"/> </g> <g id="clust3" class="cluster"> -<title>cluster_1</title> +<title>cluster_Scope1_1</title> <polygon fill="none" stroke="black" points="323,-80 323,-132 393,-132 393,-80 323,-80"/> </g> -<!-- Start1 --> +<!-- Start2 --> <g id="node1" class="node"> -<title>Start1</title> +<title>Start2</title> <polygon fill="yellow" stroke="transparent" points="97,-195 97,-220 178,-220 178,-195 97,-195"/> <polygon fill="none" stroke="black" points="97,-195 97,-220 178,-220 178,-195 97,-195"/> <text text-anchor="start" x="119" y="-203.8" font-family="Times,serif" font-size="14.00">Start</text> @@ -34,51 +34,55 @@ <polygon fill="none" stroke="black" points="142,-169 142,-190 173,-190 173,-169 142,-169"/> <text text-anchor="start" x="145" y="-175.8" font-family="Times,serif" font-size="14.00">arg</text> </g> -<!-- Con_9 --> +<!-- Con_10 --> <g id="node2" class="node"> -<title>Con_9</title> +<title>Con_10</title> <ellipse fill="none" stroke="black" cx="43" cy="-192" rx="27" ry="18"/> <text text-anchor="middle" x="43" y="-188.3" font-family="Times,serif" font-size="14.00">#3</text> </g> -<!-- Add10 --> +<!-- Add11 --> <g id="node3" class="node"> -<title>Add10</title> -<ellipse fill="none" stroke="black" cx="156" cy="-106" rx="28.7" ry="18"/> -<text text-anchor="middle" x="156" y="-102.3" font-family="Times,serif" font-size="14.00">Add</text> +<title>Add11</title> +<ellipse fill="none" stroke="black" cx="158" cy="-106" rx="27" ry="18"/> +<text text-anchor="middle" x="158" y="-102.3" font-family="Times,serif" font-size="14.00">+</text> </g> -<!-- Add10->Start1 --> +<!-- Add11->Start2 --> <g id="edge1" class="edge"> -<title>Add10->Start1:p1</title> -<path fill="none" stroke="black" d="M156.86,-124.09C157.28,-133.54 157.73,-145.77 157.92,-157.68"/> -<polygon fill="black" stroke="black" points="154.42,-158.03 158,-168 161.42,-157.97 154.42,-158.03"/> +<title>Add11->Start2:p1</title> +<path fill="none" stroke="black" d="M158,-124.09C158,-133.55 158,-145.77 158,-157.69"/> +<polygon fill="black" stroke="black" points="154.5,-158 158,-168 161.5,-158 154.5,-158"/> +<text text-anchor="middle" x="155" y="-126.69" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> </g> -<!-- Add10->Con_9 --> +<!-- Add11->Con_10 --> <g id="edge2" class="edge"> -<title>Add10->Con_9</title> -<path fill="none" stroke="black" d="M136.93,-119.61C121.35,-130.08 98.91,-145.53 80,-160 75.7,-163.29 71.22,-166.89 66.91,-170.44"/> -<polygon fill="black" stroke="black" points="64.38,-168 58.96,-177.1 68.87,-173.37 64.38,-168"/> +<title>Add11->Con_10</title> +<path fill="none" stroke="black" d="M139.03,-119.12C123,-129.54 99.59,-145.19 80,-160 75.68,-163.26 71.19,-166.85 66.88,-170.4"/> +<polygon fill="black" stroke="black" points="64.34,-167.96 58.92,-177.06 68.84,-173.32 64.34,-167.96"/> +<text text-anchor="middle" x="136.03" y="-121.72" font-family="Helvetica,sans-Serif" font-size="8.00">2</text> </g> -<!-- Return11 --> +<!-- Return12 --> <g id="node4" class="node"> -<title>Return11</title> -<polygon fill="yellow" stroke="black" points="163,-52 97,-52 97,-16 163,-16 163,-52"/> -<text text-anchor="middle" x="130" y="-30.3" font-family="Times,serif" font-size="14.00">Return</text> +<title>Return12</title> +<polygon fill="yellow" stroke="black" points="165,-52 99,-52 99,-16 165,-16 165,-52"/> +<text text-anchor="middle" x="132" y="-30.3" font-family="Times,serif" font-size="14.00">Return</text> </g> -<!-- Return11->Start1 --> +<!-- Return12->Start2 --> <g id="edge3" class="edge"> -<title>Return11->Start1:p0</title> -<path fill="none" stroke="red" d="M123.24,-52.04C121.12,-58.23 119.05,-65.33 118,-72 113.28,-101.85 115.86,-109.85 118,-140 118.58,-148.23 120.12,-152.3 121.11,-157.68"/> -<polygon fill="red" stroke="red" points="117.66,-158.34 122,-168 124.63,-157.74 117.66,-158.34"/> +<title>Return12->Start2:p0</title> +<path fill="none" stroke="red" d="M126.36,-52.13C124.59,-58.32 122.88,-65.4 122,-72 116.87,-110.66 121.12,-123.21 121.89,-157.66"/> +<polygon fill="red" stroke="red" points="118.39,-158.04 122,-168 125.39,-157.96 118.39,-158.04"/> +<text text-anchor="middle" x="123.36" y="-54.73" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> </g> -<!-- Return11->Add10 --> +<!-- Return12->Add11 --> <g id="edge4" class="edge"> -<title>Return11->Add10</title> -<path fill="none" stroke="black" d="M136.43,-52.3C139.4,-60.3 142.99,-69.98 146.29,-78.85"/> -<polygon fill="black" stroke="black" points="143.06,-80.22 149.83,-88.38 149.63,-77.78 143.06,-80.22"/> +<title>Return12->Add11</title> +<path fill="none" stroke="black" d="M138.43,-52.3C141.4,-60.3 144.99,-69.98 148.29,-78.85"/> +<polygon fill="black" stroke="black" points="145.06,-80.22 151.83,-88.38 151.63,-77.78 145.06,-80.22"/> +<text text-anchor="middle" x="135.43" y="-54.9" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> </g> -<!-- scope0 --> +<!-- Scope1_0 --> <g id="node5" class="node"> -<title>scope0</title> +<title>Scope1_0</title> <polygon fill="cyan" stroke="transparent" points="218,-95 218,-116 234,-116 234,-95 218,-95"/> <polygon fill="none" stroke="black" points="218,-95 218,-116 234,-116 234,-95 218,-95"/> <text text-anchor="start" x="221" y="-101.8" font-family="Times,serif" font-size="14.00">0</text> @@ -87,21 +91,15 @@ <polygon fill="none" stroke="black" points="274,-95 274,-116 305,-116 305,-95 274,-95"/> <text text-anchor="start" x="277" y="-101.8" font-family="Times,serif" font-size="14.00">arg</text> </g> -<!-- scope0->Start1 --> +<!-- Scope1_0->Start2 --> <g id="edge5" class="edge"> -<title>scope0:scope0_$ctrl->Start1:p0</title> -<path fill="none" stroke="cornflowerblue" stroke-dasharray="5,2" d="M254,-117C254,-176.09 137.5,-113.66 123.39,-158.03"/> -<polygon fill="cornflowerblue" stroke="cornflowerblue" points="119.92,-157.61 122,-168 126.85,-158.58 119.92,-157.61"/> -</g> -<!-- scope0->Start1 --> -<g id="edge6" class="edge"> -<title>scope0:scope0_arg->Start1:p1</title> +<title>Scope1_0:Scope1_0_arg->Start2:p1</title> <path fill="none" stroke="cornflowerblue" stroke-dasharray="5,2" d="M290,-117C290,-172.03 239,-178.4 184.25,-178.95"/> <polygon fill="cornflowerblue" stroke="cornflowerblue" points="183.98,-175.45 174,-179 184.02,-182.45 183.98,-175.45"/> </g> -<!-- scope1 --> +<!-- Scope1_1 --> <g id="node6" class="node"> -<title>scope1</title> +<title>Scope1_1</title> <polygon fill="cyan" stroke="transparent" points="350,-95 350,-116 366,-116 366,-95 350,-95"/> <polygon fill="none" stroke="black" points="350,-95 350,-116 366,-116 366,-95 350,-95"/> <text text-anchor="start" x="353" y="-101.8" font-family="Times,serif" font-size="14.00">1</text> diff --git a/chapter04/docs/04-pre-peephole.gv b/chapter04/docs/04-pre-peephole.gv index e8016c87..b6fefc2d 100644 --- a/chapter04/docs/04-pre-peephole.gv +++ b/chapter04/docs/04-pre-peephole.gv @@ -3,8 +3,10 @@ digraph chapter04 { return 1+arg+2; #showGraph; */ rankdir=BT; + ordering="in"; + concentrate="true"; subgraph cluster_Nodes { - Start1 [ shape=plaintext label=< + Start2 [ shape=plaintext label=< <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" CELLPADDING="4"> <TR><TD BGCOLOR="yellow">Start</TD></TR> <TR><TD> @@ -14,32 +16,32 @@ return 1+arg+2; #showGraph; </TD></TR> </TABLE>> ]; - Con_4 [ label="#1" ]; - Con_5 [ label="#2" ]; - Add6 [ label="Add" ]; - Add7 [ label="Add" ]; - Return8 [ shape=box style=filled fillcolor=yellow label="Return" ]; + Con_5 [ label="#1" ]; + Con_6 [ label="#2" ]; + Add7 [ label="+" ]; + Add8 [ label="+" ]; + Return9 [ 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="cyan">0</TD><TD PORT="scope0_$ctrl">$ctrl</TD><TD PORT="scope0_arg">arg</TD></TR> + <TR><TD BGCOLOR="cyan">0</TD><TD PORT="Scope1_0_$ctrl">$ctrl</TD><TD PORT="Scope1_0_arg">arg</TD></TR> </TABLE>>]; - subgraph cluster_1 { - scope1 [label=< + subgraph cluster_Scope1_1 { + Scope1_1 [label=< <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0"> <TR><TD BGCOLOR="cyan">1</TD></TR> </TABLE>>]; } } - Add6 -> Start1:p1; - Add6 -> Con_5; - Add7 -> Con_4; - Add7 -> Add6; - Return8 -> Start1:p0 [color=red]; - Return8 -> Add7; + edge [ fontname=Helvetica, fontsize=8 ]; + Add7 -> Start2:p1[taillabel=1]; + Add7 -> Con_6[taillabel=2]; + Add8 -> Con_5[taillabel=1]; + Add8 -> Add7[taillabel=2]; + Return9 -> Start2:p0[taillabel=0; color=red]; + Return9 -> Add8[taillabel=1]; edge [style=dashed color=cornflowerblue]; - scope0:"scope0_$ctrl" -> Start1:p0; - scope0:"scope0_arg" -> Start1:p1; -} + Scope1_0:"Scope1_0_arg" -> Start2:p1; +}
\ No newline at end of file diff --git a/chapter04/docs/04-pre-peephole.svg b/chapter04/docs/04-pre-peephole.svg index b1ab4eee..9ec38d27 100644 --- a/chapter04/docs/04-pre-peephole.svg +++ b/chapter04/docs/04-pre-peephole.svg @@ -14,16 +14,16 @@ <polygon fill="none" stroke="black" points="8,-8 8,-304 193,-304 193,-8 8,-8"/> </g> <g id="clust2" class="cluster"> -<title>cluster_0</title> +<title>cluster_Scope1_0</title> <polygon fill="none" stroke="black" points="201,-144 201,-212 401,-212 401,-144 201,-144"/> </g> <g id="clust3" class="cluster"> -<title>cluster_1</title> +<title>cluster_Scope1_1</title> <polygon fill="none" stroke="black" points="323,-152 323,-204 393,-204 393,-152 323,-152"/> </g> -<!-- Start1 --> +<!-- Start2 --> <g id="node1" class="node"> -<title>Start1</title> +<title>Start2</title> <polygon fill="yellow" stroke="transparent" points="97,-267 97,-292 178,-292 178,-267 97,-267"/> <polygon fill="none" stroke="black" points="97,-267 97,-292 178,-292 178,-267 97,-267"/> <text text-anchor="start" x="119" y="-275.8" font-family="Times,serif" font-size="14.00">Start</text> @@ -34,75 +34,81 @@ <polygon fill="none" stroke="black" points="142,-241 142,-262 173,-262 173,-241 142,-241"/> <text text-anchor="start" x="145" y="-247.8" font-family="Times,serif" font-size="14.00">arg</text> </g> -<!-- Con_4 --> +<!-- Con_5 --> <g id="node2" class="node"> -<title>Con_4</title> -<ellipse fill="none" stroke="black" cx="119" cy="-178" rx="27" ry="18"/> -<text text-anchor="middle" x="119" y="-174.3" font-family="Times,serif" font-size="14.00">#1</text> +<title>Con_5</title> +<ellipse fill="none" stroke="black" cx="115" cy="-178" rx="27" ry="18"/> +<text text-anchor="middle" x="115" y="-174.3" font-family="Times,serif" font-size="14.00">#1</text> </g> -<!-- Con_5 --> +<!-- Con_6 --> <g id="node3" class="node"> -<title>Con_5</title> +<title>Con_6</title> <ellipse fill="none" stroke="black" cx="43" cy="-264" rx="27" ry="18"/> <text text-anchor="middle" x="43" y="-260.3" font-family="Times,serif" font-size="14.00">#2</text> </g> -<!-- Add6 --> +<!-- Add7 --> <g id="node4" class="node"> -<title>Add6</title> -<ellipse fill="none" stroke="black" cx="45" cy="-178" rx="28.7" ry="18"/> -<text text-anchor="middle" x="45" y="-174.3" font-family="Times,serif" font-size="14.00">Add</text> +<title>Add7</title> +<ellipse fill="none" stroke="black" cx="43" cy="-178" rx="27" ry="18"/> +<text text-anchor="middle" x="43" y="-174.3" font-family="Times,serif" font-size="14.00">+</text> </g> -<!-- Add6->Start1 --> +<!-- Add7->Start2 --> <g id="edge1" class="edge"> -<title>Add6->Start1:p1</title> -<path fill="none" stroke="black" d="M59.56,-193.83C66.26,-200.06 74.59,-207 83,-212 110.12,-228.12 148.12,-209.69 156.37,-230.12"/> -<polygon fill="black" stroke="black" points="152.92,-230.7 158,-240 159.83,-229.56 152.92,-230.7"/> +<title>Add7->Start2:p1</title> +<path fill="none" stroke="black" d="M56.63,-193.93C62.95,-200.18 70.86,-207.11 79,-212 107.43,-229.09 147.88,-208.4 156.39,-229.99"/> +<polygon fill="black" stroke="black" points="152.96,-230.68 158,-240 159.87,-229.57 152.96,-230.68"/> +<text text-anchor="middle" x="53.63" y="-196.53" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> </g> -<!-- Add6->Con_5 --> +<!-- Add7->Con_6 --> <g id="edge2" class="edge"> -<title>Add6->Con_5</title> -<path fill="none" stroke="black" d="M44.6,-196C44.33,-207.31 43.97,-222.42 43.66,-235.43"/> -<polygon fill="black" stroke="black" points="40.15,-235.66 43.41,-245.74 47.15,-235.82 40.15,-235.66"/> +<title>Add7->Con_6</title> +<path fill="none" stroke="black" d="M43,-196.4C43,-207.74 43,-222.77 43,-235.68"/> +<polygon fill="black" stroke="black" points="39.5,-235.9 43,-245.9 46.5,-235.9 39.5,-235.9"/> +<text text-anchor="middle" x="40" y="-199" font-family="Helvetica,sans-Serif" font-size="8.00">2</text> </g> -<!-- Add7 --> +<!-- Add8 --> <g id="node5" class="node"> -<title>Add7</title> -<ellipse fill="none" stroke="black" cx="117" cy="-106" rx="28.7" ry="18"/> -<text text-anchor="middle" x="117" y="-102.3" font-family="Times,serif" font-size="14.00">Add</text> +<title>Add8</title> +<ellipse fill="none" stroke="black" cx="115" cy="-106" rx="27" ry="18"/> +<text text-anchor="middle" x="115" y="-102.3" font-family="Times,serif" font-size="14.00">+</text> </g> -<!-- Add7->Con_4 --> +<!-- Add8->Con_5 --> <g id="edge3" class="edge"> -<title>Add7->Con_4</title> -<path fill="none" stroke="black" d="M117.49,-124.3C117.71,-132.02 117.98,-141.29 118.23,-149.89"/> -<polygon fill="black" stroke="black" points="114.73,-150 118.51,-159.9 121.72,-149.8 114.73,-150"/> +<title>Add8->Con_5</title> +<path fill="none" stroke="black" d="M115,-124.3C115,-132.02 115,-141.29 115,-149.89"/> +<polygon fill="black" stroke="black" points="111.5,-149.9 115,-159.9 118.5,-149.9 111.5,-149.9"/> +<text text-anchor="middle" x="112" y="-126.9" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> </g> -<!-- Add7->Add6 --> +<!-- Add8->Add7 --> <g id="edge4" class="edge"> -<title>Add7->Add6</title> -<path fill="none" stroke="black" d="M102.08,-121.5C92.04,-131.27 78.62,-144.31 67.32,-155.3"/> -<polygon fill="black" stroke="black" points="64.63,-153.03 59.9,-162.51 69.51,-158.05 64.63,-153.03"/> +<title>Add8->Add7</title> +<path fill="none" stroke="black" d="M100.43,-121.17C90.25,-131.06 76.48,-144.45 64.97,-155.64"/> +<polygon fill="black" stroke="black" points="62.53,-153.13 57.8,-162.62 67.41,-158.15 62.53,-153.13"/> +<text text-anchor="middle" x="97.43" y="-123.77" font-family="Helvetica,sans-Serif" font-size="8.00">2</text> </g> -<!-- Return8 --> +<!-- Return9 --> <g id="node6" class="node"> -<title>Return8</title> -<polygon fill="yellow" stroke="black" points="167,-52 101,-52 101,-16 167,-16 167,-52"/> -<text text-anchor="middle" x="134" y="-30.3" font-family="Times,serif" font-size="14.00">Return</text> +<title>Return9</title> +<polygon fill="yellow" stroke="black" points="166,-52 100,-52 100,-16 166,-16 166,-52"/> +<text text-anchor="middle" x="133" y="-30.3" font-family="Times,serif" font-size="14.00">Return</text> </g> -<!-- Return8->Start1 --> +<!-- Return9->Start2 --> <g id="edge5" class="edge"> -<title>Return8->Start1:p0</title> -<path fill="none" stroke="red" d="M142.72,-52.17C147.37,-62.31 152.62,-75.56 155,-88 165.33,-142.13 178.15,-161.99 155,-212 148.81,-225.36 132.76,-223.4 125.57,-230.38"/> -<polygon fill="red" stroke="red" points="122.2,-229.41 122,-240 128.76,-231.84 122.2,-229.41"/> +<title>Return9->Start2:p0</title> +<path fill="none" stroke="red" d="M140.48,-52.3C144.47,-62.48 148.97,-75.73 151,-88 159.98,-142.37 172.54,-161.27 151,-212 145.75,-224.37 132.06,-223.86 125.55,-230.39"/> +<polygon fill="red" stroke="red" points="122.18,-229.41 122,-240 128.74,-231.83 122.18,-229.41"/> +<text text-anchor="middle" x="137.48" y="-54.9" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> </g> -<!-- Return8->Add7 --> +<!-- Return9->Add8 --> <g id="edge6" class="edge"> -<title>Return8->Add7</title> -<path fill="none" stroke="black" d="M129.8,-52.3C127.9,-60.1 125.62,-69.49 123.52,-78.17"/> -<polygon fill="black" stroke="black" points="120.11,-77.35 121.15,-87.9 126.92,-79 120.11,-77.35"/> +<title>Return9->Add8</title> +<path fill="none" stroke="black" d="M128.55,-52.3C126.55,-60.1 124.13,-69.49 121.9,-78.17"/> +<polygon fill="black" stroke="black" points="118.5,-77.34 119.4,-87.9 125.28,-79.08 118.5,-77.34"/> +<text text-anchor="middle" x="125.55" y="-54.9" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> </g> -<!-- scope0 --> +<!-- Scope1_0 --> <g id="node7" class="node"> -<title>scope0</title> +<title>Scope1_0</title> <polygon fill="cyan" stroke="transparent" points="218,-167 218,-188 234,-188 234,-167 218,-167"/> <polygon fill="none" stroke="black" points="218,-167 218,-188 234,-188 234,-167 218,-167"/> <text text-anchor="start" x="221" y="-173.8" font-family="Times,serif" font-size="14.00">0</text> @@ -111,21 +117,15 @@ <polygon fill="none" stroke="black" points="274,-167 274,-188 305,-188 305,-167 274,-167"/> <text text-anchor="start" x="277" y="-173.8" font-family="Times,serif" font-size="14.00">arg</text> </g> -<!-- scope0->Start1 --> +<!-- Scope1_0->Start2 --> <g id="edge7" class="edge"> -<title>scope0:scope0_$ctrl->Start1:p0</title> -<path fill="none" stroke="cornflowerblue" stroke-dasharray="5,2" d="M254,-189C254,-248.09 137.5,-185.66 123.39,-230.03"/> -<polygon fill="cornflowerblue" stroke="cornflowerblue" points="119.92,-229.61 122,-240 126.85,-230.58 119.92,-229.61"/> -</g> -<!-- scope0->Start1 --> -<g id="edge8" class="edge"> -<title>scope0:scope0_arg->Start1:p1</title> +<title>Scope1_0:Scope1_0_arg->Start2:p1</title> <path fill="none" stroke="cornflowerblue" stroke-dasharray="5,2" d="M290,-189C290,-244.03 239,-250.4 184.25,-250.95"/> <polygon fill="cornflowerblue" stroke="cornflowerblue" points="183.98,-247.45 174,-251 184.02,-254.45 183.98,-247.45"/> </g> -<!-- scope1 --> +<!-- Scope1_1 --> <g id="node8" class="node"> -<title>scope1</title> +<title>Scope1_1</title> <polygon fill="cyan" stroke="transparent" points="350,-167 350,-188 366,-188 366,-167 350,-167"/> <polygon fill="none" stroke="black" points="350,-167 350,-188 366,-188 366,-167 350,-167"/> <text text-anchor="start" x="353" y="-173.8" font-family="Times,serif" font-size="14.00">1</text> |
