1
0
mirror of https://gitlab.com/camelot/kickc.git synced 2024-10-21 02:24:34 +00:00
Commit Graph

38 Commits

Author SHA1 Message Date
jespergravgaard
3aad07f4e1 Disabled constant loop head optimization by default (until the two known issues have been fixed.) 2019-08-25 22:21:58 +02:00
jespergravgaard
7a49ded40c Now all instructions addressing zero-page have an explicit .z added to the ASM to ensure the ASM generated does zeropage-addressing. Closes #249 2019-08-07 21:00:21 +02:00
jespergravgaard
c78bebf2a8 Updated stdlib & tests with 0-terminated strings. 2019-08-07 19:48:56 +02:00
jespergravgaard
6c59110896 Fixed encoded string zero termination. Closes #192 2019-08-07 19:36:19 +02:00
Jesper Gravgaard
ce5e3cf19a Added constant loop head optimization, that detects when the condition is constant in the first loop iteration. Closes #246 2019-08-07 13:22:05 +02:00
jespergravgaard
dacd25ac5f Added constant loop-head detection to a switchable optimization option -Oloophead. #246
Implemented for()-loop condition checking before body. Closes #183
2019-08-07 11:27:56 +02:00
jespergravgaard
f8dfe3743b Implemented light-weight zeropage coalesce. Closes #237 2019-07-31 13:47:22 +02:00
Jesper Gravgaard
660d2a8979 Changed print_cls() to use memset(). Fixed error in fragment. 2019-07-18 01:54:16 +02:00
jespergravgaard
57bbe42711 Fixed problem with small negative constant unsigned words. 2019-07-10 20:54:35 +02:00
Jesper Gravgaard
30068dbf92 Fixed tests 2019-06-30 15:30:08 +02:00
jespergravgaard
908ccb19ce Fixed void* pointer problem. Closes #205 2019-06-24 22:46:07 +02:00
jespergravgaard
3ae5f0981a Added a file data segment. Improved negate word fragment. 2019-06-21 22:12:05 +02:00
Jesper Gravgaard
45471f6848 Implemented syntax supporting string character encodings. Closes #59 2019-06-02 17:25:04 +02:00
jespergravgaard
8947882e20 Moved zero-page coalesce to an optimization option. 2019-05-31 23:17:57 +02:00
jespergravgaard
036724c92d Readded nop cast inlining - and fixed some recursion problems. 2019-05-30 21:38:12 +02:00
jespergravgaard
b5a9d47472 Improved code by avoiding unnecesary casts 2019-05-18 23:58:04 +02:00
jespergravgaard
9cec38d075 Fixed negative numbers, zero-addition, zero inlining. 2019-05-18 21:37:34 +02:00
Travis Fisher
c78aef2312 update test reference results 2019-04-02 02:28:13 -04:00
Jesper Gravgaard
4424ffe92c Implemented loop break. 2019-03-31 17:57:54 +02:00
jespergravgaard
d13ca4e03b Implemented block label renumbering ensuring generated ASM labels are slightly more sensible to the reader. 2019-03-31 17:10:43 +02:00
jespergravgaard
126813ff4e Implemented local scopes for blocks - enabling reuse of variable names (for instance in for loops). Closes #64 2019-03-30 00:15:53 +01:00
jespergravgaard
667cbde56f Added a lot of optimizing fragments using illegal opcodes (Thanks Travis Fisher!)
Added synth rule for vubc's.Updated tests.
2019-03-26 23:49:45 +01:00
jespergravgaard
ca697a4ffd Improved a plus fragment to use bcc 2019-03-18 02:23:29 +01:00
jespergravgaard
9bb967b33f Implemented ASM fragment synthesis variations searching - looking through different potential fragments when generating ASM containing a constant number that matches multiple potential types. 2019-03-18 02:08:32 +01:00
jespergravgaard
0a955d6bec Finished constant string consolidation. Closes #90 2019-02-24 23:23:57 +01:00
jespergravgaard
dfd9af4d84 Added ASM function signature comment. Closes #82. 2019-02-19 20:51:48 +01:00
jespergravgaard
af54695232 Added support for block comments. 2019-02-18 00:12:30 +01:00
jespergravgaard
f0d77acb29 Added comments to variables identified as constants. 2019-02-17 18:21:16 +01:00
jespergravgaard
41a7053b25 Implemented statement comments. Assignments are working OK. Some are still thrown away during optimizations. 2019-02-17 15:50:42 +01:00
jespergravgaard
27cfaf0ecf Implemented file-level comments. Added a few comment tests. 2019-02-17 11:03:55 +01:00
jespergravgaard
69562b7fa9 Added comments to constants in ASM. 2019-02-17 00:49:19 +01:00
jespergravgaard
67e223d629 Added procedure comments to the compiled assembler. 2019-02-16 23:23:55 +01:00
jespergravgaard
f8191e8345 Default runs @begin code and then optimizes to main() if no code exists outside main. 2018-12-25 17:04:50 +01:00
jespergravgaard
44d6e5fbbb Fixed tests (after reincluding cmp#0) 2018-12-19 00:33:27 +01:00
jespergravgaard
44e2075896 Working on Tetris. Added 3 failing tests with discovered problems. 2018-12-02 21:31:03 +01:00
jespergravgaard
46751edd16 Fixed fragment errors. Added missing fragments. Working on 16bit 3D. 2018-11-08 01:06:33 +01:00
jespergravgaard
908cb3ea8d Changed fast multiply to a _prepare(a) & _prepared(b) sub-functions.
Added support for "." operator in ASM.
2018-10-19 00:28:57 +02:00
Jesper Gravgaard
2b5f6b8856 Rearraning source files to bring KC/REF and fragment files out of the JARS. 2018-10-07 02:32:09 +02:00