1
0
mirror of https://gitlab.com/camelot/kickc.git synced 2024-11-20 02:32:36 +00:00
Commit Graph

1458 Commits

Author SHA1 Message Date
jespergravgaard
32ead9cc87 One more optimization. 2019-09-07 22:31:24 +02:00
jespergravgaard
7fb7d3acf6 Optimized live ranges by statement idx in PassNLiveRangeVariables. Added example of how to use segments to compile code meant for transfer to zeropage. 2019-09-07 18:23:11 +02:00
jespergravgaard
33c39bfd52 Fixed error in fragment doing *(ptr)++ 2019-09-07 16:23:34 +02:00
jespergravgaard
71fc963145 Improved error reporting when generating ASM statement fails. Added missing fragment. Added another test showing problems with number resolving. 2019-09-07 16:14:08 +02:00
jespergravgaard
f09b1616c2 Added -Wfragment option that replaces error with warning when a fragment is missing. 2019-09-06 22:32:18 +02:00
jespergravgaard
01008ccb26 Optimized Pass2AssertSymbols and PassNCalcLiveRangeVariables. 2019-09-06 07:44:09 +02:00
jespergravgaard
daa963dbbb Added missing fragment for Paul Nelsen 2019-09-04 23:30:19 +02:00
jespergravgaard
0bf1363c90 Improved fragment 2019-09-04 23:11:35 +02:00
jespergravgaard
899058ce42 Added fragment for Paul Nelsen. 2019-09-04 23:09:27 +02:00
jespergravgaard
c7fd528709 Removed last GB of memory usage. Closes #306 2019-09-04 00:03:16 +02:00
jespergravgaard
9c5de66830 Removed 1GB of memory usage. #306 2019-09-03 23:11:41 +02:00
Jesper Gravgaard
036ff9259c Fixed problem with recursive aliasses (it was caused by a bad alias-replacement earlier). Closes #305
Fixed literal calculation of constant pointer decrement.
2019-09-03 16:16:07 +02:00
jespergravgaard
42ecee2f94 Working on #304, #305, #306. 2019-09-03 08:35:38 +02:00
jespergravgaard
162b29b2d4 Standardized >> to use hex in fragments. 2019-09-03 00:35:40 +02:00
jespergravgaard
9b113b4bcd Fixed problem with inline ASM culling JMP. Closes #302 2019-09-02 23:35:15 +02:00
jespergravgaard
2afd9bd3c0 Re-added -Onoloophead option. 2019-09-02 22:55:04 +02:00
jespergravgaard
bb75c245a5 Merge remote-tracking branch 'origin/master' 2019-09-02 19:19:25 +02:00
jespergravgaard
f234f5a1ae Improved exception for recursive aliases. 2019-09-02 19:15:28 +02:00
Jesper Gravgaard
51cd148433 Implemented detection of constant addresses being <256 - and generating ZP ASM for these. Closes #301 2019-09-01 22:06:32 +02:00
jespergravgaard
a2ce3a5e14 Added missing fragments for Paul Nelsen. 2019-08-31 06:58:21 +02:00
jespergravgaard
8c56181554 Added support for allocating specific zeropage addresses for variables using the register(0x12) directive. This also includes function parameters making it possible to the calling convention pretty well. Closes #287 2019-08-29 22:52:58 +02:00
Jesper Gravgaard
67157f0a70 Implemented interval analysis for detecting conditions that are always true/false. Closes #291 2019-08-29 20:05:08 +02:00
jespergravgaard
887b9b08d7 Added missing fragment for leac0045 2019-08-29 16:00:27 +02:00
jespergravgaard
a4450db06a Merge remote-tracking branch 'origin/master' 2019-08-29 15:40:51 +02:00
jespergravgaard
cc7e7829cb Fixed tests. 2019-08-29 15:40:41 +02:00
Jesper Gravgaard
c35d35c238 Updated test data 2019-08-29 09:29:33 +02:00
jespergravgaard
8ee1cf8b7e Prepared for constant condition interval analysis 2019-08-29 08:54:38 +02:00
jespergravgaard
a064e766bc Added missing fragments for Clay Cowgill 2019-08-28 09:56:00 +02:00
jespergravgaard
abdf3c3adb Added missing fragments for Clay Cowgill 2019-08-27 22:45:18 +02:00
jespergravgaard
70aaeafecc Added test for til parameter type problem. #299 2019-08-27 19:15:32 +02:00
jespergravgaard
f9a7904acb Added missing signed 16bit copy fragment. 2019-08-27 18:39:24 +02:00
Jesper Gravgaard
b6d917a264 Added missing fragment. Added test for literal string pointer cast to word. #298 2019-08-27 14:54:49 +02:00
Jesper Gravgaard
a1fc0ace62 Added test showing inline ASM preserving called functions. #294 2019-08-27 14:31:30 +02:00
Jesper Gravgaard
fc3b7bd5c0 Added test illustrating problem with bitwise not and literal number type inference. #199 2019-08-27 13:26:55 +02:00
Jesper Gravgaard
5b71c50a90 Added tests for kickasm uses variable version problem. #296 2019-08-27 12:49:17 +02:00
Jesper Gravgaard
8ba337088d Added tests for #199 #295.
Updated version number to 0.7.9
2019-08-27 12:01:20 +02:00
jespergravgaard
00c9b47481 Added support for specifying that inline kickasm uses a procedure - preventing it from being culled. Closes #294 2019-08-26 19:31:55 +02:00
jespergravgaard
452b9d2ae6 Fixed tests & fragment. 2019-08-26 00:55:22 +02:00
jespergravgaard
0dc8d5e735 Added fragments from Richard-William Loerakker 2019-08-26 00:23:05 +02:00
jespergravgaard
8e02a13dd3 Added a missing fragment. 2019-08-25 23:27:10 +02:00
jespergravgaard
b97d8300b3 Added another example of loophead optimization giving wrong return value. #290 2019-08-25 22:57:23 +02:00
jespergravgaard
2739456cc3 Added test for optimizing comparisons to types outside range of type. Added a missing fragment (that won't be used when the optimization is implemented). #291 2019-08-25 22:44:06 +02:00
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
19e53bf6fd Implemented handling of expr-statements that do not produce a statement - this forces an assignment to a tmp-var (which means that it will be type-checked and more). Closes #276 2019-08-25 21:37:10 +02:00
jespergravgaard
c75e788fd1 Fixed problems casting strings to void*. Closes #281 2019-08-25 15:54:09 +02:00
jespergravgaard
bfe90bdf04 Better error when encountering continue in switch that is not inside loop. Closes #282 2019-08-25 15:01:04 +02:00
jespergravgaard
0fb90dc8b7 Fixed problem casting a constant pointer to char. Closes #288 2019-08-25 14:51:07 +02:00
jespergravgaard
56b0026452 Fixed error message when encountering non-integer number. Closes #286 2019-08-25 14:38:44 +02:00
jespergravgaard
0456279c94 Moved AsmFormat 2019-08-25 14:31:11 +02:00
jespergravgaard
5229b24ae7 better javadoc and names. 2019-08-25 14:19:37 +02:00