diff options
| author | Dibyendu Majumdar <dibyendumajumdar@users.noreply.github.com> | 2024-04-29 00:11:36 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-04-28 16:11:36 -0700 |
| commit | e31c37890a86aedfb209cf543baf05b1b60a27d2 (patch) | |
| tree | 5c1151adb45e839a8f4b0f7cc918bf49771e52f1 /chapter10/docs/example1.drawio | |
| parent | 17f9d743c06170f20773863bd1eca4f25ef41490 (diff) | |
| download | Simple-e31c37890a86aedfb209cf543baf05b1b60a27d2.tar.gz Simple-e31c37890a86aedfb209cf543baf05b1b60a27d2.zip | |
Ch10update (#75)
* Store-after-Store peep
* Load-after-Store peephole
* Fix graph viz mem edge color bug
* Scalar replace loop carried dependence
* #67 Dead Not node hanging around - if we add a Not in the upcast then add it to the IterPeeps worklist to ensure it gets cleaned up. We don't see the Not node in the parser hence we cannot do a peep on it there.
* #67 Update visuals. Add description of Store-Store and Store-Load peeps. Add examples.
* #67 Undo the change that wasn't supposed to be committed!
* #67 Update description of the Store-Store and Store-Load peepholes
---------
Co-authored-by: Cliff Click <cliffc@acm.org>
Diffstat (limited to 'chapter10/docs/example1.drawio')
| -rw-r--r-- | chapter10/docs/example1.drawio | 234 |
1 files changed, 0 insertions, 234 deletions
diff --git a/chapter10/docs/example1.drawio b/chapter10/docs/example1.drawio deleted file mode 100644 index b3b408c5..00000000 --- a/chapter10/docs/example1.drawio +++ /dev/null @@ -1,234 +0,0 @@ -<mxfile host="65bd71144e"> - <diagram id="pVfa21MziEbxiRWqA5Sa" name="Page-1"> - <mxGraphModel dx="1780" dy="907" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="850" pageHeight="1100" math="0" shadow="0"> - <root> - <mxCell id="0"/> - <mxCell id="1" parent="0"/> - <mxCell id="2" value="" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"> - <mxGeometry x="280" y="20" width="160" height="90" as="geometry"/> - </mxCell> - <mxCell id="3" value="Start" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e3c800;fontColor=#000000;strokeColor=#B09500;" vertex="1" parent="1"> - <mxGeometry x="280" y="20" width="160" height="40" as="geometry"/> - </mxCell> - <mxCell id="4" value="$ctrl" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e3c800;fontColor=#000000;strokeColor=#B09500;" vertex="1" parent="1"> - <mxGeometry x="290" y="70" width="40" height="30" as="geometry"/> - </mxCell> - <mxCell id="5" value="arg" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"> - <mxGeometry x="340" y="70" width="40" height="30" as="geometry"/> - </mxCell> - <mxCell id="6" value="Mem" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"> - <mxGeometry x="390" y="70" width="40" height="30" as="geometry"/> - </mxCell> - <mxCell id="8" style="edgeStyle=none;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="1" source="7" target="6"> - <mxGeometry relative="1" as="geometry"/> - </mxCell> - <mxCell id="7" value="new Vec2D" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"> - <mxGeometry x="360" y="210" width="100" height="40" as="geometry"/> - </mxCell> - <mxCell id="9" value="#1" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;" vertex="1" parent="1"> - <mxGeometry x="720" y="200" width="80" height="80" as="geometry"/> - </mxCell> - <mxCell id="12" style="edgeStyle=none;html=1;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="1" source="10" target="51"> - <mxGeometry relative="1" as="geometry"> - <mxPoint x="385" y="270" as="targetPoint"/> - <Array as="points"> - <mxPoint x="550" y="360"/> - </Array> - </mxGeometry> - </mxCell> - <mxCell id="13" style="edgeStyle=none;html=1;exitX=0.75;exitY=0;exitDx=0;exitDy=0;" edge="1" parent="1" source="10" target="9"> - <mxGeometry relative="1" as="geometry"> - <mxPoint x="550" y="230" as="targetPoint"/> - </mxGeometry> - </mxCell> - <mxCell id="10" value="Store .x" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"> - <mxGeometry x="650" y="350" width="120" height="60" as="geometry"/> - </mxCell> - <mxCell id="11" value="alias 1" style="endArrow=classic;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;" edge="1" parent="1" source="10" target="52"> - <mxGeometry width="50" height="50" relative="1" as="geometry"> - <mxPoint x="420" y="290" as="sourcePoint"/> - <mxPoint x="470" y="240" as="targetPoint"/> - <Array as="points"> - <mxPoint x="610" y="290"/> - </Array> - </mxGeometry> - </mxCell> - <mxCell id="14" value="" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"> - <mxGeometry x="275" y="410" width="90" height="80" as="geometry"/> - </mxCell> - <mxCell id="15" value="" style="curved=1;endArrow=classic;html=1;" edge="1" parent="1" source="39" target="5"> - <mxGeometry width="50" height="50" relative="1" as="geometry"> - <mxPoint x="170" y="200" as="sourcePoint"/> - <mxPoint x="450" y="370" as="targetPoint"/> - <Array as="points"/> - </mxGeometry> - </mxCell> - <mxCell id="16" value="If" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e3c800;fontColor=#000000;strokeColor=#B09500;" vertex="1" parent="1"> - <mxGeometry x="275" y="410" width="90" height="30" as="geometry"/> - </mxCell> - <mxCell id="17" value="T" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e3c800;fontColor=#000000;strokeColor=#B09500;" vertex="1" parent="1"> - <mxGeometry x="285" y="450" width="30" height="30" as="geometry"/> - </mxCell> - <mxCell id="18" value="F" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e3c800;fontColor=#000000;strokeColor=#B09500;" vertex="1" parent="1"> - <mxGeometry x="325" y="450" width="30" height="30" as="geometry"/> - </mxCell> - <mxCell id="19" value="Store .y" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"> - <mxGeometry x="110" y="430" width="120" height="60" as="geometry"/> - </mxCell> - <mxCell id="20" value="" style="endArrow=classic;html=1;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="1" source="19" target="52"> - <mxGeometry width="50" height="50" relative="1" as="geometry"> - <mxPoint x="170" y="480" as="sourcePoint"/> - <mxPoint x="220" y="430" as="targetPoint"/> - <Array as="points"> - <mxPoint x="290" y="360"/> - </Array> - </mxGeometry> - </mxCell> - <mxCell id="21" value="alias 2" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="20"> - <mxGeometry x="-0.2147" y="-1" relative="1" as="geometry"> - <mxPoint x="-15" y="30" as="offset"/> - </mxGeometry> - </mxCell> - <mxCell id="22" value="#2" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;" vertex="1" parent="1"> - <mxGeometry x="60" y="295" width="80" height="80" as="geometry"/> - </mxCell> - <mxCell id="23" value="" style="endArrow=classic;html=1;" edge="1" parent="1" source="19" target="22"> - <mxGeometry width="50" height="50" relative="1" as="geometry"> - <mxPoint x="140" y="430" as="sourcePoint"/> - <mxPoint x="190" y="380" as="targetPoint"/> - </mxGeometry> - </mxCell> - <mxCell id="24" value="" style="endArrow=classic;html=1;" edge="1" parent="1" source="19" target="51"> - <mxGeometry width="50" height="50" relative="1" as="geometry"> - <mxPoint x="200" y="430" as="sourcePoint"/> - <mxPoint x="380" y="280" as="targetPoint"/> - <Array as="points"> - <mxPoint x="270" y="290"/> - </Array> - </mxGeometry> - </mxCell> - <mxCell id="29" style="edgeStyle=none;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" edge="1" parent="1" source="25" target="27"> - <mxGeometry relative="1" as="geometry"/> - </mxCell> - <mxCell id="25" value="Store .y" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"> - <mxGeometry x="440" y="490" width="90" height="60" as="geometry"/> - </mxCell> - <mxCell id="26" value="" style="endArrow=classic;html=1;" edge="1" parent="1" source="25" target="51"> - <mxGeometry width="50" height="50" relative="1" as="geometry"> - <mxPoint x="400" y="420" as="sourcePoint"/> - <mxPoint x="430" y="300" as="targetPoint"/> - </mxGeometry> - </mxCell> - <mxCell id="27" value="#3" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;" vertex="1" parent="1"> - <mxGeometry x="540" y="420" width="80" height="80" as="geometry"/> - </mxCell> - <mxCell id="28" value="alias 2" style="endArrow=classic;html=1;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="1" source="25" target="52"> - <mxGeometry width="50" height="50" relative="1" as="geometry"> - <mxPoint x="320" y="520" as="sourcePoint"/> - <mxPoint x="350" y="450" as="targetPoint"/> - <Array as="points"> - <mxPoint x="480" y="350"/> - </Array> - </mxGeometry> - </mxCell> - <mxCell id="30" value="Region" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e3c800;fontColor=#000000;strokeColor=#B09500;" vertex="1" parent="1"> - <mxGeometry x="250" y="600" width="120" height="60" as="geometry"/> - </mxCell> - <mxCell id="31" value="" style="endArrow=classic;html=1;entryX=0.5;entryY=1;entryDx=0;entryDy=0;exitX=0.392;exitY=-0.064;exitDx=0;exitDy=0;exitPerimeter=0;fillColor=#a20025;strokeColor=#6F0000;" edge="1" parent="1" source="30" target="17"> - <mxGeometry width="50" height="50" relative="1" as="geometry"> - <mxPoint x="265" y="570" as="sourcePoint"/> - <mxPoint x="315" y="520" as="targetPoint"/> - </mxGeometry> - </mxCell> - <mxCell id="32" value="" style="endArrow=classic;html=1;exitX=0.75;exitY=0;exitDx=0;exitDy=0;fillColor=#a20025;strokeColor=#6F0000;" edge="1" parent="1" source="30" target="18"> - <mxGeometry width="50" height="50" relative="1" as="geometry"> - <mxPoint x="310" y="570" as="sourcePoint"/> - <mxPoint x="360" y="520" as="targetPoint"/> - </mxGeometry> - </mxCell> - <mxCell id="35" style="edgeStyle=none;html=1;exitX=1;exitY=1;exitDx=0;exitDy=0;" edge="1" parent="1" source="33" target="30"> - <mxGeometry relative="1" as="geometry"/> - </mxCell> - <mxCell id="33" value="phi" style="ellipse;whiteSpace=wrap;html=1;fillColor=#fad7ac;strokeColor=#b46504;fontColor=#0e0101;" vertex="1" parent="1"> - <mxGeometry x="90" y="540" width="120" height="80" as="geometry"/> - </mxCell> - <mxCell id="36" value="" style="endArrow=classic;html=1;" edge="1" parent="1" source="33" target="19"> - <mxGeometry width="50" height="50" relative="1" as="geometry"> - <mxPoint x="170" y="560" as="sourcePoint"/> - <mxPoint x="220" y="510" as="targetPoint"/> - </mxGeometry> - </mxCell> - <mxCell id="37" value="" style="endArrow=classic;html=1;" edge="1" parent="1" source="33" target="25"> - <mxGeometry width="50" height="50" relative="1" as="geometry"> - <mxPoint x="170" y="560" as="sourcePoint"/> - <mxPoint x="220" y="510" as="targetPoint"/> - </mxGeometry> - </mxCell> - <mxCell id="38" value="" style="curved=1;endArrow=classic;html=1;startArrow=none;fillColor=#a20025;strokeColor=#6F0000;" edge="1" parent="1" source="16" target="4"> - <mxGeometry width="50" height="50" relative="1" as="geometry"> - <mxPoint x="295" y="330" as="sourcePoint"/> - <mxPoint x="307.14285714285734" y="80" as="targetPoint"/> - <Array as="points"/> - </mxGeometry> - </mxCell> - <mxCell id="39" value="==" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;" vertex="1" parent="1"> - <mxGeometry x="130" y="180" width="80" height="80" as="geometry"/> - </mxCell> - <mxCell id="41" value="#1" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;" vertex="1" parent="1"> - <mxGeometry x="50" y="60" width="80" height="80" as="geometry"/> - </mxCell> - <mxCell id="42" value="" style="endArrow=classic;html=1;" edge="1" parent="1" source="39" target="41"> - <mxGeometry width="50" height="50" relative="1" as="geometry"> - <mxPoint x="140" y="150" as="sourcePoint"/> - <mxPoint x="190" y="100" as="targetPoint"/> - </mxGeometry> - </mxCell> - <mxCell id="49" style="edgeStyle=none;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;fontColor=default;fillColor=#e51400;strokeColor=#B20000;" edge="1" parent="1" source="43" target="30"> - <mxGeometry relative="1" as="geometry"/> - </mxCell> - <mxCell id="43" value="Return" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e3c800;fontColor=#000000;strokeColor=#B09500;" vertex="1" parent="1"> - <mxGeometry x="250" y="850" width="120" height="60" as="geometry"/> - </mxCell> - <mxCell id="44" value="Merge Mem" style="rounded=0;whiteSpace=wrap;html=1;fontColor=default;" vertex="1" parent="1"> - <mxGeometry x="365" y="730" width="120" height="60" as="geometry"/> - </mxCell> - <mxCell id="45" value="" style="endArrow=classic;html=1;fontColor=default;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="1" target="51"> - <mxGeometry width="50" height="50" relative="1" as="geometry"> - <mxPoint x="410" y="730" as="sourcePoint"/> - <mxPoint x="400" y="300" as="targetPoint"/> - </mxGeometry> - </mxCell> - <mxCell id="46" value="" style="endArrow=classic;html=1;fontColor=default;" edge="1" parent="1" source="44" target="10"> - <mxGeometry width="50" height="50" relative="1" as="geometry"> - <mxPoint x="600" y="680" as="sourcePoint"/> - <mxPoint x="650" y="630" as="targetPoint"/> - </mxGeometry> - </mxCell> - <mxCell id="47" value="" style="endArrow=classic;html=1;fontColor=default;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="1" source="44" target="33"> - <mxGeometry width="50" height="50" relative="1" as="geometry"> - <mxPoint x="160" y="800" as="sourcePoint"/> - <mxPoint x="210" y="750" as="targetPoint"/> - </mxGeometry> - </mxCell> - <mxCell id="50" value="" style="endArrow=classic;html=1;fontColor=default;" edge="1" parent="1" source="43" target="44"> - <mxGeometry width="50" height="50" relative="1" as="geometry"> - <mxPoint x="305" y="860" as="sourcePoint"/> - <mxPoint x="355" y="810" as="targetPoint"/> - </mxGeometry> - </mxCell> - <mxCell id="51" value="ptr" style="rounded=0;whiteSpace=wrap;html=1;fontColor=default;" vertex="1" parent="1"> - <mxGeometry x="365" y="250" width="40" height="30" as="geometry"/> - </mxCell> - <mxCell id="52" value="mem" style="rounded=0;whiteSpace=wrap;html=1;fontColor=default;" vertex="1" parent="1"> - <mxGeometry x="405" y="250" width="40" height="30" as="geometry"/> - </mxCell> - <mxCell id="55" value="" style="endArrow=classic;html=1;fontColor=default;" edge="1" parent="1" source="16" target="39"> - <mxGeometry width="50" height="50" relative="1" as="geometry"> - <mxPoint x="400" y="490" as="sourcePoint"/> - <mxPoint x="450" y="440" as="targetPoint"/> - </mxGeometry> - </mxCell> - </root> - </mxGraphModel> - </diagram> -</mxfile>
\ No newline at end of file |
