David Given 
								
							 
						 
						
							
							
							
							
								
							
							
								51bd3ee4dd 
								
							 
						 
						
							
							
								
								Fix bug where some phis weren't being inserted when a given variable definition  
							
							... 
							
							
							
							needed more than one phi (due to the dominance frontier containing more than
one basic block). 
							
						 
						
							2016-10-27 21:40:25 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									David Given 
								
							 
						 
						
							
							
							
							
								
							
							
								abd0cedd61 
								
							 
						 
						
							
							
								
								Massive change to how IR types are handled; we use the type code for matching  
							
							... 
							
							
							
							rather than the size. Much cleaner and simpler. 
							
						 
						
							2016-10-23 21:54:14 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									David Given 
								
							 
						 
						
							
							
							
							
								
							
							
								a8ee82d197 
								
							 
						 
						
							
							
								
								Stop passing proc around, and use a global instead --- much cleaner.  
							
							
							
						 
						
							2016-10-15 23:19:44 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									David Given 
								
							 
						 
						
							
							
							
							
								
							
							
								d75cc0a663 
								
							 
						 
						
							
							
								
								Basic register allocation works!  
							
							
							
						 
						
							2016-10-08 23:32:54 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									David Given 
								
							 
						 
						
							
							
							
							
								
							
							
								4e49830e09 
								
							 
						 
						
							
							
								
								Overhaul of everything phi related; critical edge splitting now happens before  
							
							... 
							
							
							
							anything SSA happens; liveness calculations now look like they might be
working. 
							
						 
						
							2016-10-08 00:21:23 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									David Given 
								
							 
						 
						
							
							
							
							
								
							
							
								ee93389c5f 
								
							 
						 
						
							
							
								
								Refactor the cfg and dominance stuff to make it a lot nicer.  
							
							
							
						 
						
							2016-10-06 21:34:21 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									David Given 
								
							 
						 
						
							
							
							
							
								
							
							
								21034c0d65 
								
							 
						 
						
							
							
								
								No, dammit, for register allocation I need to walk the blocks in *dominance*  
							
							... 
							
							
							
							order. Since the dominance tree has changed when I fiddled with the graph, I
need to recompute it, so factor it out of the SSA pass. Code is uglier than I'd
like but at least the RET statement goes last in the generated code now. 
							
						 
						
							2016-10-05 23:52:54 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									David Given 
								
							 
						 
						
							
							
							
							
								
							
							
								68f98cbad7 
								
							 
						 
						
							
							
								
								Instruction selection now happens on a shadow tree, rather than on the IR tree  
							
							... 
							
							
							
							itself. Currently it's semantically the same but the implementation is cleaner. 
							
						 
						
							2016-10-03 20:52:36 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									David Given 
								
							 
						 
						
							
							
							
							
								
							
							
								c079e97492 
								
							 
						 
						
							
							
								
								Perform SSA conversion of locals. Much, *much* better code now, at least  
							
							... 
							
							
							
							inasmuch as it looks better before register allocation. Basic blocks now know
their own successors and predecessors (after a certain point in the IR
processing). 
							
						 
						
							2016-10-02 17:50:34 +02:00