code: def _tensorlist_reserve():
      def _impl(inputs, attr, params, prelude):
          dtype_str = attr.get("element_dtype").name
          elem_shape = _infer_value(inputs[0], params, prelude.mod)
          elem_shape = tuple(
              elem_shape.numpy().astype("int32").flatten()
          )
  
          if elem_shape or "shape" in attr:
              shape = attr["shape"] if "shape" in attr else elem_shape
              static_tensor_array_ops = StaticTensorArrayOps(
                  prelude, dtype_str, shape
              )
              static_tensor_array_ops.register()
              tensor_array_constructor = (
                  static_tensor_array_ops.get_global_var("tensor_array")
              )
              tensor_array = tensor_array_constructor(inputs[1])
          else:
              tensor_array_constructor = prelude.get_global_var(
                  "tensor_array", dtype_str
              )
              tensor_array = tensor_array_constructor(inputs[1])
          return tensor_array
  
      return _impl
  
file_path: tvm/python/tvm/relay/frontend/tensorflow2_ops.py
imports: import tvm
  from tvm.relay.prelude import StaticTensorArrayOps, get_tensor_array_shape
  from ..None import op
  from ..ty import Any
  from .common import infer_value
  from .common import infer_type
  from .tensorflow_ops import _get_more_static_shape_rank
label_desc: Use image node_id 3 for calling a global function with example usage: _tensorlist_reserve() and returns: _impl, tensor_array