tvm
|
Integer set. More...
Go to the source code of this file.
Classes | |
class | tvm::arith::IntSetNode |
Base class of all Integer set containers. represent a set of integers in one dimension. More... | |
class | tvm::arith::IntSet |
Managed reference to IntSetNode. More... | |
Namespaces | |
tvm | |
runtime implementation for LibTorch/TorchScript. | |
tvm::arith | |
namespace of arithmetic analysis. | |
Typedefs | |
using | tvm::arith::ExprIntSetMap = std::unordered_map< PrimExpr, IntSet, ObjectPtrHash, ObjectPtrEqual > |
Map from Expr to IntSet. More... | |
Enumerations | |
enum | tvm::arith::SignType { tvm::arith::kPositive , tvm::arith::kNegative , tvm::arith::kZero , tvm::arith::kUnknown , tvm::arith::kUnknown = 7 } |
Sign type of an integer expression. More... | |
Functions | |
Map< Var, IntSet > | tvm::arith::ConvertDomMap (const std::unordered_map< const VarNode *, IntSet > &dom_map) |
Convert std::unordered_map<const VarNode*, IntSet> to Map<Var, IntSet> More... | |
IntSet | tvm::arith::EvalSet (PrimExpr e, const Map< IterVar, IntSet > &dom_map) |
Find an symbolic integer set that contains all possible values of e given the domain of each iteration variables. More... | |
IntSet | tvm::arith::EvalSet (PrimExpr e, const Map< Var, IntSet > &dom_map) |
Find an symbolic integer set that contains all possible values of e given the domain of each variables. More... | |
IntSet | tvm::arith::EvalSet (PrimExpr e, const std::unordered_map< const tir::VarNode *, IntSet > &dom_map) |
Same as EvalSet, but takes unordered_map. More... | |
IntSet | tvm::arith::EvalSet (Range r, const Map< IterVar, IntSet > &dom_map) |
Find an symbolic integer set that contains is union over all the possible conditional values in dom_map. More... | |
IntSet | tvm::arith::EvalSet (IntSet s, const std::unordered_map< const VarNode *, IntSet > &dom_map) |
Find an symbolic integer set that contains is union over all the possible conditional values in dom_map. More... | |
IntSet | tvm::arith::EvalSet (Range r, const std::unordered_map< const VarNode *, IntSet > &dom_map) |
Same as EvalSet, but takes unordered_map. More... | |
Array< IntSet > | tvm::arith::EvalSet (const Array< Range > ®ion, const Map< Var, IntSet > &dom_map) |
Same as EvalSet, but takes Array<Range> More... | |
ExprIntSetMap | tvm::arith::EvalSetForEachSubExpr (PrimExpr e, const std::unordered_map< const VarNode *, IntSet > &dom_map) |
Find the integer set of every sub-expression, given the domain of each iteration variables. More... | |
IntSet | tvm::arith::Union (const Array< IntSet > &sets) |
Create a union set of all sets, possibly relaxed. More... | |
Array< IntSet > | tvm::arith::UnionRegion (const Array< Array< IntSet >> &nd_int_sets) |
The union of N-dimensional integer sets. More... | |
IntSet | tvm::arith::UnionLowerBound (const Array< IntSet > &sets) |
Create a lower-bound of union set, where some of the segments may be dropped. More... | |
Array< IntSet > | tvm::arith::UnionRegionLowerBound (const Array< Array< IntSet >> &nd_int_sets) |
The union of N-dimensional integer sets. More... | |
IntSet | tvm::arith::Intersect (const Array< IntSet > &sets) |
Create an intersected set of all sets. More... | |
Map< Var, arith::IntSet > | tvm::arith::AsIntSet (const Map< Var, Range > &var_dom) |
Converts the Ranges to IntSets. More... | |
Optional< Array< IntSet > > | tvm::arith::EstimateRegionStrictBound (const Array< Range > ®ion, const Map< Var, Range > &var_dom, const PrimExpr &predicate, arith::Analyzer *analyzer) |
Analyze the region with affine map, given the domain of variables and their predicate. The result should be strict, i.e. no region is discarded or relaxed. More... | |
Optional< Array< IntSet > > | tvm::arith::EstimateRegionLowerBound (const Array< Range > ®ion, const Map< Var, Range > &var_dom, const PrimExpr &predicate, arith::Analyzer *analyzer) |
Analyze the region with affine map, given the domain of variables and their predicate. Some subregion may be discarded during the lower-bound analysis. More... | |
Array< IntSet > | tvm::arith::EstimateRegionUpperBound (const Array< Range > ®ion, const Map< Var, Range > &var_dom, const PrimExpr &predicate, arith::Analyzer *analyzer) |
Analyze the region with affine map, given the domain of variables and their predicate Relaxation of the region may be used in upper-bound analysis, i.e. some extra region may be added to the result. More... | |
Integer set.