summaryrefslogtreecommitdiff
path: root/docs/chapter06/06-graph3-nonconst.svg
diff options
context:
space:
mode:
authorDibyendu Majumdar <mobile@majumdar.org.uk>2023-11-11 23:17:22 +0000
committerDibyendu Majumdar <mobile@majumdar.org.uk>2024-10-23 17:51:09 -0700
commitff11dd42bb845ad4a979b8924c678addb8681801 (patch)
treee225854c8474cee5e6eb0e041a99c84bea1478ba /docs/chapter06/06-graph3-nonconst.svg
parent369268fe6f3bd1dcd59117c8f831f04f4e3b0560 (diff)
downloadSimple-linear-chapter06.tar.gz
Simple-linear-chapter06.zip
Chapter 6: Peepholes for Iflinear-chapter06
Co-authored-by: Cliff Click <cliffc@acm.org> Co-authored-by: Thalia Archibald <thalia@archibald.dev> Co-authored-by: Yichen Yan <oraluben@outlook.com> Co-authored-by: Tamas Hadhazy <helsgithub15@gmail.com> Co-authored-by: Robert Obkircher <robert.obkircher@gmail.com>
Diffstat (limited to 'docs/chapter06/06-graph3-nonconst.svg')
-rw-r--r--docs/chapter06/06-graph3-nonconst.svg290
1 files changed, 290 insertions, 0 deletions
diff --git a/docs/chapter06/06-graph3-nonconst.svg b/docs/chapter06/06-graph3-nonconst.svg
new file mode 100644
index 00000000..dee852e4
--- /dev/null
+++ b/docs/chapter06/06-graph3-nonconst.svg
@@ -0,0 +1,290 @@
+<?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: chapter06 Pages: 1 -->
+<svg width="414pt" height="664pt"
+ viewBox="0.00 0.00 414.00 664.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 660)">
+<title>chapter06</title>
+<polygon fill="white" stroke="transparent" points="-4,4 -4,-660 410,-660 410,4 -4,4"/>
+<g id="clust1" class="cluster">
+<title>cluster_Nodes</title>
+<polygon fill="none" stroke="black" points="8,-8 8,-648 398,-648 398,-8 8,-8"/>
+</g>
+<!-- Start2 -->
+<g id="node1" class="node">
+<title>Start2</title>
+<polygon fill="yellow" stroke="transparent" points="274,-611 274,-636 355,-636 355,-611 274,-611"/>
+<polygon fill="none" stroke="black" points="274,-611 274,-636 355,-636 355,-611 274,-611"/>
+<text text-anchor="start" x="296" y="-619.8" font-family="Times,serif" font-size="14.00">Start</text>
+<polygon fill="none" stroke="black" points="274,-580 274,-611 355,-611 355,-580 274,-580"/>
+<polygon fill="yellow" stroke="transparent" points="279,-585 279,-606 319,-606 319,-585 279,-585"/>
+<polygon fill="none" stroke="black" points="279,-585 279,-606 319,-606 319,-585 279,-585"/>
+<text text-anchor="start" x="282" y="-591.8" font-family="Times,serif" font-size="14.00">$ctrl</text>
+<polygon fill="none" stroke="black" points="319,-585 319,-606 350,-606 350,-585 319,-585"/>
+<text text-anchor="start" x="322" y="-591.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="299,-52 245,-52 245,-16 299,-16 299,-52"/>
+<text text-anchor="middle" x="272" y="-30.3" font-family="Times,serif" font-size="14.00">Stop</text>
+</g>
+<!-- Return25 -->
+<g id="node16" class="node">
+<title>Return25</title>
+<polygon fill="yellow" stroke="black" points="305,-124 239,-124 239,-88 305,-88 305,-124"/>
+<text text-anchor="middle" x="272" y="-102.3" font-family="Times,serif" font-size="14.00">Return</text>
+</g>
+<!-- Stop3&#45;&gt;Return25 -->
+<g id="edge1" class="edge">
+<title>Stop3&#45;&gt;Return25</title>
+<path fill="none" stroke="red" d="M272,-52.3C272,-60.02 272,-69.29 272,-77.89"/>
+<polygon fill="red" stroke="red" points="268.5,-77.9 272,-87.9 275.5,-77.9 268.5,-77.9"/>
+<text text-anchor="middle" x="269" y="-54.9" font-family="Helvetica,sans-Serif" font-size="8.00">0</text>
+</g>
+<!-- Con_6 -->
+<g id="node3" class="node">
+<title>Con_6</title>
+<ellipse fill="none" stroke="black" cx="259" cy="-322" rx="27" ry="18"/>
+<text text-anchor="middle" x="259" y="-318.3" font-family="Times,serif" font-size="14.00">#0</text>
+</g>
+<!-- Con_7 -->
+<g id="node4" class="node">
+<title>Con_7</title>
+<ellipse fill="none" stroke="black" cx="115" cy="-322" rx="27" ry="18"/>
+<text text-anchor="middle" x="115" y="-318.3" font-family="Times,serif" font-size="14.00">#1</text>
+</g>
+<!-- If8 -->
+<g id="node5" class="node">
+<title>If8</title>
+<polygon fill="yellow" stroke="transparent" points="288,-511 288,-536 382,-536 382,-511 288,-511"/>
+<polygon fill="none" stroke="black" points="288,-511 288,-536 382,-536 382,-511 288,-511"/>
+<text text-anchor="start" x="329.5" y="-519.8" font-family="Times,serif" font-size="14.00">If</text>
+<polygon fill="none" stroke="black" points="288,-480 288,-511 382,-511 382,-480 288,-480"/>
+<polygon fill="yellow" stroke="transparent" points="293,-485 293,-506 333,-506 333,-485 293,-485"/>
+<polygon fill="none" stroke="black" points="293,-485 293,-506 333,-506 333,-485 293,-485"/>
+<text text-anchor="start" x="296" y="-491.8" font-family="Times,serif" font-size="14.00">True</text>
+<polygon fill="yellow" stroke="transparent" points="333,-485 333,-506 377,-506 377,-485 333,-485"/>
+<polygon fill="none" stroke="black" points="333,-485 333,-506 377,-506 377,-485 333,-485"/>
+<text text-anchor="start" x="336" y="-491.8" font-family="Times,serif" font-size="14.00">False</text>
+</g>
+<!-- If8&#45;&gt;Start2 -->
+<g id="edge2" class="edge">
+<title>If8&#45;&gt;Start2:p0</title>
+<path fill="none" stroke="red" d="M312.41,-540.3C306.75,-550.38 301.75,-562.04 299.83,-573.96"/>
+<polygon fill="red" stroke="red" points="296.34,-573.75 299,-584 303.31,-574.32 296.34,-573.75"/>
+<text text-anchor="middle" x="309.41" y="-542.9" font-family="Helvetica,sans-Serif" font-size="8.00">0</text>
+</g>
+<!-- If8&#45;&gt;Start2 -->
+<g id="edge3" class="edge">
+<title>If8&#45;&gt;Start2:p1</title>
+<path fill="none" stroke="black" d="M335,-540.02C335,-550.47 335,-562.42 335,-573.98"/>
+<polygon fill="black" stroke="black" points="331.5,-574 335,-584 338.5,-574 331.5,-574"/>
+<text text-anchor="middle" x="332" y="-542.62" font-family="Helvetica,sans-Serif" font-size="8.00">1</text>
+</g>
+<!-- Con_12 -->
+<g id="node6" class="node">
+<title>Con_12</title>
+<ellipse fill="none" stroke="black" cx="187" cy="-322" rx="27" ry="18"/>
+<text text-anchor="middle" x="187" y="-318.3" font-family="Times,serif" font-size="14.00">#2</text>
+</g>
+<!-- If13 -->
+<g id="node7" class="node">
+<title>If13</title>
+<polygon fill="yellow" stroke="transparent" points="267,-411 267,-436 361,-436 361,-411 267,-411"/>
+<polygon fill="none" stroke="black" points="267,-411 267,-436 361,-436 361,-411 267,-411"/>
+<text text-anchor="start" x="308.5" y="-419.8" font-family="Times,serif" font-size="14.00">If</text>
+<polygon fill="none" stroke="black" points="267,-380 267,-411 361,-411 361,-380 267,-380"/>
+<polygon fill="yellow" stroke="transparent" points="272,-385 272,-406 312,-406 312,-385 272,-385"/>
+<polygon fill="none" stroke="black" points="272,-385 272,-406 312,-406 312,-385 272,-385"/>
+<text text-anchor="start" x="275" y="-391.8" font-family="Times,serif" font-size="14.00">True</text>
+<polygon fill="yellow" stroke="transparent" points="312,-385 312,-406 356,-406 356,-385 312,-385"/>
+<polygon fill="none" stroke="black" points="312,-385 312,-406 356,-406 356,-385 312,-385"/>
+<text text-anchor="start" x="315" y="-391.8" font-family="Times,serif" font-size="14.00">False</text>
+</g>
+<!-- If13&#45;&gt;Start2 -->
+<g id="edge5" class="edge">
+<title>If13&#45;&gt;Start2:p1</title>
+<path fill="none" stroke="black" d="M288.75,-440.22C281.57,-450.93 274.7,-463.4 271,-476 262.99,-503.29 257.76,-514.83 271,-540 285.19,-566.97 324.2,-553.71 333.15,-573.98"/>
+<polygon fill="black" stroke="black" points="329.75,-574.8 335,-584 336.63,-573.53 329.75,-574.8"/>
+<text text-anchor="middle" x="285.75" y="-442.82" font-family="Helvetica,sans-Serif" font-size="8.00">1</text>
+</g>
+<!-- If13&#45;&gt;If8 -->
+<g id="edge4" class="edge">
+<title>If13&#45;&gt;If8:p0</title>
+<path fill="none" stroke="red" d="M313.4,-440.02C313.24,-450.46 313.09,-462.42 313.03,-473.98"/>
+<polygon fill="red" stroke="red" points="309.53,-473.99 313,-484 316.53,-474.01 309.53,-473.99"/>
+<text text-anchor="middle" x="310.4" y="-442.62" font-family="Helvetica,sans-Serif" font-size="8.00">0</text>
+</g>
+<!-- Con_17 -->
+<g id="node8" class="node">
+<title>Con_17</title>
+<ellipse fill="none" stroke="black" cx="43" cy="-408" rx="27" ry="18"/>
+<text text-anchor="middle" x="43" y="-404.3" font-family="Times,serif" font-size="14.00">#2</text>
+</g>
+<!-- Con_18 -->
+<g id="node9" class="node">
+<title>Con_18</title>
+<ellipse fill="none" stroke="black" cx="115" cy="-408" rx="27" ry="18"/>
+<text text-anchor="middle" x="115" y="-404.3" font-family="Times,serif" font-size="14.00">#3</text>
+</g>
+<!-- Region19 -->
+<g id="node10" class="node">
+<title>Region19</title>
+<polygon fill="yellow" stroke="black" points="370,-340 304,-340 304,-304 370,-304 370,-340"/>
+<text text-anchor="middle" x="337" y="-318.3" font-family="Times,serif" font-size="14.00">Region</text>
+</g>
+<!-- Region19&#45;&gt;If13 -->
+<g id="edge6" class="edge">
+<title>Region19&#45;&gt;If13:p0</title>
+<path fill="none" stroke="red" d="M315.29,-340.1C306.12,-348.94 296.78,-360.62 293.36,-373.72"/>
+<polygon fill="red" stroke="red" points="289.84,-373.63 292,-384 296.78,-374.54 289.84,-373.63"/>
+<text text-anchor="middle" x="312.29" y="-342.7" font-family="Helvetica,sans-Serif" font-size="8.00">1</text>
+</g>
+<!-- Region19&#45;&gt;If13 -->
+<g id="edge7" class="edge">
+<title>Region19&#45;&gt;If13:p1</title>
+<path fill="none" stroke="red" d="M335.71,-340.08C335.08,-349.53 334.4,-361.76 334.13,-373.68"/>
+<polygon fill="red" stroke="red" points="330.62,-373.96 334,-384 337.62,-374.04 330.62,-373.96"/>
+<text text-anchor="middle" x="332.71" y="-342.68" font-family="Helvetica,sans-Serif" font-size="8.00">2</text>
+</g>
+<!-- Phi_b20 -->
+<g id="node11" class="node">
+<title>Phi_b20</title>
+<ellipse fill="lightyellow" stroke="black" cx="43" cy="-322" rx="27.1" ry="18"/>
+<text text-anchor="middle" x="43" y="-318.3" font-family="Times,serif" font-size="14.00">φ_b</text>
+</g>
+<!-- Phi_b20&#45;&gt;Con_17 -->
+<g id="edge9" class="edge">
+<title>Phi_b20&#45;&gt;Con_17</title>
+<path fill="none" stroke="black" d="M43,-340.4C43,-351.74 43,-366.77 43,-379.68"/>
+<polygon fill="black" stroke="black" points="39.5,-379.9 43,-389.9 46.5,-379.9 39.5,-379.9"/>
+<text text-anchor="middle" x="40" y="-343" font-family="Helvetica,sans-Serif" font-size="8.00">1</text>
+</g>
+<!-- Phi_b20&#45;&gt;Con_18 -->
+<g id="edge10" class="edge">
+<title>Phi_b20&#45;&gt;Con_18</title>
+<path fill="none" stroke="black" d="M55.87,-338.02C66.93,-350.92 83.04,-369.71 95.65,-384.42"/>
+<polygon fill="black" stroke="black" points="93.07,-386.8 102.24,-392.11 98.39,-382.24 93.07,-386.8"/>
+<text text-anchor="middle" x="52.87" y="-340.62" font-family="Helvetica,sans-Serif" font-size="8.00">2</text>
+</g>
+<!-- Phi_b20&#45;&gt;Region19 -->
+<g id="edge8" class="edge">
+<title>Phi_b20&#45;&gt;Region19</title>
+<path fill="none" stroke="black" stroke-dasharray="1,5" d="M57.22,-306.43C65.37,-298.68 76.29,-290.11 88,-286 129.52,-271.44 244.06,-272.69 286,-286 293.99,-288.54 301.81,-292.83 308.83,-297.58"/>
+<polygon fill="black" stroke="black" points="307.11,-300.66 317.24,-303.75 311.25,-295.01 307.11,-300.66"/>
+<text text-anchor="middle" x="54.22" y="-300.03" font-family="Helvetica,sans-Serif" font-size="8.00">0</text>
+</g>
+<!-- Region21 -->
+<g id="node12" class="node">
+<title>Region21</title>
+<polygon fill="yellow" stroke="black" points="352,-268 286,-268 286,-232 352,-232 352,-268"/>
+<text text-anchor="middle" x="319" y="-246.3" font-family="Times,serif" font-size="14.00">Region</text>
+</g>
+<!-- Region21&#45;&gt;If8 -->
+<g id="edge12" class="edge">
+<title>Region21&#45;&gt;If8:p1</title>
+<path fill="none" stroke="red" d="M347.26,-268.03C359.43,-277.04 372.37,-289.3 379,-304 385.58,-318.6 394.79,-373.07 378,-440 373.59,-457.56 360.94,-461.07 356.53,-473.94"/>
+<polygon fill="red" stroke="red" points="353.05,-473.59 355,-484 359.97,-474.64 353.05,-473.59"/>
+<text text-anchor="middle" x="344.26" y="-270.63" font-family="Helvetica,sans-Serif" font-size="8.00">2</text>
+</g>
+<!-- Region21&#45;&gt;Region19 -->
+<g id="edge11" class="edge">
+<title>Region21&#45;&gt;Region19</title>
+<path fill="none" stroke="red" d="M323.45,-268.3C325.45,-276.1 327.87,-285.49 330.1,-294.17"/>
+<polygon fill="red" stroke="red" points="326.72,-295.08 332.6,-303.9 333.5,-293.34 326.72,-295.08"/>
+<text text-anchor="middle" x="320.45" y="-270.9" font-family="Helvetica,sans-Serif" font-size="8.00">1</text>
+</g>
+<!-- Phi_a22 -->
+<g id="node13" class="node">
+<title>Phi_a22</title>
+<ellipse fill="lightyellow" stroke="black" cx="241" cy="-250" rx="27" ry="18"/>
+<text text-anchor="middle" x="241" y="-246.3" font-family="Times,serif" font-size="14.00">φ_a</text>
+</g>
+<!-- Phi_a22&#45;&gt;Con_6 -->
+<g id="edge15" class="edge">
+<title>Phi_a22&#45;&gt;Con_6</title>
+<path fill="none" stroke="black" d="M245.36,-267.95C247.39,-275.86 249.86,-285.46 252.14,-294.31"/>
+<polygon fill="black" stroke="black" points="248.8,-295.4 254.68,-304.21 255.58,-293.65 248.8,-295.4"/>
+<text text-anchor="middle" x="242.36" y="-270.55" font-family="Helvetica,sans-Serif" font-size="8.00">2</text>
+</g>
+<!-- Phi_a22&#45;&gt;Con_12 -->
+<g id="edge14" class="edge">
+<title>Phi_a22&#45;&gt;Con_12</title>
+<path fill="none" stroke="black" d="M229.02,-266.54C222.02,-275.6 213.06,-287.21 205.21,-297.39"/>
+<polygon fill="black" stroke="black" points="202.29,-295.45 198.95,-305.51 207.83,-299.73 202.29,-295.45"/>
+<text text-anchor="middle" x="226.02" y="-269.14" font-family="Helvetica,sans-Serif" font-size="8.00">1</text>
+</g>
+<!-- Phi_a22&#45;&gt;Region21 -->
+<g id="edge13" class="edge">
+<title>Phi_a22&#45;&gt;Region21</title>
+<path fill="none" stroke="black" stroke-dasharray="1,5" d="M268.12,-250C270.58,-250 273.04,-250 275.5,-250"/>
+<polygon fill="black" stroke="black" points="275.61,-253.5 285.61,-250 275.61,-246.5 275.61,-253.5"/>
+<text text-anchor="middle" x="271.12" y="-243.6" font-family="Helvetica,sans-Serif" font-size="8.00">0</text>
+</g>
+<!-- Phi_b23 -->
+<g id="node14" class="node">
+<title>Phi_b23</title>
+<ellipse fill="lightyellow" stroke="black" cx="133" cy="-250" rx="27.1" ry="18"/>
+<text text-anchor="middle" x="133" y="-246.3" font-family="Times,serif" font-size="14.00">φ_b</text>
+</g>
+<!-- Phi_b23&#45;&gt;Con_7 -->
+<g id="edge18" class="edge">
+<title>Phi_b23&#45;&gt;Con_7</title>
+<path fill="none" stroke="black" d="M128.64,-267.95C126.61,-275.86 124.14,-285.46 121.86,-294.31"/>
+<polygon fill="black" stroke="black" points="118.42,-293.65 119.32,-304.21 125.2,-295.4 118.42,-293.65"/>
+<text text-anchor="middle" x="125.64" y="-270.55" font-family="Helvetica,sans-Serif" font-size="8.00">2</text>
+</g>
+<!-- Phi_b23&#45;&gt;Phi_b20 -->
+<g id="edge17" class="edge">
+<title>Phi_b23&#45;&gt;Phi_b20</title>
+<path fill="none" stroke="black" d="M116.07,-264.17C102.58,-274.66 83.49,-289.51 68.2,-301.4"/>
+<polygon fill="black" stroke="black" points="65.9,-298.75 60.16,-307.65 70.2,-304.28 65.9,-298.75"/>
+<text text-anchor="middle" x="113.07" y="-266.77" font-family="Helvetica,sans-Serif" font-size="8.00">1</text>
+</g>
+<!-- Phi_b23&#45;&gt;Region21 -->
+<g id="edge16" class="edge">
+<title>Phi_b23&#45;&gt;Region21</title>
+<path fill="none" stroke="black" stroke-dasharray="1,5" d="M152.84,-237.61C179.31,-222.7 227.54,-201.16 268,-214 275.99,-216.54 283.81,-220.83 290.83,-225.58"/>
+<polygon fill="black" stroke="black" points="289.11,-228.66 299.24,-231.75 293.25,-223.01 289.11,-228.66"/>
+<text text-anchor="middle" x="149.84" y="-231.21" font-family="Helvetica,sans-Serif" font-size="8.00">0</text>
+</g>
+<!-- Add24 -->
+<g id="node15" class="node">
+<title>Add24</title>
+<ellipse fill="none" stroke="black" cx="241" cy="-178" rx="27" ry="18"/>
+<text text-anchor="middle" x="241" y="-174.3" font-family="Times,serif" font-size="14.00">+</text>
+</g>
+<!-- Add24&#45;&gt;Phi_a22 -->
+<g id="edge20" class="edge">
+<title>Add24&#45;&gt;Phi_a22</title>
+<path fill="none" stroke="black" d="M241,-196.3C241,-204.02 241,-213.29 241,-221.89"/>
+<polygon fill="black" stroke="black" points="237.5,-221.9 241,-231.9 244.5,-221.9 237.5,-221.9"/>
+<text text-anchor="middle" x="238" y="-198.9" font-family="Helvetica,sans-Serif" font-size="8.00">2</text>
+</g>
+<!-- Add24&#45;&gt;Phi_b23 -->
+<g id="edge19" class="edge">
+<title>Add24&#45;&gt;Phi_b23</title>
+<path fill="none" stroke="black" d="M222.19,-191.19C205.1,-202.27 179.69,-218.74 160.36,-231.27"/>
+<polygon fill="black" stroke="black" points="158.45,-228.34 151.96,-236.71 162.25,-234.21 158.45,-228.34"/>
+<text text-anchor="middle" x="219.19" y="-193.79" font-family="Helvetica,sans-Serif" font-size="8.00">1</text>
+</g>
+<!-- Return25&#45;&gt;Region21 -->
+<g id="edge21" class="edge">
+<title>Return25&#45;&gt;Region21</title>
+<path fill="none" stroke="red" d="M277.67,-124.13C285.71,-148.44 300.52,-193.18 310.06,-221.99"/>
+<polygon fill="red" stroke="red" points="306.85,-223.42 313.31,-231.81 313.49,-221.22 306.85,-223.42"/>
+<text text-anchor="middle" x="274.67" y="-126.73" font-family="Helvetica,sans-Serif" font-size="8.00">0</text>
+</g>
+<!-- Return25&#45;&gt;Add24 -->
+<g id="edge22" class="edge">
+<title>Return25&#45;&gt;Add24</title>
+<path fill="none" stroke="black" d="M264.34,-124.3C260.76,-132.39 256.42,-142.19 252.46,-151.13"/>
+<polygon fill="black" stroke="black" points="249.21,-149.82 248.36,-160.38 255.61,-152.65 249.21,-149.82"/>
+<text text-anchor="middle" x="261.34" y="-126.9" font-family="Helvetica,sans-Serif" font-size="8.00">1</text>
+</g>
+</g>
+</svg>