Unroll
UnrollScf dataclass
UnrollScf(dialects: DialectGroup, *, no_raise: bool = True)
Bases: Pass
flowchart TD
kirin.passes.aggressive.unroll.UnrollScf[UnrollScf]
kirin.passes.abc.Pass[Pass]
kirin.passes.abc.Pass --> kirin.passes.aggressive.unroll.UnrollScf
click kirin.passes.aggressive.unroll.UnrollScf href "" "kirin.passes.aggressive.unroll.UnrollScf"
click kirin.passes.abc.Pass href "" "kirin.passes.abc.Pass"
This pass can be used to unroll scf.For loops and inline/expand scf.IfElse when the input are known at compile time.
usage
UnrollScf(dialects).fixpoint(method)
Note: This pass should be used in a fixpoint manner, to unroll nested scf nodes.