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

Commit Graph

  • 54e7139e84 Refactoring Karol Stasiak 2018-02-11 18:55:21 +01:00
  • 2665f18c77 Macro expansion fix, improved constant folding Karol Stasiak 2018-02-03 17:49:29 +01:00
  • 0ca1be0c00 Tons of things: – changed inline to macro – added support for parameters for macros written in Millfork – added inline, noinline, register hints – added <<<< operator – pointer dereference expressions are now supported more widely – C64 library fixes – added -O1 command line option as an alias for -O Karol Stasiak 2018-02-01 22:39:38 +01:00
  • c599db0068 Inline assembly improvements Karol Stasiak 2018-02-01 00:22:53 +01:00
  • 9410b8f9e3 Interrupt handler optimization Karol Stasiak 2018-01-31 22:27:11 +01:00
  • 341466b198 Decimal multiplication, decimal right shift fixes Karol Stasiak 2018-01-31 22:26:20 +01:00
  • fdcf3dc8c8 Typo fixes Karol Stasiak 2018-01-31 22:25:06 +01:00
  • f7247ab7d8 Fixed some typos Karol Stasiak 2018-01-30 17:43:18 +01:00
  • c26d36f974 Added return dispatch statements. Karol Stasiak 2018-01-30 17:38:32 +01:00
  • ac51bcaf6c Optimizing pointless sign extensions Karol Stasiak 2018-01-30 17:37:03 +01:00
  • 49d126ffa0 RLE decoding test Karol Stasiak 2018-01-29 12:08:44 +01:00
  • 7bbf655e6f Optimization bugfixes Karol Stasiak 2018-01-29 12:08:21 +01:00
  • 17920cee26 Zeropage variable optimizations Karol Stasiak 2018-01-29 11:55:15 +01:00
  • 50d4823e0a Switching to snapshot versioning Karol Stasiak 2018-01-29 11:49:42 +01:00
  • 9f57c88473 Version 0.1 v0.1 Karol Stasiak 2018-01-24 17:47:20 +01:00
  • 7e46c4457a Minor change to examples description Karol Stasiak 2018-01-23 14:24:12 +01:00
  • c7f45ebddc Preliminary Apple II support Karol Stasiak 2018-01-23 13:37:03 +01:00
  • f870a0c381 Readme update Karol Stasiak 2018-01-21 21:55:44 +01:00
  • e67109a2f8 Rasterbar and softscroll examples Karol Stasiak 2018-01-21 21:55:01 +01:00
  • c5d4665c92 Inlining variables into accumulator; flag behaviour preservation when inlining variables Karol Stasiak 2018-01-21 21:54:37 +01:00
  • 7c4570766a More loop-related optimizations Karol Stasiak 2018-01-21 21:06:28 +01:00
  • d29eb6e177 Logo Karol Stasiak 2018-01-21 01:24:56 +01:00
  • 6ad022782b Release package should contain a license Karol Stasiak 2018-01-20 23:50:08 +01:00
  • 474639760a Release package building script Karol Stasiak 2018-01-20 23:32:34 +01:00
  • 5d6be83499 Fix tests running in headless JVMs Karol Stasiak 2018-01-20 22:43:12 +01:00
  • 4e80236a65 For-to loop fixes Karol Stasiak 2018-01-20 22:32:57 +01:00
  • c8c6ec83fc New examples: echo.mfk and calculator.mfk Karol Stasiak 2018-01-20 22:10:04 +01:00
  • 6f2a157de0 More C64 I/O routines Karol Stasiak 2018-01-20 22:03:56 +01:00
  • 430051635d Tail-call optimization shouldn't move discard pseudoinstructions Karol Stasiak 2018-01-20 22:03:19 +01:00
  • 7e04312462 More optimizations Karol Stasiak 2018-01-20 20:00:51 +01:00
  • 91acbfae2f Using short jumps whenever possible Karol Stasiak 2018-01-20 18:51:49 +01:00
  • 8d818f7624 Early name check improvements Karol Stasiak 2018-01-20 02:04:58 +01:00
  • ba9e1b6475 Type casting Karol Stasiak 2018-01-20 01:54:10 +01:00
  • 013bcd63f1 Early name check improvements Karol Stasiak 2018-01-20 01:53:58 +01:00
  • 372d341763 Replacing Ml* with Mf* everywhere Karol Stasiak 2018-01-20 01:32:06 +01:00
  • c520bbb698 Comparison improvements Karol Stasiak 2018-01-20 01:30:46 +01:00
  • c5e01d5117 A variable with fixed address shouldn't have an initial value Karol Stasiak 2018-01-20 01:30:28 +01:00
  • 0b334ba570 Index register changing optimization improvement Karol Stasiak 2018-01-20 01:30:06 +01:00
  • cb5f025ea9 Early name check Karol Stasiak 2018-01-20 00:57:37 +01:00
  • f8f1af287f Tracing index register changes during superoptimization Karol Stasiak 2018-01-19 00:12:28 +01:00
  • 57e11c8741 Fixing Loading branches optimization Karol Stasiak 2018-01-19 00:11:55 +01:00
  • 0ba6953321 Added the standalone Galencia starfield demo as an example, with original author's permission Karol Stasiak 2018-01-18 22:49:44 +01:00
  • 4c0d184c47 Constant evaluation fixes Karol Stasiak 2018-01-18 22:38:17 +01:00
  • 64f72c8a1c Optimization fixes (inlining to registers, function inlining, bit operations, DCP opcode) Karol Stasiak 2018-01-18 22:37:47 +01:00
  • b486436185 Some syntax documentation Karol Stasiak 2018-01-18 22:35:25 +01:00
  • 6e0a750e48 Operator documentation fixes Karol Stasiak 2018-01-10 13:17:09 +01:00
  • 8e3797e7e4 Typos in operator documentation Karol Stasiak 2018-01-10 13:09:38 +01:00
  • 61599c8d1b Operator documentation Karol Stasiak 2018-01-10 13:08:24 +01:00
  • 23a2830951 Fixed the C64 implementation of _panic Karol Stasiak 2018-01-10 10:54:15 +01:00
  • d696704af9 More bit-packing and transfer optimizations Karol Stasiak 2018-01-08 12:00:46 +01:00
  • 4676b0d48e Variable to register optimization fixes Karol Stasiak 2018-01-08 12:00:05 +01:00
  • 33716f3881 Runtime bounds checking Karol Stasiak 2018-01-08 01:18:04 +01:00
  • 502faa3694 panic() Karol Stasiak 2018-01-08 01:17:25 +01:00
  • 309f12cf82 Don't optimize away PLP Karol Stasiak 2018-01-08 01:04:04 +01:00
  • 14a5a58134 Generate warnings on some too complex separate bytes expressions Karol Stasiak 2018-01-08 01:03:08 +01:00
  • 0c66dac3ae Optimizations for bit packing and common subexpressions Karol Stasiak 2018-01-07 23:32:10 +01:00
  • 9ea3823bfd Compilation fixes Separated bytes compilation fixes (although only preliminary, it's still a pretty broken feature) Better compilation of complex expressions (don't spill to the stack so often) Karol Stasiak 2018-01-07 23:30:43 +01:00
  • 2bc27fba75 Separated bytes parsing fix and "for" statement parsing fix Karol Stasiak 2018-01-07 23:28:26 +01:00
  • 8b086f6c2f More optimisations Karol Stasiak 2018-01-06 00:21:28 +01:00
  • 92999ec490 Better allocator Karol Stasiak 2018-01-04 22:58:00 +01:00
  • 76122a2dd7 Some more documentation Karol Stasiak 2018-01-04 01:15:04 +01:00
  • 1f020e2ced An instruction used for its opcode should not be elidable Karol Stasiak 2018-01-04 01:08:47 +01:00
  • 504cb56ee7 Multiple arguments for some relative operators Karol Stasiak 2018-01-01 22:37:23 +01:00
  • 3e0d1d4978 References to variables in assembly should always refer to their addresses Karol Stasiak 2018-01-01 22:13:05 +01:00
  • 566631fc5e Decimal shifts Karol Stasiak 2017-12-27 22:26:30 +01:00
  • 9193a4f035 String literal improvements Karol Stasiak 2017-12-27 22:26:13 +01:00
  • 138ff8b82d Reserve flow analyser shouldn't mark parameters passed in registers as unimportant Karol Stasiak 2017-12-27 22:25:39 +01:00
  • a7372ec7ca Inline multiple variables into index registers, taking into account their lifetimes Karol Stasiak 2017-12-24 00:09:52 +01:00
  • 917210b4cf Explicitly addressed variables should have "*.addr" Karol Stasiak 2017-12-24 00:09:22 +01:00
  • c57c0c2fdb Support for comparing on-stack words + zeropage optimizations Karol Stasiak 2017-12-24 00:08:49 +01:00
  • 2945cd0003 Important optimization bugfixes + empty memory store removal Karol Stasiak 2017-12-24 00:07:53 +01:00
  • e28ff16717 More optimizations, including optimizations with jump counting Karol Stasiak 2017-12-20 12:00:24 +01:00
  • f5f4c033f3 Test benchmark tweak Karol Stasiak 2017-12-20 09:54:51 +01:00
  • d9e0ad168a Don't emit labels for inlined functions Karol Stasiak 2017-12-20 09:54:32 +01:00
  • 5c2832f4f3 Automatic function inlining; test suite changes Karol Stasiak 2017-12-20 02:50:52 +01:00
  • e78bd0e41a LSR should be correctly analysed in flow Karol Stasiak 2017-12-20 02:49:27 +01:00
  • e0f9544733 Don't compile the same functions twice Karol Stasiak 2017-12-20 01:07:38 +01:00
  • 4d8de94c8a Compile functions in topological order, in preparation for inlining optimization Karol Stasiak 2017-12-19 22:09:57 +01:00
  • 86ef4fcaf4 Allow for preinitialized global variables Karol Stasiak 2017-12-19 18:58:33 +01:00
  • 115f040fe2 Fixed invalid BNE optimization Karol Stasiak 2017-12-19 18:57:13 +01:00
  • 1dd8c3d855 Faster +=1 for large variables Karol Stasiak 2017-12-18 17:51:48 +01:00
  • 081e3bc55c Flow analyser should correctly analyse INC A and DEC A Karol Stasiak 2017-12-18 10:09:25 +01:00
  • 2779671300 ISC also reads A – fixed bug that appeared due to optimization Karol Stasiak 2017-12-18 10:08:57 +01:00
  • ae1bc96da7 A for-loop index variable is also a used variable Karol Stasiak 2017-12-18 01:00:17 +01:00
  • a62f16d0a9 The module loader should know what extensions the modules have... Karol Stasiak 2017-12-18 00:59:47 +01:00
  • 47e6b41384 Decimal and binary addition in the same expression should work correctly Karol Stasiak 2017-12-16 17:55:08 +01:00
  • 810ac4f00e Bugfixes for undocumented optimizations and a better test suite for them Karol Stasiak 2017-12-13 16:21:19 +01:00
  • d95d74104f Removal of some unused old code Karol Stasiak 2017-12-07 00:55:44 +01:00
  • 300dee4319 It's .mfk now, not .ml Karol Stasiak 2017-12-07 00:37:57 +01:00
  • d134afa213 Proper version number in --version Karol Stasiak 2017-12-07 00:29:10 +01:00
  • 48e26a0538 Initial code upload Karol Stasiak 2017-12-07 00:23:30 +01:00
  • 537d59744e Empty repo initialization Karol Stasiak 2017-12-06 22:00:04 +01:00