kirin.rewrite.compactify.SkipBlock
← Module overview
class
method
sourcemethod
sourcemethod
sourcemethod
sourcemethod
sourcemethod
sourcemethod
source
classSkipBlock¶source
kirin.rewrite.compactify.SkipBlock
Bases: RewriteRule
Simplify a block that only contains a branch statement.
class SkipBlock(cfg: CFG)Parameters
| Name | Type | Description |
|---|---|---|
cfg | CFG |
Attributes
| Name | Type | Description |
|---|---|---|
cfg | CFG |
methodrewrite_Region¶source
kirin.rewrite.compactify.SkipBlock.rewrite_Region
def rewrite_Region(node: ir.Region) -> RewriteResultParameters
| Name | Type | Description |
|---|---|---|
node | ir.Region |
Returns
RewriteResult
methodrewrite_Block¶source
kirin.rewrite.compactify.SkipBlock.rewrite_Block
def rewrite_Block(node: ir.Block) -> RewriteResultParameters
| Name | Type | Description |
|---|---|---|
node | ir.Block |
Returns
RewriteResult
methodcan_skip¶source
kirin.rewrite.compactify.SkipBlock.can_skip
def can_skip(terminator: cf.Branch, value: ir.SSAValue) -> boolParameters
| Name | Type | Description |
|---|---|---|
terminator | cf.Branch | |
value | ir.SSAValue |
Returns
bool
methodrewrite_pred¶source
kirin.rewrite.compactify.SkipBlock.rewrite_pred
Signature
def rewrite_pred(node: ir.Block, node_terminator: cf.Branch, predecessor: ir.Block) -> boolParameters
| Name | Type | Description |
|---|---|---|
node | ir.Block | |
node_terminator | cf.Branch | |
predecessor | ir.Block |
Returns
bool
methodrewrite_pred_Branch¶source
kirin.rewrite.compactify.SkipBlock.rewrite_pred_Branch
Signature
def rewrite_pred_Branch(node: ir.Block, node_terminator: cf.Branch, predecessor: ir.Block, pred_terminator: cf.Branch) -> boolParameters
| Name | Type | Description |
|---|---|---|
node | ir.Block | |
node_terminator | cf.Branch | |
predecessor | ir.Block | |
pred_terminator | cf.Branch |
Returns
bool
methodrewrite_pred_ConditionalBranch¶source
kirin.rewrite.compactify.SkipBlock.rewrite_pred_ConditionalBranch
Signature
def rewrite_pred_ConditionalBranch(node: ir.Block, node_terminator: cf.Branch, predecessor: ir.Block, pred_terminator: cf.ConditionalBranch) -> boolParameters
| Name | Type | Description |
|---|---|---|
node | ir.Block | |
node_terminator | cf.Branch | |
predecessor | ir.Block | |
pred_terminator | cf.ConditionalBranch |
Returns
bool
methodfix_cfg¶source
kirin.rewrite.compactify.SkipBlock.fix_cfg
def fix_cfg(predecessor: ir.Block, node: ir.Block, successor: ir.Block)Parameters
| Name | Type | Description |
|---|---|---|
predecessor | ir.Block | |
node | ir.Block | |
successor | ir.Block |