class_docstr: Python AST visitor pass which finally lowers it to HalideIR
code: def visit_If(self, node):
      cond = self.analyzer.simplify(self.visit(node.test))
  
      # Return no IfThenElse if proven
      if isinstance(cond, _expr.IntImm):
          if cond.value:
              return visit_list_to_block(self.visit, node.body)
          if node.orelse:
              return visit_list_to_block(self.visit, node.orelse)
          return utils.make_nop()
  
      if_body = visit_list_to_block(self.visit, node.body)
  
      if node.orelse:
          else_body = visit_list_to_block(self.visit, node.orelse)
      else:
          else_body = None
      return tvm.tir.IfThenElse(cond, if_body, else_body)
  
imports: import ast
  import operator
  import logging
  import sys
  import numbers
  from enum import Enum
  from tvm.ir import Array, Range
  import tvm.runtime
  import tvm.tir
  import tvm.te
  import tvm.te._ffi_api
  import tvm.arith
  from tvm.tir import expr
  from tvm.tir import stmt
  from tvm.te.tensor import Tensor, Operation
  from tvm.tir import all
  from tvm.tir import any
  from .utils import _internal_assert
  from .None import calls
  from .None import utils
  from .preprocessor import determine_variable_usage
label_desc: Use image node_id 17 for calling the HybridParser obj's underlying member method code with example usage: obj.visit_If(node) and returns: tvm, utils, visit_list_to_block, visit_list_to_block