John Benediktsson
							
						 | 
						
							
							
							
							
								
							
								6a183718fa
								
							
								
							
						 | 
						
							
							
								
								compiler.cfg: don't need to escape the symbol here.
							
							
							
							
							
						 | 
						
							2012-08-02 15:14:42 -07:00 | 
						
					
				
					
						
							
							
								 
								Doug Coleman
							
						 | 
						
							
							
							
							
								
							
								80385770ef
								
							
								
							
						 | 
						
							
							
								
								compiler: The non-optimizing compiler is too slow with smart combinators in the compiler. Speed up bootstrap by not using them.
							
							
							
							
							
						 | 
						
							2011-12-05 14:50:51 -08:00 | 
						
					
				
					
						
							
							
								 
								Joe Groff
							
						 | 
						
							
							
							
							
								
							
								943596575a
								
							
								
							
						 | 
						
							
							
								
								use radix literals
							
							
							
							
							
						 | 
						
							2011-11-23 19:03:40 -08:00 | 
						
					
				
					
						
							
							
								 
								Slava Pestov
							
						 | 
						
							
							
							
							
								
							
								910748819d
								
							
								
							
						 | 
						
							
							
								
								Now that #foo and ##foo are symbols we can remove a bunch of \
							
							
							
							
							
						 | 
						
							2011-11-12 22:04:26 -08:00 | 
						
					
				
					
						
							
							
								 
								Doug Coleman
							
						 | 
						
							
							
							
							
								
							
								6cca0ea468
								
							
								
							
						 | 
						
							
							
								
								compiler.cfg: Rename <##foo> to ##foo, in the low-level IR
							
							
							
							
							
						 | 
						
							2011-11-11 19:48:38 -08:00 | 
						
					
				
					
						
							
							
								 
								Doug Coleman
							
						 | 
						
							
							
							
							
								
							
								eb2a0c611b
								
							
								
							
						 | 
						
							
							
								
								compiler.cfg: Change low-level IR constructors from ##foo to <##foo>
							
							
							
							
							
						 | 
						
							2011-11-06 23:02:46 -08:00 | 
						
					
				
					
						
							
							
								 
								Erik Charlebois
							
						 | 
						
							
							
							
							
								
							
								64252dbdbc
								
							
								
							
						 | 
						
							
							
								
								32 and 64 bit Linux PPC support
							
							
							
							
							
						 | 
						
							2011-05-23 23:36:14 -04:00 | 
						
					
				
					
						
							
							
								 
								Slava Pestov
							
						 | 
						
							
							
							
							
								
							
								e27adb2830
								
							
								
							
						 | 
						
							
							
								
								compiler: re-architect low-level optimizer to allow more than one output value per instruction
							
							
							
							
							
						 | 
						
							2010-07-13 07:40:14 -04:00 | 
						
					
				
					
						
							
							
								 
								Slava Pestov
							
						 | 
						
							
							
							
							
								
							
								be733cd797
								
							
								
							
						 | 
						
							
							
								
								compiler.cfg.value-numbering: constant folding for ##shuffle-vector
							
							
							
							
							
						 | 
						
							2010-05-18 04:22:21 -04:00 | 
						
					
				
					
						
							
							
								 
								Slava Pestov
							
						 | 
						
							
							
							
							
								
							
								53a51957df
								
							
								
							
						 | 
						
							
							
								
								compiler.cfg.value-numbering: add constant folding for ##gather-vector instructions, and fix ##scalar>vector constant folding for integers
							
							
							
							
							
						 | 
						
							2010-05-18 03:56:07 -04:00 | 
						
					
				
					
						
							
							
								 
								Slava Pestov
							
						 | 
						
							
							
							
							
								
							
								5c0c87fcaa
								
							
								
							
						 | 
						
							
							
								
								compiler.cfg.value-numbering.comparisons: ##test-imm rewrite rule must check that the immediate fits
							
							
							
							
							
						 | 
						
							2010-05-15 03:19:24 -04:00 | 
						
					
				
					
						
							
							
								 
								Slava Pestov
							
						 | 
						
							
							
							
							
								
							
								5a67711bfd
								
							
								
							
						 | 
						
							
							
								
								compiler.cfg: use x86 TEST instruction to optimize 'bitand 0 ='
							
							
							
							
							
						 | 
						
							2010-05-14 18:37:06 -04:00 | 
						
					
				
					
						
							
							
								 
								Slava Pestov
							
						 | 
						
							
							
							
							
								
							
								572d7f77f8
								
							
								
							
						 | 
						
							
							
								
								compiler.cfg.value-numbering: don't use complex addressing modes unless architecture supports it
							
							
							
							
							
						 | 
						
							2010-05-04 05:46:21 -05:00 | 
						
					
				
					
						
							
							
								 
								Slava Pestov
							
						 | 
						
							
							
							
							
								
							
								ad69052a1a
								
							
								
							
						 | 
						
							
							
								
								compiler.cfg.value-numbering: fix typo in unit test
							
							
							
							
							
						 | 
						
							2010-05-03 22:11:29 -04:00 | 
						
					
				
					
						
							
							
								 
								Slava Pestov
							
						 | 
						
							
							
							
							
								
							
								58e4381eb1
								
							
								
							
						 | 
						
							
							
								
								compiler: new "binary literal area" at the end of a word's machine code stores constant floats and SIMD vectors; this allows ##load-reference/##load-memory fusion to be performed on x86-64, with a RIP-relative address reaching the data; also simplifies VM since custom relocation types used by the previous 32-bit-only optimization are no longer needed
							
							
							
							
							
						 | 
						
							2010-05-03 17:34:35 -04:00 | 
						
					
				
					
						
							
							
								 
								Slava Pestov
							
						 | 
						
							
							
							
							
								
							
								86548320eb
								
							
								
							
						 | 
						
							
							
								
								compiler.cfg.value-numbering: fix unit test for 64-bit
							
							
							
							
							
						 | 
						
							2010-05-03 17:34:33 -04:00 | 
						
					
				
					
						
							
							
								 
								Slava Pestov
							
						 | 
						
							
							
							
							
								
							
								7f6ae34d72
								
							
								
							
						 | 
						
							
							
								
								Updating tests for recent compiler changes
							
							
							
							
							
						 | 
						
							2010-05-03 17:34:30 -04:00 | 
						
					
				
					
						
							
							
								 
								Slava Pestov
							
						 | 
						
							
							
							
							
								
							
								428ba9fd0f
								
							
								
							
						 | 
						
							
							
								
								compiler.cfg: fuse ##load-integer/##load-reference into ##replace to form ##replace-imm
							
							
							
							
							
						 | 
						
							2010-05-03 17:34:28 -04:00 | 
						
					
				
					
						
							
							
								 
								Slava Pestov
							
						 | 
						
							
							
							
							
								
							
								e90712b1ed
								
							
								
							
						 | 
						
							
							
								
								compiler.cfg: cleanup
							
							
							
							
							
						 | 
						
							2010-05-03 17:34:26 -04:00 | 
						
					
				
					
						
							
							
								 
								Slava Pestov
							
						 | 
						
							
							
							
							
								
							
								df86d1341f
								
							
								
							
						 | 
						
							
							
								
								compiler.cfg: clean up ##phi literals in tests
							
							
							
							
							
						 | 
						
							2010-05-03 17:34:24 -04:00 | 
						
					
				
					
						
							
							
								 
								Slava Pestov
							
						 | 
						
							
							
							
							
								
							
								0f5d9974a0
								
							
								
							
						 | 
						
							
							
								
								compiler.cfg.representations: fix various bugs
							
							
							
							
							
						 | 
						
							2010-05-03 17:34:11 -04:00 | 
						
					
				
					
						
							
							
								 
								Slava Pestov
							
						 | 
						
							
							
							
							
								
							
								a141df595b
								
							
								
							
						 | 
						
							
							
								
								compiler.cfg.value-numbering: more cleanups
							
							
							
							
							
						 | 
						
							2010-05-03 17:34:10 -04:00 | 
						
					
				
					
						
							
							
								 
								Slava Pestov
							
						 | 
						
							
							
							
							
								
							
								ef8094e3b3
								
							
								
							
						 | 
						
							
							
								
								compiler.cfg.value-numbering: identify VNs with their representative vregs, eliminating the vn>vreg hash
							
							
							
							
							
						 | 
						
							2010-05-03 17:34:10 -04:00 | 
						
					
				
					
						
							
							
								 
								Slava Pestov
							
						 | 
						
							
							
							
							
								
							
								edaf59bf46
								
							
								
							
						 | 
						
							
							
								
								compiler.cfg.value-numbering: maintain a VN to instruction mapping. This eliminates all instances of expression inspection, allowing the auto-generated expression classes to be removed
							
							
							
							
							
						 | 
						
							2010-05-03 17:34:09 -04:00 | 
						
					
				
					
						
							
							
								 
								Slava Pestov
							
						 | 
						
							
							
							
							
								
							
								f548a08637
								
							
								
							
						 | 
						
							
							
								
								compiler.cfg.value-numbering: remove constant -vs- literal distinction
							
							
							
							
							
						 | 
						
							2010-05-03 17:34:09 -04:00 | 
						
					
				
					
						
							
							
								 
								Slava Pestov
							
						 | 
						
							
							
							
							
								
							
								f14f2cbdab
								
							
								
							
						 | 
						
							
							
								
								compiler.cfg.value-numbering: merge 'simplify' pass into 'rewrite'
							
							
							
							
							
						 | 
						
							2010-05-03 17:34:08 -04:00 | 
						
					
				
					
						
							
							
								 
								Slava Pestov
							
						 | 
						
							
							
							
							
								
							
								378c2b2a46
								
							
								
							
						 | 
						
							
							
								
								compiler.cfg: add ##load-memory and ##store-memory instructions implementing complex addressing modes, and associated value numbering optimizations
							
							
							
							
							
						 | 
						
							2010-05-03 17:34:07 -04:00 | 
						
					
				
					
						
							
							
								 
								Slava Pestov
							
						 | 
						
							
							
							
							
								
							
								b8d556514c
								
							
								
							
						 | 
						
							
							
								
								compiler.cfg.value-numbering: add slot addressing rewrite rule to eliminate a redundant ##add-imm from array-nth and set-array-nth
							
							
							
							
							
						 | 
						
							2010-05-03 17:34:07 -04:00 | 
						
					
				
					
						
							
							
								 
								Slava Pestov
							
						 | 
						
							
							
							
							
								
							
								913b95192e
								
							
								
							
						 | 
						
							
							
								
								compiler.cfg: merge all alien accessors into ##load-memory-imm and ##store-memory-imm
							
							
							
							
							
						 | 
						
							2010-05-03 17:34:06 -04:00 | 
						
					
				
					
						
							
							
								 
								Slava Pestov
							
						 | 
						
							
							
							
							
								
							
								efd2a80d98
								
							
								
							
						 | 
						
							
							
								
								compiler.cfg.value-numbering: fix compile error
							
							
							
							
							
						 | 
						
							2010-05-03 17:34:04 -04:00 | 
						
					
				
					
						
							
							
								 
								Slava Pestov
							
						 | 
						
							
							
							
							
								
							
								2ce926594d
								
							
								
							
						 | 
						
							
							
								
								compiler.cfg.value-numbering: new optimizations; reassociation for shifts and redistribution for shifts/multiplies over additions/subtractions
							
							
							
							
							
						 | 
						
							2010-05-03 17:34:02 -04:00 | 
						
					
				
					
						
							
							
								 
								Slava Pestov
							
						 | 
						
							
							
							
							
								
							
								82fb1879af
								
							
								
							
						 | 
						
							
							
								
								Debugging untagged fixnums
							
							
							
							
							
						 | 
						
							2010-05-03 17:34:02 -04:00 | 
						
					
				
					
						
							
							
								 
								Slava Pestov
							
						 | 
						
							
							
							
							
								
							
								5d3a7a7362
								
							
								
							
						 | 
						
							
							
								
								Untagged fixnums work in progress
							
							
							
							
							
						 | 
						
							2010-05-03 17:34:02 -04:00 | 
						
					
				
					
						
							
							
								 
								Slava Pestov
							
						 | 
						
							
							
							
							
								
							
								8f0739197e
								
							
								
							
						 | 
						
							
							
								
								compiler.cfg: fix some bugs introduced by the ##compare-imm fusion patch
							
							
							
							
							
						 | 
						
							2010-04-18 21:42:45 -05:00 | 
						
					
				
					
						
							
							
								 
								Slava Pestov
							
						 | 
						
							
							
							
							
								
							
								2aaf24412a
								
							
								
							
						 | 
						
							
							
								
								compiler: change how 'f' is represented in low level IR to simplify some code, and fuse a ##load-constant of a word with a ##compare into a ##compare-imm on x86-32. This eliminates a spill from binary-search
							
							
							
							
							
						 | 
						
							2010-04-18 21:42:45 -05:00 | 
						
					
				
					
						
							
							
								 
								Joe Groff
							
						 | 
						
							
							
							
							
								
							
								67cc1c01be
								
							
								
							
						 | 
						
							
							
								
								Merge branch 'master' into simd-cleanup
							
							
							
							
							
						 | 
						
							2009-11-26 16:14:46 -08:00 | 
						
					
				
					
						
							
							
								 
								Joe Groff
							
						 | 
						
							
							
							
							
								
							
								c916c7c856
								
							
								
							
						 | 
						
							
							
								
								don't try to rewrite redundant test-vector-exprs
							
							
							
							
							
						 | 
						
							2009-11-25 20:06:11 -08:00 | 
						
					
				
					
						
							
							
								 
								Joe Groff
							
						 | 
						
							
							
							
							
								
							
								152b0d2df5
								
							
								
							
						 | 
						
							
							
								
								break simd intrinsics into a separate vocab so they can be intrinsified before the simd methods compile
							
							
							
							
							
						 | 
						
							2009-11-19 11:53:46 -08:00 | 
						
					
				
					
						
							
							
								 
								Slava Pestov
							
						 | 
						
							
							
							
							
								
							
								0612bc6177
								
							
								
							
						 | 
						
							
							
								
								Factor source files should not be executable
							
							
							
							
							
						 | 
						
							2009-11-21 17:50:43 -06:00 | 
						
					
				
					
						
							
							
								 
								Joe Groff
							
						 | 
						
							
							
							
							
								
							
								f544982fda
								
							
								
							
						 | 
						
							
							
								
								Merge branch 'master' of git://factorcode.org/git/factor into simd-cleanup
							
							
							
							
							
							
							
							Conflicts:
	basis/math/vectors/simd/functor/functor.factor 
							
						 | 
						
							2009-11-14 21:02:39 -06:00 | 
						
					
				
					
						
							
							
								 
								Joe Groff
							
						 | 
						
							
							
							
							
								
							
								e323071c44
								
							
								
							
						 | 
						
							
							
								
								sever lingering dependencies on simd from compiler
							
							
							
							
							
						 | 
						
							2009-11-11 16:08:40 -06:00 | 
						
					
				
					
						
							
							
								 
								Slava Pestov
							
						 | 
						
							
							
							
							
								
							
								064c00f78d
								
							
								
							
						 | 
						
							
							
								
								New identity-hashcode primitive
							
							
							
							
							
						 | 
						
							2009-11-10 21:18:54 -06:00 | 
						
					
				
					
						
							
							
								 
								Slava Pestov
							
						 | 
						
							
							
							
							
								
							
								109aa88b06
								
							
								
							
						 | 
						
							
							
								
								compiler: update unit tests for 4-bit tag change
							
							
							
							
							
						 | 
						
							2009-11-03 21:40:29 -06:00 | 
						
					
				
					
						
							
							
								 
								Slava Pestov
							
						 | 
						
							
							
							
							
								
							
								51e9a891a8
								
							
								
							
						 | 
						
							
							
								
								cpu.x86: update %box-displaced-alien for introduction of address field
							
							
							
							
							
						 | 
						
							2009-11-03 03:17:43 -06:00 | 
						
					
				
					
						
							
							
								 
								Slava Pestov
							
						 | 
						
							
							
							
							
								
							
								e4ad642134
								
							
								
							
						 | 
						
							
							
								
								vm: 4 bit tags, new representation of alien objects makes unbox-any-c-ptr more efficient (work in progress)
							
							
							
							
							
						 | 
						
							2009-11-02 04:25:54 -06:00 | 
						
					
				
					
						
							
							
								 
								Doug Coleman
							
						 | 
						
							
							
							
							
								
							
								bd13e018dd
								
							
								
							
						 | 
						
							
							
								
								memq? -> member-eq?, sorted-memq? -> sorted-member-eq?
							
							
							
							
							
						 | 
						
							2009-10-28 15:02:00 -05:00 | 
						
					
				
					
						
							
							
								 
								Joe Groff
							
						 | 
						
							
							
							
							
								
							
								764e085004
								
							
								
							
						 | 
						
							
							
								
								value numbering rewrite rules for vector ops to convert "not and" to "andn" and "not andn" to "and"
							
							
							
							
							
						 | 
						
							2009-10-20 17:29:01 -05:00 | 
						
					
				
					
						
							
							
								 
								Slava Pestov
							
						 | 
						
							
							
							
							
								
							
								2d5cdd19ec
								
							
								
							
						 | 
						
							
							
								
								compiler: on PPC, ANDI, ORI and XORI instructions take an unsigned 16-bit immediate, unlike ADDI, SUBI and MULLI which take a signed 16-bit immediate. The code generator was not aware of this, and so for example '[ >fixnum -16 bitand ]' would generate incorrect code. Split up small-enough? hook into immediate-arithmetic? and immediate-bitwise? and update value numbering to be aware of this. Fixes classes.struct bitfields test failure
							
							
							
							
							
						 | 
						
							2009-10-19 04:58:29 -05:00 | 
						
					
				
					
						
							
							
								 
								Joe Groff
							
						 | 
						
							
							
							
							
								
							
								3bc097f6ff
								
							
								
							
						 | 
						
							
							
								
								rename ##shuffle-vector to ##shuffle-vector-imm, and add a new ##shuffle-vector for dynamic shuffles. have vshuffle use ##shuffle-vector to do word and byte shuffles on x86
							
							
							
							
							
						 | 
						
							2009-10-09 21:26:27 -05:00 | 
						
					
				
					
						
							
							
								 
								Daniel Ehrenberg
							
						 | 
						
							
							
							
							
								
							
								2db25b937e
								
							
								
							
						 | 
						
							
							
								
								Doing constant folding on ##neg and ##not in value numbering
							
							
							
							
							
						 | 
						
							2009-10-08 01:57:54 -05:00 |