compiler.tree.propagation.known-words: adding known outputs for some words.

db4
John Benediktsson 2013-01-21 20:28:17 -08:00
parent df0c03eeb8
commit 7a63013916
1 changed files with 24 additions and 18 deletions

View File

@ -1,23 +1,17 @@
! Copyright (C) 2008, 2010 Slava Pestov. ! Copyright (C) 2008, 2010 Slava Pestov.
! See http://factorcode.org/license.txt for BSD license. ! See http://factorcode.org/license.txt for BSD license.
USING: effects accessors kernel kernel.private layouts math USING: accessors alien alien.accessors alien.data.private
math.private math.integers.private math.floats.private arrays assocs byte-arrays byte-vectors classes classes.algebra
math.partial-dispatch math.intervals math.parser math.order classes.tuple classes.tuple.private combinators
math.functions math.libm math.ratios namespaces words sequences compiler.tree.comparisons compiler.tree.propagation.constraints
sequences.private arrays assocs classes classes.algebra compiler.tree.propagation.info compiler.tree.propagation.simple
combinators generic.math splitting fry locals classes.tuple compiler.tree.propagation.slots fry generic.math hashtables
alien.accessors classes.tuple.private slots.private definitions kernel kernel.private layouts locals math math.floats.private
strings.private vectors hashtables generic quotations alien math.functions math.integers.private math.intervals math.libm
alien.data alien.data.private math.parser math.partial-dispatch math.private namespaces sbufs
stack-checker.dependencies sequences slots.private splitting strings strings.private
compiler.tree.comparisons vectors words ;
compiler.tree.propagation.info USE: compiler.tree.propagation.transforms ! required?
compiler.tree.propagation.nodes
compiler.tree.propagation.slots
compiler.tree.propagation.simple
compiler.tree.propagation.constraints
compiler.tree.propagation.call-effect
compiler.tree.propagation.transforms ;
FROM: alien.c-types => (signed-interval) (unsigned-interval) ; FROM: alien.c-types => (signed-interval) (unsigned-interval) ;
IN: compiler.tree.propagation.known-words IN: compiler.tree.propagation.known-words
@ -240,6 +234,18 @@ generic-comparison-ops [
'[ _ swap interval>> <class/interval-info> ] "outputs" set-word-prop '[ _ swap interval>> <class/interval-info> ] "outputs" set-word-prop
] assoc-each ] assoc-each
{
{ >array array }
{ >vector vector }
{ >string string }
{ >sbuf sbuf }
{ >byte-array byte-array }
{ >byte-vector byte-vector }
{ >hashtable hashtable }
} [
'[ drop _ <class-info> ] "outputs" set-word-prop
] assoc-each
{ numerator denominator } { numerator denominator }
[ [ drop integer <class-info> ] "outputs" set-word-prop ] each [ [ drop integer <class-info> ] "outputs" set-word-prop ] each