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.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

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.infer_types(context, 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