| 
							
							
								 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 infor strings | 2023-12-11 21:15:48 +01:00 |  | 
			
				
					| 
							
							
								 Irmen de Jong | 2668bf8519 | fix void optimization issue | 2023-12-09 21:48:22 +01:00 |  | 
			
				
					| 
							
							
								 Irmen de Jong | cce08d95db | unused subroutine warning only for main compilation module | 2023-12-06 21:48:56 +01:00 |  |