Source Information Builder, SIBuilder provides helper APIs for filling spans, particularly useful for one-to-many, many-to-one and many-to-many IR transformations.
More...
#include <si_builder.h>
|
| SIBuilder (const Span &span=Span()) |
| Create SIBuilder from a given span. More...
|
|
| SIBuilder (const Array< Span > &spans=Array< Span >()) |
| Create SIBuilder from a given span sequence. More...
|
|
| SIBuilder (const std::initializer_list< Span > &init) |
|
template<typename T , typename = std::enable_if_t<std::is_base_of<BaseExpr, T>::value>> |
| SIBuilder (const T &entry, const tvm::Array< T > &inputs={}) |
| Create SIBuilder via a subgraph, Will construct span based on the exprs in the subgraph. Including the inputs exprs. More...
|
|
| SIBuilder (const tir::Stmt &entry, const tvm::Array< PrimExpr > &inputs={}) |
|
| SIBuilder (const tir::Stmt &entry, const tvm::Array< tir::Stmt > &inputs={}) |
|
| ~SIBuilder () |
|
| SIBuilder (const SIBuilder &)=delete |
|
SIBuilder & | operator= (const SIBuilder &)=delete |
|
Span | Build () const |
| build a span of source information, which is based on the given span or subgraph. More...
|
|
template<typename T , typename = std::enable_if_t<std::is_base_of<BaseExpr, T>::value>> |
void | RecursivelyFillSpan (const T &entry, const std::unordered_set< T, ObjectPtrHash, ObjectPtrEqual > &inputs) const |
| Recursively fill all span of exprs in subgraph from entry until inputs. More...
|
|
void | RecursivelyFillSpan (const tir::Stmt &entry, const std::unordered_set< PrimExpr, ObjectPtrHash, ObjectPtrEqual > &inputs) const |
|
void | RecursivelyFillSpan (const tir::Stmt &entry, const std::unordered_set< tir::Stmt, ObjectPtrHash, ObjectPtrEqual > &inputs) const |
|
Source Information Builder, SIBuilder provides helper APIs for filling spans, particularly useful for one-to-many, many-to-one and many-to-many IR transformations.
◆ SIBuilder() [1/7]
tvm::SIBuilder::SIBuilder |
( |
const Span & |
span = Span() | ) |
|
|
explicit |
◆ SIBuilder() [2/7]
◆ SIBuilder() [3/7]
tvm::SIBuilder::SIBuilder |
( |
const std::initializer_list< Span > & |
init | ) |
|
|
explicit |
◆ SIBuilder() [4/7]
template<typename T , typename = std::enable_if_t<std::is_base_of<BaseExpr, T>::value>>
tvm::SIBuilder::SIBuilder |
( |
const T & |
entry, |
|
|
const tvm::Array< T > & |
inputs = {} |
|
) |
| |
|
explicit |
Create SIBuilder via a subgraph, Will construct span based on the exprs in the subgraph. Including the inputs exprs.
- Parameters
-
entry | Entry expr for subgraph |
inputs | End exprs for subgraph |
◆ SIBuilder() [5/7]
◆ SIBuilder() [6/7]
◆ ~SIBuilder()
tvm::SIBuilder::~SIBuilder |
( |
| ) |
|
◆ SIBuilder() [7/7]
tvm::SIBuilder::SIBuilder |
( |
const SIBuilder & |
| ) |
|
|
delete |
◆ Build()
Span tvm::SIBuilder::Build |
( |
| ) |
const |
build a span of source information, which is based on the given span or subgraph.
- Returns
- the built span
◆ operator=()
◆ RecursivelyFillSpan() [1/3]
template<typename T , typename = std::enable_if_t<std::is_base_of<BaseExpr, T>::value>>
void tvm::SIBuilder::RecursivelyFillSpan |
( |
const T & |
entry, |
|
|
const std::unordered_set< T, ObjectPtrHash, ObjectPtrEqual > & |
inputs |
|
) |
| const |
Recursively fill all span of exprs in subgraph from entry until inputs.
- Parameters
-
entry | Entry expr for subgraph. |
inputs | End exprs for subgraph, will not be filled with new span. |
◆ RecursivelyFillSpan() [2/3]
◆ RecursivelyFillSpan() [3/3]
The documentation for this class was generated from the following file: