Handbook
Glossary
auto-vectorize ( cfg -- )
Vocabulary
compiler
.
cfg
.
slp
Inputs
cfg
an
object
Outputs
None
Definition
USING:
accessors
assocs
compiler.cfg
compiler.cfg.def-use
compiler.cfg.instructions
compiler.cfg.rpo
kernel
namespaces
sequences
;
IN:
compiler.cfg.slp
::
auto-vectorize
( cfg -- )
automatic-slp?
get
[
H{
{
"vector-operations"
0
}
{
"packs"
0
}
}
clone
slp-statistics
set
slp-supported?
[
cfg
post-order
:>
blocks blocks
[
instructions>>
[
slp-pointer-source?
]
any?
]
any?
[
"pointer-cfgs-skipped"
slp-statistics
get
inc-at
]
[
H{
}
clone
:>
uses blocks
[
instructions>>
[|
insn |
insn
uses-vregs
~quotation~
each
insn
gc-map-insn?
~quotation~
when
]
each
]
each
cfg
[
uses
vectorize-slp-block
]
simple-optimization
cfg
cfg-changed
]
if
]
when
]
when
;