Doug Coleman
							
						 
						
							 
							
							
							
								
							
								892c62e1dc 
								
							
								 
							
						 
						
							
							
								
								factor: second stab at [ ] [ ] unit-test -> { } [ ] unit-test  
							
							 
							
							
							
						 
						
							2015-07-03 09:39:59 -07:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								59f3b1ea57 
								
							
								 
							
						 
						
							
							
								
								Revert "factor: rename [ ] [ ] unit-test -> { } [ ] unit-test using a refactoring tool!"  
							
							 
							
							... 
							
							
							
							Needs a bit more work.
This reverts commit 7e54cc2824 . 
							
						 
						
							2015-07-02 13:47:06 -07:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								7e54cc2824 
								
							
								 
							
						 
						
							
							
								
								factor: rename [ ] [ ] unit-test -> { } [ ] unit-test using a refactoring tool!  
							
							 
							
							
							
						 
						
							2015-07-02 11:36:08 -07:00  
						
					 
				
					
						
							
							
								 
								John Benediktsson
							
						 
						
							 
							
							
							
								
							
								c65877104e 
								
							
								 
							
						 
						
							
							
								
								compiler: cleanup usings.  
							
							 
							
							
							
						 
						
							2014-12-13 16:10:21 -08:00  
						
					 
				
					
						
							
							
								 
								John Benediktsson
							
						 
						
							 
							
							
							
								
							
								c3a4bdcf68 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan.resolve: use if-empty.  
							
							 
							
							
							
						 
						
							2014-12-11 14:00:50 -08:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								e5866dfa80 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.*: changed stack effect of needs-predecessors from ( cfg -- cfg') to ( cfg -- )  
							
							 
							
							
							
						 
						
							2014-12-11 14:30:47 +01:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								5fe9ce4235 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg: fix stack effect of cfg-changed and predecessors changed to ( cfg -- )  
							
							 
							
							
							
						 
						
							2014-12-11 14:30:46 +01:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								164af978ba 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.*: more stub docs for cfg construction words  
							
							 
							
							
							
						 
						
							2014-10-19 13:45:42 +02:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								a0dd953e33 
								
							
								 
							
						 
						
							
							
								
								starting point - Fix bootstrap; I broke it in merging. Disable environment variables because the compiler isn't loaded yet and can't call C ffi functions, and tools.test loads this vocab.  
							
							 
							
							... 
							
							
							
							Disable intrinsics in cpu.x86.64 for now, since they invoke the compiler
Fix ##branch renaming to ##branch,
To work on this branch:
./factor -include=math -i=boot.image
./factor -run=listener
USE: compiler USE: tools.test save
enable-optimizer
Error message is now:
T{ vregs-shouldn't-interfere f 409 424 } 
							
						 
						
							2012-12-31 11:03:45 -08:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								07227f22f9 
								
							
								 
							
						 
						
							
							
								
								WIP  
							
							 
							
							
							
						 
						
							2012-12-31 11:03:33 -08:00  
						
					 
				
					
						
							
							
								 
								John Benediktsson
							
						 
						
							 
							
							
							
								
							
								4e72d80256 
								
							
								 
							
						 
						
							
							
								
								Using "same?" in more places.  
							
							 
							
							
							
						 
						
							2012-07-21 10:22:44 -07:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								6cca0ea468 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg: Rename <##foo> to ##foo, in the low-level IR  
							
							 
							
							
							
						 
						
							2011-11-11 19:48:38 -08:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								eb2a0c611b 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg: Change low-level IR constructors from ##foo to <##foo>  
							
							 
							
							
							
						 
						
							2011-11-06 23:02:46 -08:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								355d89e8e8 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg: now that kill-blocks cannot contain instructions that define vregs we can skip them all  
							
							 
							
							
							
						 
						
							2010-07-27 12:40:31 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								ffd1844d52 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan: clean up spill slot assignment  
							
							 
							
							
							
						 
						
							2010-05-03 17:34:24 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								43f269e4eb 
								
							
								 
							
						 
						
							
							
								
								Register allocation now uses SSA properties to coalesce values with different representations  
							
							 
							
							
							
						 
						
							2010-05-03 17:34:20 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								43fc230c69 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan: cleanups  
							
							 
							
							
							
						 
						
							2010-05-03 17:34:18 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								95ff5ffe51 
								
							
								 
							
						 
						
							
							
								
								New GC checks work in progress  
							
							 
							
							
							
						 
						
							2010-05-03 17:34:16 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								db7403d697 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan.resolve: fix incorrect behavior when one physical register is used with several representations in the same register class  
							
							 
							
							
							
						 
						
							2010-05-03 17:34:14 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								705b4ab5c3 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan: fix partial sync point logic in case where dst == src, and clean up spilling code  
							
							 
							
							
							
						 
						
							2009-09-27 19:28:20 -05:00  
						
					 
				
					
						
							
							
								 
								Daniel Ehrenberg
							
						 
						
							 
							
							
							
								
							
								478b960560 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' of git://factorcode.org/git/factor  
							
							 
							
							
							
						 
						
							2009-08-14 20:11:54 -05:00  
						
					 
				
					
						
							
							
								 
								Daniel Ehrenberg
							
						 
						
							 
							
							
							
								
							
								3cec74867d 
								
							
								 
							
						 
						
							
							
								
								Improving write barrier elimination; change to compiler.cfg.utilities to support this  
							
							 
							
							
							
						 
						
							2009-08-14 19:41:41 -05:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								3f3d57032b 
								
							
								 
							
						 
						
							
							
								
								Delete empty unit tests files, remove 1- and 1+, reorder IN: lines in a lot of places, minor refactoring  
							
							 
							
							
							
						 
						
							2009-08-13 19:21:44 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								687454878a 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linearization: change order to fit older unit tests  
							
							 
							
							
							
						 
						
							2009-08-08 23:06:57 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								d0c393aa60 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg: new system to track when results of analyses need to be recomputed (reverse post order, linear order, predecessors, dominance, loops). Passes can now call needs-predecessors, needs-dominance, needs-loops at the beginning, and cfg-changed, predecessors-changd at the end. Linearization order now takes loop nesting into account, and linear scan now uses linearization order instead of RPO.  
							
							 
							
							
							
						 
						
							2009-08-08 20:02:56 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								4b7ba38aab 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg: virtual registers are integers now, and representations are stored off to the side. Fix bug in representation selection that would manifest if a value was used as a float and a fixnum in different branches; cannot globally unbox float in this case  
							
							 
							
							
							
						 
						
							2009-08-08 04:02:18 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								725280d424 
								
							
								 
							
						 
						
							
							
								
								Split off the notion of a register representation from a register class  
							
							 
							
							
							
						 
						
							2009-08-07 17:44:50 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								c1c8424605 
								
							
								 
							
						 
						
							
							
								
								Compiler speedups  
							
							 
							
							
							
						 
						
							2009-08-02 09:16:21 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								cb36a40dc4 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan: more test fixes  
							
							 
							
							
							
						 
						
							2009-07-29 07:04:52 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								639a1cbb1f 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan.resolve: fix unit tests to not depend on hashing  
							
							 
							
							
							
						 
						
							2009-07-29 06:48:01 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								80e10f1bd0 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg: Fix some unit tests  
							
							 
							
							
							
						 
						
							2009-07-28 08:56:14 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								e6f5eab598 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan: fix resolve pass  
							
							 
							
							
							
						 
						
							2009-07-28 08:47:35 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								18717a449f 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan.resolve: unit tests  
							
							 
							
							
							
						 
						
							2009-07-28 07:41:41 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								857ef94acc 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan: use compiler.cfg.parallel-copy in resolve pass  
							
							 
							
							
							
						 
						
							2009-07-28 07:39:46 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								89db2e745d 
								
							
								 
							
						 
						
							
							
								
								Move liveness back to compiler.cfg.liveness, fix a corner-case where it didn't work on some forms of non-SSA code  
							
							 
							
							
							
						 
						
							2009-07-22 06:07:28 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								21a012e3d7 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg: Major restructuring -- do not compute liveness before local optimization, and instead change local optimizations to be more permissive of undefined values. Now, liveness is only computed once, after phi elimination and before register allocation. This means liveness analysis does not need to take phi nodes into account and can now use the new compiler.cfg.dataflow-analysis framework  
							
							 
							
							
							
						 
						
							2009-07-22 03:08:28 -05:00  
						
					 
				
					
						
							
							
								 
								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
							
						 
						
							 
							
							
							
								
							
								d0980edafe 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan: fixing unit tests  
							
							 
							
							
							
						 
						
							2009-07-09 00:48:00 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								c20e6c290f 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan: split off parallel mapping code from resolve pass, use it in assignment pass to resolve parallel copies  
							
							 
							
							
							
						 
						
							2009-07-08 23:07:06 -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
							
						 
						
							 
							
							
							
								
							
								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  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								d1f6871081 
								
							
								 
							
						 
						
							
							
								
								fix bug where traversal order was lost  
							
							 
							
							
							
						 
						
							2009-06-30 16:44:14 -05:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								f41f84436c 
								
							
								 
							
						 
						
							
							
								
								spill to spill-temp, not to virtual spill addresses  
							
							 
							
							
							
						 
						
							2009-06-30 15:40:13 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								82bfaca188 
								
							
								 
							
						 
						
							
							
								
								Fix conflict  
							
							 
							
							
							
						 
						
							2009-06-29 01:59:53 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								0f68ee3e9a 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan.resolve: remove redundant vocabs from using list  
							
							 
							
							
							
						 
						
							2009-06-28 22:58:35 -05:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								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  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								90017eb248 
								
							
								 
							
						 
						
							
							
								
								add spill-temp to compiler.cfg.instructions, implement parallel register assignment in linear-scan.resolve  
							
							 
							
							
							
						 
						
							2009-06-26 21:48:21 -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
							
						 
						
							 
							
							
							
								
							
								387f6df9e5 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan: Debugging resolve pass  
							
							 
							
							
							
						 
						
							2009-06-22 00:24:51 -05:00