code: def _get_cache_key(source_func, target):
      if isinstance(source_func, _function.Function):
          if isinstance(target, str):
              target = Target(target)
              if not target:
                  raise ValueError(
                      "Need target when source_func is a Function"
                  )
          return CCacheKey(source_func, target)
      if not isinstance(source_func, CCacheKey):
          raise TypeError("Expect source_func to be CCacheKey")
      return source_func
  
imports: from __future__ import absolute_import
  import logging
  import numpy
  import tvm
  from tvm import autotvm, te
  from tvm.auto_scheduler import is_auto_scheduler_enabled
  from tvm.meta_schedule import is_meta_schedule_enabled
  from tvm.runtime import Object
  from tvm.support import libinfo
  from tvm.target import Target
  from ..None import function
  from ..None import ty
  from ..backend.utils import mangle_module_name
  from .None import _backend
label_desc: Use image node_id 1 for calling a global function with example usage: _get_cache_key(source_func, target) and returns: source_func, CCacheKey