|  | 
| bool | tvm::relax::CanProveShapeEqual (const ffi::Array< PrimExpr > &lhs, const ffi::Array< PrimExpr > &rhs, arith::Analyzer *ana) | 
|  | Can prove the two symbolic shape arrays equals to each other.  More... 
 | 
|  | 
| bool | tvm::relax::CanProveShapeEqual (const Expr &lhs, const Expr &rhs, arith::Analyzer *ana) | 
|  | Can prove the two symbolic shape expressions equals to each other.  More... 
 | 
|  | 
| Type | tvm::relax::GetStaticType (const StructInfo &info) | 
|  | Get the corresponding static type from a given struct info.  More... 
 | 
|  | 
| StructInfo | tvm::relax::StructInfoFromType (const Type &type) | 
|  | Get the corresponding struct info from static type.  More... 
 | 
|  | 
| StructInfo | tvm::relax::DeriveCallRetStructInfo (const FuncStructInfo &finfo, const Call &call, const BlockBuilder &ctx, arith::Analyzer *ana=nullptr) | 
|  | 
| StructInfo | tvm::relax::EraseToWellDefined (const StructInfo &info, std::function< ffi::Optional< PrimExpr >(const tir::Var &var)> f_shape_var_map=nullptr, std::function< ffi::Optional< Expr >(const Var &var)> f_var_map=nullptr, arith::Analyzer *ana=nullptr) | 
|  | Erase the info to a corresponding more coarse grained struct info that is still well-defined(with all the vars in scope).  More... 
 | 
|  | 
| StructInfo | tvm::relax::EraseToWellDefined (const StructInfo &info, ffi::Map< tir::Var, PrimExpr > shape_var_map, ffi::Map< Var, Expr > var_map, arith::Analyzer *ana=nullptr) | 
|  | EraseToWellDefined variant with map.  More... 
 | 
|  | 
| BaseCheckResult | tvm::relax::StructInfoBaseCheck (const StructInfo &base, const StructInfo &derived, arith::Analyzer *ana=nullptr) | 
|  | Run a base check to see if base subsumes derived.  More... 
 | 
|  | 
| bool | tvm::relax::IsBaseOf (const StructInfo &base, const StructInfo &derived, arith::Analyzer *ana=nullptr) | 
|  | Check the relation of two struct info to see if one subsumes another one.  More... 
 | 
|  | 
| PrimExpr | tvm::relax::StructInfoBaseCheckPrecondition (const StructInfo &base, const StructInfo &derived) | 
|  | Return the condition for which base is a superset of derived.  More... 
 | 
|  | 
| StructInfo | tvm::relax::StructInfoLCA (const StructInfo &lhs, const StructInfo &rhs, arith::Analyzer *ana=nullptr) | 
|  | Unify the two struct info to their least common ancestor.  More... 
 | 
|  | 
| ffi::Array< tir::Var > | tvm::relax::TIRVarsInStructInfo (const StructInfo &sinfo) | 
|  | Get the TIR variables that appear in the input struct info. The returned list is deduplicated - each TIR variable will appear at most once.  More... 
 | 
|  | 
| ffi::Array< tir::Var > | tvm::relax::DefinableTIRVarsInStructInfo (const StructInfo &sinfo) | 
|  | Get the TIR variables that appear in the input struct info.  More... 
 | 
|  | 
| ffi::Array< PrimExpr > | tvm::relax::CollectNonNegativeExpressions (const StructInfo &sinfo) | 
|  | Collect expressions whose usage requires them to be non-negative.  More... 
 | 
|  | 
| ffi::Array< tir::Var > | tvm::relax::DefinedSymbolicVars (const Expr &expr) | 
|  | Get the TIR variables that defined in the input function. The returned list is deduplicated - each TIR variable will appear at most once.  More... 
 | 
|  | 
| ffi::Array< tir::Var > | tvm::relax::FreeSymbolicVars (const Expr &expr) | 
|  | Get the TIR variables that are used but not defined in the input function. The returned list is deduplicated - each TIR variable will appear at most once.  More... 
 | 
|  | 
| tvm::ffi::Array< Var > | tvm::relax::BoundVars (const Expr &expr) | 
|  | Get all bound variables from expression expr.  More... 
 | 
