612e4b99b0 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan.assignment: insert-copy did the wrong thing if the second interval had been split. Fixes compilation of 'trilerp'  
							
							
							
						 
						
							2009-06-30 21:07:39 -05:00  
				
					
						
							
							
								 
						
							
							
								d199154179 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' of git://factorcode.org/git/factor  
							
							
							
						 
						
							2009-06-30 18:12:00 -05:00  
				
					
						
							
							
								 
						
							
							
								54876d0cba 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan.assignment: get check-assignment? to work with coalescing  
							
							
							
						 
						
							2009-06-30 18:10:53 -05:00  
				
					
						
							
							
								 
						
							
							
								f1b2550035 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' of git://factorcode.org/git/factor  
							
							
							
						 
						
							2009-06-30 16:45:57 -05:00  
				
					
						
							
							
								 
						
							
							
								d1f6871081 
								
							
								 
							
						 
						
							
							
								
								fix bug where traversal order was lost  
							
							
							
						 
						
							2009-06-30 16:44:14 -05:00  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								f41f84436c 
								
							
								 
							
						 
						
							
							
								
								spill to spill-temp, not to virtual spill addresses  
							
							
							
						 
						
							2009-06-30 15:40:13 -05:00  
				
					
						
							
							
								 
						
							
							
								82bfaca188 
								
							
								 
							
						 
						
							
							
								
								Fix conflict  
							
							
							
						 
						
							2009-06-29 01:59:53 -05:00  
				
					
						
							
							
								 
						
							
							
								0f68ee3e9a 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan.resolve: remove redundant vocabs from using list  
							
							
							
						 
						
							2009-06-28 22:58:35 -05:00  
				
					
						
							
							
								 
						
							
							
								1cb6bc99da 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' of git://factorcode.org/git/factor  
							
							... 
							
							
							
							Conflicts:
	basis/compiler/cfg/linear-scan/resolve/resolve-tests.factor 
							
						 
						
							2009-06-26 21:51:08 -05:00  
				
					
						
							
							
								 
						
							
							
								90017eb248 
								
							
								 
							
						 
						
							
							
								
								add spill-temp to compiler.cfg.instructions, implement parallel register assignment in linear-scan.resolve  
							
							
							
						 
						
							2009-06-26 21:48:21 -05:00  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								f3cf8fad2b 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan: fix unit tests  
							
							
							
						 
						
							2009-06-24 13:54:12 -05:00  
				
					
						
							
							
								 
						
							
							
								c53aca6016 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan: fix coalescing to take lifetime holes into account  
							
							
							
						 
						
							2009-06-23 21:32:51 -05:00  
				
					
						
							
							
								 
						
							
							
								387f6df9e5 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan: Debugging resolve pass  
							
							
							
						 
						
							2009-06-22 00:24:51 -05:00  
				
					
						
							
							
								 
						
							
							
								330bea3cc2 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan.resolve: unit tests  
							
							
							
						 
						
							2009-06-21 00:23:34 -05:00  
				
					
						
							
							
								 
						
							
							
								5a78956956 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan: Working on resolve pass  
							
							
							
						 
						
							2009-06-21 00:20:01 -05:00  
				
					
						
							
							
								 
						
							
							
								c1839200dd 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan.assignment: correctly compute live registers at GC check points  
							
							
							
						 
						
							2009-06-20 15:33:12 -05:00  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								2f15ac3c8f 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan: Fix a couple of bugs  
							
							
							
						 
						
							2009-06-19 03:42:42 -05:00  
				
					
						
							
							
								 
						
							
							
								1f5f8393c3 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan: Further progress on inactive interval handling  
							
							
							
						 
						
							2009-06-17 15:27:20 -05:00  
				
					
						
							
							
								 
						
							
							
								6fb7dca404 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan.resolve: fix compile error  
							
							
							
						 
						
							2009-06-14 17:00:52 -05:00  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								70b75b8dea 
								
							
								 
							
						 
						
							
							
								
								Linear scan: implement live range intersection  
							
							
							
						 
						
							2009-06-06 01:04:12 -05:00  
				
					
						
							
							
								 
						
							
							
								04c72d0a72 
								
							
								 
							
						 
						
							
							
								
								Linear scan: correctly compute live spill slots  
							
							
							
						 
						
							2009-06-05 18:06:47 -05:00  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								6d04bf9c4a 
								
							
								 
							
						 
						
							
							
								
								Linear scan: build live ranges  
							
							
							
						 
						
							2009-06-03 03:22:27 -05:00  
				
					
						
							
							
								 
						
							
							
								2d231f066a 
								
							
								 
							
						 
						
							
							
								
								GC checks now save and restore registers  
							
							
							
						 
						
							2009-06-02 18:23:47 -05:00  
				
					
						
							
							
								 
						
							
							
								9e987e8642 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' into global_optimization  
							
							
							
						 
						
							2009-06-01 03:12:32 -05:00  
				
					
						
							
							
								 
						
							
							
								32f17f3e14 
								
							
								 
							
						 
						
							
							
								
								Fix scoping issue in compiler.cfg.linear-scan.assignment  
							
							
							
						 
						
							2009-05-31 18:21:23 -05:00  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								407377fc98 
								
							
								 
							
						 
						
							
							
								
								rename peek -> last and update all usages  
							
							
							
						 
						
							2009-05-25 16:38:33 -05:00  
				
					
						
							
							
								 
						
							
							
								05f3f9dcb9 
								
							
								 
							
						 
						
							
							
								
								Fixing unit tests for stack effect inference changes  
							
							
							
						 
						
							2009-04-20 21:15:19 -05:00  
				
					
						
							
							
								 
						
							
							
								37e278ed02 
								
							
								 
							
						 
						
							
							
								
								Use [ ] [ ] map-reduce instead of unclip [ ] reduce  
							
							
							
						 
						
							2009-04-06 17:50:54 -05:00  
				
					
						
							
							
								 
						
							
							
								421ee726b8 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' into new_ui  
							
							
							
						 
						
							2009-02-16 21:22:12 -06:00  
				
					
						
							
							
								 
						
							
							
								6b25e99470 
								
							
								 
							
						 
						
							
							
								
								Add summary for heaps more vocabs  
							
							
							
						 
						
							2009-02-16 21:05:13 -06:00  
				
					
						
							
							
								 
						
							
							
								669548e62e 
								
							
								 
							
						 
						
							
							
								
								Clean up some usages of tuck, and add Joe's curried cleave/spread/apply combinators to kernel vocabulary  
							
							
							
						 
						
							2009-02-02 13:43:54 -06:00  
				
					
						
							
							
								 
						
							
							
								ca2f01e0d0 
								
							
								 
							
						 
						
							
							
								
								Updating non-core libraries for monotonic? change  
							
							
							
						 
						
							2009-01-16 17:02:54 -06:00  
				
					
						
							
							
								 
						
							
							
								34792a9f23 
								
							
								 
							
						 
						
							
							
								
								Remove >r/r>  
							
							
							
						 
						
							2008-12-17 19:17:37 -06:00  
				
					
						
							
							
								 
						
							
							
								c8521ad826 
								
							
								 
							
						 
						
							
							
								
								Add tool to dump live intervals  
							
							
							
						 
						
							2008-11-04 17:23:20 -06:00  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								0250d7c1d2 
								
							
								 
							
						 
						
							
							
								
								Forgot a drop in unit test  
							
							
							
						 
						
							2008-11-03 01:53:27 -06:00  
				
					
						
							
							
								 
						
							
							
								d11a779fdd 
								
							
								 
							
						 
						
							
							
								
								RicE  
							
							
							
						 
						
							2008-11-02 03:58:32 -06:00  
				
					
						
							
							
								 
						
							
							
								8df1aba71d 
								
							
								 
							
						 
						
							
							
								
								Coalescing  
							
							
							
						 
						
							2008-11-02 01:49:57 -06:00  
				
					
						
							
							
								 
						
							
							
								db4db19cd9 
								
							
								 
							
						 
						
							
							
								
								Start working on coalescing  
							
							
							
						 
						
							2008-10-28 02:38:37 -07:00  
				
					
						
							
							
								 
						
							
							
								ba0ed21e1d 
								
							
								 
							
						 
						
							
							
								
								Better error message  
							
							
							
						 
						
							2008-10-22 21:58:37 -05:00  
				
					
						
							
							
								 
						
							
							
								e92f795a76 
								
							
								 
							
						 
						
							
							
								
								More work on intrinsics; memory allocation and slot access now expands correctly  
							
							
							
						 
						
							2008-10-20 20:40:15 -05:00  
				
					
						
							
							
								 
						
							
							
								f092622fac 
								
							
								 
							
						 
						
							
							
								
								CFG IR is now pure SSA  
							
							
							
						 
						
							2008-10-20 01:56:28 -05:00  
				
					
						
							
							
								 
						
							
							
								14d8696f40 
								
							
								 
							
						 
						
							
							
								
								Oops, don't mix register classes in active set  
							
							
							
						 
						
							2008-10-19 03:34:42 -05:00