diff options
| author | Dibyendu Majumdar <dibyendumajumdar@users.noreply.github.com> | 2024-05-02 22:08:06 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-05-02 14:08:06 -0700 |
| commit | 0caf37adc5f8c1600f13d80aaf77361f407c9694 (patch) | |
| tree | 30498744a348cbefb727d680b13793fdd10463ca /chapter10/README.md | |
| parent | e31c37890a86aedfb209cf543baf05b1b60a27d2 (diff) | |
| download | Simple-0caf37adc5f8c1600f13d80aaf77361f407c9694.tar.gz Simple-0caf37adc5f8c1600f13d80aaf77361f407c9694.zip | |
Documentation updates (#76)
* More clearly explain why we do not have an AST in the implementation
* Improve the description of type lattice.
Cross reference to future chapters.
* Minor update
* Add lattice visual
Revise the text describing meet.
* minor update
* Add a lattice visual to the text
* Update the lattice visual.
Add description of the new edges in the SoN graph
Diffstat (limited to 'chapter10/README.md')
| -rw-r--r-- | chapter10/README.md | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/chapter10/README.md b/chapter10/README.md index a25ff011..1fb69feb 100644 --- a/chapter10/README.md +++ b/chapter10/README.md @@ -126,6 +126,7 @@ Within the Type Lattice, we now have the following type domains: * Control type - this represents control flow * Integer type - Integer values +* Tuple type - when a Node results in more than one value * Struct type (new) - Represents user defined struct types, a struct type is allowed to have members of Integer type only in this chapter * `$TOP` represents local Top for struct type; all we know about the type is that it is a struct but, we do not know if it is a specific struct, or all possible structs, etc. * `$BOT` represents local Bottom for struct type; we definitely know the value can take all possible struct types. @@ -274,6 +275,12 @@ The graph from above will have the shape:  +The graph visual has the following enhancements: + +* The memory edges are shown in green and blue. +* The green edges occur on New nodes and anchor the ptr to a control flow node. +* The blue edges show the threading of a memory op via the equivalence aliasing. + ## Additional Peephole Optimizations The equivalence aliasing makes it possible to optimize following scenarios: |
