'Back-end: Generate LLVM IR from Numba IR, compile to machine code'

def _backend(self, lowerfn, objectmode):

    if (self.library is None):
        codegen = self.targetctx.codegen()
        self.library = codegen.create_library(self.func_id.func_qualname)
        self.library.enable_object_caching()
    lowered = lowerfn()
    signature = typing.signature(self.return_type, *self.args)
    self.cr = compile_result(typing_context=self.typingctx, target_context=self.targetctx, entry_point=lowered.cfunc, typing_error=self.status.fail_reason, type_annotation=self.type_annotation, library=self.library, call_helper=lowered.call_helper, signature=signature, objectmode=objectmode, interpmode=False, lifted=self.lifted, fndesc=lowered.fndesc, environment=lowered.env, has_dynamic_globals=lowered.has_dynamic_globals)
