Irmen de Jong
|
a94cfd34f5
|
don't apply absorption law on functioncall operands
|
2024-03-15 01:04:27 +01:00 |
|
Irmen de Jong
|
28eae5a0fd
|
updated diskspeed example to deal with increased I/O speeds
|
2024-03-15 00:37:13 +01:00 |
|
Irmen de Jong
|
1fc79ff6dd
|
implement the missing in-place array operators for split word arrays and numeric operand
|
2024-03-13 21:16:49 +01:00 |
|
Irmen de Jong
|
3535c1acda
|
fix broken boolean != comparison optimization
|
2024-03-13 20:23:42 +01:00 |
|
Irmen de Jong
|
33c8caac8f
|
get rid of containment expression restriction
|
2024-03-12 23:39:54 +01:00 |
|
Irmen de Jong
|
51d708bbdd
|
fix monogfx issue
|
2024-03-12 23:27:15 +01:00 |
|
Irmen de Jong
|
a5a918df84
|
update docs about boolean type
|
2024-03-12 18:54:56 +01:00 |
|
Irmen de Jong
|
820541e427
|
fixed and optimized pointervar indexed in-place operations
|
2024-03-11 23:27:48 +01:00 |
|
Irmen de Jong
|
c11a9b8709
|
fix callgraph issue when module gets removed by optimizations
|
2024-03-11 20:34:22 +01:00 |
|
Irmen de Jong
|
80f39e8097
|
Merge branch 'booleans'
# Conflicts:
# compiler/res/prog8lib/cx16/monogfx.p8
# compiler/res/prog8lib/virtual/monogfx.p8
# compiler/src/prog8/compiler/astprocessing/BoolRemover.kt
# compiler/test/TestTypecasts.kt
# docs/source/todo.rst
# examples/cx16/highresbitmap.p8
# examples/test.p8
# httpCompilerService/src/prog8/http/TestHttp.kt
|
2024-03-11 01:00:48 +01:00 |
|
Irmen de Jong
|
3a9919a377
|
implemented a couple more diskio routines for the VM target
|
2024-03-09 17:36:39 +01:00 |
|
Irmen de Jong
|
f739e679e4
|
added sys.exit2 and sys.exit3 to set more result registers at program exit
todo
|
2024-03-09 03:30:05 +01:00 |
|
Irmen de Jong
|
52649a8e4f
|
conv routines now return the string buffer address.
|
2024-03-08 02:12:46 +01:00 |
|
Irmen de Jong
|
04f7b772a3
|
lib updates, removed unused and obsolete http and dbus modules
|
2024-03-05 23:42:35 +01:00 |
|
Irmen de Jong
|
42c7569791
|
doc
|
2024-03-05 22:58:27 +01:00 |
|
Irmen de Jong
|
6d29b00a80
|
fix monogfx horizontal line and text draw in invert mode
|
2024-03-05 22:38:34 +01:00 |
|
Irmen de Jong
|
9f1bd2d7d6
|
asmoptimizer that removes redundant branches on boolean in A
|
2024-03-05 20:37:15 +01:00 |
|
Irmen de Jong
|
9826d7c494
|
optimize certain boolean comparisons more
|
2024-03-05 03:09:53 +01:00 |
|
Irmen de Jong
|
c6bf57b390
|
non strict bools should also replace not byte with byte==0
|
2024-03-04 23:25:34 +01:00 |
|
Irmen de Jong
|
bfcf07c1a2
|
attempt to no longer have BuildVersion.kt in git, blocking easy pulls
|
2024-03-04 20:45:59 +01:00 |
|
Irmen de Jong
|
4d7e96d423
|
add monogfx inverted (eor) draw mode
|
2024-03-03 23:28:37 +01:00 |
|
Irmen de Jong
|
449461e412
|
tweak monogfx stipple plot
|
2024-03-03 21:47:42 +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
|
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
|
b941d6f1e4
|
new comparison tests
|
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
|
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
|
c5c4c6f111
|
start of new ifelse
|
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
|
6b52ba9397
|
6502 asmgen
|
2024-03-02 23:19:20 +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
|
cd9119655c
|
IR codegen
|
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
|
c48012c385
|
tweak ifelse > and <= order
|
2024-03-02 17:01:31 +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
|
82e0877e64
|
readme
|
2024-03-01 00:41:11 +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
|
325f55f22d
|
doc refs duplicates fix
|
2024-02-21 21:29:17 +01:00 |
|
Irmen de Jong
|
8ff10724d1
|
fix some docs hyperlinks
|
2024-02-21 17:11:36 +01:00 |
|
Irmen de Jong
|
b27368175d
|
get rid of problematic rewrite of certain for loops that were causing the end expression to be evaluated every loop iteration
|
2024-02-20 21:03:21 +01:00 |
|
Mike McGann
|
a3fa946300
|
fix typo: reaturn -> return (#126)
|
2024-02-18 22:25:26 +01:00 |
|
adiee5
|
58e1864144
|
Mention AUR package in documentation (#125)
Additionally, small fixes it nano highlighting
|
2024-02-12 20:42:00 +01:00 |
|
Irmen de Jong
|
a4f697bae1
|
faster
|
2024-02-10 23:56:55 +01:00 |
|
Irmen de Jong
|
8b8caa1c2e
|
added math.randrange() and math.randrangew()
|
2024-02-10 22:16:13 +01:00 |
|
Irmen de Jong
|
4dc50cb551
|
fix unused subroutine removal not removing all unused subs
|
2024-02-10 21:26:53 +01:00 |
|
Irmen de Jong
|
5522a305ab
|
add -dumpvars option to dump all allocated variables (zp, normal ram, etc)
|
2024-02-10 18:42:31 +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
|
6c8c8e11cc
|
fix cpu register overwrites when using @(...) arguments to an asmsub
|
2024-02-09 19:55:35 +01:00 |
|
Irmen de Jong
|
e941d2665a
|
preparing for new array copy codegen
|
2024-02-09 18:22:41 +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 |
|
Irmen de Jong
|
386a391fd9
|
added string.lstripped() and string.ltrimmed()
|
2024-02-07 23:07:45 +01:00 |
|
Irmen de Jong
|
d33aed4ed5
|
added txt.petscii2scr() and txt.petscii2scr_str()
|
2024-02-07 22:36:43 +01:00 |
|
Irmen de Jong
|
24944ad49e
|
added string.strip() and string.trim() and l/r variants.
fixed memsizer for pointers-to-ubyte.
|
2024-02-07 02:09:08 +01:00 |
|
Irmen de Jong
|
8485b8429f
|
optimizing +=1/-=1
|
2024-02-06 23:49:40 +01:00 |
|
Irmen de Jong
|
358215e4dd
|
removed postIncrDecr (still allow ++/-- to be parsed into +=1/-=1)
|
2024-02-06 18:50:08 +01:00 |
|
Irmen de Jong
|
2cadb546d5
|
optimized in-place memory/pointervar operations some more
|
2024-02-04 15:17:24 +01:00 |
|
Irmen de Jong
|
344a1b9eb8
|
cx16: added cx16.get_program_args() and cx16.set_program_args()
|
2024-02-04 11:35:13 +01:00 |
|
Irmen de Jong
|
3c77f8a020
|
IR: optimize pointer access
|
2024-02-04 07:51:50 +01:00 |
|
Irmen de Jong
|
8e00408e3e
|
optimize pointer indexing a bit
|
2024-02-03 23:24:33 +01:00 |
|
Irmen de Jong
|
abcdfd8e28
|
optimize postincrdecr on memory a bit
|
2024-02-03 22:33:27 +01:00 |
|
Irmen de Jong
|
b0f5b6925d
|
getting rid of pointer[idx] in ast, instead always use @(ptr+idx)
|
2024-02-03 19:22:04 +01:00 |
|
Irmen de Jong
|
c71aa0895f
|
get rid of certain redundant !=0 comparisons in logical expressions
|
2024-02-01 21:50:01 +01:00 |
|
Irmen de Jong
|
9f8e61789a
|
fix 65c02 codegen for certain in-place byte bitwise invert
|
2024-01-31 23:55:43 +01:00 |
|
Irmen de Jong
|
ef198f1493
|
fix for certain invalid expression evaluation code.
it no longer reuses the same temporary variable all the time.
todo
|
2024-01-31 21:18:21 +01:00 |
|
Irmen de Jong
|
48ef856c0b
|
identified wrong expr eval code - still need solution. Crash for now.
|
2024-01-30 23:00:50 +01:00 |
|
Irmen de Jong
|
9aea2b22c4
|
doc improvement, fixes #120
|
2024-01-30 19:07:18 +01:00 |
|
Irmen de Jong
|
e0055bc431
|
IR: working on inplace +/-
|
2024-01-29 22:08:47 +01:00 |
|
Irmen de Jong
|
9553248ed6
|
IR: integrate inplace assignment ops
|
2024-01-28 22:33:16 +01:00 |
|
Irmen de Jong
|
444e97b00b
|
todo
|
2024-01-27 12:31:36 +01:00 |
|
Irmen de Jong
|
8cf0b6cf51
|
IR: optimize code for ==0 and !=0 augmented assigns
|
2024-01-25 00:30:47 +01:00 |
|
Irmen de Jong
|
f2010bf7a5
|
IR: better code for array element assignments (w.i.p.)
|
2024-01-23 00:56:06 +01:00 |
|
Irmen de Jong
|
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.
|
2024-01-22 22:01:47 +01:00 |
|