MCPcopy Create free account
hub / github.com/apache/tvm / visit_expr

Method visit_expr

tests/python/tirx-base/test_tir_stmt_functor.py:178–224  ·  view source on GitHub ↗

Simple expression visitor that logs expression types.

(self, expr)

Source from the content-addressed store, hash-verified

176 self.log.pop_scope()
177
178 def visit_expr(self, expr):
179 """Simple expression visitor that logs expression types."""
180 if expr is None:
181 return
182
183 if isinstance(expr, Var):
184 self.log.add("Var")
185 elif isinstance(expr, IntImm):
186 self.log.add("IntImm")
187 elif isinstance(expr, Add):
188 self.log.add("Add")
189 self.log.push_scope()
190 self.visit_expr(expr.a)
191 self.visit_expr(expr.b)
192 self.log.pop_scope()
193 elif isinstance(expr, Sub):
194 self.log.add("Sub")
195 self.log.push_scope()
196 self.visit_expr(expr.a)
197 self.visit_expr(expr.b)
198 self.log.pop_scope()
199 elif isinstance(expr, Mul):
200 self.log.add("Mul")
201 self.log.push_scope()
202 self.visit_expr(expr.a)
203 self.visit_expr(expr.b)
204 self.log.pop_scope()
205 elif isinstance(expr, EQ):
206 self.log.add("EQ")
207 self.log.push_scope()
208 self.visit_expr(expr.a)
209 self.visit_expr(expr.b)
210 self.log.pop_scope()
211 elif isinstance(expr, LT):
212 self.log.add("LT")
213 self.log.push_scope()
214 self.visit_expr(expr.a)
215 self.visit_expr(expr.b)
216 self.log.pop_scope()
217 elif isinstance(expr, GT):
218 self.log.add("GT")
219 self.log.push_scope()
220 self.visit_expr(expr.a)
221 self.visit_expr(expr.b)
222 self.log.pop_scope()
223 else:
224 self.log.add(f"Expr::{type(expr).__name__}")
225
226
227class ASTPrinterMutator(StmtMutator):

Callers 15

visit_tuple_Method · 0.95
visit_function_Method · 0.95
visit_call_Method · 0.95
visit_if_Method · 0.95
visit_tuple_getitem_Method · 0.95
visit_seq_expr_Method · 0.95
visit_var_binding_Method · 0.95
visit_match_cast_Method · 0.95
visit_buffer_load_Method · 0.95
visit_producer_load_Method · 0.95
visit_let_Method · 0.95
visit_call_Method · 0.95

Calls 3

addMethod · 0.45
push_scopeMethod · 0.45
pop_scopeMethod · 0.45

Tested by

no test coverage detected