tvm
Public Types | Public Member Functions | List of all members
tvm::tir::Var Class Reference

a named variable in TIR More...

#include <var.h>

Inheritance diagram for tvm::tir::Var:
Collaboration diagram for tvm::tir::Var:

Public Types

using ContainerType = VarNode
 type indicate the container type More...
 
- Public Types inherited from tvm::runtime::ObjectRef
using ContainerType = Object
 type indicate the container type. More...
 

Public Member Functions

 Var (ObjectPtr< Object > n)
 
 Var (String name_hint="v", DataType dtype=DataType::Int(32), Span span=Span())
 Constructor. More...
 
 Var (String name_hint, Type type_annotation, Span span=Span())
 Constructor which provides a more detailed type annotation. More...
 
Var copy_with_name (const String &name) const
 Make a new copy of var with same type, but a different nam. More...
 
Var copy_with_suffix (const String &suffix) const
 Make a new copy of var with same type, append suffix. More...
 
Var copy_with_dtype (DataType dtype) const
 Make a new copy of the variable with specified dtype. More...
 
const VarNodeoperator-> () const
 Get pointer to the internal value. More...
 
const VarNodeget () const
 Get pointer to the internal value. More...
 
- Public Member Functions inherited from tvm::PrimExpr
 PrimExpr (int32_t value)
 construct from integer. More...
 
 PrimExpr (float value)
 construct from float. More...
 
DataType dtype () const
 
 TVM_DEFINE_OBJECT_REF_METHODS (PrimExpr, BaseExpr, PrimExprNode)
 
- Public Member Functions inherited from tvm::BaseExpr
 TVM_DEFINE_OBJECT_REF_METHODS (BaseExpr, ObjectRef, BaseExprNode)
 
- 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 , typename = std::enable_if_t<std::is_base_of_v<Object, ObjectType>>>
const ObjectType * as () const
 Try to downcast the internal Object to a raw pointer of a corresponding type. More...
 
template<typename ObjectRefType , typename = std::enable_if_t<std::is_base_of_v<ObjectRef, ObjectRefType>>>
Optional< ObjectRefType > as () const
 Try to downcast the ObjectRef to a Optional<T> of the requested type. More...
 

Additional Inherited Members

- 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

a named variable in TIR

Member Typedef Documentation

◆ ContainerType

type indicate the container type

Constructor & Destructor Documentation

◆ Var() [1/3]

tvm::tir::Var::Var ( ObjectPtr< Object n)
inlineexplicit

◆ Var() [2/3]

tvm::tir::Var::Var ( String  name_hint = "v",
DataType  dtype = DataType::Int(32),
Span  span = Span() 
)
explicit

Constructor.

Parameters
name_hintvariable name
dtypedata type
spanThe location of this object in the source code.

◆ Var() [3/3]

tvm::tir::Var::Var ( String  name_hint,
Type  type_annotation,
Span  span = Span() 
)
explicit

Constructor which provides a more detailed type annotation.

Parameters
name_hintvariable name.
type_annotationThe type annotation.
spanThe location of this object in the source code.

Member Function Documentation

◆ copy_with_dtype()

Var tvm::tir::Var::copy_with_dtype ( DataType  dtype) const

Make a new copy of the variable with specified dtype.

Parameters
dtypeThe specified dtype
Returns
The new variable

◆ copy_with_name()

Var tvm::tir::Var::copy_with_name ( const String name) const

Make a new copy of var with same type, but a different nam.

Parameters
nameThe new name to be used.
Returns
the new Var copy

◆ copy_with_suffix()

Var tvm::tir::Var::copy_with_suffix ( const String suffix) const

Make a new copy of var with same type, append suffix.

Parameters
suffixThe suffix to be appended.
Returns
the new Var copy

◆ get()

const VarNode* tvm::tir::Var::get ( ) const
inline

Get pointer to the internal value.

Returns
the corresponding Variable.

◆ operator->()

const VarNode* tvm::tir::Var::operator-> ( ) const
inline

Get pointer to the internal value.

Returns
the corresponding Variable.

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