Documentation ¶
Overview ¶
Package optimize analyzes and optimizes Nebula IR.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ControlFlowGraph ¶
ControlFlowGraph creates a directed graph with edges representing the connections between basic blocks.
func DependenceGraph ¶
func DependenceGraph(block *ir.BasicBlock) graph.Graph
DependenceGraph creates an undirected graph with edges representing dependencies between nodes.
func Dependent ¶
Dependent returns whether two non-branching nodes are dependent. True is returned when node B is dependent on node A. Nodes are dependent when both are I/O instructions, one is I/O and the other can throw, both assign to the same value, or one reads the value assigned to by the other. Dependent is reflexive.
func FoldConstArith ¶
FoldConstArith folds and propagates constant arithmetic expressions or identities.
Types ¶
This section is empty.