Karol Stasiak
d8c11a9c50
Minor optimizations
2023-02-03 14:46:01 +01:00
Karol Stasiak
ee47ccef5a
fix z80 indexing in hardwritten assembly ( #137 )
2023-01-27 18:27:53 +01:00
Karol Stasiak
9229092309
random minor stuff
2023-01-27 18:16:25 +01:00
Karol Stasiak
ca7166d1ae
oops
2023-01-27 18:16:02 +01:00
Karol Stasiak
1594d63a9a
Add a command line flag for identity page
2023-01-27 18:15:40 +01:00
Karol Stasiak
75cc34663c
Z80: fix an optimization
2023-01-27 18:15:10 +01:00
Karol Stasiak
f4d2fdd370
6502: use identity page for maths
2023-01-27 18:14:50 +01:00
Karol Stasiak
29c1e3f2a6
6502 and Z80: Optimize optimizations
2023-01-27 18:13:21 +01:00
Karol Stasiak
e9cfec54b5
Various 6502 optimization fixes
2023-01-27 17:34:09 +01:00
Karol Stasiak
1bc1ab3539
Fix some codegen bugs on 6502
2023-01-27 17:00:29 +01:00
Karol Stasiak
6f294d6dec
Fix -fbounds-checking
2022-02-12 02:13:30 +01:00
Karol Stasiak
9866c974ad
Don't apply Constant index offset propagation in decimal mode
2022-02-12 02:12:55 +01:00
Karol Stasiak
a70a1c0e6b
Consider kernal_interrupt functions as entry points
2022-02-11 21:48:13 +01:00
Karol Stasiak
790c836771
Fix handling of non-top-level return dispatch statements
2022-02-11 21:47:39 +01:00
Karol Stasiak
6af84d1628
Optimize the optimizer
2022-02-08 14:42:30 +01:00
Karol Stasiak
7b205a2754
Allow multiple -D options
2022-02-08 13:21:26 +01:00
Karol Stasiak
b1a2be5574
6809: Fix constant condition compilation
2021-11-22 01:58:09 +01:00
Karol Stasiak
38ad919ed9
Show the positions of unevaluated constants
2021-11-12 02:44:58 +01:00
Karol Stasiak
34ef8b8de9
Better evaluation of the if function in constants
2021-11-12 02:44:20 +01:00
Karol Stasiak
f676e74e38
Macro improvements:
...
– allow local constants in macros
– allow untyped macro parameters with void
– treat the name of a function as a pointer to it
– add this.function local alias (#118 )
2021-11-12 02:10:07 +01:00
Karol Stasiak
c9313e5dbe
Add support for ld65 label file format ( #128 )
2021-11-12 00:47:12 +01:00
Karol Stasiak
73a223b9b6
Add support for Mesen label file format by tracking file-relative positions of segments ( #128 )
2021-11-03 21:48:45 +01:00
Karol Stasiak
b168818bab
Report every hole in the output 4 bytes or larger; count total free bytes in the entire bank
2021-09-21 00:43:29 +02:00
Karol Stasiak
c9ef5e636b
Add raw label file format
2021-09-21 00:09:59 +02:00
Karol Stasiak
166acf2b18
R800 support
2021-09-18 00:36:16 +02:00
Karol Stasiak
7530b382a8
Fix array fields in certain contexts
2021-09-17 22:19:39 +02:00
Karol Stasiak
0c8951d015
Fix unused variable elimination in for-array statements ( fixes #125 )
2021-09-13 09:27:34 +02:00
Karol Stasiak
84dde8589c
Allow spaces after the array keyword ( fixes #120 )
2021-09-13 09:26:54 +02:00
Karol Stasiak
3b0aa9a425
Fixes for flag boolean types ( fixes #123 )
2021-09-13 09:26:27 +02:00
Karol Stasiak
90e5360bfd
Related to #119 :
...
– Detection of simple byte overflow cases.
– Optimization of 8×8→16 multiplication on 6809.
– Multiplication optimizations on Z80.
2021-08-06 21:01:03 +02:00
Karol Stasiak
7f0def54bc
Improvements for 65CE02 assembly ( fixes #116 )
2021-06-29 02:29:30 +02:00
Karol Stasiak
faf97cee1f
Don't call valid control characters invalid
2021-06-29 02:29:12 +02:00
Karol Stasiak
da862069a7
Fix for volatile fields
2021-06-29 02:28:32 +02:00
Karol Stasiak
431a25d325
Internal support for pointers to volatile objects; add volatile fields ( closes #112 )
2021-06-21 14:20:24 +02:00
Karol Stasiak
73beafd65e
Support for expressions in file() ( fixes #114 )
2021-06-21 14:18:17 +02:00
Karol Stasiak
307ad90ecf
6809: Improve flow analysis and add few more optimizations
2021-06-21 14:15:40 +02:00
Karol Stasiak
4f6eefab79
Officially deprecate old decimal operators
2021-05-23 22:31:11 +02:00
Karol Stasiak
ca35367974
Tease floating-point numbers
2021-05-16 23:32:33 +02:00
Karol Stasiak
2065c3b4ac
Fix 6809 under native-image
2021-05-16 23:32:18 +02:00
Karol Stasiak
9028d55a7e
Various optimization improvements and fixes, mostly for 6809
2021-05-16 23:31:52 +02:00
Karol Stasiak
21d4d3252f
Remove debugging statements
2021-05-16 00:40:12 +02:00
Karol Stasiak
0172e29bb2
Underscores in numeric literals. Fix parsing of Intel hex constants starting with 0B.
2021-05-08 00:42:06 +02:00
Karol Stasiak
ffb46c4250
Optimize some bitmask operations
2021-05-05 02:58:57 +02:00
Karol Stasiak
c51c08ad56
6809: Fix and improve optimizations
2021-05-05 02:58:28 +02:00
Karol Stasiak
fcdad413b0
#110 Add a warning for comparisons between bytes and pointers.
2021-05-05 00:59:54 +02:00
Karol Stasiak
1f318a2a0e
6502: Optimize sign extension
2021-04-24 01:18:34 +02:00
Karol Stasiak
1bcb6d5010
Fix sign extension when using pointers
2021-04-24 01:18:21 +02:00
Karol Stasiak
510f85960c
Fix optimizations of unused labels
2021-04-24 01:18:01 +02:00
Karol Stasiak
8412075175
Fix pointer type compatibility checks
2021-04-24 01:13:59 +02:00
Karol Stasiak
e25df3d1b3
Parser optimizations again
2021-04-19 01:06:51 +02:00