tvm
Loading...
Searching...
No Matches
Classes | Namespaces | Typedefs | Enumerations | Functions | Variables
stmt.h File Reference

Statements shared across IR dialects. More...

#include <tvm/ffi/reflection/registry.h>
#include <tvm/ir/op.h>
#include <tvm/ir/prim/expr.h>
#include <initializer_list>
#include <optional>
#include <string>
#include <utility>
Include dependency graph for stmt.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  tvm::StmtNode
 Base node of all statements. More...
 
class  tvm::Stmt
 Container of all statements. More...
 
class  tvm::SeqStmtNode
 The container of seq statement. Represent a sequence of statements. More...
 
class  tvm::SeqStmt
 Sequence statement. More...
 
struct  tvm::ffi::TypeTraits< SeqStmt >
 
class  tvm::BindNode
 Bind a variable to a value in the enclosing scope. More...
 
class  tvm::Bind
 Managed reference to BindNode. More...
 
class  tvm::RegionStmtNode
 A single-body statement whose semantics are defined by an operator. Operands are evaluated in the enclosing scope. Body parameters are definitions at body entry; result variables are definitions following the region. More...
 
class  tvm::RegionStmt
 Managed reference to RegionStmtNode. More...
 
class  tvm::AssertStmtNode
 Assert condition, if an error occurs, return the error message. More...
 
class  tvm::AssertStmt
 Managed reference to AssertStmtNode. More...
 
class  tvm::TensorStoreNode
 Store a primitive value to an indexed destination expression. More...
 
class  tvm::TensorStore
 Managed reference to TensorStoreNode. More...
 
class  tvm::EvaluateNode
 Evaluates an expression. This is mostly used for putting a Call node into Stmt. More...
 
class  tvm::Evaluate
 Managed reference to EvaluateNode. More...
 
class  tvm::IfNode
 If statement. More...
 
class  tvm::If
 Managed reference to IfNode. More...
 
class  tvm::ForNode
 A for loop, with possible type annotations. More...
 
class  tvm::For
 Managed reference to ForNode. More...
 
class  tvm::WhileNode
 A While loop. More...
 
class  tvm::While
 Managed reference to WhileNode. More...
 
class  tvm::ReturnNode
 A return from the current function. More...
 
class  tvm::Return
 Managed reference to ReturnNode. More...
 
class  tvm::BreakNode
 A Break in control flow. More...
 
class  tvm::Break
 Managed reference to BreakNode. More...
 
class  tvm::ContinueNode
 A Continue in control flow. More...
 
class  tvm::Continue
 Managed reference to ContinueNode. More...
 

Namespaces

namespace  tvm
 An object that builds and maintains block scope and StmtSref mapping for Dependence analysis.
 
namespace  tvm::ffi
 
namespace  tvm::op_attr
 
namespace  tvm::type_attr
 

Typedefs

using tvm::FRegionGetBodyParams = ffi::reflection::NativeFunctionView< ffi::Array< Var >(const CallNode *call)>
 Construct fresh typed variables for a region's lexical body parameters.
 
using tvm::FRegionValidate = ffi::reflection::NativeFunctionView< void(const RegionStmtNode *)>
 Optional dialect validation of a complete region statement.
 

Enumerations

enum class  tvm::ForKind : int { tvm::kDefault = 0 , tvm::kParallel = 1 , tvm::kVectorized = 2 , tvm::kUnrolled = 3 }
 The kind of the loop. More...
 

Functions

TVM_TIRX_DLL bool tvm::IsRegionOp (const Op &op)
 Check FRegionGetBodyParams registration without invoking it or creating variables.
 
TVM_TIRX_DLL ffi::Array< Var > tvm::GetRegionBodyParams (Op op, ffi::Array< Expr > args, DictAttrs attrs)
 Validate region operands and construct fresh typed body parameters.
 
TVM_TIRX_DLL std::ostream & tvm::operator<< (std::ostream &os, ForKind kind)
 
const char * tvm::ForKind2String (ForKind t)
 

Variables

template<>
constexpr bool tvm::ffi::use_default_type_traits_v< SeqStmt > = false
 
constexpr const char * tvm::op_attr::kRegionGetBodyParams = "FRegionGetBodyParams"
 
constexpr const char * tvm::op_attr::kRegionValidate = "FRegionValidate"
 
constexpr const char * tvm::type_attr::kEvaluateValidate = "__evaluate_validate__"
 
constexpr const char * tvm::type_attr::kTensorStoreValidate = "__tensor_store_validate__"
 

Detailed Description

Statements shared across IR dialects.