code: def find_clang(required=True):
      """Find clang in system.
  
      Parameters
      ----------
      required : bool
          Whether it is required,
          runtime error will be raised if the compiler is required.
  
      Returns
      -------
      valid_list : list of str
          List of possible paths.
  
      Note
      ----
      This function will first search clang that
      matches the major llvm version that built with tvm
      """
      cc_list = []
      major = tvm.target.codegen.llvm_version_major(allow_none=True)
      if major is not None:
          cc_list += [f"clang-{major}.0"]
          cc_list += [f"clang-{major}"]
      cc_list += ["clang"]
      cc_list += ["clang.exe"]
      valid_list = [utils.which(x) for x in cc_list]
      valid_list = [x for x in valid_list if x]
      if not valid_list and required:
          raise RuntimeError(
              "cannot find clang, candidates are: " + str(cc_list)
          )
      return valid_list
  
imports: import subprocess
  from tvm._ffi.base import py_str
  import tvm.target
  from .None import utils
label_desc: Use image node_id 1 for calling a global function with example usage: find_clang(required) and returns: valid_list