Slava Pestov
							
						 
						
							 
							
							
							
								
							
								1319d8e549 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.def-use: build def-use chains  
							
							 
							
							
							
						 
						
							2009-07-26 21:10:14 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								31491df5f1 
								
							
								 
							
						 
						
							
							
								
								Removed unused code from compiler.cfg.def-use  
							
							 
							
							
							
						 
						
							2009-07-22 06:05:33 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								25c42d04fd 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg: Fix conflicts after merging local optimization refactoring into DCN branch  
							
							 
							
							
							
						 
						
							2009-07-22 03:17:53 -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
							
						 
						
							 
							
							
							
								
							
								fdef772d67 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg: if a block has an instruction that kills values it must be the only instruction in the block  
							
							 
							
							
							
						 
						
							2009-07-19 20:12:04 -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
							
						 
						
							 
							
							
							
								
							
								90daf6d03d 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg: change representation of ##phi nodes. The input slot of ##phi nodes is now an assoc mapping predecessors to values, rather than a sequence of values. This ensures that optimization which delete predecessors can be implemented  
							
							 
							
							
							
						 
						
							2009-07-02 17:10:50 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								6d04bf9c4a 
								
							
								 
							
						 
						
							
							
								
								Linear scan: build live ranges  
							
							 
							
							
							
						 
						
							2009-06-03 03:22:27 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								2d231f066a 
								
							
								 
							
						 
						
							
							
								
								GC checks now save and restore registers  
							
							 
							
							
							
						 
						
							2009-06-02 18:23:47 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								1a52414bb1 
								
							
								 
							
						 
						
							
							
								
								Rename _gc to ##gc  
							
							 
							
							
							
						 
						
							2009-05-31 18:21:11 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								692b479302 
								
							
								 
							
						 
						
							
							
								
								Split off local-optimization combinator into compiler.cfg.local, factor out CFG -> MR into compiler.cfg.mr, split off GC check insertion into a new compiler.cfg.gc-checks pass  
							
							 
							
							
							
						 
						
							2009-05-31 12:20:46 -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  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								743550f19c 
								
							
								 
							
						 
						
							
							
								
								Put GC checks in the right place when linearizing, and generate _dispatch-labels  
							
							 
							
							
							
						 
						
							2009-05-29 05:36:04 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								6af61656f3 
								
							
								 
							
						 
						
							
							
								
								CFG optimizer work in progress - adding phi nodes  
							
							 
							
							
							
						 
						
							2009-05-21 16:49:28 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								e58fcd485c 
								
							
								 
							
						 
						
							
							
								
								Working on global optimizations  
							
							 
							
							
							
						 
						
							2009-05-19 17:28:13 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								e256846acd 
								
							
								 
							
						 
						
							
							
								
								Tweak string representation; high bit indicates if character has high bits in aux vector. Avoids memory access in common case. Split set-string-nth into two primitives; set-string-nth-fast is open-coded by optimizing compiler. 13% improvement on reverse-complement  
							
							 
							
							
							
						 
						
							2008-12-05 06:38:51 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								e7f4563374 
								
							
								 
							
						 
						
							
							
								
								fixnum* intrinsic for x86  
							
							 
							
							
							
						 
						
							2008-11-30 07:26:49 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								f44506089d 
								
							
								 
							
						 
						
							
							
								
								More work on overflow instructions: don't need temp register anymore, add -tail variants which don't need stack frame  
							
							 
							
							
							
						 
						
							2008-11-28 06:36:30 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								5634becda1 
								
							
								 
							
						 
						
							
							
								
								##fixnum-add, ##fixnum-sub instructions open-code overflow check  
							
							 
							
							
							
						 
						
							2008-11-28 05:33:58 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								ab689c098b 
								
							
								 
							
						 
						
							
							
								
								Clean up direct literal code and make a first attempt at PowerPC support  
							
							 
							
							
							
						 
						
							2008-11-24 08:16:14 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								53cd75b06c 
								
							
								 
							
						 
						
							
							
								
								Add string-nth intrinsic  
							
							 
							
							
							
						 
						
							2008-11-06 01:11:28 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								d11a779fdd 
								
							
								 
							
						 
						
							
							
								
								RicE  
							
							 
							
							
							
						 
						
							2008-11-02 03:58:32 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								492a15e345 
								
							
								 
							
						 
						
							
							
								
								Move insn class to compiler.cfg.instructions  
							
							 
							
							
							
						 
						
							2008-10-24 09:17:06 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								1b06ab1b39 
								
							
								 
							
						 
						
							
							
								
								Fixing various bugs  
							
							 
							
							
							
						 
						
							2008-10-21 23:17:32 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								94a2bfa2ea 
								
							
								 
							
						 
						
							
							
								
								Working on comparison operations, clearing out remaining dead wood  
							
							 
							
							
							
						 
						
							2008-10-21 03:20:48 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								37cf7d9a9c 
								
							
								 
							
						 
						
							
							
								
								Add SSA comparison instructions, fix various problems  
							
							 
							
							
							
						 
						
							2008-10-20 05:55:20 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								f092622fac 
								
							
								 
							
						 
						
							
							
								
								CFG IR is now pure SSA  
							
							 
							
							
							
						 
						
							2008-10-20 01:56:28 -05:00