tvm
Classes | Namespaces | Enumerations | Functions
analyzer.h File Reference

Algebra expression simplifications. More...

#include <tvm/arith/int_set.h>
#include <tvm/ir/expr.h>
#include <tvm/support/with.h>
#include <limits>
#include <memory>
#include <unordered_map>
#include <vector>
Include dependency graph for analyzer.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  tvm::arith::ConstIntBoundNode
 Constant integer up and lower bound(inclusive). Useful for value bound analysis. More...
 
class  tvm::arith::ConstIntBound
 reference class to ConstIntBoundNode More...
 
class  tvm::arith::ConstIntBoundAnalyzer
 Analyzer to get constant integer bound over expression. More...
 
class  tvm::arith::ModularSetNode
 Range of a linear integer function. Use to do specify the possible index values. More...
 
class  tvm::arith::ModularSet
 reference of ModularSetNode More...
 
class  tvm::arith::ModularSetAnalyzer
 Analyzer to get modular information over expression. More...
 
class  tvm::arith::RewriteSimplifier
 Rewrite-rule based simplifier. More...
 
class  tvm::arith::CanonicalSimplifier
 Canonical-form based simplifier. More...
 
class  tvm::arith::TransitiveComparisonAnalyzer
 Using previously specified knowns, compare the expressions provided. More...
 
class  tvm::arith::ConstraintContext
 Constraint context. More...
 
class  tvm::arith::IntSetAnalyzer
 Integer set analyzer. More...
 
class  tvm::arith::Analyzer
 Analyzer that contains bunch of sub-analyzers. More...
 

Namespaces

 tvm
 runtime implementation for LibTorch/TorchScript.
 
 tvm::arith
 namespace of arithmetic analysis.
 

Enumerations

enum  tvm::arith::DivMode { tvm::arith::kTruncDiv , tvm::arith::kFloorDiv }
 
enum class  tvm::arith::ProofStrength : int { tvm::arith::kDefault = 0 , tvm::arith::kSymbolicBound = 1 }
 The strength used in top-level condition proves. More...
 
enum class  tvm::arith::CompareResult : int {
  tvm::arith::kInconsistent = 0 , tvm::arith::kEQ = 1 , tvm::arith::kLT = 2 , tvm::arith::kLE = 3 ,
  tvm::arith::kGT = 4 , tvm::arith::kGE = 5 , tvm::arith::kNE = 6 , tvm::arith::kUnknown = 7
}
 Structure for representing result of known. More...
 

Functions

constexpr CompareResult tvm::arith::operator& (CompareResult lhs, CompareResult rhs)
 
constexpr CompareResult tvm::arith::operator| (CompareResult lhs, CompareResult rhs)
 

Detailed Description

Algebra expression simplifications.