kirin.analysis.const.prop.Frame
← Module overview
class
classFrame¶source
kirin.analysis.const.prop.Frame
Bases: ForwardFrame[Result]
Signature
class Frame(code: Statement, worklist: WorkList[Successor[ResultType]] = WorkList(), visited: dict[ir.Block, set[tuple[Successor[ResultType], int]]] = dict(), should_be_pure: set[ir.Statement] = set(), frame_is_not_pure: bool = False, *, parent: FrameABC | None = None, has_parent_access: bool = False, lineno_offset: int = 0, entries: dict[SSAValue, ValueType] = dict())Parameters
| Name | Type | Default | Description |
|---|---|---|---|
code | Statement | required | |
worklist | WorkList[Successor[ResultType]] | WorkList() | |
visited | dict[ir.Block, set[tuple[Successor[ResultType], int]]] | dict() | |
should_be_pure | set[ir.Statement] | set() | |
frame_is_not_pure | bool | False | |
parent | FrameABC | None | None | |
has_parent_access | bool | False | |
lineno_offset | int | 0 | |
entries | dict[SSAValue, ValueType] | dict() |
Attributes
| Name | Type | Default | Description |
|---|---|---|---|
should_be_pure | set[ir.Statement] | field(default_factory=set) | If any ir.MaybePure is actually pure. |
frame_is_not_pure | bool | False | If we hit any non-pure statement. |