1
0
mirror of https://gitlab.com/camelot/kickc.git synced 2024-11-27 04:49:27 +00:00
Commit Graph

2841 Commits

Author SHA1 Message Date
jespergravgaard
b5dfef7368 Optimized line table generator. Improved const identification in phi-values. 2018-02-18 19:52:51 +01:00
jespergravgaard
0478bc7404 Limited label usage for constant integers referenced outside scope. Optimized division. 2018-02-18 19:39:08 +01:00
jespergravgaard
d3898d717e Using labels for constant integers referenced outside scope. 2018-02-18 17:49:03 +01:00
jespergravgaard
76d3e25b84 Implemented inline dword constructor dword dw = { wl, wh }; 2018-02-18 15:35:17 +01:00
jespergravgaard
0c7883532e Split multiply tests for performance 2018-02-16 08:59:54 +01:00
jespergravgaard
8f21ffc0e4 Implemented signed word multiplication & test. 2018-02-16 01:13:57 +01:00
jespergravgaard
34d3c732da Implemented word multiplication 2018-02-15 20:36:26 +01:00
jespergravgaard
b5a79848f3 Implemented dword ASM and printing 2018-02-15 19:50:33 +01:00
jespergravgaard
8b54f38640 Implemented bitshift signed byte multiply. 2018-02-15 12:35:40 +01:00
Jesper Gravgaard
c936da289e Implemented normal binary multiply for unsigned integers - mul8u(). 2018-02-14 11:30:31 +01:00
Jesper Gravgaard
a6f32bea13 Renamed multiply.kc to fastmultiply.kc - and methods multiply()/signed_multiply() to mulf8u(), mulf8s() 2018-02-14 10:05:18 +01:00
Jesper Gravgaard
7900c846c9 Adde useful comment 2018-02-13 23:21:24 +01:00
Jesper Gravgaard
3eb08597cf Implemented 16bit signed division. 2018-02-13 23:10:47 +01:00
Jesper Gravgaard
1fd0cd6874 Moved remainder to global var 2018-02-13 22:07:01 +01:00
Jesper Gravgaard
8705527316 Fixed conflict 2018-02-13 21:40:52 +01:00
Jesper Gravgaard
a50d685574 Fixed problem with phi lifting not updating predecessor in phi blocks when introducing new blocks. Implemented signed division for bytes. 2018-02-13 21:27:17 +01:00
jespergravgaard
1feed93b43 Renamed long branch fix label. 2018-02-13 13:05:46 +01:00
jespergravgaard
aec15a3125 Removed a bit of unused code. 2018-02-13 12:46:35 +01:00
jespergravgaard
c8a2d03550 Fixed register coalesce issues (Double.MIN_VALUE is unexpectedly positive). 2018-02-13 04:23:44 +01:00
jespergravgaard
9f80f71c64 Isolated KickAss assembly during test. Fixed long branches. Closes #62 2018-02-13 03:34:21 +01:00
jespergravgaard
2db042801b Isolated KickAss assembly during test. Fixed long branches. Closes #62 2018-02-13 03:34:01 +01:00
jespergravgaard
0d6ce93e93 Added KickAss assembly to Test 2018-02-12 23:41:46 +01:00
jespergravgaard
5986b1d879 Added test coverage 2018-02-12 22:53:21 +01:00
jespergravgaard
e9ef366276 Added test coverage 2018-02-12 22:42:16 +01:00
jespergravgaard
311df89cf0 Added local folder repository 2018-02-12 22:26:15 +01:00
jespergravgaard
a223b7ec78 Changed CI target to VERIFY 2018-02-12 22:09:25 +01:00
jespergravgaard
3d0750bdac Changed CI target to VALIDATE 2018-02-12 22:05:15 +01:00
jespergravgaard
1611442349 Added local KickAss.jar and installing it into local MVN repository. 2018-02-12 21:58:10 +01:00
jespergravgaard
52dd6035a0 Dropped JSON serialization. Added KickAss JAR. 2018-02-12 21:39:26 +01:00
jespergravgaard
6b43d797f5 Using address-of in test-division. 2018-02-11 23:55:52 +01:00
jespergravgaard
3f62d86312 Implemented working address-of operator byte* pte = &b1; 2018-02-10 22:08:36 +01:00
jespergravgaard
085aa9f825 Added missing toString/() 2018-02-03 15:46:12 +01:00
jespergravgaard
623f83a076 Added address-of operator. Working in basic programs. Transience of variables not implemented so there is a risk the variable being referenced is optimized into a constant or removed. Closes #78 2018-02-03 13:20:34 +01:00
jespergravgaard
7343a85b91 Moved division into library 2018-02-01 22:55:26 +01:00
jespergravgaard
b502c26140 Optimizing zeropage coalesce to minimize moving values around. Closes #80 2018-02-01 22:36:54 +01:00
jespergravgaard
45302103fa Implemented 16bit division. Added support for word arrays. (idx must be multiplied by 2 manually) 2018-02-01 20:17:08 +01:00
jespergravgaard
e0124ee654 Added 8bit unsigned division. Ensured that pointers are generated into ASM labels. 2018-01-31 21:27:23 +01:00
jespergravgaard
b466f2f5cc Added test provoking a register clobber error. 2018-01-30 22:23:07 +01:00
jespergravgaard
63f6620246 Implemented register(A/X/Y) keyword for allocating variables to specific register. Closes #70 2018-01-30 22:18:49 +01:00
jespergravgaard
7e268c5b4f Moving declared register through the variable chain. 2018-01-30 11:50:18 +01:00
jespergravgaard
88744c8624 Consolidating variable methods - preparing to remove the 3 sub-classes. 2018-01-30 10:23:55 +01:00
jespergravgaard
6a012a3fd0 Added register keyword 2018-01-30 10:04:35 +01:00
jespergravgaard
02d7170a4c Made ASM parenthesis hard. 2018-01-28 23:22:22 +01:00
jespergravgaard
341d8c5556 Renamed dword fragments from vl... to vd... 2018-01-28 23:09:47 +01:00
jespergravgaard
546644b7d3 Added parenthesis to ASM expressions. 2018-01-28 23:06:19 +01:00
jespergravgaard
9b09aaab14 Made dword value higher (>$80000000) 2018-01-28 22:15:09 +01:00
jespergravgaard
3d33851983 Improved dword type inference. 2018-01-28 17:21:57 +01:00
jespergravgaard
9025b7d64a Removed verbose log. 2018-01-28 16:39:58 +01:00
jespergravgaard
fff4299fb2 Added dword and signed dword. Closes #76 2018-01-28 16:19:15 +01:00
jespergravgaard
b3a1c330a7 Removed two synthable fragments 2018-01-28 10:25:40 +01:00