tvm
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Classes | Public Member Functions | Static Public Member Functions | List of all members
tvm::tir::SeqStmt Class Reference

Sequence statement. More...

#include <stmt.h>

Inheritance diagram for tvm::tir::SeqStmt:
Collaboration diagram for tvm::tir::SeqStmt:

Classes

class  Flattener
 Helper class to flatten sequence of arguments into Array. More...
 

Public Member Functions

 SeqStmt (Array< Stmt > seq, Span span=Span())
 Construct SeqStmt. More...
 
size_t size () const
 
Stmt operator[] (size_t index) const
 Get the index-th element in the sequence. More...
 
 TVM_DEFINE_OBJECT_REF_METHODS (SeqStmt, Stmt, SeqStmtNode)
 
 TVM_DEFINE_OBJECT_REF_COW_METHOD (SeqStmtNode)
 
- Public Member Functions inherited from tvm::tir::Stmt
 TVM_DEFINE_OBJECT_REF_METHODS (Stmt, ObjectRef, StmtNode)
 
- Public Member Functions inherited from tvm::runtime::ObjectRef
 ObjectRef ()=default
 default constructor More...
 
 ObjectRef (ObjectPtr< Object > data)
 Constructor from existing object ptr. More...
 
bool same_as (const ObjectRef &other) const
 Comparator. More...
 
bool operator== (const ObjectRef &other) const
 Comparator. More...
 
bool operator!= (const ObjectRef &other) const
 Comparator. More...
 
bool operator< (const ObjectRef &other) const
 Comparator. More...
 
bool defined () const
 
const Objectget () const
 
const Objectoperator-> () const
 
bool unique () const
 
int use_count () const
 
template<typename ObjectType >
const ObjectType * as () const
 Try to downcast the internal Object to a raw pointer of a corresponding type. More...
 

Static Public Member Functions

template<typename... Args>
static Stmt Flatten (Args &&... seq_args)
 Construct a sequence statement by flattening all the arrays and sequences in the arguments recursively. More...
 

Additional Inherited Members

- Public Types inherited from tvm::runtime::ObjectRef
using ContainerType = Object
 type indicate the container type. More...
 
- Static Public Attributes inherited from tvm::runtime::ObjectRef
static constexpr bool _type_is_nullable = true
 
- Protected Member Functions inherited from tvm::runtime::ObjectRef
Objectget_mutable () const
 
- Static Protected Member Functions inherited from tvm::runtime::ObjectRef
template<typename T >
static T DowncastNoCheck (ObjectRef ref)
 Internal helper function downcast a ref without check. More...
 
static void FFIClearAfterMove (ObjectRef *ref)
 Clear the object ref data field without DecRef after we successfully moved the field. More...
 
template<typename ObjectType >
static ObjectPtr< ObjectType > GetDataPtr (const ObjectRef &ref)
 Internal helper function get data_ as ObjectPtr of ObjectType. More...
 
- Protected Attributes inherited from tvm::runtime::ObjectRef
ObjectPtr< Objectdata_
 Internal pointer that backs the reference. More...
 

Detailed Description

Sequence statement.

Constructor & Destructor Documentation

◆ SeqStmt()

tvm::tir::SeqStmt::SeqStmt ( Array< Stmt seq,
Span  span = Span() 
)
explicit

Construct SeqStmt.

Parameters
seqThe sequence.
spanThe location of this object in the source code.

Member Function Documentation

◆ Flatten()

template<typename... Args>
static Stmt tvm::tir::SeqStmt::Flatten ( Args &&...  seq_args)
inlinestatic

Construct a sequence statement by flattening all the arrays and sequences in the arguments recursively.

  • When an argument is nullptr, it will be ignored.
  • When an argument is an array or a SeqStmt, it will be flattened recursively.
  • A normal Stmt will be appended to the end of the sequence.
Note
This function can directly return an element if it is the only element in the sequence.
Parameters
seq_argsThe list of arguments to be flattened.
Template Parameters
Argsarguments
Returns
The constructed statement

◆ operator[]()

Stmt tvm::tir::SeqStmt::operator[] ( size_t  index) const
inline

Get the index-th element in the sequence.

◆ size()

size_t tvm::tir::SeqStmt::size ( ) const
inline
Returns
get the size of the sequence

◆ TVM_DEFINE_OBJECT_REF_COW_METHOD()

tvm::tir::SeqStmt::TVM_DEFINE_OBJECT_REF_COW_METHOD ( SeqStmtNode  )

◆ TVM_DEFINE_OBJECT_REF_METHODS()

tvm::tir::SeqStmt::TVM_DEFINE_OBJECT_REF_METHODS ( SeqStmt  ,
Stmt  ,
SeqStmtNode   
)

The documentation for this class was generated from the following file: