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.