Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | - | Kartik Agaram | 2020-05-18 | 1 | -254/+272 |
| | |||||
* | mu.subx: test-add-reg-to-mem | Kartik Agaram | 2020-05-18 | 1 | -20/+64 |
| | |||||
* | mu.subx: test-add-reg-to-reg passing | Kartik Agaram | 2020-05-18 | 1 | -12/+15 |
| | |||||
* | mu.subx: add handles to remaining decls | Kartik Agaram | 2020-05-18 | 1 | -20/+102 |
| | | | | test-add-reg-to-reg should pass now. But it doesn't.. | ||||
* | mu.subx: next test now successfully scans primitives | Kartik Agaram | 2020-05-18 | 1 | -16/+63 |
| | | | | Still failing. | ||||
* | mu.subx: switch SubX instruction names to globals | Kartik Agaram | 2020-05-18 | 1 | -81/+81 |
| | | | | | | Entirely using interactive search-and-replace in my text editor. This is all ugly as hell. But get it working first. | ||||
* | mu.subx: switch Mu instruction names to globals | Kartik Agaram | 2020-05-18 | 1 | -80/+80 |
| | |||||
* | mu.subx: global decls for all string handles | Kartik Agaram | 2020-05-18 | 1 | -116/+645 |
| | | | | | | | | | | My previous approach was way too slow. Now I just `grep`d for all string literals in the `Primitives` block, and piped them through: while read X; do echo $X |tools/expand_string_handle; done Still required some post-processing, but orders of magnitude faster and more amenable to batch-processing. | ||||
* | - | Kartik Agaram | 2020-05-18 | 1 | -17/+124 |
| | |||||
* | mu.subx: drop a redundant test | Kartik Agaram | 2020-05-18 | 1 | -64/+0 |
| | |||||
* | mu.subx: fix strings in inc/dec Primitives | Kartik Agaram | 2020-05-18 | 1 | -30/+99 |
| | |||||
* | mu.subx: insert alloc-id everywhere in Primitives | Kartik Agaram | 2020-05-18 | 1 | -0/+534 |
| | |||||
* | - | Kartik Agaram | 2020-05-18 | 1 | -1/+1 |
| | |||||
* | - | Kartik Agaram | 2020-05-18 | 1 | -115/+115 |
| | |||||
* | - | Kartik Agaram | 2020-05-18 | 1 | -33/+33 |
| | |||||
* | mu.subx: make handles in Primitives easier to read | Kartik Agaram | 2020-05-18 | 1 | -0/+31 |
| | |||||
* | mu.subx: fix misleading setup in passing tests | Kartik Agaram | 2020-05-18 | 1 | -5/+5 |
| | |||||
* | mu.subx: fifth code-gen test | Kartik Agaram | 2020-05-18 | 1 | -19/+70 |
| | | | | | First test using the Primitives global. It's terrible how handles mess up my syntax sugar for strings. | ||||
* | mu.subx: fourth code-gen test | Kartik Agaram | 2020-05-18 | 1 | -29/+102 |
| | |||||
* | - | Kartik Agaram | 2020-05-18 | 1 | -6/+2 |
| | |||||
* | - | Kartik Agaram | 2020-05-18 | 1 | -9/+18 |
| | | | | | mu-stmt-matches-primitive? is quite a gnarly function. Baby step: better names for labels, so that traces are easier to read. | ||||
* | fix a misplaced label | Kartik Agaram | 2020-05-18 | 1 | -4/+4 |
| | | | | Two tests were incorrectly passing earlier. | ||||
* | - | Kartik Agaram | 2020-05-18 | 1 | -8/+0 |
| | |||||
* | mu.subx: third code-gen test | Kartik Agaram | 2020-05-18 | 1 | -29/+102 |
| | | | | | This is indeed easier. Though defining the global data structure for primitives directly in the data segment is going to get ugly. | ||||
* | - | Kartik Agaram | 2020-05-18 | 1 | -2/+2 |
| | |||||
* | mu.subx: redo passing code-gen tests | Kartik Agaram | 2020-05-18 | 1 | -147/+117 |
| | | | | | | We've gone back and rewritten the tests to fit the older format from 3 commits ago. No behavior change, but staying close to the older format should make it easier to update the remaining tests. | ||||
* | mu.subx: another code-gen test | Kartik Agaram | 2020-05-18 | 1 | -37/+105 |
| | |||||
* | - | Kartik Agaram | 2020-05-18 | 1 | -8/+4 |
| | | | | Remove one local variable and unnecessary copy. | ||||
* | mu.subx: first code-gen test passing! | Kartik Agaram | 2020-05-18 | 1 | -108/+224 |
| | |||||
* | mu.subx: all parsing tests passing | Kartik Agaram | 2020-05-18 | 1 | -1/+1 |
| | |||||
* | mu.subx: tests for parse-var-with-type | Kartik Agaram | 2020-05-18 | 1 | -45/+93 |
| | |||||
* | mu.subx: done with function header parsing | Kartik Agaram | 2020-05-18 | 1 | -56/+97 |
| | |||||
* | mu.subx: second parsing test | Kartik Agaram | 2020-05-18 | 1 | -30/+48 |
| | | | | | append-list is still very confusing the way it's written. Maybe I should just use an extra register or an extra local variable or something. | ||||
* | - | Kartik Agaram | 2020-05-18 | 1 | -2/+2 |
| | |||||
* | - | Kartik Agaram | 2020-05-18 | 1 | -1/+1 |
| | |||||
* | mu.subx: first parsing test passing | Kartik Agaram | 2020-05-18 | 1 | -13/+20 |
| | | | | | | | 2 bugfixes in this commit. I thought I'd seen append-list successfully working in some previous test, but I was wrong. | ||||
* | ok, let's start running tests | Kartik Agaram | 2020-05-18 | 1 | -4/+8 |
| | |||||
* | - | Kartik Agaram | 2020-05-18 | 1 | -4/+2 |
| | |||||
* | mu.subx: spilling register for reg vars | Kartik Agaram | 2020-05-18 | 1 | -20/+19 |
| | |||||
* | mu.subx: size-of-deref | Kartik Agaram | 2020-05-18 | 1 | -8/+12 |
| | |||||
* | mu.subx: size-of | Kartik Agaram | 2020-05-18 | 1 | -6/+8 |
| | |||||
* | mu.subx: populate-mu-type-offsets | Kartik Agaram | 2020-05-18 | 1 | -19/+24 |
| | | | | | | | Also locate-typeinfo-entry-with-index, though I didn't need to change much there. But it did get me to notice that I'm returning `addr` from functions. Need to correct my paper. | ||||
* | - | Kartik Agaram | 2020-05-18 | 1 | -30/+0 |
| | |||||
* | mu.subx: compute-size-of-var | Kartik Agaram | 2020-05-18 | 1 | -6/+8 |
| | |||||
* | mu.subx: lookup-or-create-constant | Kartik Agaram | 2020-05-18 | 1 | -12/+12 |
| | |||||
* | mu.subx: new-block | Kartik Agaram | 2020-05-18 | 1 | -3/+13 |
| | |||||
* | mu.subx: find-in-function-outputs | Kartik Agaram | 2020-05-18 | 1 | -11/+27 |
| | |||||
* | mu.subx: fourth test passing | Kartik Agaram | 2020-05-18 | 1 | -16/+35 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Our four tests are exercising the following 18 primitives at least a little bit: add-operation-and-inputs-to-stmt append-stmt-var lookup-var lookup-var-helper lookup-var-or-literal new-literal-integer new-reg-var-def new-var new-var-def new-var-from-slice next-mu-token parse-mu-stmt parse-mu-var-def parse-type parse-var-with-type pos-or-insert-slice pos-slice stmt-has-outputs? For comparison, here are the 34 primitives in mu.subx that we've made significant changes to since all tests passed: add-operation-and-inputs-to-stmt append-list append-stmt-var append-to-block convert-mu find-or-create-typeinfo find-or-create-typeinfo-fields find-or-create-typeinfo-output-var find-typeinfo lookup-or-define-var lookup-var lookup-var-helper lookup-var-or-literal new-block-name new-literal new-literal-integer new-reg-var-def new-var new-var-def new-var-from-slice next-mu-token parse-mu parse-mu-block parse-mu-named-block parse-mu-stmt parse-mu-var-def parse-type parse-type-tree parse-var-with-type populate-mu-function-body populate-mu-function-header pos-or-insert-slice pos-slice stmt-has-outputs? | ||||
* | mu.subx: third test passing | Kartik Agaram | 2020-05-18 | 1 | -24/+57 |
| | |||||
* | mu.subx: include missing arg | Kartik Agaram | 2020-05-18 | 1 | -2/+2 |
| | | | | It's not used in these tests, but still confusing. |