Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								026abb9c38 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear.scan.*: makes it so ranges and uses are guaranteed  
							
							 
							
							... 
							
							
							
							to be vectors
Simplifies the code and makes it a little faster. 
							
						 
						
							2016-04-02 17:48:23 +02:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								76be7b54ed 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan.*: removed start and end from live-interval-state  
							
							 
							
							... 
							
							
							
							They weren't needed because start>> was always equal to ranges min and
end>> ranges max 
							
						 
						
							2016-04-01 19:16:35 +02:00  
						
					 
				
					
						
							
							
								 
								John Benediktsson
							
						 
						
							 
							
							
							
								
							
								1721f9e314 
								
							
								 
							
						 
						
							
							
								
								fix some tests for the sets:set change.  
							
							 
							
							
							
						 
						
							2016-03-29 20:43:46 -07:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								f692200547 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.*: refactoring which removes spill-area-size and  
							
							 
							
							... 
							
							
							
							spill-area-align from cfg
This makes the code for building the stack frame simpler. 
							
						 
						
							2015-11-04 07:53:19 +01:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								89e261f673 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan.ranges: remove the live-range definition and  
							
							 
							
							... 
							
							
							
							use integer pairs instead
so instead of ranges being a sequence of live-ranges it is now a
sequence of integer pairs instead. That makes the
compiler.cfg.linear-scan.ranges simpler and easier to generalize 
							
						 
						
							2015-09-22 08:51:04 +02:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								fb45bc278f 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan.live-intervals: the reg-class slot can be  
							
							 
							
							... 
							
							
							
							removed
it's always the same as vreg>> rep-of reg-class-of so no need to store
that data twice 
							
						 
						
							2015-09-22 08:51:04 +02:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								68c6654763 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan.*: move words for splitting and intersecting ranges to the compiler.cfg.linear-scan.ranges vocab  
							
							 
							
							
							
						 
						
							2015-09-22 08:51:04 +02:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								b8d47ed845 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan.ranges: new vocab to contain all the range  
							
							 
							
							... 
							
							
							
							related stuff from live intervals 
							
						 
						
							2015-09-22 08:51:03 +02:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								ce046b77c8 
								
							
								 
							
						 
						
							
							
								
								compiler: rename D to D: because it wants a token. Same for R -> R:  
							
							 
							
							
							
						 
						
							2015-08-13 15:23:10 -07:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								e0d1b14e5c 
								
							
								 
							
						 
						
							
							
								
								factor: don't need FROM: namespaces => set or namespaces:set anymore  
							
							 
							
							
							
						 
						
							2015-08-12 11:25:57 -05:00  
						
					 
				
					
						
							
							
								 
								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  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								418438ab13 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan.*: change compute-live-intervals so that it  
							
							 
							
							... 
							
							
							
							returns only one sequence, it makes some words a little simpler 
							
						 
						
							2015-06-14 16:44:37 +02:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								997f95196c 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.*: lots of new unit tests  
							
							 
							
							
							
						 
						
							2015-04-29 09:31:58 -07:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								96396cb3ad 
								
							
								 
							
						 
						
							
							
								
								compiler.*: use block>cfg and insns>block in many tests instead of wordier code  
							
							 
							
							
							
						 
						
							2014-11-22 17:31:38 -08:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								476ebf5b25 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.*: more docs, tests and a small refactoring of the  
							
							 
							
							... 
							
							
							
							admissible-registers word 
							
						 
						
							2014-10-17 23:18:57 +02:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								33a4117787 
								
							
								 
							
						 
						
							
							
								
								compiler: Fix tuple literals in tests.  
							
							 
							
							
							
						 
						
							2013-03-24 01:09:37 -07:00  
						
					 
				
					
						
							
							
								 
								Alex Vondrak
							
						 
						
							 
							
							
							
								
							
								e90ce0865c 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.ssa.destruction.leaders: break off leader-map to resolve circular dependencies (oops)  
							
							 
							
							
							
						 
						
							2012-12-31 11:20:57 -08:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								e5dd21b0b9 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg: nuke ##allot-byte-array instruction  
							
							 
							
							
							
						 
						
							2010-07-16 19:57:45 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								ba7cb61133 
								
							
								 
							
						 
						
							
							
								
								Stack allocation improvements  
							
							 
							
							... 
							
							
							
							- New with-out-parameters combinator
