Slava Pestov
							
						 
						
							 
							
							
							
								
							
								8ff473e42c 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan.resolve: get it to work on CFGs with critical edges  
							
							 
							
							
							
						 
						
							2009-07-12 23:00:33 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								1cf6bb7f99 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan: disable unit test for unimplemented feature  
							
							 
							
							
							
						 
						
							2009-07-10 07:48:49 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								ae67de6f90 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan: fix fencepost error in spill insertion  
							
							 
							
							
							
						 
						
							2009-07-10 03:58:51 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								5a64290386 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan: more code cleanups, and working on split-to-fit algorithm  
							
							 
							
							
							
						 
						
							2009-07-09 00:20:03 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								4507bdcbc0 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan: code cleanups  
							
							 
							
							
							
						 
						
							2009-07-08 23:28:28 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								e2044602aa 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan: debugging spilling, add more assertions  
							
							 
							
							
							
						 
						
							2009-07-07 13:01:27 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								0bcf4ce535 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan: Re-implement spilling, add some additional runtime assertions, simplify assignment pass since it doesn't have to track spill slots anymore; just assume a live value that's not in active or inactive is spilled  
							
							 
							
							
							
						 
						
							2009-07-07 03:28:55 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								a452f32e3a 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan: Get cycle breaking in resolve pass to work by allocating a spare spill slot for this purpose  
							
							 
							
							
							
						 
						
							2009-07-05 21:32:23 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								c00af97fa1 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan.resolve: More fixes  
							
							 
							
							
							
						 
						
							2009-07-04 00:45:06 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								da13681bc8 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan: redo resolve pass to fix a correctness issue  
							
							 
							
							
							
						 
						
							2009-07-03 23:38:52 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								a19f22ec82 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan: debugging spilling and resolve pass  
							
							 
							
							
							
						 
						
							2009-07-01 17:41:07 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								578b0126fc 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan: compute-free-pos was broken in the case where more than one inactive interval had the same physical register assigned  
							
							 
							
							
							
						 
						
							2009-06-30 16:07:58 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								96baede36a 
								
							
								 
							
						 
						
							
							
								
								Redesign compiler.cfg.stack-analysis to make compiler.cfg.height redundant, and to fix some problems  
							
							 
							
							
							
						 
						
							2009-06-26 17:29:55 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								f3cf8fad2b 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan: fix unit tests  
							
							 
							
							
							
						 
						
							2009-06-24 13:54:12 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								387f6df9e5 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan: Debugging resolve pass  
							
							 
							
							
							
						 
						
							2009-06-22 00:24:51 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								5a78956956 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan: Working on resolve pass  
							
							 
							
							
							
						 
						
							2009-06-21 00:20:01 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								5c912504d7 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan: untangle add-active/delete-active/add-handled calls in spilling, replace 'sort-values last' with 'alist-max' in compiler.utilities  
							
							 
							
							
							
						 
						
							2009-06-19 18:28:30 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								1f5f8393c3 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan: Further progress on inactive interval handling  
							
							 
							
							
							
						 
						
							2009-06-17 15:27:20 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								64f93e41a9 
								
							
								 
							
						 
						
							
							
								
								Various linear scan fixes  
							
							 
							
							... 
							
							
							
							insert spill before reload to fix x86-32 regression
inactive splitting: if all inactive intervals' registers are in use, don't fail
fix stack analysis tests 
							
						 
						
							2009-06-13 17:35:40 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								d0f6a7d048 
								
							
								 
							
						 
						
							
							
								
								Split up compiler.cfg.linear-scan.allocation into a number of sub-vocabularies; start work on compiler.cfg.linear-scan.resolve; start work on inactive interval splitting  
							
							 
							
							
							
						 
						
							2009-06-11 17:55:14 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								70b75b8dea 
								
							
								 
							
						 
						
							
							
								
								Linear scan: implement live range intersection  
							
							 
							
							
							
						 
						
							2009-06-06 01:04:12 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								04c72d0a72 
								
							
								 
							
						 
						
							
							
								
								Linear scan: correctly compute live spill slots  
							
							 
							
							
							
						 
						
							2009-06-05 18:06:47 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								81b2a39070 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan: re-do interval splitting to operate on live ranges; add inactive set processing  
							
							 
							
							
							
						 
						
							2009-06-04 18:53:02 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								6d04bf9c4a 
								
							
								 
							
						 
						
							
							
								
								Linear scan: build live ranges  
							
							 
							
							
							
						 
						
							2009-06-03 03:22:27 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								9e987e8642 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' into global_optimization  
							
							 
							
							
							
						 
						
							2009-06-01 03:12:32 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								e04df76f60 
								
							
								 
							
						 
						
							
							
								
								Various codegen improvements:  
							
							 
							
							... 
							
							
							
							- new-insn word to construct instructions
- cache RPO in the CFG
- re-organize low-level optimizer so that MR is built after register allocation
- register allocation now stores instruction numbers in the instructions themselves
- split defs-vregs into defs-vregs and temp-vregs 
							
						 
						
							2009-05-29 13:11:34 -05:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								407377fc98 
								
							
								 
							
						 
						
							
							
								
								rename peek -> last and update all usages  
							
							 
							
							
							
						 
						
							2009-05-25 16:38:33 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								ca2f01e0d0 
								
							
								 
							
						 
						
							
							
								
								Updating non-core libraries for monotonic? change  
							
							 
							
							
							
						 
						
							2009-01-16 17:02:54 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								34792a9f23 
								
							
								 
							
						 
						
							
							
								
								Remove >r/r>  
							
							 
							
							
							
						 
						
							2008-12-17 19:17:37 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								1af3b8ed65 
								
							
								 
							
						 
						
							
							
								
								If a register is spilled and the reload location is also a copy, we chicken out and don't coalesce. This is suboptimal but it's not clear to me how to implement it cleanly, and SSA graph coloring will solve this problem eventually anyway  
							
							 
							
							
							
						 
						
							2008-11-04 00:32:56 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								0250d7c1d2 
								
							
								 
							
						 
						
							
							
								
								Forgot a drop in unit test  
							
							 
							
							
							
						 
						
							2008-11-03 01:53:27 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								8df1aba71d 
								
							
								 
							
						 
						
							
							
								
								Coalescing  
							
							 
							
							
							
						 
						
							2008-11-02 01:49:57 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								e92f795a76 
								
							
								 
							
						 
						
							
							
								
								More work on intrinsics; memory allocation and slot access now expands correctly  
							
							 
							
							
							
						 
						
							2008-10-20 20:40:15 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								c0d89b061e 
								
							
								 
							
						 
						
							
							
								
								Fixing register allocator prspilling  
							
							 
							
							
							
						 
						
							2008-10-19 01:10:21 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								749c77d6b1 
								
							
								 
							
						 
						
							
							
								
								Fix linear scan test  
							
							 
							
							
							
						 
						
							2008-10-12 18:40:10 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								cf46a832e7 
								
							
								 
							
						 
						
							
							
								
								Debugging register allocator and inline allocation  
							
							 
							
							
							
						 
						
							2008-10-08 23:42:53 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								f436fd0c0f 
								
							
								 
							
						 
						
							
							
								
								Merging in new codegen  
							
							 
							
							
							
						 
						
							2008-10-07 16:16:50 -05:00