Slava Pestov
							
						 
						
							 
							
							
							
								
							
								610c3b33c7 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.intrinsics: Disable inline allocation for now  
							
							 
							
							
							
						 
						
							2009-07-22 21:11:06 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								69ded76c66 
								
							
								 
							
						 
						
							
							
								
								Fixing compiler tests  
							
							 
							
							
							
						 
						
							2009-07-22 21:10:50 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								45c66b58af 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.dcn.rewrite: remove unused word  
							
							 
							
							
							
						 
						
							2009-07-22 19:18:12 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								5559d77d05 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.checker: eliminate dead code before checking MR  
							
							 
							
							
							
						 
						
							2009-07-22 19:17:57 -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
							
						 
						
							 
							
							
							
								
							
								091d2d07f2 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' into dcn  
							
							 
							
							
							
						 
						
							2009-07-22 06:19:44 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								995a96d7e4 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.dominance: fix unit tests  
							
							 
							
							
							
						 
						
							2009-07-22 06:19:31 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								26a5d51d93 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.ssa: now builds pruned SSA form  
							
							 
							
							
							
						 
						
							2009-07-22 06:08:04 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								d864214119 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.dominance: add algorithm for computing iterated dominance frontiers  
							
							 
							
							
							
						 
						
							2009-07-22 06:07:51 -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
							
						 
						
							 
							
							
							
								
							
								31491df5f1 
								
							
								 
							
						 
						
							
							
								
								Removed unused code from compiler.cfg.def-use  
							
							 
							
							
							
						 
						
							2009-07-22 06:05:33 -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
							
						 
						
							 
							
							
							
								
							
								1e5ce41364 
								
							
								 
							
						 
						
							
							
								
								Fix bootstrap  
							
							 
							
							
							
						 
						
							2009-07-22 03:26:27 -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
							
						 
						
							 
							
							
							
								
							
								55111bdc24 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' into dcn  
							
							 
							
							
							
						 
						
							2009-07-22 02:07:08 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								c105b033ef 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' of git://factorcode.org/git/factor  
							
							 
							
							
							
						 
						
							2009-07-22 02:06:47 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								e6a323dfaa 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.dataflow-analysis: iterative dataflow analysis framework  
							
							 
							
							
							
						 
						
							2009-07-22 02:06:35 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								b39b0dd393 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.dcn.global: redo using compiler.cfg.dataflow-analysis  
							
							 
							
							
							
						 
						
							2009-07-22 02:05:40 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								b869e1250c 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.stack-analysis: Out with the old, in with the new  
							
							 
							
							
							
						 
						
							2009-07-22 00:52:25 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								86df665f78 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' of git://factorcode.org/git/factor into dcn  
							
							 
							
							
							
						 
						
							2009-07-22 00:14:53 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								1aa6c9a0d5 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg: Fix unit tests  
							
							 
							
							
							
						 
						
							2009-07-21 22:25:19 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								e49de006c4 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.dcn: Fixing various bugs, hook up with optimizer  
							
							 
							
							
							
						 
						
							2009-07-21 22:24:50 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								cfb584ed8d 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' into dcn  
							
							 
							
							
							
						 
						
							2009-07-21 17:51:22 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								ead57fc5dd 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.registers: minor optimization  
							
							 
							
							
							
						 
						
							2009-07-21 17:49:44 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								e7e5bee9a2 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.ssa: Cytron's SSA construction algorithm  
							
							 
							
							
							
						 
						
							2009-07-21 17:49:30 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								802b4ffdf5 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.dcn: remove stores to stack locations above top of stack (these are never read again)  
							
							 
							
							
							
						 
						
							2009-07-21 17:46:09 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								441c2bae2d 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' into dcn  
							
							 
							
							
							
						 
						
							2009-07-21 03:08:42 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								3136549f48 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.dominance: fix idom computation, compute dominator tree, compute dominance frontiers, add some tests  
							
							 
							
							
							
						 
						
							2009-07-21 03:02:45 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								fd9a353fd6 
								
							
								 
							
						 
						
							
							
								
								Move conjoin-at from compiler.cfg.liveness to sets  
							
							 
							
							
							
						 
						
							2009-07-21 03:02:06 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								e16acae2f5 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.dcn: flesh out rewrite pass  
							
							 
							
							
							
						 
						
							2009-07-21 01:24:19 -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
							
						 
						
							 
							
							
							
								
							
								0a95ddd105 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.dcn: Implement height tracking  
							
							 
							
							
							
						 
						
							2009-07-19 19:45:23 -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
							
						 
						
							 
							
							
							
								
							
								ec1407bdae 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.dcn: starting work on deconcatenatization pass to replace compiler.cfg.stack-analysis  
							
							 
							
							
							
						 
						
							2009-07-18 22:27:42 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								9cbd6c52a6 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.stack-analysis: fix outdated tests  
							
							 
							
							
							
						 
						
							2009-07-18 06:38:42 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								32e4a97855 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan: fix tests  
							
							 
							
							
							
						 
						
							2009-07-18 06:10:01 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								343151fd62 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.finalization: undo a change that resulted in a compile time regression  
							
							 
							
							
							
						 
						
							2009-07-18 03:33:24 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								3ee68d1ff5 
								
							
								 
							
						 
						
							
							
								
								Disable fixnum>bignum and bignum>fixnum intrinsics since they're not very useful and they increase code size significantly  
							
							 
							
							
							
						 
						
							2009-07-18 01:07:43 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								ea69566ddd 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan: algorithmic optimizations  
							
							 
							
							
							
						 
						
							2009-07-18 00:14:39 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								5061db2a48 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg: Move tail call optimization to the end, compiler.tree: simplify finalization pass because of this  
							
							 
							
							
							
						 
						
							2009-07-17 22:57:28 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								b83f27af74 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.builder: remove some dead code  
							
							 
							
							
							
						 
						
							2009-07-17 21:52:33 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								43fab5b2ae 
								
							
								 
							
						 
						
							
							
								
								Remove some unnecessary work from stack-analysis pass  
							
							 
							
							
							
						 
						
							2009-07-17 18:39:41 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								e88e7f70be 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' of git://factorcode.org/git/factor  
							
							 
							
							
							
						 
						
							2009-07-17 00:03:13 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								1d735bc32d 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.propagation.transforms: fix shift transform  
							
							 
							
							
							
						 
						
							2009-07-17 00:02:57 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								3fb4fc1bde 
								
							
								 
							
						 
						
							
							
								
								Improve code generation for shift word: add intrinsics for fixnum-shift-fast in the case where the shift count is not constant, transform 1 swap shift into a more overflow check with open-coded fast case, transform bitand into fixnum-bitand in more cases  
							
							 
							
							
							
						 
						
							2009-07-16 23:50:48 -05:00  
						
					 
				
					
						
							
							
								 
								Daniel Ehrenberg
							
						 
						
							 
							
							
							
								
							
								8ea2996438 
								
							
								 
							
						 
						
							
							
								
								Removing two unused words in compiler.cfg.two-operand  
							
							 
							
							
							
						 
						
							2009-07-16 22:59:38 -05:00  
						
					 
				
					
						
							
							
								 
								Daniel Ehrenberg
							
						 
						
							 
							
							
							
								
							
								3ca5665ad6 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' of git://factorcode.org/git/factor  
							
							 
							
							
							
						 
						
							2009-07-16 22:42:39 -05:00  
						
					 
				
					
						
							
							
								 
								Daniel Ehrenberg
							
						 
						
							 
							
							
							
								
							
								8477cf8e91 
								
							
								 
							
						 
						
							
							
								
								Phi elimination doesn't have the swap problem now  
							
							 
							
							
							
						 
						
							2009-07-16 22:42:13 -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
							
						 
						
							 
							
							
							
								
							
								685e32b091 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.stack-analysis: global optimization work in progress  
							
							 
							
							
							
						 
						
							2009-07-16 16:43:14 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								fc0e0f1924 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.block-joining: relax join heuristic  
							
							 
							
							
							
						 
						
							2009-07-16 05:50:44 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								884e41dd9c 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan.live-intervals: remove bogus assertion  
							
							 
							
							
							
						 
						
							2009-07-16 02:42:01 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								9f926ab88c 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.block-joining: join basic blocks connected by a single edge to improve effectiveness of local optimizations  
							
							 
							
							
							
						 
						
							2009-07-16 02:17:58 -05:00  
						
					 
				
					
						
							
							
								 
								Daniel Ehrenberg
							
						 
						
							 
							
							
							
								
							
								062e33f8fb 
								
							
								 
							
						 
						
							
							
								
								fixing stupid bug in propagation  
							
							 
							
							
							
						 
						
							2009-07-16 00:43:54 -05:00  
						
					 
				
					
						
							
							
								 
								Daniel Ehrenberg
							
						 
						
							 
							
							
							
								
							
								ee3e84a1f8 
								
							
								 
							
						 
						
							
							
								
								define-partial-eval framework in propagation pass makes it easy to add transforms; moving some transforms from stack checker to propagation, making them stronger  
							
							 
							
							
							
						 
						
							2009-07-16 00:34:50 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								ebcd0dc252 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg: Fix regressions from recent changes  
							
							 
							
							
							
						 
						
							2009-07-14 20:43:06 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								4ac74e9304 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.branch-splitting: don't split if there's one predecessor  
							
							 
							
							
							
						 
						
							2009-07-14 20:42:50 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								11731f8d48 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.value-numbering: merge in compiler.cfg.branch-folding  
							
							 
							
							
							
						 
						
							2009-07-14 20:05:01 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								a75d558b30 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.intrinsics.fixnum: don't generate -imm forms anymore since value numbering does it  
							
							 
							
							
							
						 
						
							2009-07-14 19:18:57 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								73a2222541 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.value-numbering: branch folding  
							
							 
							
							
							
						 
						
							2009-07-14 19:17:12 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								03cd550b93 
								
							
								 
							
						 
						
							
							
								
								Fix codegen test  
							
							 
							
							
							
						 
						
							2009-07-14 16:11:14 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								2f39e851f8 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' of git://factorcode.org/git/factor  
							
							 
							
							
							
						 
						
							2009-07-14 16:05:35 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								2ace87370e 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.value-numbering: more optimizations  
							
							 
							
							
							
						 
						
							2009-07-14 16:05:25 -05:00  
						
					 
				
					
						
							
							
								 
								Daniel Ehrenberg
							
						 
						
							 
							
							
							
								
							
								6c32e61098 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' of git://factorcode.org/git/factor  
							
							 
							
							
							
						 
						
							2009-07-14 14:25:42 -05:00  
						
					 
				
					
						
							
							
								 
								Daniel Ehrenberg
							
						 
						
							 
							
							
							
								
							
								bb06facb01 
								
							
								 
							
						 
						
							
							
								
								new is inlined in the propagation pass when the class is known  
							
							 
							
							
							
						 
						
							2009-07-14 14:16:39 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								d1eea090b6 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.value-numbering: add some unit tests  
							
							 
							
							
							
						 
						
							2009-07-14 13:25:07 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								c860a3b1e6 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg: update unit tests for compiler.cfg.comparisons  
							
							 
							
							
							
						 
						
							2009-07-14 12:06:55 -05:00  
						
					 
				
					
						
							
							
								 
								Daniel Ehrenberg
							
						 
						
							 
							
							
							
								
							
								79afab82d8 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' of git://factorcode.org/git/factor  
							
							 
							
							
							
						 
						
							2009-07-14 01:24:08 -05:00  
						
					 
				
					
						
							
							
								 
								Daniel Ehrenberg
							
						 
						
							 
							
							
							
								
							
								47500fad06 
								
							
								 
							
						 
						
							
							
								
								call( and execute( inline known quotations/words in the propagation pass  
							
							 
							
							
							
						 
						
							2009-07-14 01:12:45 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								5ccf7bc99f 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' of git://factorcode.org/git/factor  
							
							 
							
							
							
						 
						
							2009-07-13 22:59:19 -05:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								ccae9b59a4 
								
							
								 
							
						 
						
							
							
								
								clean up value numbering conversion of ##add/sub to ##add/sub-imm  
							
							 
							
							
							
						 
						
							2009-07-13 19:02:05 -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
							
						 
						
							 
							
							
							
								
							
								3b244d5d41 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.value-numbering: fix ##compare and ##compare-branch rewrites  
							
							 
							
							
							
						 
						
							2009-07-13 12:33:58 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								d7aeae45be 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.branch-splitting: split blocks with successors  
							
							 
							
							
							
						 
						
							2009-07-13 10:44:08 -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
							
						 
						
							 
							
							
							
								
							
								608fb054f2 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg: Some code cleanups, update stack-analysis and phi-insertion to work on CFGs with critical edges  
							
							 
							
							
							
						 
						
							2009-07-12 22:22:46 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								1cf6bb7f99 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan: disable unit test for unimplemented feature  
							
							 
							
							
							
						 
						
							2009-07-10 07:48:49 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								ae67de6f90 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan: fix fencepost error in spill insertion  
							
							 
							
							
							
						 
						
							2009-07-10 03:58:51 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								11347e784c 
								
							
								 
							
						 
						
							
							
								
								insn. doesn't print numbers  
							
							 
							
							
							
						 
						
							2009-07-10 03:05:45 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								dea872c7e3 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan.allocation: fix broken spill slot reuse logic  
							
							 
							
							
							
						 
						
							2009-07-10 00:25:46 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								7edb2df01c 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' of git://factorcode.org/git/factor  
							
							 
							
							
							
						 
						
							2009-07-09 23:14:45 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								789d82745c 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.value-numbering: factor out value renaming into a separate compiler.cfg.renaming vocabulary  
							
							 
							
							
							
						 
						
							2009-07-09 23:14:26 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								6810b922ee 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg: move back-edge? word from stack-analysis to top-level vocab  
							
							 
							
							
							
						 
						
							2009-07-09 23:13:30 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								d02854b04e 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan: two live intervals which are coalesced will use the same spill slot  
							
							 
							
							
							
						 
						
							2009-07-09 23:12:49 -05:00  
						
					 
				
					
						
							
							
								 
								Daniel Ehrenberg
							
						 
						
							 
							
							
							
								
							
								4b29d13fda 
								
							
								 
							
						 
						
							
							
								
								Adding authors to compiler.tree.modular-arithmetic  
							
							 
							
							
							
						 
						
							2009-07-09 23:09:49 -05:00  
						
					 
				
					
						
							
							
								 
								Daniel Ehrenberg
							
						 
						
							 
							
							
							
								
							
								cf3038b7d6 
								
							
								 
							
						 
						
							
							
								
								Improving modular arithmetic optimization to be aware of words like set-alien-unsigned-2  
							
							 
							
							
							
						 
						
							2009-07-09 23:07:38 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								bb701bed7e 
								
							
								 
							
						 
						
							
							
								
								Revert "Remove unused vocabulary" -- committed patch from the wrong machine  
							
							 
							
							... 
							
							
							
							This reverts commit 04c3c15411 . 
							
						 
						
							2009-07-09 19:50:15 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								8008bfb1f9 
								
							
								 
							
						 
						
							
							
								
								Remove unused vocabulary  
							
							 
							
							
							
						 
						
							2009-07-09 19:10:36 -05:00  
						
					 
				
					
						
							
							
								 
								U-SLAVA-DFB8FF805\Slava
							
						 
						
							 
							
							
							
								
							
								508b7272b5 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.optimizer: fix irrelevant test  
							
							 
							
							
							
						 
						
							2009-07-09 06:17:10 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								e0d84eb3a2 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.propagation: better length propagation  
							
							 
							
							
							
						 
						
							2009-07-09 02:28:30 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								d0980edafe 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan: fixing unit tests  
							
							 
							
							
							
						 
						
							2009-07-09 00:48:00 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								5a64290386 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan: more code cleanups, and working on split-to-fit algorithm  
							
							 
							
							
							
						 
						
							2009-07-09 00:20:03 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								4507bdcbc0 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan: code cleanups  
							
							 
							
							
							
						 
						
							2009-07-08 23:28:28 -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
							
						 
						
							 
							
							
							
								
							
								e2044602aa 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan: debugging spilling, add more assertions  
							
							 
							
							
							
						 
						
							2009-07-07 13:01:27 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								43c873f00a 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan: code cleanup  
							
							 
							
							
							
						 
						
							2009-07-07 03:45:27 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								0bcf4ce535 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan: Re-implement spilling, add some additional runtime assertions, simplify assignment pass since it doesn't have to track spill slots anymore; just assume a live value that's not in active or inactive is spilled  
							
							 
							
							
							
						 
						
							2009-07-07 03:28:55 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								4402d8652c 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan: minor fixes  
							
							 
							
							
							
						 
						
							2009-07-05 22:51:53 -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
							
						 
						
							 
							
							
							
								
							
								f14a61fac2 
								
							
								 
							
						 
						
							
							
								
								Fix compiler.cfg.linear-scan.resolve test failure  
							
							 
							
							
							
						 
						
							2009-07-04 16:30:16 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								c0f1b2205a 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.value-numbering.rewrite: disable ##compare optimizations for now  
							
							 
							
							
							
						 
						
							2009-07-04 03:26:37 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								fb488025aa 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.value-numbering.rewrite: fix ##compare-imm rewrite rule  
							
							 
							
							
							
						 
						
							2009-07-04 02:50:50 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								c00af97fa1 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan.resolve: More fixes  
							
							 
							
							
							
						 
						
							2009-07-04 00:45:06 -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
							
						 
						
							 
							
							
							
								
							
								8d3a45dee2 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg: clean up GC check generation to use spill-slot data type  
							
							 
							
							
							
						 
						
							2009-07-03 23:11:23 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								d07c0429fc 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan: assign spill slots to vregs globally, so that resolve pass never has to perform a memory->memory transfer  
							
							 
							
							
							
						 
						
							2009-07-03 22:51:40 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								0180209f4e 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.dead-code: methods on flushable generics should be flushable  
							
							 
							
							
							
						 
						
							2009-07-03 21:31:26 -05:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								cae8fed16c 
								
							
								 
							
						 
						
							
							
								
								convert ##compare with immediates to ##compare-imm  
							
							 
							
							
							
						 
						
							2009-07-03 19:19:33 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								2c3b2a0b71 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.predecessors: delete dead predecessors from phi nodes  
							
							 
							
							
							
						 
						
							2009-07-03 18:45:03 -05:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								84de04e502 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' of git://factorcode.org/git/factor  
							
							 
							
							
							
						 
						
							2009-07-02 19:04:50 -05:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								e7a227ad40 
								
							
								 
							
						 
						
							
							
								
								add constant folding for integer ops, refactor some rewrites  
							
							 
							
							
							
						 
						
							2009-07-02 19:03:21 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								c5e7266e17 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' of git://factorcode.org/git/factor  
							
							 
							
							
							
						 
						
							2009-07-02 18:36:49 -05:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								f11ba00667 
								
							
								 
							
						 
						
							
							
								
								Revert "fix a unit test so it's sure to overflow 64bit machines"  
							
							 
							
							... 
							
							
							
							This reverts commit 88a545a215 . 
							
						 
						
							2009-07-02 18:18:50 -05:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								559a77be43 
								
							
								 
							
						 
						
							
							
								
								fix a unit test so it's sure to overflow 64bit machines  
							
							 
							
							
							
						 
						
							2009-07-02 18:05:55 -05:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								2aade588ee 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' of git://factorcode.org/git/factor  
							
							 
							
							
							
						 
						
							2009-07-02 18:01:58 -05:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								e11e3cf6d2 
								
							
								 
							
						 
						
							
							
								
								unit test to make sure adds are not optimized incorrectly  
							
							 
							
							
							
						 
						
							2009-07-02 18:01:00 -05:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								80eb5068e2 
								
							
								 
							
						 
						
							
							
								
								fix bug in rewriting #add -- wasn't checking small-enough?, and change negative adds to subtractions/negative subtractions to adds  
							
							 
							
							
							
						 
						
							2009-07-02 17:55:35 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								9404a7d0e3 
								
							
								 
							
						 
						
							
							
								
								half-floats: Add some more unit tests  
							
							 
							
							
							
						 
						
							2009-07-02 17:52:53 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								6d46bf623c 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.liveness: update for new ##phi node representation  
							
							 
							
							
							
						 
						
							2009-07-02 17:28:02 -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  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								86901eb01e 
								
							
								 
							
						 
						
							
							
								
								rewrite rules for add/sub/mul/and/or/xor-imm, rewrite load-immediate/add to be add-imm  
							
							 
							
							
							
						 
						
							2009-07-02 11:35:31 -05:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								04cb320c55 
								
							
								 
							
						 
						
							
							
								
								simplify sub and sub-imm  
							
							 
							
							
							
						 
						
							2009-07-02 11:33:15 -05:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								826464724e 
								
							
								 
							
						 
						
							
							
								
								add a utility word vreg>constant  
							
							 
							
							
							
						 
						
							2009-07-02 11:32:23 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								3a4916462b 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.dce: now performs three passes over the CFG to fix a phase ordering issue  
							
							 
							
							
							
						 
						
							2009-07-02 03:17:19 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								513a600664 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.dce: minor renamings  
							
							 
							
							
							
						 
						
							2009-07-02 02:41:10 -05:00  
						
					 
				
					
						
							
							
								 
								Daniel Ehrenberg
							
						 
						
							 
							
							
							
								
							
								392e313f05 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' of git://factorcode.org/git/factor  
							
							 
							
							
							
						 
						
							2009-07-02 02:31:06 -05:00  
						
					 
				
					
						
							
							
								 
								Daniel Ehrenberg
							
						 
						
							 
							
							
							
								
							
								fcfd7f01a3 
								
							
								 
							
						 
						
							
							
								
								Dead code elimination eliminates some dead allocations  
							
							 
							
							
							
						 
						
							2009-07-02 02:30:46 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								2de41f01da 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.optimizer: enable branch folding  
							
							 
							
							
							
						 
						
							2009-07-02 01:05:59 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								af875ba836 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg: bug fixes in GC check insertion and fixnum intrinsics  
							
							 
							
							
							
						 
						
							2009-07-02 00:51:06 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								e6b1c21590 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan: fix spilling  
							
							 
							
							
							
						 
						
							2009-07-01 22:37:27 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								41f48e3cfe 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.optimizer: Remove redundant call to compute-def-use  
							
							 
							
							
							
						 
						
							2009-07-01 17:41:20 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								a19f22ec82 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan: debugging spilling and resolve pass  
							
							 
							
							
							
						 
						
							2009-07-01 17:41:07 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								7e3fa45512 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.stack-analysis: fix unit tests for useless-blocks renaming and ##no-tco instruction  
							
							 
							
							
							
						 
						
							2009-06-30 23:17:33 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								a3b21292b6 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' of git://factorcode.org/git/factor  
							
							 
							
							
							
						 
						
							2009-06-30 23:07:36 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								f894baf60e 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.optimizer: disable branch folding for now  
							
							 
							
							
							
						 
						
							2009-06-30 23:07:27 -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  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								ded1e29d2f 
								
							
								 
							
						 
						
							
							
								
								combine add-imm instructions into a single add  
							
							 
							
							
							
						 
						
							2009-06-30 22:59:53 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								3385e50c43 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.branch-folding: fold away branches where both inputs are the same register. This results in 'push' being compiled slightly better  
							
							 
							
							
							
						 
						
							2009-06-30 22:43:32 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								fc595a7075 
								
							
								 
							
						 
						
							
							
								
								Fix possible infinite loop in skip-empty-blocks and remove redundant test in compiler.cfg.useless-conditionals  
							
							 
							
							
							
						 
						
							2009-06-30 22:43:02 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								f412bbc6d6 
								
							
								 
							
						 
						
							
							
								
								Change branch splitting around a bit, rename useless-blocks to useless-conditionals and rewrite it  
							
							 
							
							
							
						 
						
							2009-06-30 22:11:15 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								eb7f50adf4 
								
							
								 
							
						 
						
							
							
								
								Fix conflict  
							
							 
							
							
							
						 
						
							2009-06-30 21:37:49 -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
							
						 
						
							 
							
							
							
								
							
								3da560130a 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.tco: fix tail call optimization for ##fixnum-mul  
							
							 
							
							
							
						 
						
							2009-06-30 21:08:08 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								eca718b32d 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.builder: fix stack effect  
							
							 
							
							
							
						 
						
							2009-06-30 21:07:55 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								612e4b99b0 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan.assignment: insert-copy did the wrong thing if the second interval had been split. Fixes compilation of 'trilerp'  
							
							 
							
							
							
						 
						
							2009-06-30 21:07:39 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								1acf243cce 
								
							
								 
							
						 
						
							
							
								
								Fix conflict  
							
							 
							
							
							
						 
						
							2009-06-30 20:16:09 -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  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								2cd202d175 
								
							
								 
							
						 
						
							
							
								
								remove duplicate using  
							
							 
							
							
							
						 
						
							2009-06-30 18:48:52 -05:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								357408df3e 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' of git://factorcode.org/git/factor  
							
							 
							
							
							
						 
						
							2009-06-30 18:48:10 -05:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								97cd0d584e 
								
							
								 
							
						 
						
							
							
								
								make commutative operations with immediates output the same IR  
							
							 
							
							
							
						 
						
							2009-06-30 18:47:24 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								bc2a6c0ecc 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.stack-analysis: fix tests  
							
							 
							
							
							
						 
						
							2009-06-30 18:22:54 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								d199154179 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' of git://factorcode.org/git/factor  
							
							 
							
							
							
						 
						
							2009-06-30 18:12:00 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								3355fa4809 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.stack-analysis: enable global optimization  
							
							 
							
							
							
						 
						
							2009-06-30 18:11:45 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								54876d0cba 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan.assignment: get check-assignment? to work with coalescing  
							
							 
							
							
							
						 
						
							2009-06-30 18:10:53 -05:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								f1b2550035 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' of git://factorcode.org/git/factor  
							
							 
							
							
							
						 
						
							2009-06-30 16:45:57 -05:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								d1f6871081 
								
							
								 
							
						 
						
							
							
								
								fix bug where traversal order was lost  
							
							 
							
							
							
						 
						
							2009-06-30 16:44:14 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								578b0126fc 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan: compute-free-pos was broken in the case where more than one inactive interval had the same physical register assigned  
							
							 
							
							
							
						 
						
							2009-06-30 16:07:58 -05:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								f41f84436c 
								
							
								 
							
						 
						
							
							
								
								spill to spill-temp, not to virtual spill addresses  
							
							 
							
							
							
						 
						
							2009-06-30 15:40:13 -05:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								ede8e1ca30 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' of git://factorcode.org/git/factor  
							
							 
							
							
							
						 
						
							2009-06-30 15:32:11 -05:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								ea072731d4 
								
							
								 
							
						 
						
							
							
								
								add branch splitting pass to compiler.cfg  
							
							 
							
							
							
						 
						
							2009-06-30 15:31:48 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								32738dddde 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.stack-analysis: fix typos in unit tests  
							
							 
							
							
							
						 
						
							2009-06-29 16:37:40 -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  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								6e72cf9711 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.stack-analysis: fix another corner case with ##peek insertion, and fix changed-loc merging  
							
							 
							
							
							
						 
						
							2009-06-28 22:52:28 -05:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								1fab8efeee 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' of git://factorcode.org/git/factor  
							
							 
							
							
							
						 
						
							2009-06-28 16:43:45 -05:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								3b0954f63e 
								
							
								 
							
						 
						
							
							
								
								fix bug in linear-scan.resolve by rewriting entire algorithm  
							
							 
							
							
							
						 
						
							2009-06-28 16:43:17 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								d4de1d38b9 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' of git://factorcode.org/git/factor  
							
							 
							
							
							
						 
						
							2009-06-27 17:33:00 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								d5179b724e 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.stack-analysis: Fix case where both an ##inc-d/r and a ##peek get inserted  
							
							 
							
							
							
						 
						
							2009-06-27 17:32:37 -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
							
						 
						
							 
							
							
							
								
							
								ef32eb2e72 
								
							
								 
							
						 
						
							
							
								
								Fix bootstrap and unit test  
							
							 
							
							
							
						 
						
							2009-06-26 17:44:33 -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
							
						 
						
							 
							
							
							
								
							
								22fa524db1 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.stack-analysis: split up into three vocabs  
							
							 
							
							
							
						 
						
							2009-06-24 13:54:43 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								f3cf8fad2b 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan: fix unit tests  
							
							 
							
							
							
						 
						
							2009-06-24 13:54:12 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								c53aca6016 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan: fix coalescing to take lifetime holes into account  
							
							 
							
							
							
						 
						
							2009-06-23 21:32:51 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								387f6df9e5 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan: Debugging resolve pass  
							
							 
							
							
							
						 
						
							2009-06-22 00:24:51 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								330bea3cc2 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan.resolve: unit tests  
							
							 
							
							
							
						 
						
							2009-06-21 00:23:34 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								5a78956956 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan: Working on resolve pass  
							
							 
							
							
							
						 
						
							2009-06-21 00:20:01 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								c1839200dd 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan.assignment: correctly compute live registers at GC check points  
							
							 
							
							
							
						 
						
							2009-06-20 15:33:12 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								5c912504d7 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan: untangle add-active/delete-active/add-handled calls in spilling, replace 'sort-values last' with 'alist-max' in compiler.utilities  
							
							 
							
							
							
						 
						
							2009-06-19 18:28:30 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								2f15ac3c8f 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan: Fix a couple of bugs  
							
							 
							
							
							
						 
						
							2009-06-19 03:42:42 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								1f5f8393c3 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan: Further progress on inactive interval handling  
							
							 
							
							
							
						 
						
							2009-06-17 15:27:20 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								29327a787c 
								
							
								 
							
						 
						
							
							
								
								Remove initial-quot feature  
							
							 
							
							
							
						 
						
							2009-06-15 13:07:15 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								6fb7dca404 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan.resolve: fix compile error  
							
							 
							
							
							
						 
						
							2009-06-14 17:00:52 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								285c8cecc6 
								
							
								 
							
						 
						
							
							
								
								Add some failing unit tests exposing bugs in initial-quot: implementation  
							
							 
							
							
							
						 
						
							2009-06-13 18:34:27 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								64f93e41a9 
								
							
								 
							
						 
						
							
							
								
								Various linear scan fixes  
							
							 
							
							... 
							
							
							
							insert spill before reload to fix x86-32 regression
inactive splitting: if all inactive intervals' registers are in use, don't fail
fix stack analysis tests 
							
						 
						
							2009-06-13 17:35:40 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								d0f6a7d048 
								
							
								 
							
						 
						
							
							
								
								Split up compiler.cfg.linear-scan.allocation into a number of sub-vocabularies; start work on compiler.cfg.linear-scan.resolve; start work on inactive interval splitting  
							
							 
							
							
							
						 
						
							2009-06-11 17:55:14 -05:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								55f2185532 
								
							
								 
							
						 
						
							
							
								
								add an iota  
							
							 
							
							
							
						 
						
							2009-06-10 09:45:48 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								2dcdfa2d8e 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg: add a declaration to fix tools.deploy.test.11  
							
							 
							
							
							
						 
						
							2009-06-09 03:36:16 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								45a2105449 
								
							
								 
							
						 
						
							
							
								
								cpu.x86.assembler: IMUL2 instruction was busted for immediate operands  
							
							 
							
							... 
							
							
							
							When given a register and an immediate, it would generate imul imm,dst,dst however the 64-bit prefix was generated wrong and if dst was an extended register only the first operand would be an extended register. To fix this, change IMUL2 to not work on immediates anymore, and added a new IMUL3 that takes a destination register, source register, and immediate. Also, change compiler.cfg.two-operand to not two-operandize %mul-imm, since this isn't needed anymore.
This fixes the sporadic benchmark.tuple-arrays crash on 64-bit machines. 
							
						 
						
							2009-06-08 21:15:52 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								4fbe99400f 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' of git://factorcode.org/git/factor  
							
							 
							
							
							
						 
						
							2009-06-07 21:46:41 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								9ad9600764 
								
							
								 
							
						 
						
							
							
								
								Remove %dispatch-label since its tehe same on all platforms; fix %gc on PowerPC  
							
							 
							
							
							
						 
						
							2009-06-07 21:46:28 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								70b75b8dea 
								
							
								 
							
						 
						
							
							
								
								Linear scan: implement live range intersection  
							
							 
							
							
							
						 
						
							2009-06-06 01:04:12 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								7c207ffa12 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.optimizer: disable CFG checker by default  
							
							 
							
							
							
						 
						
							2009-06-05 18:07:22 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								04c72d0a72 
								
							
								 
							
						 
						
							
							
								
								Linear scan: correctly compute live spill slots  
							
							 
							
							
							
						 
						
							2009-06-05 18:06:47 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								440b464ec1 
								
							
								 
							
						 
						
							
							
								
								compiler: more informative trace-compilation  
							
							 
							
							
							
						 
						
							2009-06-05 17:32:37 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								5bb235d38f 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.checker: run if a variable is set  
							
							 
							
							
							
						 
						
							2009-06-05 17:32:12 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								81b2a39070 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan: re-do interval splitting to operate on live ranges; add inactive set processing  
							
							 
							
							
							
						 
						
							2009-06-04 18:53:02 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								ade5db2405 
								
							
								 
							
						 
						
							
							
								
								cpu.x86: fix small register intrinsics on x86-64  
							
							 
							
							
							
						 
						
							2009-06-03 03:22:46 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								6d04bf9c4a 
								
							
								 
							
						 
						
							
							
								
								Linear scan: build live ranges  
							
							 
							
							
							
						 
						
							2009-06-03 03:22:27 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								9da8cfe942 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' of git://factorcode.org/git/factor  
							
							 
							
							
							
						 
						
							2009-06-02 18:30:25 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								2d231f066a 
								
							
								 
							
						 
						
							
							
								
								GC checks now save and restore registers  
							
							 
							
							
							
						 
						
							2009-06-02 18:23:47 -05:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								19d6285035 
								
							
								 
							
						 
						
							
							
								
								fix load error  
							
							 
							
							
							
						 
						
							2009-06-01 09:34:28 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								7dd08892b2 
								
							
								 
							
						 
						
							
							
								
								Fix for recent word renaming  
							
							 
							
							
							
						 
						
							2009-06-01 03:19:35 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								9e987e8642 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' into global_optimization  
							
							 
							
							
							
						 
						
							2009-06-01 03:12:32 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								d558545b65 
								
							
								 
							
						 
						
							
							
								
								Remove obsolete optimization  
							
							 
							
							
							
						 
						
							2009-06-01 03:05:49 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								3a9922d161 
								
							
								 
							
						 
						
							
							
								
								Fix compiler errors  
							
							 
							
							
							
						 
						
							2009-06-01 03:00:10 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								f09b36424c 
								
							
								 
							
						 
						
							
							
								
								Code cleanup  
							
							 
							
							
							
						 
						
							2009-06-01 02:32:42 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								b389dcf441 
								
							
								 
							
						 
						
							
							
								
								Redo compiler.codegen.fixup and get %dispatch to work  
							
							 
							
							
							
						 
						
							2009-06-01 02:32:36 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								fc152ef210 
								
							
								 
							
						 
						
							
							
								
								Various improvements aimed at getting local optimization regressions fixed:  
							
							 
							
							... 
							
							
							
							- Rename _gc to ##gc
- Absolute labels are now supported
- Generate _dispatch-label 
							
						 
						
							2009-05-31 23:28:08 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								2c8223fdaf 
								
							
								 
							
						 
						
							
							
								
								Fix loop handling in stack-analysis  
							
							 
							
							
							
						 
						
							2009-05-31 19:04:26 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								32f17f3e14 
								
							
								 
							
						 
						
							
							
								
								Fix scoping issue in compiler.cfg.linear-scan.assignment  
							
							 
							
							
							
						 
						
							2009-05-31 18:21:23 -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
							
						 
						
							 
							
							
							
								
							
								3e00dc8c8d 
								
							
								 
							
						 
						
							
							
								
								Start cleaning up stack analysis  
							
							 
							
							
							
						 
						
							2009-05-30 13:22:30 -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
							
						 
						
							 
							
							
							
								
							
								280736ab00 
								
							
								 
							
						 
						
							
							
								
								On second thought, linearization will be done after SSA destruction so live-in is accurate  
							
							 
							
							
							
						 
						
							2009-05-29 05:45:40 -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
							
						 
						
							 
							
							
							
								
							
								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
							
						 
						
							 
							
							
							
								
							
								ceb332f596 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.alias-analysis: ##peek needs to set alias class of output value  
							
							 
							
							
							
						 
						
							2009-05-28 18:19:01 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								dbf18927b9 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.liveness: correct handling of phi nodes  
							
							 
							
							
							
						 
						
							2009-05-28 17:54:27 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								fc5587bda3 
								
							
								 
							
						 
						
							
							
								
								Test updates  
							
							 
							
							
							
						 
						
							2009-05-28 02:50:07 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								ecece1d08b 
								
							
								 
							
						 
						
							
							
								
								CFG checker now checks consistency of successors and predecessors lists; fix long-standing bug in useless-blocks optimization  
							
							 
							
							
							
						 
						
							2009-05-28 02:49:51 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								1fa465d77f 
								
							
								 
							
						 
						
							
							
								
								Fix alias analysis  
							
							 
							
							
							
						 
						
							2009-05-28 02:48:58 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								7b88756fd0 
								
							
								 
							
						 
						
							
							
								
								Add a with-scope so that optimize-tree doesn't pollute namespace  
							
							 
							
							
							
						 
						
							2009-05-27 18:58:54 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								117cb78d6b 
								
							
								 
							
						 
						
							
							
								
								Fixing local optimizations  
							
							 
							
							
							
						 
						
							2009-05-27 18:58:41 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								f3688c9373 
								
							
								 
							
						 
						
							
							
								
								Better CFG checker  
							
							 
							
							
							
						 
						
							2009-05-27 18:58:14 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								dadb9a2c50 
								
							
								 
							
						 
						
							
							
								
								Add phi elimination pass  
							
							 
							
							
							
						 
						
							2009-05-27 18:58:01 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								3b79d61496 
								
							
								 
							
						 
						
							
							
								
								Add a new ##allocation union to remove some code duplication  
							
							 
							
							
							
						 
						
							2009-05-27 18:55:49 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								2025823ba6 
								
							
								 
							
						 
						
							
							
								
								Remove old local DCE pass  
							
							 
							
							
							
						 
						
							2009-05-27 17:55:15 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								ce25e0ad8d 
								
							
								 
							
						 
						
							
							
								
								New local-optimization combinator removes some boilerplate  
							
							 
							
							
							
						 
						
							2009-05-26 19:56:56 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								1db81da264 
								
							
								 
							
						 
						
							
							
								
								Refactoring low-level optimizer to support stack analysis pass  
							
							 
							
							
							
						 
						
							2009-05-26 19:31:19 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								eda44f28a6 
								
							
								 
							
						 
						
							
							
								
								Move maybe-set-at to assocs  
							
							 
							
							
							
						 
						
							2009-05-26 18:45:37 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								ccb662c60e 
								
							
								 
							
						 
						
							
							
								
								Fix another bug in stack-analysis  
							
							 
							
							
							
						 
						
							2009-05-26 03:42:39 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								7ea4e255fb 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.stack-analysis: make it pass more tests  
							
							 
							
							
							
						 
						
							2009-05-26 02:59:14 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								8b022f926c 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.dce: new global dead code elimination pass  
							
							 
							
							
							
						 
						
							2009-05-26 02:58:57 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								e0841fa695 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.checker: new check-rpo word  
							
							 
							
							
							
						 
						
							2009-05-26 02:58:40 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								a08bbde2e7 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.stack-analysis: progress  
							
							 
							
							
							
						 
						
							2009-05-25 19:18:13 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								dead771b3f 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.checker: new vocabulary for checking CFG invariants  
							
							 
							
							
							
						 
						
							2009-05-25 19:16:58 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								a2b982e247 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.builder: don't make basic blocks after terminating calls  
							
							 
							
							
							
						 
						
							2009-05-25 19:16:36 -05:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								407377fc98 
								
							
								 
							
						 
						
							
							
								
								rename peek -> last and update all usages  
							
							 
							
							
							
						 
						
							2009-05-25 16:38:33 -05:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								a54c78007b 
								
							
								 
							
						 
						
							
							
								
								add a clamp word to math.order, use clamp word throughout libraries  
							
							 
							
							
							
						 
						
							2009-05-24 21:35:50 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								b8aa633d58 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' into global_optimization  
							
							 
							
							
							
						 
						
							2009-05-23 15:55:04 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								43a1834e0b 
								
							
								 
							
						 
						
							
							
								
								stack-checker: fix case where invalid code could infer  
							
							 
							
							
							
						 
						
							2009-05-23 15:50:35 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								145f1dbeef 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.stack-analysis: change how inc-d/inc-r work  
							
							 
							
							
							
						 
						
							2009-05-23 15:47:08 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								96975474b0 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' into global_optimization  
							
							 
							
							
							
						 
						
							2009-05-23 01:03:24 -05:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								3276ae3a08 
								
							
								 
							
						 
						
							
							
								
								get rid of useless test  
							
							 
							
							
							
						 
						
							2009-05-21 20:56:57 -05:00