Handbook
Glossary
vectorize-slp-region ( insns uses -- insns' )
Vocabulary
compiler
.
cfg
.
slp
Inputs
insns
an
object
uses
an
object
Outputs
insns'
an
object
Definition
USING:
accessors
arrays
assocs
compiler.cfg.def-use
kernel
math
namespaces
sequences
sets
;
IN:
compiler.cfg.slp
::
vectorize-slp-region
( insns uses -- insns' )
insns uses
find-slp-tree
[|
tree |
tree
slp-tree-nodes
[
opcode>>
>boolean
]
filter
:>
operations operations
[
pair>>
]
map
concat
:>
removed tree
pair>>
second
:>
last-root tree
emit-slp
:>
replacement
"packs"
slp-statistics
get
inc-at
operations
length
"vector-operations"
slp-statistics
get
[
0
or
+
]
change-at
insns
[|
insn |
insn
defs-vregs
removed
intersects?
[
insn
defs-vregs
last-root
swap
member?
[
replacement
]
[
{
}
]
if
]
[
insn
1array
]
if
]
map
concat
]
[
insns
]
if*
;