|  | 
| tvm::ffi::Array< Var > | tvm::relax::FreeVars (const Expr &expr) | 
|  | Get free type parameters from expression expr.  More... 
 | 
|  | 
| tvm::ffi::Array< Var > | tvm::relax::AllVars (const Expr &expr) | 
|  | Get all variables from expression expr.  More... 
 | 
|  | 
| tvm::ffi::Array< GlobalVar > | tvm::relax::AllGlobalVars (const Expr &expr) | 
|  | Get all global variables from expression expr.  More... 
 | 
|  | 
| tvm::ffi::Array< tvm::ffi::Array< GlobalVar > > | tvm::relax::DetectRecursion (const IRModule &m) | 
|  | Find all sets of recursive or mutually recursive functions in the module.  More... 
 | 
|  | 
| ffi::Map< Var, Expr > | tvm::relax::AnalyzeVar2Value (const IRModule &m) | 
|  | Analyze var -> value mapping from VarBindings.  More... 
 | 
|  | 
| ffi::Map< Var, Expr > | tvm::relax::AnalyzeVar2Value (const Expr &expr) | 
|  | Analyze var -> value mapping from VarBindings.  More... 
 | 
|  | 
| ffi::Map< Var, Expr > | tvm::relax::AnalyzeVar2Value (const DataflowBlock &dfb) | 
|  | Analyze var -> value mapping from VarBindings.  More... 
 | 
|  | 
| ffi::Map< ffi::String, ffi::Array< Binding > > | tvm::relax::NameToBinding (const Function &fn) | 
|  | Return a mapping from variable name to its Bindings.  More... 
 | 
|  | 
| ffi::Map< Var, ffi::Array< Var > > | tvm::relax::DataflowBlockUseDef (const DataflowBlock &dfb) | 
|  | Get the use-def chain of variables inside a dataflow block.  More... 
 | 
|  | 
| std::pair< ffi::Map< Var, ffi::Array< Var > >, ffi::Array< Var > > | tvm::relax::FunctionUseDef (const Expr &expr) | 
|  | Get the use-def chain of variables inside a function.  More... 
 | 
|  | 
| VarUsageInfo | tvm::relax::CollectVarUsage (const Expr &expr) | 
|  | Collect variable bindings and usage.  More... 
 | 
|  | 
| Expr | tvm::relax::RemoveAllUnused (Expr expr) | 
|  | Remove unused statements inside DataflowBlocks.  More... 
 | 
|  | 
| OpPatternKind | tvm::relax::AnalyzeOpPatternKind (const tir::PrimFunc &func) | 
|  | Annotate Op Pattern Kind for PrimFunc, which is used in relax FuseOps.  More... 
 | 
|  | 
| bool | tvm::relax::HasReshapePattern (const tir::PrimFunc &func) | 
|  | Check if the given PrimFunc is essentially doing a reshape operation. The reshape operation also includes expand_dims, squeeze, flatten, etc.  More... 
 | 
|  | 
| ffi::Optional< Expr > | tvm::relax::FindImpureCall (const Expr &expr, const ffi::Optional< Expr > &own_name=ffi::Optional< Expr >(std::nullopt)) | 
|  | Check if the given expression (likely a function body) contains any impure calls.  More... 
 | 
|  | 
| bool | tvm::relax::ContainsImpureCall (const Expr &expr, const ffi::Optional< Expr > &own_name=ffi::Optional< Expr >(std::nullopt)) | 
|  | Check if the given expression (likely a function body) contains any impure calls.  More... 
 | 
|  | 
| bool | tvm::relax::WellFormed (ffi::Variant< IRModule, Function > obj, bool check_struct_info=true) | 
|  | Check if the IRModule is well formed.  More... 
 | 
|  | 
| ffi::Map< tir::Block, ffi::Map< ObjectRef, tir::IndexMap > > | tvm::relax::SuggestLayoutTransforms (const Function &fn, ffi::Array< tir::IndexMap > write_buffer_transformations) | 
|  | Using the layout transforms on the outputs, suggest layout transformation on the blocks and buffers for the PrimFunc.  More... 
 | 
|  | 
| ffi::Array< Var > | tvm::relax::ComputableAtCompileTime (const Function &func) | 
|  | 
The set of Relax specific analysis on IR.