1
0
mirror of https://github.com/KarolS/millfork.git synced 2024-06-12 06:29:34 +00:00
Commit Graph

73 Commits

Author SHA1 Message Date
Karol Stasiak
1e4a193741 Optimization hints 2021-03-15 00:44:14 +01:00
Karol Stasiak
84d707b932 Cosmetic improvements 2021-02-26 23:10:08 +01:00
Karol Stasiak
521b73d0d3 Array fields for structs and unions (see #87) 2021-02-22 23:23:00 +01:00
Karol Stasiak
97c7d0ffed Basic groundwork for optimization hint support 2020-11-18 22:37:58 +01:00
Karol Stasiak
c0eae29a41 Minor compilation speed optimization 2020-09-21 00:15:16 +02:00
Karol Stasiak
d5367cc1fe for loops over arrays 2020-07-24 19:12:19 +02:00
Karol Stasiak
a2c49a1f89 Add manual type alignment. 6502: Optimize multiplications by constants. 2020-07-18 01:15:33 +02:00
Karol Stasiak
718245c56a Module templates 2020-06-03 23:13:17 +02:00
Karol Stasiak
d478f3504f Const-pure functions 2020-03-19 23:53:16 +01:00
Karol Stasiak
769f31717d 6502: Detect pointer variables that have to be in the zeropage more accurately 2020-03-19 20:00:28 +01:00
Karol Stasiak
f57ecc9800 Improve and optimize memset (see #47) 2020-03-15 01:06:09 +01:00
Karol Stasiak
8b6e89f9a4 Various improvements for macros (fixes #39 and pertains to #40) 2020-02-02 23:25:06 +01:00
Karol Stasiak
b2dd4eadd4 Start work on supporting member arrays 2019-12-30 11:50:18 +01:00
Karol Stasiak
b7300616d1 6502: Faster accesses to small arrays 2019-10-22 16:35:17 +02:00
Karol Stasiak
e19ac75350 6809: Some optimizations 2019-10-08 15:11:22 +02:00
Karol Stasiak
f08caa0b7a 6809: Various improvements 2019-10-08 01:43:09 +02:00
Karol Stasiak
d38405f467 Fix signed constants and word-sbyte subtraction 2019-09-20 18:33:41 +02:00
Karol Stasiak
bb63a73f15 Improve interprocedural optimizations 2019-08-01 19:11:35 +02:00
Karol Stasiak
613ddcf9a4 Refactoring 2019-07-30 22:25:05 +02:00
Karol Stasiak
b68e4b67c8 Better support for big-endian systems 2019-07-29 22:51:08 +02:00
Karol Stasiak
cb0718b433 6809: First bits of the code generator 2019-07-29 00:55:24 +02:00
Karol Stasiak
20f4baf2b2 Allow setting segments for multiple declarations at once 2019-07-17 20:51:34 +02:00
Karol Stasiak
f3dcfc78ba Dijkstra wept 2019-07-15 02:06:23 +02:00
Karol Stasiak
6d499f3623 Arrays with elements larger than one byte 2019-07-10 16:51:12 +02:00
Karol Stasiak
767f0da703 Placeholder for future expansion 2019-07-08 09:26:51 +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
d8defaad82 Fix and document for-each loops 2019-06-24 23:51:17 +02:00
Karol Stasiak
23b4b110a6 8080: optimize more pointless loads 2019-06-24 15:17:05 +02:00
Karol Stasiak
1862fed70f The @struct array format; fix the @long format 2019-04-30 01:30:22 +02:00
Karol Stasiak
d9f88cdfad Const arrays 2019-04-30 00:41:42 +02:00
Karol Stasiak
546c4d0f44 Unified syntax for indexing 2019-04-18 16:24:46 +02:00
Karol Stasiak
029e84b0f0 Unions, typed pointers, indirect field access via pointers 2019-04-15 19:45:26 +02:00
Karol Stasiak
1ba4b57c1c Array elements can now be types other than byte 2019-04-15 01:57:18 +02:00
Karol Stasiak
d3e62c0065 Preliminary struct support 2019-04-15 01:30:47 +02:00
Karol Stasiak
7d596f3ed6 Minor improvements 2019-01-05 01:04:08 +01:00
Karol Stasiak
25ca2cd6b8 6502: detect zeropage pointers more aggressively 2019-01-04 11:55:35 +01:00
Karol Stasiak
9669e4d87d Cache AST typing 2018-12-26 01:26:12 +01:00
Karol Stasiak
84c3406dc7 Fix for over enum 2018-12-22 01:30:39 +01:00
Karol Stasiak
76dd4929a6 6502: Track which pointers need to be on zeropage 2018-12-21 22:36:05 +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
8fcf628c8f Better tracking of the original source 2018-12-17 00:35:32 +01:00
Karol Stasiak
406d69c74a Add original line numbers to generated assembly 2018-12-14 15:42:31 +01:00
Karol Stasiak
dbe8e39e4a various optimization fixes and improvements 2018-12-13 23:18:56 +01:00
Karol Stasiak
fe1bf68295 Add align keyword 2018-10-04 21:34:53 +02:00
Karol Stasiak
c846a19eef Preliminary support for object alignment 2018-08-07 17:32:20 +02:00
Karol Stasiak
070ae395ee Text literals in expressions, escape sequences, and more 2018-07-28 00:58:20 +02:00
Karol Stasiak
7ea2fe6a4e Almost full LR35902 opcode space coverage 2018-07-27 19:07:12 +02:00
Karol Stasiak
a7e1a24be6 Show filename and context for compile errors 2018-07-23 13:11:53 +02:00
Karol Stasiak
8c1492b211 A statement preprocessor with some basic node-level optimizations 2018-07-21 23:59:16 +02:00