Commit Graph

  • 18cdf50d7c reg: support for register casting Michael McLoughlin 2018-12-30 18:40:45 -08:00
  • 4644d996ee reg: remove unused ID() method Michael McLoughlin 2018-12-28 20:42:48 -08:00
  • a1440c51a4 pass: some basic allocator test cases Michael McLoughlin 2018-12-28 15:48:37 -08:00
  • 238771f86f x86: remove unused error type Michael McLoughlin 2018-12-28 15:47:38 -08:00
  • 2ffc7d7fd5 examples: add most docstrings Michael McLoughlin 2018-12-27 23:09:44 -08:00
  • 9f5277bf8e support docstrings Michael McLoughlin 2018-12-27 23:01:27 -08:00
  • 023324a4ec examples/returns: demonstrate return types Michael McLoughlin 2018-12-27 21:38:17 -08:00
  • 51524702ba mv examples/{components,args} Michael McLoughlin 2018-12-27 20:37:47 -08:00
  • 6fc67c1fbc examples/geohash: first version Michael McLoughlin 2018-12-27 15:44:52 -08:00
  • 5dea46407c printer: shorten text size when argsize is zero Michael McLoughlin 2018-12-27 13:48:31 -08:00
  • 9243d299e6 first pass at DATA sections Michael McLoughlin 2018-12-27 11:57:46 -08:00
  • d29c6340d7 ast: change file to have a list of sections Michael McLoughlin 2018-12-26 18:58:12 -08:00
  • bf6031521f ci: run benchmarks if we have any Michael McLoughlin 2018-12-26 17:11:54 -08:00
  • 662ae52758 examples: adapt to new const types Michael McLoughlin 2018-12-26 17:08:58 -08:00
  • abd300c0e9 operand: const types Michael McLoughlin 2018-12-26 16:42:39 -08:00
  • b3644ec7fc pass: tweak ordering in liveness analysis Michael McLoughlin 2018-12-24 12:48:29 -08:00
  • 6d1424dc66 build: -cpuprofile flag Michael McLoughlin 2018-12-21 17:38:19 -08:00
  • 1ce7acee1d examples/sha1: implement full hash and test Michael McLoughlin 2018-12-21 16:15:43 -08:00
  • f464082484 examples/sha1: single block Michael McLoughlin 2018-12-21 00:30:59 -08:00
  • 224cccd2b1 readme giving credit to original authors Michael McLoughlin 2018-12-19 22:46:53 -08:00
  • c477e46045 add forking script Michael McLoughlin 2018-12-19 22:32:45 -08:00
  • 854271d978 examples/stadtx: commit first working example Michael McLoughlin 2018-12-19 22:09:55 -08:00
  • 48a84b6b13 fix signature size/alignment computation Michael McLoughlin 2018-12-19 13:08:56 -08:00
  • 33f5561d91 examples/components: a few more cases Michael McLoughlin 2018-12-19 00:16:18 -08:00
  • ca5c7e7454 printer: add generated code warnings Michael McLoughlin 2018-12-18 22:57:26 -08:00
  • 213d65e481 printer: cleaner output Michael McLoughlin 2018-12-18 21:05:05 -08:00
  • bc9a2aa46b gotypes: support struct fields Michael McLoughlin 2018-12-17 23:28:31 -08:00
  • 7f3efa1eb5 fix nil pointer dereference Michael McLoughlin 2018-12-17 21:20:21 -08:00
  • 1033aa4f9c add golang.org/x/tools dependency Michael McLoughlin 2018-12-17 21:13:00 -08:00
  • 34a3ddefcc start example/test for components access Michael McLoughlin 2018-12-17 20:52:26 -08:00
  • 8282c9b17e fix operand check tests Michael McLoughlin 2018-12-14 22:12:28 -08:00
  • c70c642ddb attempt to make register allocation deterministic Michael McLoughlin 2018-12-13 00:34:44 -08:00
  • 93b53377ac add fnv1a example Michael McLoughlin 2018-12-13 00:18:44 -08:00
  • b89d211ff4 examples/complex: and bugfixes Michael McLoughlin 2018-12-12 00:02:22 -08:00
  • 2189d38d1e examples: add sum example (its not pretty) Michael McLoughlin 2018-12-11 23:02:50 -08:00
  • 19d1761694 fix couple of tests Michael McLoughlin 2018-12-11 22:35:01 -08:00
  • 79bdb92163 fix ordering of generate script Michael McLoughlin 2018-12-11 22:31:15 -08:00
  • c882e52510 printing: commit some refactors (probably broken) Michael McLoughlin 2018-12-11 00:18:22 -08:00
  • 4dc909a81e remove unused struct field Michael McLoughlin 2018-12-08 22:16:09 -08:00
  • 271670c14c avogen: make mov generator deterministic Michael McLoughlin 2018-12-08 22:14:30 -08:00
  • 20525e1437 get the basic add example working Michael McLoughlin 2018-12-08 22:02:02 -08:00
  • 5431f2edef support signatures and param load/stores Michael McLoughlin 2018-12-08 21:16:03 -08:00
  • 69ee0e39cb parameter loading Michael McLoughlin 2018-12-08 20:14:51 -08:00
  • bbbf6399a1 gotypes: saving progress (temporarily broken tests) Michael McLoughlin 2018-12-07 18:37:42 -08:00
  • c86ef5ecae gotypes Michael McLoughlin 2018-12-06 21:58:51 -08:00
  • 676ec39c51 add Symbol type to operand Michael McLoughlin 2018-12-06 17:26:33 -08:00
  • e42eb1fb8c fix go get command Michael McLoughlin 2018-12-05 00:56:02 -08:00
  • ceca3612c6 add go get to bootstrap Michael McLoughlin 2018-12-05 00:53:16 -08:00
  • 00c50be004 enable some more linters Michael McLoughlin 2018-12-05 00:49:12 -08:00
  • fa18d7229f address some lint Michael McLoughlin 2018-12-05 00:27:42 -08:00
  • 022cbb7792 pass: first attempt at register allocation Michael McLoughlin 2018-12-05 00:05:57 -08:00
  • 9376a230cf refactor to use reg.Set Michael McLoughlin 2018-12-03 22:39:43 -08:00
  • faafa00e40 pass: test for liveness Michael McLoughlin 2018-12-03 20:40:43 -08:00
  • b52c67f3fb pass: naive implementation of liveness Michael McLoughlin 2018-12-02 23:59:29 -08:00
  • 7d4e18f4f4 ast: {Input,Output}Registers() Michael McLoughlin 2018-12-02 22:29:30 -08:00
  • 59548ee9f6 rename some register types Michael McLoughlin 2018-12-02 21:35:33 -08:00
  • 96a5c5fe1e ctors: include implicit inputs/outputs Michael McLoughlin 2018-12-02 21:12:56 -08:00
  • 82b31fa0da wip: adding instruction inputs and outputs Michael McLoughlin 2018-12-02 17:57:12 -08:00
  • f18271ada5 add reg.Type Michael McLoughlin 2018-12-02 15:15:00 -08:00
  • bc7d0fa410 pass: cfg tests Michael McLoughlin 2018-12-02 13:50:55 -08:00
  • 43575d8b61 start at some basic passes Michael McLoughlin 2018-12-02 12:28:33 -08:00
  • 0ceb1c55a4 Update README.md Michael McLoughlin 2018-11-30 21:57:14 -08:00
  • 0582a1884c travis: remove -v from go test Michael McLoughlin 2018-11-30 21:48:37 -08:00
  • 7ab57635f6 start a lint script Michael McLoughlin 2018-11-30 21:47:10 -08:00
  • 0ba8a60ea5 add label type Michael McLoughlin 2018-11-30 21:37:17 -08:00
  • 241b5ea673 some command line flags for builders Michael McLoughlin 2018-11-30 20:58:51 -08:00
  • 9b9f5b7e0c first pass at a "builder" interface Michael McLoughlin 2018-11-30 20:43:31 -08:00
  • b65b6c02b8 return a basic instruction object Michael McLoughlin 2018-11-27 22:38:53 -08:00
  • 23289963d9 ctorstest: some more variants Michael McLoughlin 2018-11-27 22:11:45 -08:00
  • 4395adacc8 x86: rel types and generated tests Michael McLoughlin 2018-11-27 22:08:11 -08:00
  • 3881907ec8 implement vm{32,64}{x,y} operand checks Michael McLoughlin 2018-11-26 23:53:07 -08:00
  • 0ec52ceaa8 add IsM* operand checks Michael McLoughlin 2018-11-26 23:35:26 -08:00
  • 3050882621 start to implement operand types and checks Michael McLoughlin 2018-11-26 22:14:36 -08:00
  • bed7e7e2c2 stub operand checks Michael McLoughlin 2018-11-26 10:13:04 -08:00
  • 767b625fe8 add generated code Michael McLoughlin 2018-11-25 22:03:45 -08:00
  • af02be06ba add skeleton for instruction constructors Michael McLoughlin 2018-11-25 21:50:46 -08:00
  • 4dcfed6e16 add instruction arities function Michael McLoughlin 2018-11-25 18:25:51 -08:00
  • 09848512cc add -bootstrap option to avogen Michael McLoughlin 2018-11-25 17:11:24 -08:00
  • b99b2cdbbf script to run code generation Michael McLoughlin 2018-11-25 17:00:14 -08:00
  • 0694ebab9b ensure all stdlib opcodes are present Michael McLoughlin 2018-11-25 16:22:02 -08:00
  • 6d3e3be578 generate test to ensure code generation worked Michael McLoughlin 2018-11-24 17:53:17 -08:00
  • 0edbdb064f supporting more instructions seen in stdlib Michael McLoughlin 2018-11-24 17:32:18 -08:00
  • 124587f55c fix go version in .travis.yml Michael McLoughlin 2018-11-24 16:21:28 -08:00
  • e02e8491ca basic travis Michael McLoughlin 2018-11-24 16:17:49 -08:00
  • a70227cbe3 test for stdlib opcodes Michael McLoughlin 2018-11-24 14:55:51 -08:00
  • 898d66c585 test asmtest with instruction list Michael McLoughlin 2018-11-24 14:20:04 -08:00
  • bec73ca7a1 basic instruction properties Michael McLoughlin 2018-11-24 14:08:55 -08:00
  • 70dcf2b611 generate the instruction table Michael McLoughlin 2018-11-24 13:47:30 -08:00
  • f1e1da6387 refactors to code generation Michael McLoughlin 2018-11-24 13:00:27 -08:00
  • 4571841ee5 fix implicit operands Michael McLoughlin 2018-11-23 23:48:47 -08:00
  • 4e059c258b import isa and implicit operands Michael McLoughlin 2018-11-23 17:14:18 -06:00
  • 86373c79ee load: handle MOVABS special case Michael McLoughlin 2018-11-23 16:14:05 -06:00
  • 2f7c14f061 loadertest: more vm* operands Michael McLoughlin 2018-11-23 15:31:12 -06:00
  • ae6909493c loadertest: support vm32{x,y} Michael McLoughlin 2018-11-23 15:26:19 -06:00
  • 6370e39b88 oops: do not skip CALL instruction Michael McLoughlin 2018-11-22 16:22:36 -06:00
  • 4404836ff4 loadertest: rel8/32 operands Michael McLoughlin 2018-11-22 16:21:05 -06:00
  • 27235485a6 m256 arguments, MMX exception Michael McLoughlin 2018-11-22 15:24:28 -06:00
  • 1f20eae901 loadertest: more operand types Michael McLoughlin 2018-11-22 14:58:31 -06:00
  • e97da03f19 loadertest: add memory operands Michael McLoughlin 2018-11-22 14:12:20 -06:00
  • c67dcb7fa9 add more immediates to loader test Michael McLoughlin 2018-11-22 11:17:46 -06:00