When try to apply a pattern on a control flow IR, it crashes

Is it expected? Should I get data flow block before using rewrite or partition 
or is pattern language supposed to work in each data flow block?

This is the patch to reproduce

```
diff --git a/tests/python/frontend/tensorflow/test_control_flow.py 
b/tests/python/frontend/tensorflow/test_control_flow.py
index 9777a8dc4..e80cda65c 100644
--- a/tests/python/frontend/tensorflow/test_control_flow.py
+++ b/tests/python/frontend/tensorflow/test_control_flow.py
@@ -25,10 +25,22 @@ import numpy as np
 from tvm import nd
 from tvm import relay
 from tvm.relay.frontend.tensorflow import from_tensorflow
+from tvm.relay.dataflow_pattern import *
 
 
+add_pattern = is_op('add')(wildcard(), wildcard())
+sub_pattern = is_op('subtract')(wildcard(), wildcard())
+class TestRewrite(DFPatternCallback):
+    def __init__(self):
+        self.pattern = add_pattern
+    def callback(self, pre, post, node_map):
+        return post.args[0] - post.args[1]
+
 def check_equal(graph, tf_out, input_map=None):
     mod, params = from_tensorflow(graph.as_graph_def(add_shapes=True))
+
+    partition(TestRewrite().pattern, mod['main'].body)
+
     if input_map is not None:
         params.update(input_map)
     ex = relay.create_executor('vm', mod=mod)

```

Thanks





---
[Visit 
Topic](https://discuss.tvm.ai/t/rfc-relay-program-matching-for-relay-pt-1-a-pattern-language/5833/29)
 to respond.

You are receiving this because you enabled mailing list mode.

To unsubscribe from these emails, [click 
here](https://discuss.tvm.ai/email/unsubscribe/bd9c7169d4ab5d8c2be53f895a93eda85d3a8596347056c5381c5fd28be4ed48).

Reply via email to