Irmen de Jong
|
9826d7c494
|
optimize certain boolean comparisons more
|
2024-03-05 03:09:53 +01:00 |
|
Irmen de Jong
|
607275ec66
|
tweak
|
2024-03-03 19:52:46 +01:00 |
|
Irmen de Jong
|
e55cde2a81
|
more nonstrictbool conversions
|
2024-03-03 19:43:48 +01:00 |
|
Irmen de Jong
|
84afb374e6
|
nostrictbool array conversions
|
2024-03-03 17:48:52 +01:00 |
|
Irmen de Jong
|
da1620807f
|
fixed all todos in ifelse gen
|
2024-03-03 12:10:42 +01:00 |
|
Irmen de Jong
|
f39ef8f565
|
optimize byte comparison assignment to use rol trick instead of branching
|
2024-03-03 00:01:14 +01:00 |
|
Irmen de Jong
|
fe8b6e820c
|
getting rid of problematic fallback (infinite recursion)
|
2024-03-02 23:19:55 +01:00 |
|
Irmen de Jong
|
f29d24e96a
|
fixup split words array comparisons
|
2024-03-02 23:19:55 +01:00 |
|
Irmen de Jong
|
620ffe54ec
|
asm optimizer: don't remove labels. remove redundant cmp/cpx/cpy instructions.
|
2024-03-02 23:19:53 +01:00 |
|
Irmen de Jong
|
ceaa4cd07d
|
array issue
|
2024-03-02 23:19:39 +01:00 |
|
Irmen de Jong
|
af17f903ee
|
fix that if not fcall() wasn't transformed to a conditional branch instruction
|
2024-03-02 23:19:39 +01:00 |
|
Irmen de Jong
|
c532e28841
|
fix several remaining bool return values in library routines
|
2024-03-02 23:19:39 +01:00 |
|
Irmen de Jong
|
dba0846866
|
optimize word >, word <=
|
2024-03-02 23:19:39 +01:00 |
|
Irmen de Jong
|
bed629998a
|
fix large code for some compares
|
2024-03-02 23:19:39 +01:00 |
|
Irmen de Jong
|
bc2ede76bf
|
tweak to byte compares
|
2024-03-02 23:19:39 +01:00 |
|
Irmen de Jong
|
2a1fec2ed2
|
fix codegen error for comparisons
|
2024-03-02 23:19:39 +01:00 |
|
Irmen de Jong
|
004048e5a7
|
fix IR codegen error for b=float>value
|
2024-03-02 23:19:39 +01:00 |
|
Irmen de Jong
|
37b346740b
|
fix 6502 casting uword and float to bool
|
2024-03-02 23:19:39 +01:00 |
|
Irmen de Jong
|
f5e332daf7
|
remove redundant IR instructions like SNZ
|
2024-03-02 23:19:39 +01:00 |
|
Irmen de Jong
|
fe9a9fc5cb
|
new if tests
|
2024-03-02 23:19:39 +01:00 |
|
Irmen de Jong
|
cc57477b99
|
IR: support for indirect jump after if
|
2024-03-02 23:19:39 +01:00 |
|
Irmen de Jong
|
a1574a7187
|
added txt.print_bool, several fixes
|
2024-03-02 23:19:39 +01:00 |
|
Irmen de Jong
|
a5110b1f96
|
improved De Morgan rewrite rules
|
2024-03-02 23:19:39 +01:00 |
|
Irmen de Jong
|
006713fe13
|
optimize boolean to ubyte assignment (skip type cast)
|
2024-03-02 23:19:39 +01:00 |
|
Irmen de Jong
|
7868e672e0
|
ifelse more
|
2024-03-02 23:19:39 +01:00 |
|
Irmen de Jong
|
e1a133c2c0
|
ifelse more
|
2024-03-02 23:19:39 +01:00 |
|
Irmen de Jong
|
c77cd0da39
|
ifelse more
|
2024-03-02 23:19:39 +01:00 |
|
Irmen de Jong
|
577333f2c4
|
new ifelse codegen
|
2024-03-02 23:19:39 +01:00 |
|
Irmen de Jong
|
7d8cdcbfea
|
more bool fixes and optimizations in codegen
|
2024-03-02 23:19:39 +01:00 |
|
Irmen de Jong
|
acd841dbb6
|
bool changes in 6502 assignment codegen
|
2024-03-02 23:19:37 +01:00 |
|
Irmen de Jong
|
10d12f73d6
|
IR/VM: testing the boolean changes, added in-place and/or.
|
2024-03-02 23:19:20 +01:00 |
|
Irmen de Jong
|
92527b4c1d
|
examples: add ==0 or !=0 to expressions that depend on implicit conversion from byte to bool
|
2024-03-02 23:19:18 +01:00 |
|
Irmen de Jong
|
a282b17286
|
added asm optimizer for <= byte (bcc+beq->bcs)
|
2024-03-02 15:34:54 +01:00 |
|
Irmen de Jong
|
58d9463f16
|
consolidate word comparison codegen
|
2024-03-02 14:00:12 +01:00 |
|
Irmen de Jong
|
047decd552
|
consolidate byte comparison codegen
|
2024-03-01 22:21:22 +01:00 |
|
Irmen de Jong
|
040d75dafa
|
VM now supports indirect jump instruction
|
2024-02-22 16:19:26 +01:00 |
|
Irmen de Jong
|
b5e691f367
|
IR: fix chunk reachability: via unchopped chunk label directly so that they don't get removed
|
2024-02-21 23:18:57 +01:00 |
|
Irmen de Jong
|
d4b087ea3f
|
added txt.bell() to make terminal beep/bell sound on most systems
|
2024-02-21 17:35:37 +01:00 |
|
Irmen de Jong
|
96b5a30f60
|
slightly less strict
|
2024-02-20 23:01:51 +01:00 |
|
Irmen de Jong
|
0e17a0474a
|
added type check to catch invalid comparisons, fix maze example
|
2024-02-20 22:53:15 +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
|
8201408f16
|
fix element size calc when copying array
|
2024-02-10 22:58:44 +01:00 |
|
Irmen de Jong
|
8b8caa1c2e
|
added math.randrange() and math.randrangew()
|
2024-02-10 22:16:13 +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
|
6eacf1bddd
|
added a few more IR syscalls for often used copy routines
|
2024-02-09 23:56:44 +01:00 |
|
Irmen de Jong
|
6c8c8e11cc
|
fix cpu register overwrites when using @(...) arguments to an asmsub
|
2024-02-09 19:55:35 +01:00 |
|
Irmen de Jong
|
68669dbef0
|
fix & of pointervar indexing
|
2024-02-08 23:03:53 +01:00 |
|
Irmen de Jong
|
6a48de9a9f
|
IR: fix & of array-element
|
2024-02-08 21:27:53 +01:00 |
|
Irmen de Jong
|
9d6d98930b
|
fix ast printing of & array-element
|
2024-02-08 21:27:53 +01:00 |
|