Irmen de Jong 
							
						 
					 
					
						
						
							
						
						4f8aaf9244 
					 
					
						
						
							
							some tweaks and todos  
						
						 
						
						
						
						
					 
					
						2024-06-26 21:22:40 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Irmen de Jong 
							
						 
					 
					
						
						
							
						
						2675623aea 
					 
					
						
						
							
							fix optimization ast parent linkage problem  
						
						 
						
						
						
						
					 
					
						2024-04-16 23:27:22 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Irmen de Jong 
							
						 
					 
					
						
						
							
						
						cfe3fcc9e7 
					 
					
						
						
							
							fix symbol table issue  
						
						 
						
						
						
						
					 
					
						2024-04-06 12:53:33 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Irmen de Jong 
							
						 
					 
					
						
						
							
						
						66a6659a6e 
					 
					
						
						
							
							cbm.STOP2() and cbm.GETIN2() convenience routines  
						
						 
						
						
						
						
					 
					
						2024-04-06 02:16:21 +02: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 
							
						 
					 
					
						
						
							
						
						de3d0b40dc 
					 
					
						
						
							
							fixed vm problem with branching instructions in global init chunk  
						
						 
						
						
						
						
					 
					
						2024-03-17 13:22:17 +01:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Irmen de Jong 
							
						 
					 
					
						
						
							
						
						a5110b1f96 
					 
					
						
						
							
							improved De Morgan rewrite rules  
						
						 
						
						
						
						
					 
					
						2024-03-02 23:19:39 +01:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Irmen de Jong 
							
						 
					 
					
						
						
							
						
						f40b7b62bb 
					 
					
						
						
							
							updated unit tests and some basic changes for them  
						
						 
						
						
						
						
					 
					
						2024-03-02 23:19:20 +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 
							
						 
					 
					
						
						
							
						
						4dc50cb551 
					 
					
						
						
							
							fix unused subroutine removal not removing all unused subs  
						
						 
						
						
						
						
					 
					
						2024-02-10 21:26:53 +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 
							
						 
					 
					
						
						
							
						
						a8c09d6144 
					 
					
						
						
							
							removed a problematic bitshift replacement in the const evaluator  
						
						 
						
						
						
						
					 
					
						2024-01-21 23:05:51 +01:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Irmen de Jong 
							
						 
					 
					
						
						
							
						
						bc3f2db3de 
					 
					
						
						
							
							Fix call graph to no longer mark subroutines unused, that still get their variables referenced somewhere.  
						
						 
						
						... 
						
						
						
						Revert palette.default_colors_16[] back to palette.set_default16.colors. 
						
						
					 
					
						2024-01-11 22:12:01 +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 
							
						 
					 
					
						
						
							
						
						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 
							
						 
					 
					
						
						
							
						
						8a0e650511 
					 
					
						
						
							
							apply De Morgan's laws for logical not, results in smaller code  
						
						 
						
						
						
						
					 
					
						2024-01-04 23:45:46 +01:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Irmen de Jong 
							
						 
					 
					
						
						
							
						
						56ba24962c 
					 
					
						
						
							
							fixed 'not not x' optimization to just 'x'  
						
						 
						
						
						
						
					 
					
						2024-01-04 15:02:21 +01:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Irmen de Jong 
							
						 
					 
					
						
						
							
						
						8f18b5b8a7 
					 
					
						
						
							
							keep distinction between logical and bitwise boolean operators  
						
						 
						
						
						
						
					 
					
						2023-12-30 01:08:42 +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 
							
						 
					 
					
						
						
							
						
						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 
							
						 
					 
					
						
						
							
						
						44d82f9190 
					 
					
						
						
							
							add unit tests  
						
						 
						
						
						
						
					 
					
						2023-12-28 13:30:07 +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 
							
						 
					 
					
						
						
							
						
						ffdc658dc8 
					 
					
						
						
							
							type error tweaks  
						
						 
						
						
						
						
					 
					
						2023-12-26 18:49:01 +01:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Irmen de Jong 
							
						 
					 
					
						
						
							
						
						6bc079c7b7 
					 
					
						
						
							
							more asm symbol prefixing: variables with p8v_, subroutines with p8s_ etc  
						
						 
						
						... 
						
						
						
						labels with p8l_ . All this to avoid symbol clashes in the generated assembly code.
