class_docstr: A stack frame of the IRBuilder used to keep track of the current scope.
  Furthermore, the information stored in each stack frame can be useful for context-dependent
  IR construction.
  
  Examples
  --------
  
  The `T.match_buffer` below instead an element in the buffer map of `PrimFuncFrame`:
  
  .. code-block:: python
  
  from tvm.script.ir_builder import tir as T
  from tvm.script.ir_builder import IRBuilder
  
  with IRBuilder() as builder:
      with T.prim_func(...):  # pushes a PrimFuncFrame (subclass of IRBuilderFrame)
                              # to `builder`'s stack of frames
          buffer = T.match_buffer(...)
  
  
  The `T.match_buffer` below instead generates `MatchBufferRegion` in a TIR block:
  
  .. code-block:: python
  
  from tvm.script.ir_builder import tir as T
  from tvm.script.ir_builder import IRBuilder
  
  with IRBuilder() as builder:
      with T.prim_func(...):  # pushes a PrimFuncFrame (subclass of IRBuilderFrame)
                              # to `builder`'s stack of frames
          with T.block(...):  # pushes a BlockFrame (subclass of IRBuilderFrame)
                              # to `builder`'s stack of frames
              buffer = T.match_buffer(...)
class_docstr_tok: ["A","stack","frame","of","the","IRBuilder","used","to","keep","track","of","the","current","scope",".","Furthermore",",","the","information","stored","in","each","stack","frame","can","be","useful","for","context-dependent","IR","construction",".","Examples","--","--","--","--","The","`","T.match_buffer","`","below","instead","an","element","in","the","buffer","map","of","`","PrimFuncFrame","`",":","..","code-block",":",":","python","from","tvm.script.ir_builder","import","tir","as","T","from","tvm.script.ir_builder","import","IRBuilder","with","IRBuilder","(",")","as","builder",":","with","T.prim_func","(","...",")",":","#","pushes","a","PrimFuncFrame","(","subclass","of","IRBuilderFrame",")","#","to","`","builder","`","'s","stack","of","frames","buffer","=","T.match_buffer","(","...",")","The","`","T.match_buffer","`","below","instead","generates","`","MatchBufferRegion","`","in","a","TIR","block",":","..","code-block",":",":","python","from","tvm.script.ir_builder","import","tir","as","T","from","tvm.script.ir_builder","import","IRBuilder","with","IRBuilder","(",")","as","builder",":","with","T.prim_func","(","...",")",":","#","pushes","a","PrimFuncFrame","(","subclass","of","IRBuilderFrame",")","#","to","`","builder","`","'s","stack","of","frames","with","T.block","(","...",")",":","#","pushes","a","BlockFrame","(","subclass","of","IRBuilderFrame",")","#","to","`","builder","`","'s","stack","of","frames","buffer","=","T.match_buffer","(","...",")"]
code: def __exit__(
      self, exc_type, exc_value, trace
  ) -> None:  # pylint: disable=unused-argument
      if exc_type is None and exc_value is None:
          # Do not execute `FrameExit` if the with scope exits because of exceptions
          _ffi_api.IRBuilderFrameExit(self)
  
file_path: tvm/python/tvm/script/ir_builder/base.py
imports: from typing import Any, Callable, List
  from tvm._ffi import register_object
  from tvm.runtime import Object
  from .None import _ffi_api
label_desc: Use image node_id 2 for calling the IRBuilderFrame obj's underlying member method code with example usage: obj.__exit__(exc_type, exc_value, trace) without return types