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


Metadata files


Children from resource:basis
VocabularySummary
compiler.cfg.alias-analysisAlias analysis for stack operations, array elements and tuple slots
compiler.cfg.block-joining
compiler.cfg.branch-splitting
compiler.cfg.build-stack-frameComputing stack frame size and layout
compiler.cfg.builderFinal stage of compilation generates machine code from dataflow IR
compiler.cfg.checker
compiler.cfg.comparisons
compiler.cfg.copy-propCommon code used by several passes to perform copy propagation
compiler.cfg.dataflow-analysis
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.dominance
compiler.cfg.finalization
compiler.cfg.gc-checks
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.linearization
compiler.cfg.liveness
compiler.cfg.loop-detection
compiler.cfg.optimizerTop-level harness for CFG optimization
compiler.cfg.parallel-copy
compiler.cfg.predecessorsComputing predecessors of basic blocks in CFG
compiler.cfg.registersVirtual single-assignment registers
compiler.cfg.renaming
compiler.cfg.representations
compiler.cfg.rpoReverse post-order linearization of CFG
compiler.cfg.save-contexts
compiler.cfg.ssa
compiler.cfg.stack-frame
compiler.cfg.stacksGenerating instructions for accessing the data and retain stacks
compiler.cfg.tco
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.graphviz
compiler.cfg.gvnGlobal value numbering for common subexpression elimination