summaryrefslogtreecommitdiff
path: root/chapter05
Commit message (Collapse)AuthorAgeFilesLines
...
* Fix list of keywords and node index of merge (#27)XmiliaH2023-11-013-3/+3
| | | | | | | * Wrong input index used * Then is currently not a keyword * Some phis are now not created and ids shifted
* Try another graphicsCliff Click2023-11-011-13/+35
|
* Bugfix RegionCliff Click2023-11-011-1/+1
| | | | Region edges need to align with Phi edges; missing leading null
* Small doc cleanup (#24)XmiliaH2023-11-011-59/+54
|
* Add copy method to bool nodes (#23)XmiliaH2023-11-012-6/+13
|
* Update visualdibyendumajumdar2023-11-011-0/+200
|
* Update visualdibyendumajumdar2023-11-012-0/+72
|
* Update visualdibyendumajumdar2023-11-013-119/+149
|
* Update the description of Region nodedibyendumajumdar2023-11-015-403/+389
| | | | | Update visuals Update chapter list
* Remove most TODO'sCliff Click2023-11-016-6/+9
| | | | Make an official TODO which can't be hit in the current Chapter, but future binary ops might hit it.
* Some improvements for chapter5 (#22)XmiliaH2023-11-015-13/+22
| | | | | | | | | | | * Return null when the node cannot be copied * Make add_def package private again * Phi node can have more then two data inputs in theory * Use swap12 * Use addUse
* Cleanup doc example graphCliff Click2023-11-011-2/+1
|
* Lots of improvements to graphvizCliff Click2023-11-0114-60/+79
| | | | | | | | Merging common edges. Phis of same Region align. Phis use greek phi, and have a debug name. Scope carries the debug name. Phis are lightly colored. Common math names for math prims. Parse can optionally show the graph after closing the last scope.
* Bug fix last peepholeCliff Click2023-11-013-8/+10
|
* Rethink & cleanup Add peepsCliff Click2023-11-014-30/+135
| | | | More rigorously head for a left-spline sum-of-products format.
* Fix div-by-0, some javadocCliff Click2023-11-014-16/+17
| | | | | higher level parsers can return null, but their return is ignored anycase. div-by-0 is defined to be 0, backported to ch2,3,4,5
* javadoc about null-ness returns updateCliff Click2023-11-011-2/+29
|
* Fix missing trailing expressionCliff Click2023-11-012-1/+11
|
* Fix broken error reportCliff Click2023-11-012-2/+11
|
* Fix bugs using keywords as idsCliff Click2023-11-013-19/+71
| | | | | | | | Add an exact 'matchx' for keywords. Add a list of keywords. int true=0; return true; // Expected id, found 'true' int else=arg; if(else) else=2; else else=1; return else; // Expected id, found 'else' inta=1; return a; // undefined inta
* Update READMECliff Click2023-11-013-30/+63
| | | | Add true/false
* Parser gather Returns in the StopCliff Click2023-11-019-55/+78
| | | | | | Return returns a tuple of control & result GraphViz works with multi-Scopes and Scopes do not double-print uid. Proj also does not print uid in golden test results, because every time we add a new early node, the final results change node id so fail golden test.
* Fix Scope.dup mixing up edge ordersCliff Click2023-11-014-44/+35
| | | | Fix GraphVix node edge ordering
* Dont make redundant phisCliff Click2023-11-011-1/+2
|
* Greatly simplify Merge logic; move to ScopeNode.Cliff Click2023-11-016-144/+171
| | | | | | | | | Rename CTRL_TOKEN... its not a token. _allScopes becomes a Stack, because... it behaves like a stack. Add a junk Phi peep. More general AddNode peeps Add a bunch of If tests. Rewrite how expected-exception tests work; the workflow on the old technique sucked. New one stops in the right place in the debugger.
* Remove id as we already have it in Node.dibyendumajumdar2023-11-011-12/+1
|
* Small cleanupdibyendumajumdar2023-11-011-7/+5
|
* Add descriptions of the new node types in Chapter 5.dibyendumajumdar2023-11-011-1/+29
| | | | Add references to Cliff's thesis.
* Small updatesdibyendumajumdar2023-11-011-6/+6
|
* Fix typodibyendumajumdar2023-11-011-1/+1
|
* Add writeup of if statement parsingdibyendumajumdar2023-11-016-3/+644
|
* Add writeup of if statement parsingdibyendumajumdar2023-11-011-0/+24
|
* Update visualization to show all the Scope Nodes that are active.dibyendumajumdar2023-11-014-52/+104
| | | | | | Fix test cases broken due to renaming of ProjNode label. Cleanup the way we update $ctrl token Assign an ID to each ScopeNode so that when we visualize we can assign different names
* Some initial Ch 5 cleanupCliff Click2023-11-0114-37/+42
| | | | | | Drop Control interface, not flexible enough. Use isCFG() call, overloaded in child classes. Projections have a more complex test. Missing some printouts in Bool children, If, Region, Phi. IfNode type is a tuple. Region is TypeControl.
* Added PhiNode, RegionNode, IfNode, StopNodedibyendumajumdar2023-11-0110-15/+236
| | | | | No type compute yet Initial parsing logic for If statements
* Rename test class and dot diagramsdibyendumajumdar2023-11-012-2/+2
|
* Start on Chapter 5dibyendumajumdar2023-11-011-3/+5
|
* Start on Chapter 5dibyendumajumdar2023-11-0125-0/+2062