summaryrefslogtreecommitdiff
path: root/docs/chapter09/09-graph3.svg
diff options
context:
space:
mode:
authorThalia Archibald <thalia@archibald.dev>2024-03-03 17:55:47 +0000
committerThalia Archibald <thalia@archibald.dev>2024-10-23 17:51:09 -0700
commit9ed409df4516e0089afbc7d5ccf9b029d431be04 (patch)
treec0ae90716b9551dc0e58d0ec52f5e4e91bb1152f /docs/chapter09/09-graph3.svg
parent425f05826799e9da06a630187d2ad05c656266a1 (diff)
downloadSimple-9ed409df4516e0089afbc7d5ccf9b029d431be04.tar.gz
Simple-9ed409df4516e0089afbc7d5ccf9b029d431be04.zip
Chapter 9: Global Value Numbering and Iterative Peepholeslinear-chapter09
Co-authored-by: Cliff Click <cliffc@acm.org> Co-authored-by: XmiliaH <45106915+XmiliaH@users.noreply.github.com> Co-authored-by: Robert Obkircher <robert.obkircher@gmail.com> Co-authored-by: Dibyendu Majumdar <mobile@majumdar.org.uk> Co-authored-by: Darrick Wiebe <darrickw@untether.ai>
Diffstat (limited to 'docs/chapter09/09-graph3.svg')
-rw-r--r--docs/chapter09/09-graph3.svg109
1 files changed, 109 insertions, 0 deletions
diff --git a/docs/chapter09/09-graph3.svg b/docs/chapter09/09-graph3.svg
new file mode 100644
index 00000000..f26c96e8
--- /dev/null
+++ b/docs/chapter09/09-graph3.svg
@@ -0,0 +1,109 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<!-- Generated by graphviz version 2.43.0 (0)
+ -->
+<!-- Title: chapter08 Pages: 1 -->
+<svg width="186pt" height="392pt"
+ viewBox="0.00 0.00 186.00 392.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 388)">
+<title>chapter08</title>
+<polygon fill="white" stroke="transparent" points="-4,4 -4,-388 182,-388 182,4 -4,4"/>
+<g id="clust1" class="cluster">
+<title>cluster_Nodes</title>
+<polygon fill="none" stroke="black" points="8,-8 8,-376 170,-376 170,-8 8,-8"/>
+</g>
+<!-- Start2 -->
+<g id="node1" class="node">
+<title>Start2</title>
+<polygon fill="yellow" stroke="transparent" points="24,-339 24,-364 105,-364 105,-339 24,-339"/>
+<polygon fill="none" stroke="black" points="24,-339 24,-364 105,-364 105,-339 24,-339"/>
+<text text-anchor="start" x="46" y="-347.8" font-family="Times,serif" font-size="14.00">Start</text>
+<polygon fill="none" stroke="black" points="24,-308 24,-339 105,-339 105,-308 24,-308"/>
+<polygon fill="yellow" stroke="transparent" points="29,-313 29,-334 69,-334 69,-313 29,-313"/>
+<polygon fill="none" stroke="black" points="29,-313 29,-334 69,-334 69,-313 29,-313"/>
+<text text-anchor="start" x="32" y="-319.8" font-family="Times,serif" font-size="14.00">$ctrl</text>
+<polygon fill="none" stroke="black" points="69,-313 69,-334 100,-334 100,-313 69,-313"/>
+<text text-anchor="start" x="72" y="-319.8" font-family="Times,serif" font-size="14.00">arg</text>
+</g>
+<!-- Stop3 -->
+<g id="node2" class="node">
+<title>Stop3</title>
+<polygon fill="yellow" stroke="black" points="83,-52 29,-52 29,-16 83,-16 83,-52"/>
+<text text-anchor="middle" x="56" y="-30.3" font-family="Times,serif" font-size="14.00">Stop</text>
+</g>
+<!-- Return9 -->
+<g id="node6" class="node">
+<title>Return9</title>
+<polygon fill="yellow" stroke="black" points="89,-124 23,-124 23,-88 89,-88 89,-124"/>
+<text text-anchor="middle" x="56" y="-102.3" font-family="Times,serif" font-size="14.00">Return</text>
+</g>
+<!-- Stop3&#45;&gt;Return9 -->
+<g id="edge1" class="edge">
+<title>Stop3&#45;&gt;Return9</title>
+<path fill="none" stroke="red" d="M56,-52.3C56,-60.02 56,-69.29 56,-77.89"/>
+<polygon fill="red" stroke="red" points="52.5,-77.9 56,-87.9 59.5,-77.9 52.5,-77.9"/>
+<text text-anchor="middle" x="53" y="-54.9" font-family="Helvetica,sans-Serif" font-size="8.00">0</text>
+</g>
+<!-- Mul6 -->
+<g id="node3" class="node">
+<title>Mul6</title>
+<ellipse fill="none" stroke="black" cx="63" cy="-250" rx="27" ry="18"/>
+<text text-anchor="middle" x="63" y="-246.3" font-family="Times,serif" font-size="14.00">*</text>
+</g>
+<!-- Mul6&#45;&gt;Start2 -->
+<g id="edge2" class="edge">
+<title>Mul6&#45;&gt;Start2:p1</title>
+<path fill="none" stroke="black" d="M72.2,-267.01C76.96,-276.47 82.18,-289.06 84.17,-301.8"/>
+<polygon fill="black" stroke="black" points="80.7,-302.32 85,-312 87.67,-301.75 80.7,-302.32"/>
+<text text-anchor="middle" x="69.2" y="-269.61" font-family="Helvetica,sans-Serif" font-size="8.00">1</text>
+</g>
+<!-- Mul7 -->
+<g id="node4" class="node">
+<title>Mul7</title>
+<ellipse fill="none" stroke="black" cx="135" cy="-250" rx="27" ry="18"/>
+<text text-anchor="middle" x="135" y="-246.3" font-family="Times,serif" font-size="14.00">*</text>
+</g>
+<!-- Mul7&#45;&gt;Start2 -->
+<g id="edge4" class="edge">
+<title>Mul7&#45;&gt;Start2:p1</title>
+<path fill="none" stroke="black" d="M116.38,-263.15C104.61,-272.17 90.81,-285.67 86.42,-301.7"/>
+<polygon fill="black" stroke="black" points="82.9,-301.62 85,-312 89.83,-302.57 82.9,-301.62"/>
+<text text-anchor="middle" x="113.38" y="-265.75" font-family="Helvetica,sans-Serif" font-size="8.00">1</text>
+</g>
+<!-- Sub8 -->
+<g id="node5" class="node">
+<title>Sub8</title>
+<ellipse fill="none" stroke="black" cx="63" cy="-178" rx="27" ry="18"/>
+<text text-anchor="middle" x="63" y="-174.3" font-family="Times,serif" font-size="14.00">&#45;</text>
+</g>
+<!-- Sub8&#45;&gt;Mul6 -->
+<g id="edge6" class="edge">
+<title>Sub8&#45;&gt;Mul6</title>
+<path fill="none" stroke="black" d="M63,-196.3C63,-204.02 63,-213.29 63,-221.89"/>
+<polygon fill="black" stroke="black" points="59.5,-221.9 63,-231.9 66.5,-221.9 59.5,-221.9"/>
+<text text-anchor="middle" x="60" y="-198.9" font-family="Helvetica,sans-Serif" font-size="8.00">1</text>
+</g>
+<!-- Sub8&#45;&gt;Mul7 -->
+<g id="edge7" class="edge">
+<title>Sub8&#45;&gt;Mul7</title>
+<path fill="none" stroke="black" d="M77.57,-193.17C87.75,-203.06 101.52,-216.45 113.03,-227.64"/>
+<polygon fill="black" stroke="black" points="110.59,-230.15 120.2,-234.62 115.47,-225.13 110.59,-230.15"/>
+<text text-anchor="middle" x="74.57" y="-195.77" font-family="Helvetica,sans-Serif" font-size="8.00">2</text>
+</g>
+<!-- Return9&#45;&gt;Start2 -->
+<g id="edge8" class="edge">
+<title>Return9&#45;&gt;Start2:p0</title>
+<path fill="none" stroke="red" d="M43.69,-124.22C37.35,-134.16 30.27,-147.2 27,-160 15.11,-206.5 15.97,-221.28 27,-268 31.12,-285.46 43.28,-289.17 47.52,-302.01"/>
+<polygon fill="red" stroke="red" points="44.08,-302.62 49,-312 51,-301.6 44.08,-302.62"/>
+<text text-anchor="middle" x="40.69" y="-126.82" font-family="Helvetica,sans-Serif" font-size="8.00">0</text>
+</g>
+<!-- Return9&#45;&gt;Sub8 -->
+<g id="edge9" class="edge">
+<title>Return9&#45;&gt;Sub8</title>
+<path fill="none" stroke="black" d="M57.73,-124.3C58.5,-132.02 59.43,-141.29 60.29,-149.89"/>
+<polygon fill="black" stroke="black" points="56.81,-150.29 61.29,-159.9 63.78,-149.6 56.81,-150.29"/>
+<text text-anchor="middle" x="54.73" y="-126.9" font-family="Helvetica,sans-Serif" font-size="8.00">1</text>
+</g>
+</g>
+</svg>