Open Table Of Contents


This module contains the Pipeline class which provides a pluggable way to define the transformations and the order in which they run on the AST.

class numba.pipeline.ErrorReporting

Sort and issue warnings and errors

class numba.pipeline.LinkingStage

Link the resulting LLVM function into the global fat module.

class numba.pipeline.WrapperStage

Build a wrapper LLVM function around the compiled numba function to call it from Python.

numba.pipeline.cleanup_symtab(ast, env)

Pop original variables from the symtab

numba.pipeline.compile2(env, func, restype=None, argtypes=None, ctypes=False, compile_only=False, **kwds)

Compile a numba annotated function.

  • decompile function into a Python ast
  • run type inference using the given input types
  • compile the function to LLVM
numba.pipeline.create_lfunc(tree, env)

Update the FunctionEnvironment with an LLVM function if the signature is known (try this before type inference to support recursion).

numba.pipeline.infer_types2(env, func, restype=None, argtypes=None, **kwargs)

Like run_pipeline, but takes restype and argtypes instead of a FunctionType