1
0
mirror of https://github.com/KarolS/millfork.git synced 2026-01-23 10:16:02 +00:00

Commit Graph

  • f937355c54 6502: Fix word addition if zpreg is larger than 2 Karol Stasiak 2018-08-07 17:35:40 +02:00
  • 3e7bbaf5fc Z80: optimize loads to registers pairs Karol Stasiak 2018-08-07 17:35:02 +02:00
  • a8f6bc4c0e Z80: Correctly analyze flow through LDIR and LDDR Karol Stasiak 2018-08-07 17:33:50 +02:00
  • c846a19eef Preliminary support for object alignment Karol Stasiak 2018-08-07 17:31:41 +02:00
  • 60d2cc1959 Actually enable code decuplication Karol Stasiak 2018-08-07 17:28:59 +02:00
  • ff16854a11 Code deduplication Karol Stasiak 2018-08-06 19:29:09 +02:00
  • f045f7f4c2 Z80: Analyze flow through RES and SET correctly Karol Stasiak 2018-08-06 19:20:07 +02:00
  • 86ce1d42f3 6502: More optimizations. Karol Stasiak 2018-08-06 19:19:13 +02:00
  • 87c5d698bc 6502: Don't optimize away things like a[f()]^=0 Karol Stasiak 2018-08-06 19:17:57 +02:00
  • a2eb6fe353 Z80: fix subtraction. Karol Stasiak 2018-08-06 19:17:08 +02:00
  • 7cf78ca2bd Use one statement preprocessor per function. Karol Stasiak 2018-08-06 19:16:42 +02:00
  • bf47473162 Allow setting the size of the zeropage register from the command line. Karol Stasiak 2018-08-06 19:15:41 +02:00
  • 516b44ad05 Add docs about Intel asm syntax Karol Stasiak 2018-08-03 17:26:26 +02:00
  • 75c9e09e97 Updated UDL syntax Karol Stasiak 2018-08-03 17:07:08 +02:00
  • 48b183828b Z80: LDH instruction for LR35902 Karol Stasiak 2018-08-03 16:43:31 +02:00
  • f4a2c96512 Fix comparisons Karol Stasiak 2018-08-03 16:21:02 +02:00
  • fab1cafec3 Z80: Intel syntax support Karol Stasiak 2018-08-03 13:23:37 +02:00
  • e393a3de9c Z80: More optimizations Karol Stasiak 2018-08-03 13:21:04 +02:00
  • 388ceb8b3a 6502: software BCD, increase default zpreg to 4 Karol Stasiak 2018-08-03 13:06:23 +02:00
  • 30aa62ceaf Z80: Fix 16-bit operations Karol Stasiak 2018-08-03 13:02:18 +02:00
  • a8ab3b2c3f Documentation update Karol Stasiak 2018-08-03 13:00:52 +02:00
  • 779cc6ab5c Extract asDecimal. Improve constants. Karol Stasiak 2018-08-03 12:59:44 +02:00
  • 0a01dd30e1 6502: Fix zeropage register if larger than 2 bytes Karol Stasiak 2018-08-03 11:11:03 +02:00
  • e952d89849 Z80: Intel syntax for output. Karol Stasiak 2018-08-01 21:16:20 +02:00
  • d4beba11a1 Z80: >>' operator Karol Stasiak 2018-08-01 18:49:37 +02:00
  • 107474978e Updated reentrancy documentation Karol Stasiak 2018-08-01 18:49:15 +02:00
  • 9b5b39181a Z80: Decimal subtraction on 8080, fixes for adding longs returned from functions Karol Stasiak 2018-08-01 15:33:07 +02:00
  • 6b02c5178a Z80: More arithmetic optimizations Karol Stasiak 2018-08-01 15:32:11 +02:00
  • 0326c7a73b Z80: Fix stack-related optimizations Karol Stasiak 2018-08-01 15:31:42 +02:00
  • bc1dc0e500 6502: allow functions with large return values on the right hand side of modifying operators Karol Stasiak 2018-08-01 15:28:47 +02:00
  • 69f233e378 Z80: Interrupt handlers. Allow using IY as base pointer. Karol Stasiak 2018-08-01 12:50:05 +02:00
  • 99df25bde2 Fix macro expansion Karol Stasiak 2018-08-01 12:43:17 +02:00
  • ffbed1ba26 Allow processed/formatted array contents inside other array literals Karol Stasiak 2018-08-01 10:34:49 +02:00
  • bebb8c45a5 Z80: More optimizations Karol Stasiak 2018-08-01 10:22:34 +02:00
  • ec9dba9d27 Z80: Use RRA instead of RR A in stdlib Karol Stasiak 2018-08-01 10:16:20 +02:00
  • e914ad6d7b Move label generation into a separate class Karol Stasiak 2018-07-31 18:16:36 +02:00
  • f929e396df Preliminary CP/M support Karol Stasiak 2018-07-31 01:02:55 +02:00
  • 2046f94b55 Z80: Compile 8-bit values directly into registers other than A Karol Stasiak 2018-07-31 01:00:17 +02:00
  • 7e6f2dd4ea Z80: CALL <number> shouldn't prevent inlining Karol Stasiak 2018-07-31 00:59:24 +02:00
  • e0bec29318 Minor documentation updates Karol Stasiak 2018-07-31 00:58:43 +02:00
  • 53f550d266 Z80: Fix line size calculations Karol Stasiak 2018-07-31 00:52:01 +02:00
  • 2bac42c187 Optimizations for LR35902 and 8080 Karol Stasiak 2018-07-30 23:51:41 +02:00
  • 6d7643b817 6502: Better descriptions of benchmarked tests Karol Stasiak 2018-07-30 23:50:44 +02:00
  • 453ce93952 Z80: RLA and RL A are two very different instructions Karol Stasiak 2018-07-30 23:49:25 +02:00
  • 2ef79d6894 Minor improvements for Intel 8080 and ZX Spectrum Karol Stasiak 2018-07-30 18:16:50 +02:00
  • 998902acf6 Refactor: error logging Karol Stasiak 2018-07-30 18:15:44 +02:00
  • cb92b09942 Improvements related to large types: – returning types larger than 2 – fastcall for 1 parameter of size 3 or 4 on Z80 – more integer types (up to int128) – marked farword as a deprecated alias of int24 Karol Stasiak 2018-07-30 14:33:16 +02:00
  • 070ae395ee Text literals in expressions, escape sequences, and more Karol Stasiak 2018-07-28 00:58:20 +02:00
  • 514e819ddf Fix several things: – statement preprocessor – unused label removal – >>>> operator on 6502 – constant byte comparison on 6502 Karol Stasiak 2018-07-28 00:02:57 +02:00
  • 847a7255c6 Update README and CHANGELOG Karol Stasiak 2018-07-27 19:15:57 +02:00
  • 67f3034afb Enable 8080 and LR35902 for users Karol Stasiak 2018-07-27 19:12:54 +02:00
  • 3c019b06c1 Tests for LR35902 Karol Stasiak 2018-07-27 19:12:28 +02:00
  • 5c25e653bf Many things: – better support for LR35902 – stack variables for 8080 and LR35902 – bugfixes – minor optimizations Karol Stasiak 2018-07-27 19:11:59 +02:00
  • 600e49cf49 Make some tests work on LR35902 Karol Stasiak 2018-07-27 19:10:15 +02:00
  • 1948c38e04 Separate optimization presets for Z80, LR35902 and 8080 Karol Stasiak 2018-07-27 19:09:38 +02:00
  • b7f173fb71 Don't print debug stuff Karol Stasiak 2018-07-27 19:07:50 +02:00
  • 7ea2fe6a4e Almost full LR35902 opcode space coverage Karol Stasiak 2018-07-27 19:07:12 +02:00
  • 27de426a38 Documentation updates Karol Stasiak 2018-07-25 00:04:00 +02:00
  • 2ca30315ca Preparations for work on LR35902 support Karol Stasiak 2018-07-24 23:44:00 +02:00
  • c5b45947dc Preliminary support for Intel 8080 Karol Stasiak 2018-07-24 23:14:41 +02:00
  • 749defd05a Decimal subtraction fixes Karol Stasiak 2018-07-24 23:14:09 +02:00
  • 1e822239d0 Z80: Fix SET n,(IX+d) and related instructions Karol Stasiak 2018-07-24 20:13:29 +02:00
  • 71ad93fe09 Z80: Fix hex digit converions in stdlib Karol Stasiak 2018-07-24 19:11:40 +02:00
  • b724ba9c6a Z80: Full assembly support Karol Stasiak 2018-07-24 17:40:06 +02:00
  • 80efa95ba7 6502: Various optimization fixes and improvements Karol Stasiak 2018-07-24 16:17:27 +02:00
  • e280aca08b Z80: Emit RES and SET instructions Karol Stasiak 2018-07-24 16:16:49 +02:00
  • 43c044c80c Z80: Various optimizations for stack variables Karol Stasiak 2018-07-24 14:31:23 +02:00
  • 9bcaffaa30 Z80: Faster calling convention Karol Stasiak 2018-07-24 01:43:59 +02:00
  • c9cbd267c5 6502: Fix stack variables in more complex situations Karol Stasiak 2018-07-24 01:38:10 +02:00
  • 4be1e46308 6502: Faster page-aligned loops Karol Stasiak 2018-07-23 16:20:49 +02:00
  • a34acbf6ce Z80: Operators *'=, <<' and <<'= Karol Stasiak 2018-07-23 15:47:03 +02:00
  • 85243c96a7 Z80: The >>>> operator Karol Stasiak 2018-07-23 13:49:59 +02:00
  • a39064cf76 Z80: Return dispatch Karol Stasiak 2018-07-23 13:41:51 +02:00
  • a7e1a24be6 Show filename and context for compile errors Karol Stasiak 2018-07-23 13:11:53 +02:00
  • 8c1492b211 A statement preprocessor with some basic node-level optimizations Karol Stasiak 2018-07-21 23:59:16 +02:00
  • 07c049c168 6502: Fix the optimization of inlining a variable to the accumulator Karol Stasiak 2018-07-21 23:53:30 +02:00
  • c4c1bf00f2 Enumeration types. Stricter type checks. Karol Stasiak 2018-07-20 22:46:53 +02:00
  • ff93775cbe Z80: Inline byte variables into registers Karol Stasiak 2018-07-17 21:08:56 +02:00
  • 55e9fd5174 Z80: Optimization improvements and fixes Karol Stasiak 2018-07-17 13:08:58 +02:00
  • 80aef5c412 Z80: detect read/changed registers more accurately Karol Stasiak 2018-07-17 13:08:25 +02:00
  • 190b398711 Z80: Faster +=2 and similar Karol Stasiak 2018-07-17 13:07:33 +02:00
  • 5f14484503 More Z80 optimizations. Finally almost as fast as C. Karol Stasiak 2018-07-16 23:10:55 +02:00
  • 21b086046c Always require a full optimization context when optimizing Karol Stasiak 2018-07-16 23:07:37 +02:00
  • f4ecc2512c Refactoring the inlining calculators Karol Stasiak 2018-07-16 23:05:16 +02:00
  • 28e11873dc Add empty parameter store removal optimization Karol Stasiak 2018-07-16 23:03:52 +02:00
  • ab57090790 Improve optimization in tests for 6502 Karol Stasiak 2018-07-16 23:03:12 +02:00
  • 5a8fe547bf Fix macros and few other things when compiling for Z80 Karol Stasiak 2018-07-16 23:02:34 +02:00
  • 39dfe13a3f Emit LD (m),BC and similar instructions Karol Stasiak 2018-07-16 23:01:04 +02:00
  • 704ae17d30 Fix environment namecheck for Z80 Karol Stasiak 2018-07-16 23:00:26 +02:00
  • caec1bdc1b Improvements for constants Karol Stasiak 2018-07-16 23:00:05 +02:00
  • 0efd9ada3e Few optimization improvements for 6502 Karol Stasiak 2018-07-16 22:59:08 +02:00
  • b2fa129482 Improve tracking of changed and read registers on Z80 Karol Stasiak 2018-07-16 22:57:08 +02:00
  • 2c0256c1c1 Tons of Z80 improvements: – long assignments – word and long comparisons – byte multiplication – correct sign extension – fixed flow analysis for LD A,(IX,0) and similar – unused variable store elimination – unused code elimination – unused label elimination – poinless stack stashing elimination – function inlining – other flow analysis improvements – other bugfixes – other stuff – more tests Karol Stasiak 2018-07-16 00:13:35 +02:00
  • 6d4aa5ef82 Don't track FCEUX label maps Karol Stasiak 2018-07-16 00:08:22 +02:00
  • ca4ae4ce2e Fix optimization of ADC on 6502 Karol Stasiak 2018-07-16 00:07:22 +02:00
  • 215d8d92b4 Preprocessor. Z80 improvements. Library improvements. Karol Stasiak 2018-07-12 18:30:35 +02:00
  • 35f3638a4f Added alias support Karol Stasiak 2018-07-12 01:23:38 +02:00
  • af1e6d9c9f Updated changelog Karol Stasiak 2018-07-07 01:11:53 +02:00
  • 2c8de8b6a5 Text encoding improvements Karol Stasiak 2018-07-07 00:58:44 +02:00
  • 265f729b24 Fix Z80-based platforms Karol Stasiak 2018-07-07 00:13:46 +02:00