John Benediktsson
							
						 
						
							 
							
							
							
								
							
								f4ccfa0f71 
								
							
								 
							
						 
						
							
							
								
								sets: moving unique/conjoin/conjoin-at to compiler.utilities.  
							
							 
							
							
							
						 
						
							2017-02-07 18:54:24 -08:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								a36c0cb5ac 
								
							
								 
							
						 
						
							
							
								
								compiler.*: moving all words only relevant for testing to compiler.test  
							
							 
							
							
							
						 
						
							2016-08-12 15:13:51 +02:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								24a02a1c8f 
								
							
								 
							
						 
						
							
							
								
								compiler.*: Backend implementation of varargs  
							
							 
							
							... 
							
							
							
							It is turned off by default. Support for using it coming soon. :) 
							
						 
						
							2016-08-08 12:02:19 +02:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								3e14ceafe2 
								
							
								 
							
						 
						
							
							
								
								compiler.*: more compiler tests  
							
							 
							
							
							
						 
						
							2016-04-22 12:44:25 +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  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								b544c1b352 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.*: some extra unit tests for the compiler  
							
							 
							
							
							
						 
						
							2015-07-28 17:58:29 -07: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
							
						 
						
							 
							
							
							
								
							
								992314d2de 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.*: new word for consuming deques slurp/replenish-deque  
							
							 
							
							... 
							
							
							
							most uses of slurp-deque processes one item and pushes a sequence of
items to continue working with. it can be formalized into a
slurp/replenish-deque combinator which also reduces the amount of
variables you need to use 
							
						 
						
							2015-04-29 09:31:58 -07:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								997f95196c 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.*: lots of new unit tests  
							
							 
							
							
							
						 
						
							2015-04-29 09:31:58 -07:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								a17e943e88 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.liveness: refactoring so that words that doesn't modify  
							
							 
							
							... 
							
							
							
							the live-set doesnt return it
e.g it's clearer when the effect is ( live-set insn -- ) than ( live-set insn -- live-set ) that the live-set is modified in place 
							
						 
						
							2015-04-29 09:31:57 -07:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								c876d79b9d 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.liveness: lots of more tests and some docs  
							
							 
							
							
							
						 
						
							2015-04-29 09:31:57 -07:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								d486de889d 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.*: smaller doc improvements  
							
							 
							
							
							
						 
						
							2015-04-29 09:31:57 -07:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								ded3760d46 
								
							
								 
							
						 
						
							
							
								
								compiler.*: merge of ##inc-r and ##inc-d into one instruction ##inc with a loc slot  
							
							 
							
							... 
							
							
							
							this is nice because it leads to simpler code and matches how ##peek and ##replace instructions work 
							
						 
						
							2015-04-29 09:31:53 -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  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								6b5fffc026 
								
							
								 
							
						 
						
							
							
								
								compiler: preliminary implementation of tracking derived pointers in GC maps  
							
							 
							
							
							
						 
						
							2010-09-27 20:12:44 -07:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								ec2f42fd40 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.liveness: merge in compiler.cfg.liveness.ssa and simplify the code, since we don't compute live sets before SSA construction anymore  
							
							 
							
							
							
						 
						
							2010-09-25 14:36:58 -07:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								b5fc39c198 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg: Reading the return value of a float-returning function on x86-32 had a side effect of popping the x87 stack, so it was not correct for DCE to just eliminate this if the return value was not used. Fix this by adding a new dead-outputs slot to alien-call-insns and having DCE move dead returns there  
							
							 
							
							
							
						 
						
							2010-08-13 23:19:56 -07:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								8e46305288 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.save-contexts: don't insert ##save-context in front of ##phi  
							
							 
							
							
							
						 
						
							2010-07-19 09:27:10 -04: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
							
						 
						
							 
							
							
							
								
							
								e1c7f7394a 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg: clean up unit tests using some new utilities  
							
							 
							
							
							
						 
						
							2009-08-02 03:49:25 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								1878b0dc32 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.liveness: fix liveness computation in case where instruction uses a register it defines  
							
							 
							
							
							
						 
						
							2009-07-28 06:45:02 -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
							
						 
						
							 
							
							
							
								
							
								6d46bf623c 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.liveness: update for new ##phi node representation  
							
							 
							
							
							
						 
						
							2009-07-02 17:28:02 -05:00