Irmen de Jong
|
41afeccd51
|
compiler stuff
|
2024-03-02 23:19:20 +01:00 |
|
Irmen de Jong
|
bc2b38daf4
|
added PtBool and other changes to intermediate Ast
|
2024-03-02 23:19:20 +01:00 |
|
Irmen de Jong
|
040d75dafa
|
VM now supports indirect jump instruction
|
2024-02-22 16:19:26 +01:00 |
|
Irmen de Jong
|
4e1686f6e3
|
fix warnings in gradle build scripts
|
2024-02-22 10:34:51 +01:00 |
|
Irmen de Jong
|
88458f5355
|
faster array copy and fix for length 256
|
2024-02-11 23:57:38 +01:00 |
|
Irmen de Jong
|
d7f72056fc
|
rest of the array copying
|
2024-02-10 17:16:06 +01:00 |
|
Irmen de Jong
|
906d9d858c
|
implementing the array copys
|
2024-02-10 01:40:36 +01:00 |
|
Irmen de Jong
|
39d2194d8f
|
IR: implemented inplace prefix op on split array
VM: NEG instructions also set N and Z flags
|
2024-01-28 22:33:13 +01:00 |
|
Irmen de Jong
|
504d1440cc
|
fixed rol(),rol2(),ror(),ror2()
|
2024-01-17 21:02:17 +01:00 |
|
Irmen de Jong
|
0cfcc5cd29
|
fix VM sgn() function for floats
|
2024-01-16 01:34:55 +01:00 |
|
Irmen de Jong
|
0a356ba73a
|
added containment check of float arrays
|
2024-01-14 14:14:09 +01:00 |
|
Irmen de Jong
|
968609d06d
|
IR: fix problems with symbol offsets and unused subroutines/chunks
|
2024-01-13 16:43:41 +01:00 |
|
Irmen de Jong
|
0c1018ec61
|
dt error details
|
2024-01-12 17:34:19 +01:00 |
|
Irmen de Jong
|
38dc7fb7bd
|
IR: added SCC and SCS instructions
|
2024-01-09 01:41:37 +01:00 |
|
Irmen de Jong
|
37fa3b34a2
|
tweak IR
|
2024-01-07 22:12:09 +01:00 |
|
Irmen de Jong
|
f2daa17b92
|
tweak some not optimizations
cleanup IR typestring
|
2024-01-05 17:49:56 +01:00 |
|
Irmen de Jong
|
6d9fccacb1
|
boolean not expression tweaks and optimizations
|
2024-01-05 13:32:16 +01:00 |
|
Irmen de Jong
|
f790182f0b
|
adding short-circuit boolean expression evaluation (in IR codegen) also -noshortcircuit cli option
|
2023-12-30 01:08:41 +01:00 |
|
Irmen de Jong
|
2b8f613a00
|
added %option ignore_unused to suppress warnings about unused vars and subs in that module/block.
Also improved error for invalid directive.
|
2023-12-26 23:37:59 +01:00 |
|
Irmen de Jong
|
2eb137618e
|
refactor block options
|
2023-12-26 22:13:08 +01:00 |
|
Irmen de Jong
|
7530f4407b
|
ir tag change INLINEASM->ASM
|
2023-12-26 16:15:19 +01:00 |
|
Irmen de Jong
|
ae66fcac1e
|
added call builtin function for indirect JSR
|
2023-12-17 15:45:28 +01:00 |
|
Irmen de Jong
|
eba0bde6f3
|
Merge branch 'optimize-st'
# Conflicts:
# examples/test.p8
|
2023-12-17 02:11:01 +01:00 |
|
Irmen de Jong
|
b24df31c2b
|
IR: fix codegen for routines returning in CPU Status register flag
|
2023-12-14 21:16:14 +01:00 |
|
Irmen de Jong
|
f97b3f23e2
|
optimize symbol table for IR
|
2023-12-12 19:26:27 +01:00 |
|
Irmen de Jong
|
935450a45f
|
update kotest library
|
2023-11-22 18:40:07 +01:00 |
|
Irmen de Jong
|
af5ca2d0b8
|
vm: treat floats as 64 bits doubles. 0.0 printed as "0".
|
2023-11-21 00:57:56 +01:00 |
|
Irmen de Jong
|
ff8de8e42d
|
removing redundant compares
|
2023-11-16 22:56:19 +01:00 |
|
Irmen de Jong
|
09d506194f
|
note
|
2023-11-15 22:27:16 +01:00 |
|
Irmen de Jong
|
f68b46fc60
|
add a %zpallowed option to specify the range of zeropage register that can be used
|
2023-11-03 00:19:25 +01:00 |
|
Irmen de Jong
|
92374e122b
|
IR: optimize concat with msb 0 into ext
|
2023-10-28 12:53:41 +02:00 |
|
Irmen de Jong
|
13ab4166c0
|
new kotest library version
|
2023-10-19 21:57:06 +02:00 |
|
Irmen de Jong
|
1da0c59182
|
vm: remove BNER opcode -> CMP + BSTNE
|
2023-09-23 11:47:24 +02:00 |
|
Irmen de Jong
|
36e8f10d2b
|
vm: remove BEQR opcode -> CMP + BSTEQ
|
2023-09-23 11:42:58 +02:00 |
|
Irmen de Jong
|
cdf5a8f20f
|
vm: remove BNE opcode -> CMPI + BSTNE
|
2023-09-23 11:22:33 +02:00 |
|
Irmen de Jong
|
eb64d92333
|
vm: remove BEQ opcode -> CMPI + BSTEQ
|
2023-09-23 11:21:43 +02:00 |
|
Irmen de Jong
|
918302f79b
|
ir: fix possible crash in validity check about PREPARECALL
|
2023-09-23 01:35:18 +02:00 |
|
Irmen de Jong
|
c319233ddc
|
ir: added preparecall 'meta' instruction for functioncalls
|
2023-09-18 23:22:03 +02:00 |
|
Irmen de Jong
|
6afdd4e6fd
|
preparing next version
|
2023-09-12 21:53:49 +02:00 |
|
Irmen de Jong
|
bde4be8231
|
fix VM indexed instructions to only use lsb part of the index
|
2023-09-06 02:44:04 +02:00 |
|
Irmen de Jong
|
2c9e50873c
|
use math.square for optimized X*X calculation (words only).
Added IR SQUARE instruction.
|
2023-08-14 01:05:17 +02:00 |
|
Irmen de Jong
|
a4d093afa1
|
added -sourcelines cli option to include src lines in generated assembly (which is now off by default)
|
2023-08-02 23:05:24 +02:00 |
|
Irmen de Jong
|
fea297e409
|
cleanup some compilation warnings
|
2023-07-22 23:44:26 +02:00 |
|
Irmen de Jong
|
7cf6aba625
|
Merge branch 'master' into remove_evalstack
# Conflicts:
# examples/test.p8
|
2023-07-22 23:37:20 +02:00 |
|
Irmen de Jong
|
c7d54570cc
|
IR: sXX, CONCAT instructions now use 3 register format
|
2023-07-21 00:07:56 +02:00 |
|
Irmen de Jong
|
84925ab69c
|
remove eval stack options
|
2023-07-15 22:24:19 +02:00 |
|
Irmen de Jong
|
6938c79f88
|
IR: added CMPI instruction
|
2023-07-14 23:17:29 +02:00 |
|
Irmen de Jong
|
a98cb50d55
|
Revert "ir: SCC now sets all bits to 1 (or 0)"
This reverts commit 7245aece4f .
|
2023-07-09 23:16:13 +02:00 |
|
Irmen de Jong
|
7245aece4f
|
ir: SCC now sets all bits to 1 (or 0)
|
2023-07-08 23:16:01 +02:00 |
|
Irmen de Jong
|
5037033fcf
|
ir: EXT and EXTS opcodes now have 2 registers to avoid type clash
|
2023-07-08 22:42:11 +02:00 |
|