diff --git a/basis/compiler/cfg/value-numbering/simd/simd.factor b/basis/compiler/cfg/value-numbering/simd/simd.factor index 16d649a067..c0816e8c57 100644 --- a/basis/compiler/cfg/value-numbering/simd/simd.factor +++ b/basis/compiler/cfg/value-numbering/simd/simd.factor @@ -3,7 +3,7 @@ USING: accessors combinators combinators.short-circuit arrays fry kernel layouts math namespaces sequences cpu.architecture math.bitwise math.order classes generalizations -combinators.smart locals make alien.c-types io.binary grouping +locals make alien.c-types io.binary grouping math.vectors.simd.intrinsics compiler.cfg compiler.cfg.registers @@ -84,8 +84,8 @@ M: ##gather-int-vector-2 rewrite rewrite-gather-vector-2 ; insn dst>> [ src1 src2 src3 src4 - [ insn rep>> scalar-value ] 4 napply - ] B{ } append-outputs-as + [ insn rep>> scalar-value % ] 4 napply + ] B{ } make ##load-reference new-insn ; : rewrite-gather-vector-4 ( insn -- insn/f ) diff --git a/basis/compiler/codegen/codegen.factor b/basis/compiler/codegen/codegen.factor index 1c510a2fcd..8b2e1e643e 100755 --- a/basis/compiler/codegen/codegen.factor +++ b/basis/compiler/codegen/codegen.factor @@ -2,9 +2,10 @@ ! See http://factorcode.org/license.txt for BSD license. USING: byte-arrays namespaces make math math.order math.parser sequences accessors kernel layouts assocs words summary arrays -combinators combinators.smart sets continuations.private fry +combinators sets continuations.private fry cpu.architecture classes classes.struct locals slots parser generic.parser strings quotations hashtables +sequences.generalizations compiler.constants compiler.cfg compiler.cfg.linearization @@ -106,7 +107,7 @@ M: ##dispatch generate-insn label-table get ] B{ } make dup check-fixup - ] output>array ; inline + ] call 5 narray ; inline : generate ( cfg -- code ) [ diff --git a/basis/compiler/compiler.factor b/basis/compiler/compiler.factor index 5a15bf0c5f..797d5f2143 100644 --- a/basis/compiler/compiler.factor +++ b/basis/compiler/compiler.factor @@ -2,9 +2,8 @@ ! See http://factorcode.org/license.txt for BSD license. USING: accessors kernel namespaces arrays sequences io words fry continuations vocabs assocs definitions math graphs generic -generic.single combinators combinators.smart macros -source-files.errors combinators.short-circuit classes.algebra -vocabs.loader +generic.single combinators macros make source-files.errors +combinators.short-circuit classes.algebra vocabs.loader stack-checker stack-checker.dependencies stack-checker.inlining stack-checker.errors @@ -165,11 +164,11 @@ M: optimizing-compiler recompile ( words -- alist ) M: optimizing-compiler to-recompile ( -- words ) [ - changed-effects get new-words get assoc-diff outdated-effect-usages - changed-definitions get new-words get assoc-diff outdated-definition-usages - maybe-changed get new-words get assoc-diff outdated-conditional-usages - changed-definitions get [ drop word? ] assoc-filter 1array - ] append-outputs assoc-combine keys ; + changed-effects get new-words get assoc-diff outdated-effect-usages % + changed-definitions get new-words get assoc-diff outdated-definition-usages % + maybe-changed get new-words get assoc-diff outdated-conditional-usages % + changed-definitions get [ drop word? ] assoc-filter 1array % + ] { } make assoc-combine keys ; M: optimizing-compiler process-forgotten-words [ delete-compiled-xref ] each ;