John Benediktsson
|
c65877104e
|
compiler: cleanup usings.
|
2014-12-13 16:10:21 -08:00 |
John Benediktsson
|
068ddd6c7b
|
compiler: cleanup cfg passes to have stack effect ( cfg -- )
|
2014-12-11 12:48:43 -08:00 |
Björn Lindqvist
|
08e9f18c3b
|
compiler.cfg.*: fix for test cases that broke due to stack effect changes
|
2014-12-11 14:30:47 +01:00 |
Björn Lindqvist
|
5fe9ce4235
|
compiler.cfg: fix stack effect of cfg-changed and predecessors changed to ( cfg -- )
|
2014-12-11 14:30:46 +01:00 |
Björn Lindqvist
|
8744d908b6
|
compiler.cfg.*: fix stack effect of compiler passes in optimize-cfg
since they all modify the cfg in place, it is better if their stack
effect is ( cfg -- ) instead of ( cfg -- cfg' )
|
2014-12-11 14:30:45 +01:00 |
Björn Lindqvist
|
96396cb3ad
|
compiler.*: use block>cfg and insns>block in many tests instead of wordier code
|
2014-11-22 17:31:38 -08:00 |
John Benediktsson
|
44f31ee13e
|
use swapd instead of [ swap ] dip.
|
2014-11-21 11:56:17 -08:00 |
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 |