Commit Graph

1601 Commits (40b4b3ad89f9944b1a5768e4e1abbd750d95ada3)

Author SHA1 Message Date
John Benediktsson 40b4b3ad89 compiler.cfg.loop-detection: more use of hash-sets. 2013-03-08 12:38:50 -08:00
John Benediktsson 9af579aa69 compiler.tree.recursive: more use of hash-sets. 2013-03-08 12:34:23 -08:00
John Benediktsson f8b8ab370e compiler.cfg.write-barrier: more use of hash-sets. 2013-03-08 12:30:37 -08:00
John Benediktsson 6e167aeb19 compiler.cfg.ssa.construction: more use of hash-sets. 2013-03-08 12:24:06 -08:00
John Benediktsson 31916d9f39 compiler.tree.propagation.info: inline <value-info>. 2013-03-08 12:19:24 -08:00
John Benediktsson ebe0586772 compiler: fix stack effects to indicate visited is same object. 2013-03-08 12:16:02 -08:00
John Benediktsson bb673c72d0 compiler: use hash-sets to track visited sets. 2013-03-08 11:04:47 -08:00
John Benediktsson ede0232ddc hash-sets: faster implementation based on hashtables. 2013-03-07 21:43:17 -08:00
John Benediktsson dc89883dc3 compiler.cfg.alias-analysis: use clear-set. 2013-03-07 21:35:00 -08:00
John Benediktsson c0b3e7ec32 compiler.tree.propagation.transforms: use integer>fixnum-strict in shift. 2013-03-05 08:19:31 -08:00
John Benediktsson b8922acd45 words: adding inline-recursive?. 2013-03-04 16:09:56 -08:00
John Benediktsson 6556dae7ac compiler.tree.propagation.known-words: retry this change, some issue with use vocabs. 2013-01-22 07:09:49 -08:00
John Benediktsson b1003f47d9 Revert "compiler.tree.propagation.known-words: adding known outputs for some words."
This reverts commit 16d8e6555b.
2013-01-22 06:42:58 -08:00
John Benediktsson 16d8e6555b compiler.tree.propagation.known-words: adding known outputs for some words. 2013-01-21 20:28:17 -08:00
Doug Coleman 9f392c86fb compiler.tree.propagation.recursive: Generalizing intervals in the propagation pass ignored types. Fixes #770. 2013-01-01 18:47:23 -08:00
Doug Coleman a0aaae5b17 compiler.cfg.liveness: Break the infinite loop--add the base-pointer as f to start with, and replace it with the real one if there's not a circular chain. Fixes #22 again. 2013-01-01 14:47:54 -08:00
Doug Coleman 471db8c7dd compiler.cfg.liveness: Add parallel-copy method for lookup-base-pointer*. Adjust lookup-base-pointer* stack effect to take two parameters. Still retain stack overflows, but more correct now... 2013-01-01 14:16:51 -08:00
Alex Vondrak 71d7b7eda0 compiler.cfg.renaming.functor: fix ##parallel-copy methods 2012-12-31 11:26:46 -08:00
Alex Vondrak a5fa5b3f65 compiler.cfg.ssa.destruction.leaders: break off leader-map to resolve circular dependencies (oops) 2012-12-31 11:20:57 -08:00
Alex Vondrak cd94b843cf compiler.cfg.liveness: still kill defs by leaders, but keep original
vregs in the live-sets so accurate info (e.g., representations) can
still be looked up (issue #22)
2012-12-31 11:05:05 -08:00
Alex Vondrak 9a2504455b compiler.cfg.ssa.destruction: alien-call-insns are too hairy to coalesce (issue #22) 2012-12-31 11:04:57 -08:00
Alex Vondrak 3a1cdb7b3f compiler.cfg.liveness: look up leaders (if possible) so liveness analysis doesn't break after leaving SSA (issue #22) 2012-12-31 11:04:52 -08:00
Alex Vondrak fe55eff6d2 compiler.cfg.parallel-copy: make sure new vregs used to break cycles in parallel-copy-rep update the leader-map (issue #22) 2012-12-31 11:04:44 -08:00
Alex Vondrak 0ea635a1c9 compiler.cfg.ssa.interference.live-ranges: fix kill-indices for ##parallel-copy (issue #22) 2012-12-31 11:04:38 -08:00
Alex Vondrak 18beab8e12 compiler.cfg.ssa.cssa: split the definitions of ##phis so live-ranges don't interfere (issue #22)
See the explanation after the proof of Lemma 1 in "Revisiting Out-of-SSA
Translation for Correctness, Code Quality, and Efficiency" (Boissinot et
al.) for why this is necessary.
2012-12-31 11:04:26 -08:00
Doug Coleman 6246b4dce1 starting point - Fix bootstrap; I broke it in merging. Disable environment variables because the compiler isn't loaded yet and can't call C ffi functions, and tools.test loads this vocab.
Disable intrinsics in cpu.x86.64 for now, since they invoke the compiler
Fix ##branch renaming to ##branch,
To work on this branch:
./factor -include=math -i=boot.image
./factor -run=listener
USE: compiler USE: tools.test save
enable-optimizer

Error message is now:
T{ vregs-shouldn't-interfere f 409 424 }
2012-12-31 11:03:45 -08:00
Slava Pestov cbd276821a WIP 2012-12-31 11:03:33 -08:00
John Benediktsson bf891c9634 change some "2drop 2drop" to "4drop". 2012-10-23 12:21:30 -07:00
John Benediktsson 2b719f5eec compiler.tree.propagation: revert cleanup, this was more correct. 2012-10-05 15:00:49 -07:00
John Benediktsson 6ccd545c92 compiler.tree.propagation: throw the proper error in >fixnum methods. 2012-10-05 09:54:51 -07:00
John Benediktsson de166e6f9b compiler.tree.propagation: cleanup known-words a bit. 2012-10-05 09:47:27 -07:00
John Benediktsson 2bdb46f063 compiler.tree.propagation: make sure integer>fixnum-strict infers a fixnum. 2012-10-05 04:17:43 -07:00
Alex Vondrak f2034ba5c8 compiler.cfg.copy-prop: kludge to make sure ##phis get updated 2012-09-12 15:14:11 -07:00
Alex Vondrak 2afa20cc1a move compiler.cfg.graphviz & compiler.cfg.gvn from basis to extra, just to keep organized 2012-09-12 15:14:07 -07:00
Alex Vondrak b1eb7c74b3 compiler.cfg.graphviz: tweak code & output a little 2012-09-12 15:14:06 -07:00
Alex Vondrak fa9c41b834 compiler.cfg.graphviz: refactoring 2012-09-12 15:14:06 -07:00
Alex Vondrak 384561b69a add crappy experimental code for compiler.cfg.graphviz & compiler.cfg.gvn 2012-09-12 15:14:06 -07:00
John Benediktsson 4fc3b68f85 compiler.tree.propagation: fix >fraction types. 2012-09-11 07:42:39 -07:00
John Benediktsson 56a010441a math.ratios: speed up some operations on ratios. 2012-09-10 19:53:25 -07:00
John Benediktsson ddc047d161 compiler.tree.cleanup: fix "-1 shift" tests. 2012-09-10 19:24:23 -07:00
John Benediktsson 9992096028 math: cleaner "2/" speedup by using custom inlining. 2012-09-10 17:59:03 -07:00
John Benediktsson 834f9a8284 compiler.cfg.representations.selection: removing 10^ in favor of 10^. 2012-09-05 09:25:26 -07:00
Doug Coleman ba51919e50 assocs: Add sift-keys and sift-values. Remove three other implementations
of sift-values and use the new one.
2012-08-23 22:36:10 -07:00
John Benediktsson 19d31a6fb0 layouts: defining "fixnum-bits". 2012-08-21 18:05:59 -07:00
Doug Coleman d15a2357d1 core: Throw an error when assigning a bignum to a fixnum tuple slot if the bignum doesn't fit. Fixes #594. 2012-08-03 14:59:59 -07:00
John Benediktsson 5de88bcd88 compiler.cfg: don't need to escape the symbol here. 2012-08-02 15:14:42 -07:00
John Benediktsson 1ac7188486 compiler.codegen: instruction counter is a global. 2012-08-02 15:06:04 -07:00
Doug Coleman a6c3ddf691 sequences: Fix tests that broke when nth could only be integers. Undo integer>fixnum in iota nth. See bug #582. 2012-07-25 22:17:24 -07:00
Doug Coleman 80b7014ae1 modular-arithmetic: Fix unit test. Should expect integer>fixnum, not >fixnum. 2012-07-23 11:51:44 -07:00
Doug Coleman c25d044788 compiler: Fix bitand on ratios, floats. Fix shift on ratios, floats. Add integer>fixnum. Fixes #500. 2012-07-23 09:31:12 -07:00