dc14751954Exported the direct Kernal entries that were moved from target headers to "cbm_kernal.inc".
Greg King
2020-09-22 00:02:12 -04:00
41bd8d909bAdded ld65's bank attribute to the cx16 library's bank (overlay) configuration file.
Greg King
2020-09-20 19:55:25 -04:00
0b64ca0d7dFixed the ld65 cx16 Assembly configuration file.
Greg King
2020-09-20 16:09:58 -04:00
bf4b195016Added some comments that explain where the g_branch() code generator can and can't be used.
Greg King
2020-09-18 15:50:26 -04:00
de630a1245Fixed quick hack for known registers after calling certain runtime functions, and new quick hack for tosshrax.
acqn
2020-09-13 09:15:07 +08:00
079f4a99ddAdded processor state info to the OPCDesc table. However, since some opcodes are affected by the addressing mode, this info is unused in codegen/optimizer but just as quick in-code documentation/hints.
acqn
2020-09-13 09:14:51 +08:00
a7d6eb9190Added processor flag usage/change-tracking for non-JSR/RTS code entries. Some existing optimizations are impacted and need fixes in order to work correctly again. Fixed and improved OptPrecalc. Now it respects the C/V/Z/N flags. Fixed optimizations impacted by added support of tracking processor flags.
acqn
2020-09-13 08:41:05 +08:00
d02b12fa6cMade local code/data labels really local to the functions where they live in.
acqn
2020-08-23 01:35:18 +08:00
86ced2bd4cAvoided unnecessarily boosting the code label numbers with boolean AND.
acqn
2020-09-13 17:01:57 +08:00
0482e4d6e4Fix CRLFs introduced by fe3f267
Jesse Rosenstock
2020-09-18 08:42:56 +02:00
b8ae5c28feAdded debug output support for processor flags.
acqn
2020-09-08 23:41:04 +08:00
810e17edfeFixed processor states tracking for the BIT/TRB/TSB opcode. Added new opcode descriptions about whether and how the opcode accesses memory.
acqn
2020-09-08 23:41:02 +08:00
66c5faeb9aAdded processor flags usage tracking. Added ZNRegs for tracking what register(s) Z/N flags currently reflect. Added utility functions to check if the specified processor state is known to be a certain value.
acqn
2020-09-08 23:40:58 +08:00
fe3f267233Added new runtime sub bcasta/bcastax/bcasteax opposing to bnega/bnegax/bnegeax.
acqn
2020-09-05 11:28:38 +08:00
142b0bf9b3Added utility functions to get names of comparison function/transformer subroutines.
acqn
2020-09-05 11:26:00 +08:00
ae6696fcb9Removed some ambiguity from a statement.
Greg King
2020-09-08 10:24:27 -04:00
ab7e9f8424Hotfix for Issue #1250.
acqn
2020-09-08 21:36:38 +08:00
41cee0eb44Extended support for more addressing modes in tos* optimizations.
acqn
2020-01-23 06:54:34 +08:00
7553b60ef0Improved OptStackOps for optimizating further when operands have equal hi-bytes.
acqn
2020-01-23 06:53:52 +08:00
57117fa687Utility functions about compare conditions.
acqn
2020-01-23 06:39:37 +08:00
64ef562fa7Moved all optimization steps from codeopt.c and some optimization steps from coptind.c into new separate files.
acqn
2020-09-07 05:11:48 +08:00
1e7a9e44afUpdate comment to reflect addition of integer boundary constants
Tevo
2020-09-06 21:19:01 -03:00
23a8b2c303Define integer size macros for lacking systems
Tevo
2020-09-03 00:06:31 -03:00
6bb2d1d5d1Fixed a comment on struct/union types in DoCompare().
acqn
2020-09-07 04:19:27 +08:00
1cde952cf5Fixed comparing an enum type with a non-enum type in DoCompare().
acqn
2020-09-07 04:19:27 +08:00
6e0fb630d7Fixed check for processor flags usage in case of PHP.
acqn
2020-09-05 21:31:22 +08:00
e2f950b15eAvoided referencing string literals with sizeof so that they are not output if unused elsewhere.
acqn
2020-08-31 17:45:36 +08:00
903e84c24cStd-functions are no longer inlined if they are unevaluated.
acqn
2020-08-31 17:45:25 +08:00
df07e23f2cFixed bnegeax funcinfo on register usage.
acqn
2020-09-05 11:15:17 +08:00
f849de6769Object addresses as non-NULL for comparison with NULL.
acqn
2020-08-20 07:52:22 +08:00
8e0b2f0833Object addresses as non-NULL in boolean context.
acqn
2020-08-20 07:52:20 +08:00
bc5570b708Fixed logical-NOT in constant context.
acqn
2020-08-20 07:52:17 +08:00
44b719d957Change line endings from CRLF to LF
Jesse Rosenstock
2020-09-03 09:16:51 +02:00
676b14429dBetter opt chance for certain optimization steps e.g. OptPtrStore1 etc.
acqn
2020-08-31 06:16:36 +08:00
29d1999947Rearranged the OptFunc's in alphabetic order.
acqn
2020-08-31 06:16:32 +08:00
761d00b7dcIgnore running removed old optimization steps. Neither list them in help info.
acqn
2020-08-31 06:16:28 +08:00
ae340703f2OptDupLoads shouldn't silently do optimizations.
acqn
2020-08-31 01:57:01 +08:00
f45d2515ebFixed OptPush1 in case later code would rely on that pushax zeroes register Y.
acqn
2020-08-31 01:56:57 +08:00
2a3d996077Improved test case for PR #1220.
acqn
2020-08-31 20:41:36 +08:00
fb6bc275bcFixed evaluation flags propagation to subexpressions in assignments and function calls.
acqn
2020-08-31 20:33:58 +08:00
2379504449Fixed AND/OR in certain cases where the 'E_NEED_TEST' flag set for usage only in subexpressions should be cleared.
acqn
2020-08-31 20:31:54 +08:00
28de3423ebMerged some switch cases in code generation subroutines.
acqn
2020-08-23 01:35:13 +08:00
6b64b43395Made local static data use a separated label pool from the code label pool.
acqn
2020-08-23 01:35:11 +08:00
9398e1cd33Use a dedicated label pool for literals.
acqn
2020-08-23 01:35:06 +08:00
bee559d5f4Merge pull request #1220 from acqn/StaticConst
Oliver Schmidt
2020-08-31 08:59:25 +02:00
74def4608aThe 'E_NEED_TEST' flag shouldn't be overwritten when loading the expression result.
acqn
2020-08-31 02:30:12 +08:00
c0a873e0c8Reduced exess errors on wrong initializations with curly braces.
acqn
2020-08-27 08:02:05 +08:00
8b580e1191Disabled struct/union fields of 'void' type.
acqn
2020-08-30 02:31:09 +08:00
f1161daee9Recursively checking for incomplete/unknown-sized types.
acqn
2020-08-30 02:30:43 +08:00
8541f18340Improved diagnostic info on assignment to void types.
acqn
2020-08-26 00:12:23 +08:00
abcc2a8f1aDisallowed void arrays of elements of variant sizes.
acqn
2020-08-20 07:46:08 +08:00
d87846e1e1Improved comments according to PR reviews.
acqn
2020-08-30 22:12:30 +08:00
60c59f59a3Renamed StaticConstExpr() and StaticConstAbsIntExpr() with clearer comments.
acqn
2020-08-30 00:26:52 +08:00
f54e01781bTiny optimizations for multiplication.
IrgendwerA8
2020-08-29 16:21:45 +02:00
5158ee2092preliminary makefile to build all programs in the testcode directory
mrdudz
2020-08-27 14:50:00 +02:00
5e2d2a54f6added makefile for the GEOS samples. geosconio.c and rmvprot.c do not compile right now, someone with more GEOS knowledge should look at them
mrdudz
2020-08-27 14:25:33 +02:00
4008ab556cadded a Makefile
mrdudz
2020-08-27 01:34:18 +02:00
f34644186fbuild a bogus "ROM image" that can be disassembled, fix the makefile, remove generated files
mrdudz
2020-08-27 01:19:33 +02:00
504aee3835Merge branch 'master' into StaticConst
acqn
2020-08-27 06:27:23 +08:00
7a453d1f90add a "disk" target to build the disk images as suggested by Oliver
mrdudz
2020-08-27 00:08:22 +02:00
85ea06687bFixed logical AND and logical OR.
acqn
2020-08-20 07:52:15 +08:00
725511131aFixed constant expression checks with no-code requirement. Used return-by-value initialization for ExprDesc.
acqn
2020-08-20 07:52:11 +08:00
1abb9da2b2Moved bug250.c to test/val as it is fixed.
acqn
2020-08-26 09:40:32 +08:00
3ea3887c77Fixed warnings on const comparison. Warnings on expressions with no effects. Fixed const ternary. Fixed ternary with struct/union types as the true/false-branch expressions.
acqn
2020-08-20 07:52:06 +08:00
b15ab348baMoved bug250.c from test/misc as it is to be fixed.
acqn
2020-08-26 08:23:05 +08:00