Commit Graph

  • 3c77f8a020 IR: optimize pointer access Irmen de Jong 2024-02-04 07:34:16 +01:00
  • 8e00408e3e optimize pointer indexing a bit Irmen de Jong 2024-02-03 23:11:53 +01:00
  • abcdfd8e28 optimize postincrdecr on memory a bit Irmen de Jong 2024-02-03 17:36:42 +01:00
  • b0f5b6925d getting rid of pointer[idx] in ast, instead always use @(ptr+idx) Irmen de Jong 2024-02-03 01:57:17 +01:00
  • ef79d0c43e fix temp variable name clash resulting in faulty code in certain common subexpression optimization Irmen de Jong 2024-02-03 19:20:28 +01:00
  • 78b4288005 avoid git's line ending translation for this test... Irmen de Jong 2024-02-03 14:57:25 +01:00
  • 680f5d21ee normalize DOS line endings to just \n, fixes source lines in asm for \r\n source files Irmen de Jong 2024-02-03 12:53:21 +01:00
  • c71aa0895f get rid of certain redundant !=0 comparisons in logical expressions Irmen de Jong 2024-02-01 21:50:01 +01:00
  • 9f8e61789a fix 65c02 codegen for certain in-place byte bitwise invert Irmen de Jong 2024-01-31 23:54:22 +01:00
  • 932035cdc5 flag "returning a statement" as a syntax error Irmen de Jong 2024-01-31 21:36:39 +01:00
  • ef198f1493 fix for certain invalid expression evaluation code. Irmen de Jong 2024-01-30 23:47:40 +01:00
  • 48ef856c0b identified wrong expr eval code - still need solution. Crash for now. Irmen de Jong 2024-01-30 23:00:40 +01:00
  • 9aea2b22c4 doc improvement, fixes #120 Irmen de Jong 2024-01-30 19:07:18 +01:00
  • e0055bc431 IR: working on inplace +/- Irmen de Jong 2024-01-28 21:19:52 +01:00
  • 9553248ed6 IR: integrate inplace assignment ops Irmen de Jong 2024-01-26 23:14:12 +01:00
  • 39d2194d8f IR: implemented inplace prefix op on split array VM: NEG instructions also set N and Z flags Irmen de Jong 2024-01-26 00:12:04 +01:00
  • 0800033b47 fixed split-word array in-place element +/- (other operators not yet...) Irmen de Jong 2024-01-28 22:30:45 +01:00
  • 64d8943b7d fix error when trying to post-inc/decrement a character in a string Irmen de Jong 2024-01-28 16:47:55 +01:00
  • 444e97b00b todo Irmen de Jong 2024-01-27 12:31:36 +01:00
  • 5894d00794 6502 fixes Irmen de Jong 2024-01-22 01:36:39 +01:00
  • 1816bda7ea extra check Irmen de Jong 2024-01-25 21:54:40 +01:00
  • d4a2031c07 fix certain assignment data type mismatch crash Irmen de Jong 2024-01-25 21:14:20 +01:00
  • 8cf0b6cf51 IR: optimize code for ==0 and !=0 augmented assigns Irmen de Jong 2024-01-24 22:36:04 +01:00
  • f2010bf7a5 IR: better code for array element assignments (w.i.p.) Irmen de Jong 2024-01-23 00:56:06 +01:00
  • 8f56a7fe69 IR: use INV instead of XOR for bitwise invert Irmen de Jong 2024-01-22 22:47:09 +01:00
  • 64c132ee0a changed -breakinstr option so that you now specify the exact instruction to use for a %breakpoint. also fixed a IR issue with x=not x. Irmen de Jong 2024-01-22 21:07:51 +01:00
  • 459da04249 fixes Irmen de Jong 2024-01-20 14:49:04 +01:00
  • c173f54fae much more efficient way to convert boolean to ubyte in IR, do it while writing the IR output file Irmen de Jong 2024-01-13 22:31:25 +01:00
  • 67db0a19b8 boolean memvar should not be possible. memory is always numeric. get rid of all "bool" in the IR. in IR it is always ubyte. Irmen de Jong 2024-01-13 18:42:03 +01:00
  • f50330df72 fixes Irmen de Jong 2024-01-12 00:04:38 +01:00
  • 6a4bfdb429 no more implicit casting from bool to integer types and vice versa. IR: SGN behavior changed. Irmen de Jong 2024-01-10 22:47:53 +01:00
  • 04f44ced94 fixes Irmen de Jong 2024-01-09 00:28:39 +01:00
  • 4da4c3bc9e fixes Irmen de Jong 2024-01-07 18:02:08 +01:00
  • b4f924e6d6 new IR if codegen (2) Irmen de Jong 2024-01-07 15:25:36 +01:00
  • f296f4809d new IR if codegen Irmen de Jong 2024-01-07 11:35:16 +01:00
  • f104e3bd85 fixes Irmen de Jong 2024-01-06 19:25:18 +01:00
  • b8236a09b4 fixes Irmen de Jong 2024-01-05 14:32:11 +01:00
  • a6b1ad6414 tweaks Irmen de Jong 2024-01-04 15:47:17 +01:00
  • 1db55d1e02 more house cleaning Irmen de Jong 2024-01-04 00:00:21 +01:00
  • 6ba589972a cleaning house Irmen de Jong 2024-01-03 20:29:59 +01:00
  • d8ae3eb266 cleanup IR typestring Irmen de Jong 2024-01-05 15:31:45 +01:00
  • b9dc53f629 check for X16 problematic cpu instructions rmb, smb, bbr, bbs. Irmen de Jong 2024-01-20 21:34:17 +01:00
  • da221ec2c6 check boolean array size mismatch. check for weird string assignment. check for X16 problematic cpu instructions rmb, smb, bbr, bbs. tweak number node equality wrt bool type Irmen de Jong 2024-01-20 21:34:17 +01:00
  • a8fcffc82a changed -breakinstr option so that you now specify the exact instruction to use for a %breakpoint Irmen de Jong 2024-01-22 21:07:51 +01:00
  • 84a7e86fe3 clarify progend() Irmen de Jong 2024-01-22 18:57:25 +01:00
  • a8c09d6144 removed a problematic bitshift replacement in the const evaluator Irmen de Jong 2024-01-21 23:05:51 +01:00
  • 87c46ba730 check boolean array size mismatch. check for weird string assignment. check for X16 problematic cpu instructions rmb, smb, bbr, bbs. tweak number node equality wrt bool type Irmen de Jong 2024-01-20 21:34:17 +01:00
  • 0f83dc6491 sponsorship link. error sorting. version. v10.0 Irmen de Jong 2024-01-19 20:04:29 +01:00
  • cc22861719
    Create FUNDING.yml Irmen de Jong 2024-01-19 19:26:41 +01:00
  • a14c192ea3 also other targets Irmen de Jong 2024-01-18 22:31:34 +01:00
  • b3d98be862 oops, removed a bit too much when getting rid of the noshortcircuit code Irmen de Jong 2024-01-18 22:00:57 +01:00
  • 43027a4728 IR: optimize rol ror Irmen de Jong 2024-01-18 21:44:49 +01:00
  • 03831a7394 added cx16.cpu_is_65816() Irmen de Jong 2024-01-18 19:30:18 +01:00
  • fdbbd181ea fixes for address-of uword pointer array expressions Irmen de Jong 2024-01-17 22:51:11 +01:00
  • 69075376dc get rid of the noshortcircuit fallback Irmen de Jong 2024-01-17 21:24:41 +01:00
  • 504d1440cc fixed rol(),rol2(),ror(),ror2() Irmen de Jong 2024-01-16 20:41:53 +01:00
  • 9e33b8b8da
    Added a couple of for examples using descending ranges. (#119) OODLER 2024-01-16 13:19:05 -06:00
  • dc656f2d7d Added a couple of for examples using descending ranges. Oodler 577 2024-01-16 13:01:52 -06:00
  • 0cfcc5cd29 fix VM sgn() function for floats Irmen de Jong 2024-01-16 01:23:41 +01:00
  • e0de662f8e fix signed word bitshift right (>8 shifts) Irmen de Jong 2024-01-16 01:08:16 +01:00
  • 66a836d094 added support for reverse() on split word arrays Irmen de Jong 2024-01-16 00:24:51 +01:00
  • 80095f4962 added support for any() on split word arrays Irmen de Jong 2024-01-15 23:51:19 +01:00
  • 828d83dbef loadScaledArrayIndexIntoRegister(): useless type arg removed Irmen de Jong 2024-01-15 03:25:50 +01:00
  • 7de665d1e4 support for split wordarrays rol/ror and rol2/ror2 optimized rol and ror codegen Irmen de Jong 2024-01-14 19:03:49 +01:00
  • 0a356ba73a added containment check of float arrays Irmen de Jong 2024-01-14 13:20:12 +01:00
  • 41de8caa13 added sprites.set_mousepointer_image(), sprites.set_mousepointer_hand() and sprites.get_data_ptr() Irmen de Jong 2024-01-14 00:00:15 +01:00
  • 968609d06d IR: fix problems with symbol offsets and unused subroutines/chunks Irmen de Jong 2024-01-13 13:55:16 +01:00
  • 3b199a2a87 added cx16 example: automatons. added debug mode and RTC to cx16 emulator launchers. dt error details. Irmen de Jong 2024-01-12 20:18:41 +01:00
  • 0c1018ec61 dt error details Irmen de Jong 2024-01-12 00:27:39 +01:00
  • bc3f2db3de Fix call graph to no longer mark subroutines unused, that still get their variables referenced somewhere. Revert palette.default_colors_16[] back to palette.set_default16.colors. Irmen de Jong 2024-01-11 22:12:01 +01:00
  • 06bedb7adb added palette.get_color() and palette.default_colors[] Irmen de Jong 2024-01-11 21:27:18 +01:00
  • 45a9751217 fix type of optimized lsb() / mkword() arguments when signed. printast1 command line option now also works in case of compilation errors. Irmen de Jong 2024-01-10 23:57:44 +01:00
  • e8da62aa29 update Kotlin version and libs Irmen de Jong 2024-01-10 20:31:30 +01:00
  • ddb2ff4216 IR: use SCS opcode to set carry status flag into register Irmen de Jong 2024-01-09 23:46:27 +01:00
  • f27e3478b9 fix const value of AddressOf for certain types Irmen de Jong 2024-01-09 22:10:25 +01:00
  • 38dc7fb7bd IR: added SCC and SCS instructions Irmen de Jong 2024-01-09 00:57:02 +01:00
  • aa4cd13c31 where to place vscode syntax files. Irmen de Jong 2024-01-08 00:09:21 +01:00
  • 4a4b6c04a1 tweak common subexpression optimization for array lookups Irmen de Jong 2024-01-07 22:37:15 +01:00
  • 37fa3b34a2 tweak IR Irmen de Jong 2024-01-07 22:10:43 +01:00
  • f8084e7955 fix const replacement optimization error on memory mapped variable Irmen de Jong 2024-01-07 18:48:18 +01:00
  • 4d5119ce3e VM: also set N+Z flags on AND/OR/XOR instructions Irmen de Jong 2024-01-07 15:25:43 +01:00
  • d85c347a6c optimize /256 more, and fixed a unsigned byte word cast error Irmen de Jong 2024-01-07 00:01:00 +01:00
  • 7dd758a753 better optimize WORD & $xx00 , WORD & $00xx Irmen de Jong 2024-01-06 21:47:59 +01:00
  • 806654fc44 fix invalid const optimization with multiplication Irmen de Jong 2024-01-06 13:59:13 +01:00
  • 8e6b91cb9e some optimizations Irmen de Jong 2024-01-06 00:04:15 +01:00
  • 334e6dca28 added string.contains(). fixed string and array containment check for length 1. Irmen de Jong 2024-01-05 20:46:26 +01:00
  • f2daa17b92 tweak some not optimizations cleanup IR typestring Irmen de Jong 2024-01-05 15:31:45 +01:00
  • 6d9fccacb1 boolean not expression tweaks and optimizations Irmen de Jong 2024-01-05 13:32:16 +01:00
  • 37638e7ed0 added Absorption laws optimization Irmen de Jong 2024-01-05 00:26:56 +01:00
  • 8a0e650511 apply De Morgan's laws for logical not, results in smaller code Irmen de Jong 2024-01-04 23:45:46 +01:00
  • 8ba5a0d90c tweak planet name display in starmap Irmen de Jong 2024-01-04 21:52:52 +01:00
  • bfd3edb617 fix expression evaluation bug where intermediate values were overwritten, yielding the wrong result Irmen de Jong 2024-01-04 20:44:46 +01:00
  • 56ba24962c fixed 'not not x' optimization to just 'x' Irmen de Jong 2024-01-04 15:02:21 +01:00
  • 19a2110ba2 fix exit() now actually correctly setting the return code in A Irmen de Jong 2024-01-04 00:30:20 +01:00
  • 242a3eec63 fix data type difference error on range from and to values Irmen de Jong 2024-01-03 21:46:22 +01:00
  • fee46f2e54 todo Irmen de Jong 2024-01-03 15:06:27 +01:00
  • 6aed7e429a allow containment check in a range expression ("run time" range expression) Irmen de Jong 2024-01-03 01:17:09 +01:00
  • 517ea82b99 fixed todos in Ast printer Irmen de Jong 2024-01-01 23:21:05 +01:00
  • 99c29343de added -printast1 and -printast2 command line options Irmen de Jong 2024-01-01 22:48:19 +01:00
  • 892fa76883 remove debug output Irmen de Jong 2024-01-01 20:48:41 +01:00