Slava Pestov
							
						 | 
						
							
							
							
							
								
							
								d10993b837
								
							
								
							
						 | 
						
							
							
								
								compiler.cfg: Rename ssa to ssa.construction, coalescing to ssa.destruction
							
							
							
							
							
						 | 
						
							2009-07-28 09:34:08 -05:00 | 
						
					
				
					
						
							
							
								 
								Slava Pestov
							
						 | 
						
							
							
							
							
								
							
								c5d7ed58a5
								
							
								
							
						 | 
						
							
							
								
								Debugging compiler.cfg.coalescing
							
							
							
							
							
						 | 
						
							2009-07-27 19:24:13 -05:00 | 
						
					
				
					
						
							
							
								 
								Slava Pestov
							
						 | 
						
							
							
							
							
								
							
								7590ad3574
								
							
								
							
						 | 
						
							
							
								
								compiler.cfg: introduce less temporaries when building CFG
							
							
							
							
							
						 | 
						
							2009-07-24 03:37:18 -05:00 | 
						
					
				
					
						
							
							
								 
								Slava Pestov
							
						 | 
						
							
							
							
							
								
							
								2bea107202
								
							
								
							
						 | 
						
							
							
								
								compiler.cfg.builder: fix stack effect declaration
							
							
							
							
							
						 | 
						
							2009-07-23 21:24:15 -05:00 | 
						
					
				
					
						
							
							
								 
								Slava Pestov
							
						 | 
						
							
							
							
							
								
							
								d947c61bd7
								
							
								
							
						 | 
						
							
							
								
								compiler.cfg.stacks: now performs online local DCN
							
							
							
							
							
						 | 
						
							2009-07-23 20:54:38 -05:00 | 
						
					
				
					
						
							
							
								 
								Slava Pestov
							
						 | 
						
							
							
							
							
								
							
								d29c275089
								
							
								
							
						 | 
						
							
							
								
								compiler.cfg.builder: Fix construction of ##return instructions from #return-recursive nodes
							
							
							
							
							
						 | 
						
							2009-07-22 19:17:21 -05:00 | 
						
					
				
					
						
							
							
								 
								Slava Pestov
							
						 | 
						
							
							
							
							
								
							
								44bcd258f6
								
							
								
							
						 | 
						
							
							
								
								Insert _loop-entry in linearization pass instead of in CFG builder, so that optimizations don't have to worry about it
							
							
							
							
							
						 | 
						
							2009-07-22 06:05:17 -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
							
						 | 
						
							
							
							
							
								
							
								605b37a949
								
							
								
							
						 | 
						
							
							
								
								compiler.cfg.builder: annotate calls with height changes, once again
							
							
							
							
							
						 | 
						
							2009-07-18 23:08:53 -05:00 | 
						
					
				
					
						
							
							
								 
								Slava Pestov
							
						 | 
						
							
							
							
							
								
							
								b83f27af74
								
							
								
							
						 | 
						
							
							
								
								compiler.cfg.builder: remove some dead code
							
							
							
							
							
						 | 
						
							2009-07-17 21:52:33 -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
							
						 | 
						
							
							
							
							
								
							
								768e2a5148
								
							
								
							
						 | 
						
							
							
								
								compiler.cfg: split off condition codes into a comparisons sub-vocabulary
							
							
							
							
							
						 | 
						
							2009-07-13 14:42:52 -05:00 | 
						
					
				
					
						
							
							
								 
								Slava Pestov
							
						 | 
						
							
							
							
							
								
							
								a3b21292b6
								
							
								
							
						 | 
						
							
							
								
								Merge branch 'master' of git://factorcode.org/git/factor
							
							
							
							
							
						 | 
						
							2009-06-30 23:07:36 -05:00 | 
						
					
				
					
						
							
							
								 
								Slava Pestov
							
						 | 
						
							
							
							
							
								
							
								72b6bef19d
								
							
								
							
						 | 
						
							
							
								
								compiler.cfg.builder: emit less crap after a #terminate node
							
							
							
							
							
						 | 
						
							2009-06-30 23:03:25 -05:00 | 
						
					
				
					
						
							
							
								 
								Doug Coleman
							
						 | 
						
							
							
							
							
								
							
								8b728e0a8a
								
							
								
							
						 | 
						
							
							
								
								Merge branch 'master' of git://factorcode.org/git/factor
							
							
							
							
							
						 | 
						
							2009-06-30 23:02:04 -05:00 | 
						
					
				
					
						
							
							
								 
								Doug Coleman
							
						 | 
						
							
							
							
							
								
							
								b1c7374175
								
							
								
							
						 | 
						
							
							
								
								optimize fixnum*fast and fixnum-shift-fast
							
							
							
							
							
						 | 
						
							2009-06-30 23:01:44 -05:00 | 
						
					
				
					
						
							
							
								 
								Slava Pestov
							
						 | 
						
							
							
							
							
								
							
								0402790001
								
							
								
							
						 | 
						
							
							
								
								compiler.cfg Remove height tracking for ##call instructions, wire in ##no-tco instruction
							
							
							
							
							
						 | 
						
							2009-06-30 21:21:46 -05:00 | 
						
					
				
					
						
							
							
								 
								Slava Pestov
							
						 | 
						
							
							
							
							
								
							
								eca718b32d
								
							
								
							
						 | 
						
							
							
								
								compiler.cfg.builder: fix stack effect
							
							
							
							
							
						 | 
						
							2009-06-30 21:07:55 -05:00 | 
						
					
				
					
						
							
							
								 
								Slava Pestov
							
						 | 
						
							
							
							
							
								
							
								5c6c3ecd85
								
							
								
							
						 | 
						
							
							
								
								compiler.cfg.tco: Tail call optimization moved out of compiler.cfg.builder into its own pass
							
							
							
							
							
						 | 
						
							2009-06-30 20:13:35 -05:00 | 
						
					
				
					
						
							
							
								 
								Slava Pestov
							
						 | 
						
							
							
							
							
								
							
								2d231f066a
								
							
								
							
						 | 
						
							
							
								
								GC checks now save and restore registers
							
							
							
							
							
						 | 
						
							2009-06-02 18:23:47 -05:00 | 
						
					
				
					
						
							
							
								 
								Slava Pestov
							
						 | 
						
							
							
							
							
								
							
								76d74c16af
								
							
								
							
						 | 
						
							
							
								
								Fixing various bugs; alias analysis wasn't handling ##phi nodes, stack analysis incorrectly handled height-changing back edges and ##fixnum-*, clean up ##dispatch generation
							
							
							
							
							
						 | 
						
							2009-05-29 01:39:14 -05:00 | 
						
					
				
					
						
							
							
								 
								Slava Pestov
							
						 | 
						
							
							
							
							
								
							
								a2b982e247
								
							
								
							
						 | 
						
							
							
								
								compiler.cfg.builder: don't make basic blocks after terminating calls
							
							
							
							
							
						 | 
						
							2009-05-25 19:16:36 -05:00 | 
						
					
				
					
						
							
							
								 
								Slava Pestov
							
						 | 
						
							
							
							
							
								
							
								e58fcd485c
								
							
								
							
						 | 
						
							
							
								
								Working on global optimizations
							
							
							
							
							
						 | 
						
							2009-05-19 17:28:13 -05:00 | 
						
					
				
					
						
							
							
								 
								Slava Pestov
							
						 | 
						
							
							
							
							
								
							
								05f3f9dcb9
								
							
								
							
						 | 
						
							
							
								
								Fixing unit tests for stack effect inference changes
							
							
							
							
							
						 | 
						
							2009-04-20 21:15:19 -05:00 | 
						
					
				
					
						
							
							
								 
								Slava Pestov
							
						 | 
						
							
							
							
							
								
							
								cddb1f6133
								
							
								
							
						 | 
						
							
							
								
								Fix spelling
							
							
							
							
							
						 | 
						
							2009-02-15 04:07:05 -06:00 | 
						
					
				
					
						
							
							
								 
								Slava Pestov
							
						 | 
						
							
							
							
							
								
							
								34792a9f23
								
							
								
							
						 | 
						
							
							
								
								Remove >r/r>
							
							
							
							
							
						 | 
						
							2008-12-17 19:17:37 -06:00 | 
						
					
				
					
						
							
							
								 
								Slava Pestov
							
						 | 
						
							
							
							
							
								
							
								1c0789e616
								
							
								
							
						 | 
						
							
							
								
								Didn't generate ##branch after ##alien-invoke and ##alien-indirect
							
							
							
							
							
						 | 
						
							2008-11-29 03:46:57 -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
							
						 | 
						
							
							
							
							
								
							
								eb05dd3a12
								
							
								
							
						 | 
						
							
							
								
								Optimize a ##dispatch that is applied to the result of a ##sub-imm or ##add-imm; this eliminates an instruction from the common 1 fixnum-fast { ... } dispatch and 8 fixnum-fast { ... } dispatch code sequences appearing in generic word expansions
							
							
							
							
							
						 | 
						
							2008-11-13 04:16:08 -06:00 | 
						
					
				
					
						
							
							
								 
								Slava Pestov
							
						 | 
						
							
							
							
							
								
							
								26f309d2ae
								
							
								
							
						 | 
						
							
							
								
								Trying to make PEGs compile faster by reducing the number of low level IR nodes: merge functionality of #>r and #r> into #shuffle, and generate 1 node instead of 3 for calls to get-local
							
							
							
							
							
						 | 
						
							2008-11-11 18:46:31 -06:00 | 
						
					
				
					
						
							
							
								 
								sheeple
							
						 | 
						
							
							
							
							
								
							
								5b7d40d9b4
								
							
								
							
						 | 
						
							
							
								
								We need to end the basic block after the ##prologue in the dispatch branch so that the GC check can go after the prologue
							
							
							
							
							
						 | 
						
							2008-11-10 02:58:05 -06:00 | 
						
					
				
					
						
							
							
								 
								Slava Pestov
							
						 | 
						
							
							
							
							
								
							
								4e55cd973b
								
							
								
							
						 | 
						
							
							
								
								If a #dispatch branch is a call to another word which is not an intrinsic, we avoid generating the dispatch branch and just jump to the word directly
							
							
							
							
							
						 | 
						
							2008-11-06 11:48:55 -06:00 | 
						
					
				
					
						
							
							
								 
								Slava Pestov
							
						 | 
						
							
							
							
							
								
							
								1c1333fbe9
								
							
								
							
						 | 
						
							
							
								
								Compile not and >boolean as branchless intrinsics by having the CFG builder detect certain code patterns
							
							
							
							
							
						 | 
						
							2008-11-06 09:09:21 -06:00 | 
						
					
				
					
						
							
							
								 
								Slava Pestov
							
						 | 
						
							
							
							
							
								
							
								59f4f25b91
								
							
								
							
						 | 
						
							
							
								
								Loop alignment: appears to be a small win for reverse-complement
							
							
							
							
							
						 | 
						
							2008-11-03 06:20:51 -06:00 | 
						
					
				
					
						
							
							
								 
								Slava Pestov
							
						 | 
						
							
							
							
							
								
							
								445e353337
								
							
								
							
						 | 
						
							
							
								
								Optimize away useless jumps
							
							
							
							
							
						 | 
						
							2008-11-02 23:09:31 -06:00 | 
						
					
				
					
						
							
							
								 
								Slava Pestov
							
						 | 
						
							
							
							
							
								
							
								804c6f93ea
								
							
								
							
						 | 
						
							
							
								
								Fix x86.32
							
							
							
							
							
						 | 
						
							2008-10-31 21:07:41 -05:00 | 
						
					
				
					
						
							
							
								 
								Slava Pestov
							
						 | 
						
							
							
							
							
								
							
								73d01452cb
								
							
								
							
						 | 
						
							
							
								
								Replace ##gc with a gc flag in the basic block
							
							
							
							
							
						 | 
						
							2008-10-22 18:38:30 -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
							
						 | 
						
							
							
							
							
								
							
								e92f795a76
								
							
								
							
						 | 
						
							
							
								
								More work on intrinsics; memory allocation and slot access now expands correctly
							
							
							
							
							
						 | 
						
							2008-10-20 20:40:15 -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 | 
						
					
				
					
						
							
							
								 
								Slava Pestov
							
						 | 
						
							
							
							
							
								
							
								c0d89b061e
								
							
								
							
						 | 
						
							
							
								
								Fixing register allocator prspilling
							
							
							
							
							
						 | 
						
							2008-10-19 01:10:21 -05:00 | 
						
					
				
					
						
							
							
								 
								Slava Pestov
							
						 | 
						
							
							
							
							
								
							
								239578353f
								
							
								
							
						 | 
						
							
							
								
								Simplifying vregs work in progress
							
							
							
							
							
						 | 
						
							2008-10-17 15:35:04 -05:00 | 
						
					
				
					
						
							
							
								 
								Slava Pestov
							
						 | 
						
							
							
							
							
								
							
								ae3c4ae1b6
								
							
								
							
						 | 
						
							
							
								
								Fix some problems with callbacks
							
							
							
							
							
						 | 
						
							2008-10-12 23:32:14 -05:00 | 
						
					
				
					
						
							
							
								 
								Slava Pestov
							
						 | 
						
							
							
							
							
								
							
								b2ade7f556
								
							
								
							
						 | 
						
							
							
								
								Fix callbacks and non-tailcalls to dispatch
							
							
							
							
							
						 | 
						
							2008-10-12 17:37:26 -05:00 | 
						
					
				
					
						
							
							
								 
								Slava Pestov
							
						 | 
						
							
							
							
							
								
							
								5f93ab74e4
								
							
								
							
						 | 
						
							
							
								
								Fix #dispatch generation
							
							
							
							
							
						 | 
						
							2008-10-12 16:46:59 -05:00 | 
						
					
				
					
						
							
							
								 
								Slava Pestov
							
						 | 
						
							
							
							
							
								
							
								3844cb62d8
								
							
								
							
						 | 
						
							
							
								
								Fix %write-barrier
							
							
							
							
							
						 | 
						
							2008-10-10 03:16:26 -05:00 | 
						
					
				
					
						
							
							
								 
								Slava Pestov
							
						 | 
						
							
							
							
							
								
							
								3e29808f17
								
							
								
							
						 | 
						
							
							
								
								Fix loop compilation
							
							
							
							
							
						 | 
						
							2008-10-10 02:33:32 -05:00 | 
						
					
				
					
						
							
							
								 
								Slava Pestov
							
						 | 
						
							
							
							
							
								
							
								cf46a832e7
								
							
								
							
						 | 
						
							
							
								
								Debugging register allocator and inline allocation
							
							
							
							
							
						 | 
						
							2008-10-08 23:42:53 -05:00 |