Karol Stasiak
|
59afc24db6
|
Fix memset
|
2018-12-27 14:19:04 +01:00 |
|
Karol Stasiak
|
0ded460840
|
8080: Test subroutine extraction
|
2018-12-27 14:18:30 +01:00 |
|
Karol Stasiak
|
9ff254c72d
|
Allow hi() and lo() in inline assembly
|
2018-12-27 14:17:48 +01:00 |
|
Karol Stasiak
|
4d64bbafac
|
6502: always fold constants
|
2018-12-27 14:16:34 +01:00 |
|
Karol Stasiak
|
8cc612976e
|
Fix nonet subtraction warning message
|
2018-12-27 14:05:38 +01:00 |
|
Karol Stasiak
|
f12463aef0
|
Optimization refactoring:
– -Of should imply -finline
– certain optimizations should be controllable
– unused global symbols should be removed even if we're not optimizing
|
2018-12-27 01:18:29 +01:00 |
|
Karol Stasiak
|
b77f9dd5f8
|
Fix deduplication
|
2018-12-26 15:28:57 +01:00 |
|
Karol Stasiak
|
0bb662183c
|
Faster comparisons to 0 and $FFFF
|
2018-12-26 02:05:41 +01:00 |
|
Karol Stasiak
|
9669e4d87d
|
Cache AST typing
|
2018-12-26 01:26:12 +01:00 |
|
Karol Stasiak
|
bf5639761b
|
Optimize constant comparisons
|
2018-12-26 01:01:43 +01:00 |
|
Karol Stasiak
|
438d8dbe6e
|
Detection of the default include path.
|
2018-12-24 02:38:28 +01:00 |
|
Karol Stasiak
|
aebae97cc8
|
Source file name in preprocessor errors
|
2018-12-24 01:20:41 +01:00 |
|
Karol Stasiak
|
acaaa5bdfe
|
Implicit ranges in for loops are dumb, remove
|
2018-12-22 01:30:54 +01:00 |
|
Karol Stasiak
|
84c3406dc7
|
Fix for over enum
|
2018-12-22 01:30:39 +01:00 |
|
Karol Stasiak
|
02e91070aa
|
Accept bytes as LHS for >>>>
|
2018-12-21 22:36:53 +01:00 |
|
Karol Stasiak
|
d62901fb51
|
6502: Allow more complex expressions
|
2018-12-21 22:36:29 +01:00 |
|
Karol Stasiak
|
76dd4929a6
|
6502: Track which pointers need to be on zeropage
|
2018-12-21 22:36:05 +01:00 |
|
Karol Stasiak
|
36a0065b96
|
Forbid redefining builtins
|
2018-12-21 22:35:16 +01:00 |
|
Karol Stasiak
|
e43fb39781
|
Optimize some stdlib calls
|
2018-12-21 22:33:27 +01:00 |
|
Karol Stasiak
|
673727b973
|
Allow empty strings
|
2018-12-21 22:32:34 +01:00 |
|
Karol Stasiak
|
98585fcc38
|
8080: better handling of separate byte pairs
|
2018-12-19 22:29:49 +01:00 |
|
Karol Stasiak
|
8582f0974d
|
Text codec improvements
|
2018-12-19 22:27:15 +01:00 |
|
Karol Stasiak
|
60666a6467
|
8080: Inline assembly fixes
|
2018-12-19 22:26:57 +01:00 |
|
Karol Stasiak
|
05884f2c7b
|
Standard library improvements
|
2018-12-19 19:01:53 +01:00 |
|
Karol Stasiak
|
30d18fba01
|
6502: another optimization for comparisons
|
2018-12-19 18:14:40 +01:00 |
|
Karol Stasiak
|
1e9be50ccb
|
Improve error reporting
|
2018-12-19 18:14:11 +01:00 |
|
Karol Stasiak
|
960cee5124
|
Foreach statement; emitting subprocedures
|
2018-12-19 18:13:38 +01:00 |
|
Karol Stasiak
|
fc10746522
|
Alias improvements:
– aliases can now override other objects
– take aliases into account when ordering functions for optimizations and inlining
|
2018-12-19 17:33:51 +01:00 |
|
Karol Stasiak
|
49ee0fd3a2
|
MInor test suite improvements
|
2018-12-19 17:28:15 +01:00 |
|
Karol Stasiak
|
0b90addc9a
|
Remove debugging code
|
2018-12-19 01:30:20 +01:00 |
|
Karol Stasiak
|
1de6f8b75c
|
Do not emit unused runtime objects
|
2018-12-19 01:16:04 +01:00 |
|
Karol Stasiak
|
cfac41bc3b
|
Perhaps true should be 1?
|
2018-12-19 01:14:53 +01:00 |
|
Karol Stasiak
|
39a9cde375
|
Enums cant have more than 256 items
|
2018-12-19 01:14:02 +01:00 |
|
Karol Stasiak
|
1b8a7c9bb3
|
8080: Don't stash known constants on stack
|
2018-12-19 01:13:37 +01:00 |
|
Karol Stasiak
|
735d6c4169
|
6502: Use colons in assembly labels
|
2018-12-19 01:12:55 +01:00 |
|
Karol Stasiak
|
453011fb6b
|
6502: Smarter inlining of variables into A
|
2018-12-19 01:12:14 +01:00 |
|
Karol Stasiak
|
bcd17f1a78
|
6502: more bit-twiddling optimizations
|
2018-12-19 01:11:40 +01:00 |
|
Karol Stasiak
|
08f9426ccb
|
Multiplication fixes and improvements
|
2018-12-19 01:10:39 +01:00 |
|
Karol Stasiak
|
2454f223c8
|
Return dispatch over enums
|
2018-12-19 01:04:56 +01:00 |
|
Karol Stasiak
|
cfb099568e
|
Z80: track the IY stack frame
|
2018-12-19 00:59:28 +01:00 |
|
Karol Stasiak
|
7616c246ee
|
Fix Apple 2 text codec
|
2018-12-17 17:15:34 +01:00 |
|
Karol Stasiak
|
dfd9dd4c6a
|
Don't remove things referred to only by aliases
|
2018-12-17 17:03:01 +01:00 |
|
Karol Stasiak
|
235700c44c
|
Multiline value support in platform definition files
|
2018-12-17 10:41:28 +01:00 |
|
Karol Stasiak
|
8fcf628c8f
|
Better tracking of the original source
|
2018-12-17 00:35:32 +01:00 |
|
Karol Stasiak
|
4fb786522d
|
Fixed not compiling code
|
2018-12-16 22:59:58 +01:00 |
|
Karol Stasiak
|
acf9db80d3
|
Reenable mistakenly disabled tests
|
2018-12-16 22:56:02 +01:00 |
|
Karol Stasiak
|
eb29e78f56
|
More warnings
|
2018-12-16 21:07:27 +01:00 |
|
Karol Stasiak
|
78afe3d5f5
|
Preliminary support for volatile variables
|
2018-12-16 21:07:04 +01:00 |
|
Karol Stasiak
|
5a99dc7293
|
65816: various improvements
|
2018-12-16 19:34:33 +01:00 |
|
Karol Stasiak
|
cd8697552c
|
Add sizeof operator
|
2018-12-16 15:43:17 +01:00 |
|
Karol Stasiak
|
badd7ef1d8
|
Compiler performance improvements
|
2018-12-16 14:38:57 +01:00 |
|
Karol Stasiak
|
0e5d79f222
|
6502 Minor comparison optimisation
|
2018-12-15 00:01:34 +01:00 |
|
Karol Stasiak
|
4f8e4838e8
|
6502: Fix comparison optimization
|
2018-12-15 00:01:12 +01:00 |
|
Karol Stasiak
|
f32d72b51f
|
Multiplication u16×u8
|
2018-12-14 22:50:20 +01:00 |
|
Karol Stasiak
|
a73e1eae1e
|
Preprocesor should use current options
|
2018-12-14 22:49:26 +01:00 |
|
Karol Stasiak
|
65f5c552b4
|
6502: optimization improvements
|
2018-12-14 22:09:22 +01:00 |
|
Karol Stasiak
|
c28b71add5
|
6502: Stack-related things:
– software variable stack
– fixes for handling stack variables
|
2018-12-14 22:01:52 +01:00 |
|
Karol Stasiak
|
db1ce07ed6
|
8080: Fix comparisons
|
2018-12-14 21:07:14 +01:00 |
|
Karol Stasiak
|
eb6b7d7769
|
Fix and improve nonet operations
|
2018-12-14 15:43:12 +01:00 |
|
Karol Stasiak
|
406d69c74a
|
Add original line numbers to generated assembly
|
2018-12-14 15:42:31 +01:00 |
|
Karol Stasiak
|
a985c4f753
|
More various optimization fixes and improvements
|
2018-12-14 00:10:30 +01:00 |
|
Karol Stasiak
|
dbe8e39e4a
|
various optimization fixes and improvements
|
2018-12-13 23:18:56 +01:00 |
|
Karol Stasiak
|
c1ce4a9283
|
8080: fixed shifting by 0
|
2018-12-13 23:12:46 +01:00 |
|
Karol Stasiak
|
bdd41350a7
|
6502: Optimize constant comparisons
|
2018-10-12 00:13:49 +02:00 |
|
Karol Stasiak
|
ab267c88ac
|
Assume tabs are 4 spaces
|
2018-10-12 00:01:48 +02:00 |
|
Karol Stasiak
|
6b33cc49a8
|
Fix bad code deduplication
|
2018-10-12 00:01:19 +02:00 |
|
Karol Stasiak
|
30c979cc39
|
Fix badly handled stack overflow
|
2018-10-12 00:00:41 +02:00 |
|
Karol Stasiak
|
df71435c78
|
Fix for...downto loops
|
2018-10-11 23:59:50 +02:00 |
|
Karol Stasiak
|
6b43f73f57
|
Don't deduplicate non-elidable code
|
2018-10-04 23:23:04 +02:00 |
|
Karol Stasiak
|
ed38b00031
|
8080: Faster strlen; more multiplication optimizations
|
2018-10-04 23:22:26 +02:00 |
|
Karol Stasiak
|
fe1bf68295
|
Add align keyword
|
2018-10-04 21:34:53 +02:00 |
|
Karol Stasiak
|
3736b5ae56
|
6502: Use zeropage addressing mode when accessing fixed zeropage locations
|
2018-09-29 01:16:22 +02:00 |
|
Karol Stasiak
|
cbe6d03e60
|
8080: Optimized multiplication
|
2018-09-28 23:45:26 +02:00 |
|
Karol Stasiak
|
f37696df5a
|
Added #infoeval preprocessor directive
|
2018-09-28 22:49:28 +02:00 |
|
Karol Stasiak
|
c9c3ebc8a4
|
6502: Fix shifting
|
2018-09-28 22:39:16 +02:00 |
|
Karol Stasiak
|
b41f9bebc1
|
6502: Shifting improvements and fixes
|
2018-08-16 22:03:27 +02:00 |
|
Karol Stasiak
|
74dbca1f53
|
Fix typo in test
|
2018-08-16 22:01:45 +02:00 |
|
Karol Stasiak
|
462041e8f4
|
Don't align the main function
|
2018-08-09 12:42:29 +02:00 |
|
Karol Stasiak
|
376c3283b8
|
Improvements to trigonometric functions
|
2018-08-08 23:52:47 +02:00 |
|
Karol Stasiak
|
466f6e4fea
|
Z80: Various optimizations, mostly from z80heaven
|
2018-08-08 23:52:32 +02:00 |
|
Karol Stasiak
|
34b7107d27
|
Allow casting to wider types
|
2018-08-08 23:14:09 +02:00 |
|
Karol Stasiak
|
9581891d66
|
Following jumps. Generating conditional returns/calls.
|
2018-08-08 23:12:20 +02:00 |
|
Karol Stasiak
|
2d0f3a5a12
|
Fix tests
|
2018-08-08 18:48:11 +02:00 |
|
Karol Stasiak
|
0cb91c0f68
|
Z80: Better inlining of variables into register pairs
|
2018-08-08 17:52:08 +02:00 |
|
Karol Stasiak
|
019547aae8
|
Z80: Faster array indexing
|
2018-08-08 17:50:27 +02:00 |
|
Karol Stasiak
|
8b09941cef
|
Z80: Jump shortening
|
2018-08-08 13:45:38 +02:00 |
|
Karol Stasiak
|
5c65af17d4
|
Z80: More optimizations
|
2018-08-08 13:45:26 +02:00 |
|
Karol Stasiak
|
fc3ace20c4
|
Fix subbyte constants in Intel syntax
|
2018-08-08 13:45:02 +02:00 |
|
Karol Stasiak
|
2b279ac5e8
|
Give the preprocessor access to compilation options
|
2018-08-08 13:44:30 +02:00 |
|
Karol Stasiak
|
2af8304512
|
Deduplicate more complex code. Better deduplication.
|
2018-08-08 01:53:47 +02:00 |
|
Karol Stasiak
|
b01c440cf0
|
6502: Improve memset
|
2018-08-08 01:38:49 +02:00 |
|
Karol Stasiak
|
46ce602a3e
|
Allow for function alignment
|
2018-08-07 23:55:08 +02:00 |
|
Karol Stasiak
|
46df8a6f21
|
6502: Check if memset is over actual pointers
|
2018-08-07 22:15:50 +02:00 |
|
Karol Stasiak
|
02d6b5b71c
|
6502: Crank up the optimizations
|
2018-08-07 21:37:25 +02:00 |
|
Karol Stasiak
|
8dd8415432
|
6502: Track values of zeropage registers
|
2018-08-07 21:36:53 +02:00 |
|
Karol Stasiak
|
64744f7559
|
Fix initialized array allocation
|
2018-08-07 19:50:02 +02:00 |
|
Karol Stasiak
|
8dfb223a8c
|
Fast memset for Z80 and 6502
|
2018-08-07 17:37:09 +02:00 |
|
Karol Stasiak
|
7750c4ec45
|
Optimize constants of form (B+A)-B
|
2018-08-07 17:36:14 +02:00 |
|
Karol Stasiak
|
f937355c54
|
6502: Fix word addition if zpreg is larger than 2
|
2018-08-07 17:35:40 +02:00 |
|
Karol Stasiak
|
3e7bbaf5fc
|
Z80: optimize loads to registers pairs
|
2018-08-07 17:35:02 +02:00 |
|