code: def compile_llvm(device, prg) -> bytes:
      mod = llvm.parse_assembly(prg)
      mod.verify()
      device.optimizer.run(mod)
      if DEBUG >= 5:
          print(device.target_machine.emit_assembly(mod))
      return device.target_machine.emit_object(mod)
  
file_path: tinygrad/tinygrad/runtime/ops_llvm.py
imports: from __future__ import annotations
  import ctypes, functools
  from typing import Tuple
  from tinygrad.device import Compiled, MallocAllocator
  from tinygrad.helpers import DEBUG, cpu_time_execution
  from tinygrad.codegen.kernel import LinearizerOptions
  from tinygrad.renderer.llvmir import uops_to_llvm_ir
  import llvmlite.binding
label_desc: Use image node_id 1 for calling a global function with example usage: compile_llvm(device, prg) and returns: device