1
0
mirror of https://gitlab.com/camelot/kickc.git synced 2024-09-08 17:54:40 +00:00
Commit Graph

1457 Commits

Author SHA1 Message Date
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
jespergravgaard
41fddfd25c Improved handling of ASM multi-labels. 2019-08-25 14:10:36 +02:00