- Inhibit tail call optimization in frames with local allocation, to ensure that passing a stack allocated value to the last word in the quotation works
- local allocations are now aligned properly
- spill slots are now aligned properly aligned in frames which have parameter and local allocation areas 
							
						 
						
							2010-05-22 02:37:00 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								6d30bb8bf4 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan: pointless optimizations  
							
							 
							
							
							
						 
						
							2010-05-14 18:37:08 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								eb802208d1 
								
							
								 
							
						 
						
							
							
								
								FFI rewrite part 4: parameter and return value unboxing redesign  
							
							 
							
							
							
						 
						
							2010-05-11 19:11:44 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								982e704626 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan: clean up clobber-insn handling  
							
							 
							
							
							
						 
						
							2010-05-07 18:22:35 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								f5c5d8b44c 
								
							
								 
							
						 
						
							
							
								
								compiler: remove flat machine representation and generate code directly from the CFG  
							
							 
							
							
							
						 
						
							2010-05-03 17:34:32 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								7f6ae34d72 
								
							
								 
							
						 
						
							
							
								
								Updating tests for recent compiler changes  
							
							 
							
							
							
						 
						
							2010-05-03 17:34:30 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								9b34a4a054 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg: remove unused 'reps' slot from compiler.cfg, and re-organize things in preparation for SSA register allocation  
							
							 
							
							
							
						 
						
							2010-05-03 17:34:18 -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
							
						 
						
							 
							
							
							
								
							
								51b13ce373 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan: don't insert a _reload if the register is going to be overwritten anyway  
							
							 
							
							
							
						 
						
							2010-05-03 17:34:14 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								5d3a7a7362 
								
							
								 
							
						 
						
							
							
								
								Untagged fixnums work in progress  
							
							 
							
							
							
						 
						
							2010-05-03 17:34:02 -04:00  
						
					 
				
					
						
							
							
								 
								Daniel Ehrenberg
							
						 
						
							 
							
							
							
								
							
								7cd3360cdd 
								
							
								 
							
						 
						
							
							
								
								Fixing ambiguity between sets and namespaces in many unit tests and furnace.auth  
							
							 
							
							
							
						 
						
							2010-02-26 17:17:40 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								d48c72a274 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg: fix unit tests  
							
							 
							
							
							
						 
						
							2009-10-15 06:01:46 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								5b40fc6533 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan: fix unit test  
							
							 
							
							
							
						 
						
							2009-10-05 18:21:58 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								2de6ab9e21 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan: fix tests for hash order  
							
							 
							
							
							
						 
						
							2009-09-27 23:35:56 -05: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  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								4d5a4222b6 
								
							
								 
							
						 
						
							
							
								
								More SIMD work  
							
							 
							
							... 
							
							
							
							- Rename SIMD types and register representations: <type>-<count> rather than <count><type>-array
- Make a functor to define 256-bit vector types, use it to define float-8 type
- Make SIMD instructions pure-insns so that they participate in value numbering 
							
						 
						
							2009-09-03 20:58:56 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								8bf709acd0 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan: fix unit tests for new fake-representations  
							
							 
							
							
							
						 
						
							2009-08-26 08:58:00 -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
							
						 
						
							 
							
							
							
								
							
								370f4c081d 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg: convert code into two-operand form before SSA destruction; SSA destruction now operates on a relaxed SSA form where multiple defs of the same vreg are allowed, but only within a single basic block. This makes linear scan's coalescing redundant, allowing it to be removed completely  
							
							 
							
							
							
						 
						
							2009-08-05 18:57:46 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								e1c7f7394a 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg: clean up unit tests using some new utilities  
							
							 
							
							
							
						 
						
							2009-08-02 03:49:25 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								791fbe4003 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan: fix case where a register can be made available for only a part of a live interval's lifetime, but there are no more usages after the split location. This case never came up until global stack analysis, at which point it started to be exercised on x86-32  
							
							 
							
							
							
						 
						
							2009-07-30 02:13:30 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								cb36a40dc4 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan: more test fixes  
							
							 
							
							
							
						 
						
							2009-07-29 07:04:52 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								1532a6f2e3 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan.assignment: more efficient data structures  
							
							 
							
							
							
						 
						
							2009-07-29 06:12:33 -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
							
						 
						
							 
							
							
							
								
							
								32e4a97855 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan: fix tests  
							
							 
							
							
							
						 
						
							2009-07-18 06:10:01 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								e76dce8aff 
								
							
								 
							
						 
						
							
							
								
								Overflowing fixnum intrinsics now expand into several CFG nodes. This speeds up the common case since only the uncommon case is now a stack syncpoint  
							
							 
							
							
							
						 
						
							2009-07-16 18:29:40 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								c860a3b1e6 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg: update unit tests for compiler.cfg.comparisons  
							
							 
							
							
							
						 
						
							2009-07-14 12:06:55 -05:00