Commit Graph

291 Commits

Author SHA1 Message Date
Michael McLoughlin
ca5c7e7454 printer: add generated code warnings 2018-12-18 22:57:26 -08:00
Michael McLoughlin
213d65e481 printer: cleaner output 2018-12-18 21:05:05 -08:00
Michael McLoughlin
bc9a2aa46b gotypes: support struct fields 2018-12-17 23:28:31 -08:00
Michael McLoughlin
7f3efa1eb5 fix nil pointer dereference 2018-12-17 21:20:21 -08:00
Michael McLoughlin
1033aa4f9c add golang.org/x/tools dependency 2018-12-17 21:13:00 -08:00
Michael McLoughlin
34a3ddefcc start example/test for components access 2018-12-17 20:52:26 -08:00
Michael McLoughlin
8282c9b17e fix operand check tests 2018-12-14 22:12:28 -08:00
Michael McLoughlin
c70c642ddb attempt to make register allocation deterministic 2018-12-13 00:34:44 -08:00
Michael McLoughlin
93b53377ac add fnv1a example 2018-12-13 00:18:44 -08:00
Michael McLoughlin
b89d211ff4 examples/complex: and bugfixes 2018-12-12 00:02:22 -08:00
Michael McLoughlin
2189d38d1e examples: add sum example (its not pretty) 2018-12-11 23:02:50 -08:00
Michael McLoughlin
19d1761694 fix couple of tests 2018-12-11 22:35:01 -08:00
Michael McLoughlin
79bdb92163 fix ordering of generate script 2018-12-11 22:31:19 -08:00
Michael McLoughlin
c882e52510 printing: commit some refactors (probably broken) 2018-12-11 00:18:22 -08:00
Michael McLoughlin
4dc909a81e remove unused struct field 2018-12-08 22:16:09 -08:00
Michael McLoughlin
271670c14c avogen: make mov generator deterministic 2018-12-08 22:14:30 -08:00
Michael McLoughlin
20525e1437 get the basic add example working 2018-12-08 22:02:02 -08:00
Michael McLoughlin
5431f2edef support signatures and param load/stores 2018-12-08 21:16:03 -08:00
Michael McLoughlin
69ee0e39cb parameter loading 2018-12-08 20:14:51 -08:00
Michael McLoughlin
bbbf6399a1 gotypes: saving progress (temporarily broken tests) 2018-12-07 18:37:42 -08:00
Michael McLoughlin
c86ef5ecae gotypes 2018-12-06 21:58:51 -08:00
Michael McLoughlin
676ec39c51 add Symbol type to operand 2018-12-06 17:26:33 -08:00
Michael McLoughlin
e42eb1fb8c fix go get command 2018-12-05 00:56:02 -08:00
Michael McLoughlin
ceca3612c6 add go get to bootstrap 2018-12-05 00:53:16 -08:00
Michael McLoughlin
00c50be004 enable some more linters 2018-12-05 00:49:12 -08:00
Michael McLoughlin
fa18d7229f address some lint 2018-12-05 00:27:42 -08:00
Michael McLoughlin
022cbb7792 pass: first attempt at register allocation 2018-12-05 00:05:57 -08:00
Michael McLoughlin
9376a230cf refactor to use reg.Set 2018-12-03 22:39:43 -08:00
Michael McLoughlin
faafa00e40 pass: test for liveness 2018-12-03 20:40:43 -08:00
Michael McLoughlin
b52c67f3fb pass: naive implementation of liveness 2018-12-02 23:59:29 -08:00
Michael McLoughlin
7d4e18f4f4 ast: {Input,Output}Registers() 2018-12-02 22:29:30 -08:00
Michael McLoughlin
59548ee9f6 rename some register types 2018-12-02 21:35:33 -08:00
Michael McLoughlin
96a5c5fe1e ctors: include implicit inputs/outputs 2018-12-02 21:12:56 -08:00
Michael McLoughlin
82b31fa0da wip: adding instruction inputs and outputs 2018-12-02 17:57:12 -08:00
Michael McLoughlin
f18271ada5 add reg.Type 2018-12-02 15:15:00 -08:00
Michael McLoughlin
bc7d0fa410 pass: cfg tests 2018-12-02 13:51:03 -08:00
Michael McLoughlin
43575d8b61 start at some basic passes 2018-12-02 13:51:03 -08:00
Michael McLoughlin
0ceb1c55a4 Update README.md 2018-11-30 21:57:14 -08:00
Michael McLoughlin
0582a1884c travis: remove -v from go test 2018-11-30 21:48:37 -08:00
Michael McLoughlin
7ab57635f6 start a lint script 2018-11-30 21:47:10 -08:00
Michael McLoughlin
0ba8a60ea5 add label type 2018-11-30 21:37:17 -08:00
Michael McLoughlin
241b5ea673 some command line flags for builders 2018-11-30 20:58:51 -08:00
Michael McLoughlin
9b9f5b7e0c first pass at a "builder" interface 2018-11-30 20:43:31 -08:00
Michael McLoughlin
b65b6c02b8 return a basic instruction object 2018-11-27 22:38:53 -08:00
Michael McLoughlin
23289963d9 ctorstest: some more variants 2018-11-27 22:11:45 -08:00
Michael McLoughlin
4395adacc8 x86: rel types and generated tests 2018-11-27 22:08:11 -08:00
Michael McLoughlin
3881907ec8 implement vm{32,64}{x,y} operand checks 2018-11-26 23:53:07 -08:00
Michael McLoughlin
0ec52ceaa8 add IsM* operand checks 2018-11-26 23:35:26 -08:00
Michael McLoughlin
3050882621 start to implement operand types and checks 2018-11-26 22:14:36 -08:00
Michael McLoughlin
bed7e7e2c2 stub operand checks 2018-11-26 10:13:04 -08:00