tvm_tirx.tirx.transform.Filter

Contents

tvm_tirx.tirx.transform.Filter#

tvm_tirx.tirx.transform.Filter(fcond)#

Remove TIRx functions for which fcond(function) is false.

The predicate receives a Function and returns a boolean.

Returns:

fpass (tvm_tirx.ir.transform.Pass) – The result pass

Parameters:

fcond (Callable)

Examples

import tvm_tirx as tvm
from tvm_tirx.script import ir as I, tirx as T
from tvm_tirx.tirx import transform as tr

@I.ir_module
class Before:
    @T.function(private=True)
    def main():
        T.evaluate(0)

@I.ir_module
class Expected:
    pass

def run_pass():
    return tr.Filter(lambda f: False)(Before)

tvm.ir.assert_structural_equal(run_pass(), Expected)