Karol Stasiak
|
bb63a73f15
|
Improve interprocedural optimizations
|
2019-08-01 19:11:35 +02:00 |
|
Karol Stasiak
|
35fbdcdbb1
|
6502: Fix compilation of some index expressions
|
2019-08-01 19:11:09 +02:00 |
|
Karol Stasiak
|
51da5ab2c0
|
6502: optimize bitops on words
|
2019-08-01 13:27:03 +02:00 |
|
Karol Stasiak
|
7ded8376d8
|
Better removal of unused local variables
|
2019-07-31 23:46:08 +02:00 |
|
Karol Stasiak
|
31cbb3d42d
|
Fix optimized struct assignments (again)
|
2019-07-31 23:36:08 +02:00 |
|
Karol Stasiak
|
5c5bfa3f00
|
6502: Allow comparing words on stack
|
2019-07-31 22:32:41 +02:00 |
|
Karol Stasiak
|
a3a168b90b
|
Fix optimized struct assignments
|
2019-07-31 22:30:33 +02:00 |
|
Karol Stasiak
|
fe25978d14
|
6502: fix broken jump optimization
|
2019-07-31 22:30:04 +02:00 |
|
Karol Stasiak
|
05c017e375
|
New encodings for MSX
|
2019-07-31 00:20:18 +02:00 |
|
Karol Stasiak
|
22b4776139
|
Enable pointers to functions with a word parameter (using trampolines on 6502)
|
2019-07-30 22:49:32 +02:00 |
|
Karol Stasiak
|
613ddcf9a4
|
Refactoring
|
2019-07-30 22:25:05 +02:00 |
|
Karol Stasiak
|
e2c8dad7a5
|
Fix
|
2019-07-30 15:36:18 +02:00 |
|
Karol Stasiak
|
251c6c5562
|
Assembly output should contain decoded text literals
|
2019-07-30 15:31:00 +02:00 |
|
Karol Stasiak
|
d3b72f5b42
|
Add petjp and petscrjp encodings. Allow lowercase letters in string literals on Apple II.
|
2019-07-30 15:10:29 +02:00 |
|
Karol Stasiak
|
943a56a30f
|
6502: Fix some cases of word additions; optimize bitmasking
|
2019-07-30 14:47:52 +02:00 |
|
Karol Stasiak
|
40b2e393da
|
Another fix for PETSCII
|
2019-07-30 14:35:22 +02:00 |
|
Karol Stasiak
|
5c3637e2ea
|
6502: Optimize some word operations
|
2019-07-30 01:40:13 +02:00 |
|
Karol Stasiak
|
b68e4b67c8
|
Better support for big-endian systems
|
2019-07-29 22:51:08 +02:00 |
|
Karol Stasiak
|
dd4cb17a80
|
_.length and _.lastindex for arrays
|
2019-07-29 22:50:26 +02:00 |
|
Karol Stasiak
|
5fb6efbd61
|
Change PETSCII encoding to match CC65 and readkey
|
2019-07-29 02:07:30 +02:00 |
|
Karol Stasiak
|
cb0718b433
|
6809: First bits of the code generator
|
2019-07-29 00:55:24 +02:00 |
|
Karol Stasiak
|
b2afddf05b
|
More output operators
|
2019-07-28 17:49:20 +02:00 |
|
Karol Stasiak
|
8922beda00
|
Allow text literals in more positions
|
2019-07-27 01:38:06 +02:00 |
|
Karol Stasiak
|
35ba36ce11
|
Function pointers – initial version
|
2019-07-27 00:58:10 +02:00 |
|
Karol Stasiak
|
be9d27e2ee
|
Use standard logging during deduplication
|
2019-07-27 00:39:07 +02:00 |
|
Karol Stasiak
|
3aac33b54f
|
Add the bool type. Few boolean-related bugfixes.
|
2019-07-26 19:02:32 +02:00 |
|
Karol Stasiak
|
c8ca48a6b0
|
Better documentation for in-place modification operators
|
2019-07-26 18:56:24 +02:00 |
|
Karol Stasiak
|
96850d295d
|
Disallow calls to main when using software stack
|
2019-07-26 14:56:44 +02:00 |
|
Karol Stasiak
|
8d4e7b9326
|
Assignments of large objects accessed through pointers
|
2019-07-26 14:49:06 +02:00 |
|
Karol Stasiak
|
adc93aeb74
|
Z80: Fix optimizations near stack variables
|
2019-07-26 14:15:35 +02:00 |
|
Karol Stasiak
|
4b25ce2d8c
|
Pointers to fields of array elements
|
2019-07-24 00:14:27 +02:00 |
|
Karol Stasiak
|
b873030b29
|
6502: More optimizations
|
2019-07-23 23:17:03 +02:00 |
|
Karol Stasiak
|
a25f6ca3f6
|
6502: Fix optimizations involving the zeropage pseudoregister
|
2019-07-23 23:16:37 +02:00 |
|
Karol Stasiak
|
45c137e2c0
|
6502: more possible comparisons for 16-bit words
|
2019-07-19 15:48:08 +02:00 |
|
Karol Stasiak
|
ed6d96f3f5
|
Fix for-downto
|
2019-07-19 15:47:46 +02:00 |
|
Karol Stasiak
|
49d176fb3c
|
Extra message if a constant is not yet constant
|
2019-07-19 15:47:36 +02:00 |
|
Karol Stasiak
|
07a29643a8
|
Fix text literals as expressions
|
2019-07-19 15:47:19 +02:00 |
|
Karol Stasiak
|
12d32594d1
|
Allow a line break after an operator
|
2019-07-19 15:46:19 +02:00 |
|
Karol Stasiak
|
09f5ab269d
|
6502: fix invalid short jumps
|
2019-07-19 15:45:57 +02:00 |
|
Karol Stasiak
|
20f4baf2b2
|
Allow setting segments for multiple declarations at once
|
2019-07-17 20:51:34 +02:00 |
|
Karol Stasiak
|
8d8859b55f
|
Be more helpful for C users
|
2019-07-17 20:49:36 +02:00 |
|
Karol Stasiak
|
11825c43e1
|
Check if all segment exist right after parsing
|
2019-07-17 20:48:31 +02:00 |
|
Karol Stasiak
|
1d024eae76
|
Add LITTLE_ENDIAN and BIG_ENDIAN features
|
2019-07-15 14:15:38 +02:00 |
|
Karol Stasiak
|
f3dcfc78ba
|
Dijkstra wept
|
2019-07-15 02:06:23 +02:00 |
|
Karol Stasiak
|
98f35937e3
|
Improve text encodings on Atari
|
2019-07-12 13:29:59 +02:00 |
|
Karol Stasiak
|
6d499f3623
|
Arrays with elements larger than one byte
|
2019-07-10 16:51:12 +02:00 |
|
Karol Stasiak
|
a29b2a994b
|
Improve passing of register parameters to assembly functions
|
2019-07-09 22:40:14 +02:00 |
|
Karol Stasiak
|
c5135423f8
|
Fix: don't swap BC and DE if jumping outside the function
|
2019-07-09 22:39:57 +02:00 |
|
Karol Stasiak
|
7766ba932b
|
Fix variable coercing
|
2019-07-09 22:39:20 +02:00 |
|
Karol Stasiak
|
62f79388bd
|
Slowly move towards removing the farword alias
|
2019-07-09 22:03:53 +02:00 |
|
Karol Stasiak
|
4ab45aba2e
|
8080: Fix certain bulk array operations
|
2019-07-09 21:59:02 +02:00 |
|
Karol Stasiak
|
8a5672c2dc
|
Allow declaring multiple variables in one line
|
2019-07-08 19:24:11 +02:00 |
|
Karol Stasiak
|
769f410767
|
Fix detection of local duplicate names
|
2019-07-08 19:10:21 +02:00 |
|
Karol Stasiak
|
56c1ab008d
|
6502: optimize special cases of bulk memory modifications
|
2019-07-08 19:02:42 +02:00 |
|
Karol Stasiak
|
d64d0b5f96
|
6502: Fix expressions like p[i] <<= 1
|
2019-07-08 18:51:49 +02:00 |
|
Karol Stasiak
|
767f0da703
|
Placeholder for future expansion
|
2019-07-08 09:26:51 +02:00 |
|
Karol Stasiak
|
1e4b5acfba
|
Fix some edge cases with large variables
|
2019-06-29 16:22:27 +02:00 |
|
Karol Stasiak
|
8af2cb6da2
|
6502: Make zeropage registers more detectable by the optimizer
|
2019-06-29 00:08:12 +02:00 |
|
Karol Stasiak
|
bcb2e362b2
|
Restrict subroutine extraction to make exponential runtime less likely
|
2019-06-29 00:07:32 +02:00 |
|
Karol Stasiak
|
3e0dad4cb0
|
Few more optimizations
|
2019-06-28 23:19:58 +02:00 |
|
Karol Stasiak
|
e1b2b7f2c9
|
Let's hope this doesn't break anything
|
2019-06-28 21:45:12 +02:00 |
|
Karol Stasiak
|
13c23c1bd1
|
Java 11 compatibility
|
2019-06-28 17:54:08 +02:00 |
|
Karol Stasiak
|
39b07a8bae
|
Fix init_rw_memory on Atari 2600
|
2019-06-28 16:44:41 +02:00 |
|
Karol Stasiak
|
674f8d1983
|
Allow initializing writable variables on cartridge targets
|
2019-06-28 16:28:49 +02:00 |
|
Karol Stasiak
|
3d68d4f990
|
mapValues is lazy what the fuck
|
2019-06-28 16:24:49 +02:00 |
|
Karol Stasiak
|
4d59edbe51
|
6502: Better error messages
|
2019-06-28 16:23:24 +02:00 |
|
Karol Stasiak
|
7d051eb5e0
|
Don't modify macro invocations
|
2019-06-27 00:50:21 +02:00 |
|
Karol Stasiak
|
efe69eb5a9
|
Fix performance regressions and some bugs
|
2019-06-27 00:18:05 +02:00 |
|
Karol Stasiak
|
261486b3cd
|
Don't enable -fsubroutine-extraction when using -Os or -Of
|
2019-06-26 19:07:25 +02:00 |
|
Karol Stasiak
|
14d6cf4d5c
|
Fix stack overflow
|
2019-06-26 19:06:45 +02:00 |
|
Karol Stasiak
|
51599c9615
|
Allow defining free zeropage bytes instead of pointers
|
2019-06-26 18:33:59 +02:00 |
|
Karol Stasiak
|
c580ba33ea
|
Fix nested #ifs
|
2019-06-26 18:31:45 +02:00 |
|
Karol Stasiak
|
c9a65d5971
|
Added #define directive
|
2019-06-26 13:43:15 +02:00 |
|
Karol Stasiak
|
22cdd1c768
|
Z80: Fix stack variable optimizations when addresses of stack variables are taken (2)
|
2019-06-26 10:46:59 +02:00 |
|
Karol Stasiak
|
afa871abcf
|
Z80: Fix stack variable optimizations when addresses of stack variables are taken
|
2019-06-26 02:11:53 +02:00 |
|
Karol Stasiak
|
a3b21c4810
|
8080: Use pointers instead of indexing when traversing an array in a loop
|
2019-06-26 01:56:32 +02:00 |
|
Karol Stasiak
|
8304650b3e
|
6502: Fix summing for-loops
|
2019-06-26 01:47:43 +02:00 |
|
Karol Stasiak
|
6cf746045f
|
8080/Z80: More optimizations
|
2019-06-26 01:47:03 +02:00 |
|
Karol Stasiak
|
507791bcaf
|
Fix stack overflow
|
2019-06-26 01:46:31 +02:00 |
|
Karol Stasiak
|
f90d6afc43
|
8080: Fixed inlining of byte-sized variables into registers
|
2019-06-26 01:45:34 +02:00 |
|
Karol Stasiak
|
2282e56845
|
6502: Faster summing for-loops
|
2019-06-25 18:23:31 +02:00 |
|
Karol Stasiak
|
260cfd50c4
|
Fix putword optimization
|
2019-06-25 18:19:57 +02:00 |
|
Karol Stasiak
|
e394fe15c3
|
Add struct literals
|
2019-06-25 00:45:49 +02:00 |
|
Karol Stasiak
|
978d97cd7d
|
Fix unused object detection
|
2019-06-25 00:26:52 +02:00 |
|
Karol Stasiak
|
d8defaad82
|
Fix and document for-each loops
|
2019-06-24 23:51:17 +02:00 |
|
Karol Stasiak
|
25c440f17d
|
Add local arrays
|
2019-06-24 22:32:29 +02:00 |
|
Karol Stasiak
|
663e38c264
|
Optimizations:
– optimize multiplication and division by constants
– optimize multiplication, division and shifts for size
|
2019-06-24 15:20:39 +02:00 |
|
Karol Stasiak
|
8ea3957023
|
8080: optimize loads to HL
|
2019-06-24 15:18:44 +02:00 |
|
Karol Stasiak
|
15475b6886
|
Don't require -Os for code deduplication
|
2019-06-24 15:17:35 +02:00 |
|
Karol Stasiak
|
23b4b110a6
|
8080: optimize more pointless loads
|
2019-06-24 15:17:05 +02:00 |
|
Karol Stasiak
|
4dd470141a
|
6502: zero-extend the division result
|
2019-06-24 15:16:14 +02:00 |
|
Karol Stasiak
|
4654698891
|
8080: tail call optimization
|
2019-06-24 00:47:07 +02:00 |
|
Karol Stasiak
|
869211658a
|
Division optimizations
|
2019-06-24 00:13:16 +02:00 |
|
Karol Stasiak
|
fbe20a240b
|
8080: Fix division
|
2019-06-24 00:13:02 +02:00 |
|
Karol Stasiak
|
0205520bf9
|
Allow taking addresses of stack variables
|
2019-06-23 22:53:42 +02:00 |
|
Karol Stasiak
|
f22b62e57f
|
Z80: Fix stack variable inlining
|
2019-06-23 22:31:46 +02:00 |
|
Karol Stasiak
|
63c43c414a
|
Various fixes related to the -> operator
|
2019-06-23 19:44:53 +02:00 |
|
Karol Stasiak
|
088b28989f
|
Division by zero warnings
|
2019-06-23 19:44:34 +02:00 |
|
Karol Stasiak
|
f46466365b
|
Compilation order should be decided by the import statements
|
2019-06-14 23:20:03 +02:00 |
|
Karol Stasiak
|
ba16021426
|
Allow using $$ instead of # in preprocessor directives
|
2019-06-14 15:33:17 +02:00 |
|