Dan Klishch 
								
							 
						 
						
							
							
							
							
								
							
							
								d14bb7e91e 
								
							 
						 
						
							
							
								
								JSSpecCompiler: Make function arguments parsing much simpler  
							
							... 
							
							
							
							In a nutshell, when we understand that the expression is a function
call (this happens at '(' after an expression), stop parsing expression
and start parsing function arguments. This makes
`FunctionCallCanonicalizationPass` and the workaround for zero argument
function calls obsolete. 
							
						 
						
							2024-02-24 15:03:08 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Dan Klishch 
								
							 
						 
						
							
							
							
							
								
							
							
								483e195e48 
								
							 
						 
						
							
							
								
								JSSpecCompiler: Store arguments in declaration instead of definition  
							
							... 
							
							
							
							And create a struct encapsulating argument name in the preparation for
argument types and optional arguments. 
							
						 
						
							2024-01-21 14:57:10 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Dan Klishch 
								
							 
						 
						
							
							
							
							
								
							
							
								5825eaa264 
								
							 
						 
						
							
							
								
								JSSpecCompiler: Save references to return value and function arguments  
							
							
							
						 
						
							2024-01-14 16:05:51 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Dan Klishch 
								
							 
						 
						
							
							
							
							
								
							
							
								5338cdd153 
								
							 
						 
						
							
							
								
								JSSpecCompiler: Add bare-bones DCE pass  
							
							... 
							
							
							
							Right now the only dead code it eliminates is the unused phi nodes. 
							
						 
						
							2024-01-14 16:05:51 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Dan Klishch 
								
							 
						 
						
							
							
							
							
								
							
							
								fbdb1a3d61 
								
							 
						 
						
							
							
								
								JSSpecCompiler: Add SSA form building pass  
							
							
							
						 
						
							2024-01-12 16:22:22 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Dan Klishch 
								
							 
						 
						
							
							
							
							
								
							
							
								23164bc570 
								
							 
						 
						
							
							
								
								JSSpecCompiler: Replace all declarations with assignments  
							
							... 
							
							
							
							We assume that variable shadowing is impossible, so then there is no
reason to keep distinct Declaration and Assignment operators after
ReferenceResolvingPass. 
							
						 
						
							2024-01-04 12:06:56 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Dan Klishch 
								
							 
						 
						
							
							
							
							
								
							
							
								12072dbac5 
								
							 
						 
						
							
							
								
								JSSpecCompiler: Add control flow graph simplification pass  
							
							... 
							
							
							
							It removes empty `BasicBlock`s with an unconditional jump continuation
and then removes unreferenced blocks from the graph. 
							
						 
						
							2024-01-04 12:06:56 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Dan Klishch 
								
							 
						 
						
							
							
							
							
								
							
							
								8126e76e59 
								
							 
						 
						
							
							
								
								JSSpecCompiler: Compare CFG when running regression tests  
							
							
							
						 
						
							2023-12-14 09:06:05 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Dan Klishch 
								
							 
						 
						
							
							
							
							
								
							
							
								ff44aea917 
								
							 
						 
						
							
							
								
								JSSpecCompiler: Add control flow building pass  
							
							
							
						 
						
							2023-12-14 09:06:05 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Dan Klishch 
								
							 
						 
						
							
							
							
							
								
							
							
								00928764e9 
								
							 
						 
						
							
							
								
								JSSpecCompiler: Add our first test :^)  
							
							
							
						 
						
							2023-12-07 10:13:21 -07:00