Everything got its own distinguishing prefix so we're done with it once and for all and have only 1 breaking change moment. 
						
						
					 
					
						2023-12-20 22:20:59 +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 
							
						 
					 
					
						
						
							
						
						6ebd4e821f 
					 
					
						
						
							
							improved docs about subroutine scoping, fix possible optimizer crash for inlined sub  
						
						 
						
						
						
						
					 
					
						2023-12-04 23:23:52 +01:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Irmen de Jong 
							
						 
					 
					
						
						
							
						
						88a1aa4f3d 
					 
					
						
						
							
							fix invalid optimization for integers (X/C1)*C2 , only ok for floats because of int rounding  
						
						 
						
						
						
						
					 
					
						2023-12-01 23:17:49 +01:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Irmen de Jong 
							
						 
					 
					
						
						
							
						
						62d3f01948 
					 
					
						
						
							
							fix name check in inline asm  
						
						 
						
						... 
						
						
						
						this no longer removes a subroutine that is otherwise only called from inlined asm. 
						
						
					 
					
						2023-11-21 01:26:50 +01:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Irmen de Jong 
							
						 
					 
					
						
						
							
						
						f21adaa3ef 
					 
					
						
						
							
							fix compiler error caused by removal of string symbol in txt.print() optimization  
						
						 
						
						
						
						
					 
					
						2023-11-17 19:51:48 +01:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Irmen de Jong 
							
						 
					 
					
						
						
							
						
						70a78e74f6 
					 
					
						
						
							
							get rid of binexpr splitter  
						
						 
						
						
						
						
					 
					
						2023-07-20 01:36:43 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Irmen de Jong 
							
						 
					 
					
						
						
							
						
						38efe25c68 
					 
					
						
						
							
							abs() now works on multiple data types including float.  
						
						 
						
						... 
						
						
						
						no need to use floats.fabs() anymore 
						
						
					 
					
						2023-05-02 01:19:53 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Irmen de Jong 
							
						 
					 
					
						
						
							
						
						dc32318cec 
					 
					
						
						
							
							fix possible string error on inlined subroutines  
						
						 
						
						
						
						
					 
					
						2023-03-12 18:16:48 +01:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Irmen de Jong 
							
						 
					 
					
						
						
							
						
						fc253237c9 
					 
					
						
						
							
							fix issues with reporting inlined subroutines as unused  
						
						 
						
						
						
						
					 
					
						2023-03-07 23:47:14 +01:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Irmen de Jong 
							
						 
					 
					
						
						
							
						
						540b3ae2f4 
					 
					
						
						
							
							tweak BinaryExpression splitting  
						
						 
						
						
						
						
					 
					
						2023-02-28 21:45:38 +01:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Irmen de Jong 
							
						 
					 
					
						
						
							
						
						cf3523f49f 
					 
					
						
						
							
							Merge branch 'codegen-on-new-ast'  
						
						 
						
						
						
						
					 
					
						2023-02-14 22:48:11 +01:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Irmen de Jong 
							
						 
					 
					
						
						
							
						
						bceaebe856 
					 
					
						
						
							
							fix crash on sort/reverse unused arrays  
						
						 
						
						... 
						
						
						
						fixes  #95  
						
						
					 
					
						2023-02-14 00:26:29 +01:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Irmen de Jong 
							
						 
					 
					
						
						
							
						
						6aabbffc62 
					 
					
						
						
							
							some cleanups  
						
						 
						
						
						
						
					 
					
						2023-02-09 02:34:18 +01:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Irmen de Jong 
							
						 
					 
					
						
						
							
						
						f117805129 
					 
					
						
						
							
							order  
						
						 
						
						
						
						
					 
					
						2023-02-05 12:36:32 +01:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Irmen de Jong 
							
						 
					 
					
						
						
							
						
						81bd5c784e 
					 
					
						
						
							
							don't remove consecutive assigns to IO space location  
						
						 
						
						
						
						
					 
					
						2022-12-24 18:01:54 +01:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Irmen de Jong 
							
						 
					 
					
						
						
							
						
						88cbb6913d 
					 
					
						
						
							
							tweak bool type handling  
						
						 
						
						
						
						
					 
					
						2022-07-11 14:55:50 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Irmen de Jong 
							
						 
					 
					
						
						
							
						
						24d13dd120 
					 
					
						
						
							
							fix problematic optimizations to logical expressions  
						
						 
						
						
						
						
					 
					
						2022-07-02 00:56:24 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Irmen de Jong 
							
						 
					 
					
						
						
							
						
						965340ff90 
					 
					
						
						
							
							logical and/or/xor/not all replaced by bitwise &,|,^,~ (ast, codegens)  
						
						 
						
						... 
						
						
						
						this also fixed some invalid outcomes of logical expressions! 
						
						
					 
					
						2022-07-02 00:38:17 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Irmen de Jong 
							
						 
					 
					
						
						
							
						
						2eb41a8caf 
					 
					
						
						
							
							temporary workaround for code problem around 'not'  
						
						 
						
						
						
						
					 
					
						2022-07-01 00:38:19 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Irmen de Jong 
							
						 
					 
					
						
						
							
						
						97cb0cbd08 
					 
					
						
						
							
							tweak "not" removal/rewriting  
						
						 
						
						
						
						
					 
					
						2022-06-30 02:16:30 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Irmen de Jong 
							
						 
					 
					
						
						
							
						
						dc82a0fc16 
					 
					
						
						
							
							better not(x) replacement by x==0  
						
						 
						
						
						
						
					 
					
						2022-06-28 23:50:23 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Irmen de Jong 
							
						 
					 
					
						
						
							
						
						435d6f6f3f 
					 
					
						
						
							
							vm: and/or/xor/not are all bitwise operations again  
						
						 
						
						
						
						
					 
					
						2022-06-28 03:17:51 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Irmen de Jong 
							
						 
					 
					
						
						
							
						
						ef92451d1a 
					 
					
						
						
							
							fix logical expressions on arbitrary values, for now with boolean() around the operands  
						
						 
						
						
						
						
					 
					
						2022-06-28 01:18:36 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Irmen de Jong 
							
						 
					 
					
						
						
							
						
						c75bd97537 
					 
					
						
						
							
							update kotest  
						
						 
						
						
						
						
					 
					
						2022-06-26 18:51:03 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Irmen de Jong 
							
						 
					 
					
						
						
							
						
						bf9d120081 
					 
					
						
						
							
							logical operators now always return a boolean byte result, instead of sometimes word type as well  
						
						 
						
						... 
						
						
						
						(preparing for codegen simplifications for these) 
						
						
					 
					
						2022-06-13 01:37:16 +02:00