numba.pipeline

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.Pipeline(context, func, ast, func_signature, nopython=False, locals=None, order=None, codegen=False, symtab=None, allow_rebind_args=True, template_signature=None, is_closure=False, **kwargs)

Runs a pipeline of transforms.

cleanup_symtab(ast)

Pop original variables from the symtab

insert_specializer(name, after=None, before=None)

Insert a new transform or visitor into the pipeline

make_specializer(cls, ast, **kwds)

Create a visitor or transform and add any mixins

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.compile(context, 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.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_types(context, func, restype=None, argtypes=None, **kwargs)

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

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

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

numba.pipeline.run_pipeline(context, func, ast, func_signature, pipeline=None, **kwargs)

Run a bunch of AST transformers and visitors on the AST.

Previous topic

numba.nodes

Next topic

numba.pycc

This Page