Irmen de Jong
|
a7247f5b8b
|
fix boolean expression optimization bug
|
2024-04-12 21:56:25 +02:00 |
|
Irmen de Jong
|
53df0eb707
|
cleanups
|
2024-04-10 22:04:03 +02:00 |
|
Irmen de Jong
|
641f6c05d8
|
allow 'void' as dummy assign target in multi-assignment statements
|
2024-03-31 23:43:26 +02:00 |
|
Irmen de Jong
|
0c5e8ca199
|
Merge branch 'master' into multi-assign
|
2024-03-29 11:51:42 +01:00 |
|
Irmen de Jong
|
ff23fb0086
|
take ignore_unused option into account for warnings about removing unused blocks themselves as well
|
2024-03-29 00:16:18 +01:00 |
|
Irmen de Jong
|
56c1035581
|
Merge branch 'master' into multi-assign
# Conflicts:
# docs/source/todo.rst
# examples/test.p8
|
2024-03-26 22:09:16 +01:00 |
|
Irmen de Jong
|
ba1e907c79
|
fix divmod; out args are written to and should be potential constants
|
2024-03-26 22:04:44 +01:00 |
|
Irmen de Jong
|
edc83305a4
|
allow multiple targets in AssignTarget
|
2024-03-22 21:51:08 +01:00 |
|
Irmen de Jong
|
ad4880997a
|
no operand swap on logical expressions with shortcircuit evaluation (and,or are no longer associative!)
|
2024-03-20 22:34:48 +01:00 |
|
Irmen de Jong
|
a94cfd34f5
|
don't apply absorption law on functioncall operands
|
2024-03-15 01:04:27 +01:00 |
|
Irmen de Jong
|
3535c1acda
|
fix broken boolean != comparison optimization
|
2024-03-13 20:23:42 +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
|
04f7b772a3
|
lib updates, removed unused and obsolete http and dbus modules
|
2024-03-05 23:42:35 +01:00 |
|
Irmen de Jong
|
9826d7c494
|
optimize certain boolean comparisons more
|
2024-03-05 03:09:53 +01:00 |
|
Irmen de Jong
|
84afb374e6
|
nostrictbool array conversions
|
2024-03-03 17:48:52 +01:00 |
|
Irmen de Jong
|
7d8cdcbfea
|
more bool fixes and optimizations in codegen
|
2024-03-02 23:19:39 +01:00 |
|
Irmen de Jong
|
6b87cbb703
|
optimizers
|
2024-03-02 23:19:20 +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 |
|
Irmen de Jong
|
01bbc2234e
|
fix absorption law optimization, add 2 additional optimizations
|
2024-02-14 23:12:54 +01:00 |
|
Irmen de Jong
|
a4f697bae1
|
faster
|
2024-02-10 23:56:55 +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
|
d7f72056fc
|
rest of the array copying
|
2024-02-10 17:16:06 +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
|
d4a2031c07
|
fix certain assignment data type mismatch crash
|
2024-01-25 21:14:20 +01:00 |
|
Irmen de Jong
|
a8c09d6144
|
removed a problematic bitshift replacement in the const evaluator
|
2024-01-21 23:05:51 +01:00 |
|
Irmen de Jong
|
fdbbd181ea
|
fixes for address-of uword pointer array expressions
|
2024-01-17 22:51:15 +01:00 |
|
Irmen de Jong
|
e0de662f8e
|
fix signed word bitshift right (>8 shifts)
|
2024-01-16 01:08:16 +01:00 |
|
Irmen de Jong
|
45a9751217
|
fix type of optimized lsb() / mkword() arguments when signed.
printast1 command line option now also works in case of compilation errors.
|
2024-01-10 23:57:44 +01:00 |
|
Irmen de Jong
|
f27e3478b9
|
fix const value of AddressOf for certain types
|
2024-01-09 22:10:25 +01:00 |
|
Irmen de Jong
|
f8084e7955
|
fix const replacement optimization error on memory mapped variable
|
2024-01-07 18:48:18 +01:00 |
|
Irmen de Jong
|
d85c347a6c
|
optimize /256 more, and fixed a unsigned byte word cast error
|
2024-01-07 02:34:05 +01:00 |
|
Irmen de Jong
|
7dd758a753
|
better optimize WORD & $xx00 , WORD & $00xx
|
2024-01-06 22:01:21 +01:00 |
|
Irmen de Jong
|
806654fc44
|
fix invalid const optimization with multiplication
|
2024-01-06 13:59:13 +01:00 |
|
Irmen de Jong
|
8e6b91cb9e
|
some optimizations
|
2024-01-06 00:44:00 +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
|
37638e7ed0
|
added Absorption laws optimization
|
2024-01-05 00:36:47 +01:00 |
|
Irmen de Jong
|
0e086d788b
|
removed chained comparisons again, because they caused invalid expression evaluations due to changed semantics.
|
2024-01-01 16:00:11 +01:00 |
|
Irmen de Jong
|
d03ff1e4d0
|
improved var -> const replacement, now done in constfolding already (fixes some obscure problems later on)
Also fixed some directive parenting errors
|
2023-12-29 19:48:40 +01:00 |
|
Irmen de Jong
|
ccc11e49d2
|
fix asmgen for uword shift right 8 or more bits
|
2023-12-29 05:06:09 +01:00 |
|
Irmen de Jong
|
a0594cbce3
|
const optimizer now knows about a bunch of library functions, such as math.*
|
2023-12-28 20:14:13 +01:00 |
|
Irmen de Jong
|
9c1b11d605
|
some WARN messages are now INFO
|
2023-12-28 14:20:47 +01:00 |
|
Irmen de Jong
|
09c6cb4d6b
|
replace unwritten vars by consts. Improved const eval.
Fixed some slight bugs in library code
|
2023-12-28 05:17:15 +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
|
4bb2b8ca9b
|
make isArray a computed property by simply checking the datatype
|
2023-12-26 19:58:08 +01:00 |
|
Irmen de Jong
|
a8be94de6b
|
better error message when attempting to cast a float to integer
|
2023-12-15 22:28:06 +01:00 |
|
Irmen de Jong
|
58400f53bc
|
optimize: flip if true/else blocks if the else block only contains a jump (inverting the condition)
|
2023-12-13 22:06:53 +01:00 |
|
Irmen de Jong
|
08a079a96e
|
concerns with in for strings
|
2023-12-11 21:15:48 +01:00 |
|