compiler.cfg vocabulary
Factor handbook > Vocabulary index


Documentation
Control Flow Graph IR

Words

Tuple classes
ClassSuperclassSlots
basic-block identity-tuplenumber instructions successors predecessors kill-block? height replaces peeks kills
cfg tupleentry word label stack-frame frame-pointer? post-order linear-order predecessors-valid? dominance-valid? loops-valid?


Ordinary words
WordStack effect
<basic-block>( -- bb )
<cfg>( word label entry -- cfg )
cfg-changed( cfg -- )
local-allot-offset( n -- offset )
predecessors-changed( cfg -- )
spill-offset( n -- offset )
with-cfg( ..a cfg quot: ( ..a cfg -- ..b ) -- ..b )


Class predicate words
WordStack effect
basic-block?( object -- ? )
cfg?( object -- ? )


Files


Children from resource:basis
VocabularySummary
compiler.cfg.alias-analysisAlias analysis for stack operations, array elements and tuple slots
compiler.cfg.block-joiningcompiler.cfg.block-joining vocabulary
compiler.cfg.branch-splittingcompiler.cfg.branch-splitting vocabulary
compiler.cfg.build-stack-frameComputing stack frame size and layout
compiler.cfg.builderFinal stage of compilation generates machine code from dataflow IR
compiler.cfg.checkercompiler.cfg.checker vocabulary
compiler.cfg.comparisonscompiler.cfg.comparisons vocabulary
compiler.cfg.copy-propCommon code used by several passes to perform copy propagation
compiler.cfg.dataflow-analysiscompiler.cfg.dataflow-analysis vocabulary
compiler.cfg.dceDead code elimination
compiler.cfg.debuggerTools for debugging low-level optimizer
compiler.cfg.def-useCommon code used by several passes for def-use analysis
compiler.cfg.dominancecompiler.cfg.dominance vocabulary
compiler.cfg.finalizationcompiler.cfg.finalization vocabulary
compiler.cfg.gc-checkscompiler.cfg.gc-checks vocabulary
compiler.cfg.hatsUtility for constructing basic blocks
compiler.cfg.instructionsBasic block instructions
compiler.cfg.intrinsicsGenerating instructions from certain primitives
compiler.cfg.linear-scanLinear-scan register allocation
compiler.cfg.linearizationcompiler.cfg.linearization vocabulary
compiler.cfg.livenesscompiler.cfg.liveness vocabulary
compiler.cfg.loop-detectioncompiler.cfg.loop-detection vocabulary
compiler.cfg.optimizerTop-level harness for CFG optimization
compiler.cfg.parallel-copycompiler.cfg.parallel-copy vocabulary
compiler.cfg.predecessorsComputing predecessors of basic blocks in CFG
compiler.cfg.registersVirtual single-assignment registers
compiler.cfg.renamingcompiler.cfg.renaming vocabulary
compiler.cfg.representationscompiler.cfg.representations vocabulary
compiler.cfg.rpoReverse post-order linearization of CFG
compiler.cfg.save-contextscompiler.cfg.save-contexts vocabulary
compiler.cfg.ssacompiler.cfg.ssa vocabulary
compiler.cfg.stack-framecompiler.cfg.stack-frame vocabulary
compiler.cfg.stacksGenerating instructions for accessing the data and retain stacks
compiler.cfg.tcocompiler.cfg.tco vocabulary
compiler.cfg.useless-conditionalsEliminating unreachable basic blocks and unconditional jumps
compiler.cfg.utilitiesUtility words used by CFG optimization
compiler.cfg.value-numberingLocal value numbering for common subexpression elimination
compiler.cfg.write-barrierWrite barrier elimination


Children from resource:extra
VocabularySummary
compiler.cfg.graphvizcompiler.cfg.graphviz vocabulary
compiler.cfg.gvnGlobal value numbering for common subexpression elimination