tvm
Namespaces | Macros | Functions
ir.h File Reference
#include <tvm/script/ir_builder/base.h>
#include <tvm/script/ir_builder/tir/frame.h>
#include <tvm/tir/op.h>
Include dependency graph for ir.h:

Go to the source code of this file.

Namespaces

 tvm
 Performance counters for profiling via the PAPI library.
 
 tvm::script
 
 tvm::script::ir_builder
 
 tvm::script::ir_builder::tir
 
 tvm::script::ir_builder::tir::axis
 

Macros

#define TVM_TIR_IR_BUILDER_DEF_DTYPE_CAST(FuncName, DType)
 
#define TVM_TIR_IR_BUILDER_DEF_DTYPE_CAST_SIZES(DType, FDType)
 
#define TVM_TIR_IR_BUILDER_DEF_DTYPE_CAST_LANES(FuncName, FDType, Size)
 
#define TVM_TIR_IR_BUILDER_DEF_DTYPE_CAST_SIZES_LANES(DType, FDType)
 
#define TVM_TIR_IR_BUILDER_DEF_DTYPE_CAST_LANES_FIXED_SIZE(DType, FDType)
 

Functions

Buffer tvm::script::ir_builder::tir::BufferDecl (ffi::Array< PrimExpr > shape, DataType dtype, ffi::String buffer_name, ffi::Optional< Var > data, ffi::Optional< ffi::Array< PrimExpr >> strides, ffi::Optional< PrimExpr > elem_offset, ffi::String storage_scope, int align, int offset_factor, ffi::String buffer_type, ffi::Optional< ffi::Array< IntImm >> axis_separators)
 The buffer declaration function. More...
 
PrimFuncFrame tvm::script::ir_builder::tir::PrimFunc (bool is_private)
 The primitive function statement. More...
 
Var tvm::script::ir_builder::tir::Arg (ffi::String name, Var var)
 The PrimFunc variable arguments adding function. More...
 
Buffer tvm::script::ir_builder::tir::Arg (ffi::String name, Buffer buffer)
 The PrimFunc buffer arguments adding function. More...
 
void tvm::script::ir_builder::tir::FuncName (ffi::String name)
 The PrimFunc naming statement. More...
 
void tvm::script::ir_builder::tir::FuncAttrs (ffi::Map< ffi::String, ffi::Any > attrs)
 The PrimFunc annotation statement. More...
 
Type tvm::script::ir_builder::tir::FuncRet (Type ret_type)
 The PrimFunc return type statement. More...
 
Buffer tvm::script::ir_builder::tir::MatchBuffer (ObjectRef param, ffi::Array< PrimExpr > shape, DataType dtype=DataType::Float(32), ffi::Optional< Var > data=std::nullopt, ffi::Array< PrimExpr > strides={}, PrimExpr elem_offset=PrimExpr(), ffi::String storage_scope="global", int align=-1, int offset_factor=0, ffi::String buffer_type="default", ffi::Optional< ffi::Array< IntImm >> axis_separators=std::nullopt)
 The buffer match statement. More...
 
BlockFrame tvm::script::ir_builder::tir::Block (ffi::String name, bool no_realize=false)
 The block declaration statement. More...
 
BlockInitFrame tvm::script::ir_builder::tir::Init ()
 The block initialization statement. More...
 
void tvm::script::ir_builder::tir::Where (PrimExpr predicate)
 The block predicate statement. More...
 
void tvm::script::ir_builder::tir::Reads (ffi::Array< ObjectRef > buffer_slices)
 The block buffer region reading statement. More...
 
void tvm::script::ir_builder::tir::Writes (ffi::Array< ObjectRef > buffer_slices)
 The block buffer region writing statement. More...
 
void tvm::script::ir_builder::tir::BlockAttrs (ffi::Map< ffi::String, ffi::Any > attrs)
 The block annotation statement. More...
 
Buffer tvm::script::ir_builder::tir::AllocBuffer (ffi::Array< PrimExpr > shape, DataType dtype=DataType::Float(32), ffi::Optional< Var > data=std::nullopt, ffi::Array< PrimExpr > strides={}, PrimExpr elem_offset=PrimExpr(), ffi::String storage_scope="", int align=-1, int offset_factor=0, ffi::String buffer_type="default", ffi::Optional< ffi::Array< IntImm >> axis_separators=std::nullopt)
 The buffer allocation function. More...
 
Var tvm::script::ir_builder::tir::axis::Spatial (Range dom, PrimExpr binding, DataType dtype=DataType::Int(32))
 The spatial block axis defining function. More...
 
Var tvm::script::ir_builder::tir::axis::Reduce (Range dom, PrimExpr binding, DataType dtype=DataType::Int(32))
 The reduced block axis defining function. More...
 
Var tvm::script::ir_builder::tir::axis::Scan (Range dom, PrimExpr binding, DataType dtype=DataType::Int(32))
 The scanning block axis defining function. More...
 
Var tvm::script::ir_builder::tir::axis::Opaque (Range dom, PrimExpr binding, DataType dtype=DataType::Int(32))
 The opaque block axis defining function. More...
 
ffi::Array< Var > tvm::script::ir_builder::tir::axis::Remap (ffi::String kinds, ffi::Array< PrimExpr > bindings, DataType dtype=DataType::Int(32))
 The block axis remapping function. More...
 
ForFrame tvm::script::ir_builder::tir::Serial (PrimExpr start, PrimExpr stop, ffi::Optional< ffi::Map< ffi::String, Any >> annotations=std::nullopt)
 The serial For statement. More...
 
ForFrame tvm::script::ir_builder::tir::Parallel (PrimExpr start, PrimExpr stop, ffi::Optional< ffi::Map< ffi::String, Any >> annotations=std::nullopt)
 The parallel For statement. More...
 
ForFrame tvm::script::ir_builder::tir::Vectorized (PrimExpr start, PrimExpr stop, ffi::Optional< ffi::Map< ffi::String, Any >> annotations=std::nullopt)
 The vectorized For statement. More...
 
ForFrame tvm::script::ir_builder::tir::Unroll (PrimExpr start, PrimExpr stop, ffi::Optional< ffi::Map< ffi::String, Any >> annotations=std::nullopt)
 The unrolled For statement. More...
 
ForFrame tvm::script::ir_builder::tir::ThreadBinding (PrimExpr start, PrimExpr stop, ffi::String thread, ffi::Optional< ffi::Map< ffi::String, Any >> annotations=std::nullopt)
 The thread-binding For statement. More...
 
ForFrame tvm::script::ir_builder::tir::Grid (ffi::Array< PrimExpr > extents)
 The grid For statement. More...
 
AssertFrame tvm::script::ir_builder::tir::Assert (PrimExpr condition, ffi::String message)
 The assertion statement. More...
 
LetFrame tvm::script::ir_builder::tir::LetStmt (PrimExpr value, ffi::Optional< Type > type_annotation=std::nullopt, ffi::Optional< Var > var=std::nullopt)
 The let binding. More...
 
RealizeFrame tvm::script::ir_builder::tir::Realize (tvm::tir::BufferRegion buffer_slice, ffi::String storage_scope, PrimExpr condition)
 The realization. More...
 
AllocateFrame tvm::script::ir_builder::tir::Allocate (ffi::Array< PrimExpr > extents, DataType dtype, ffi::String storage_scope="", ffi::Optional< PrimExpr > condition=std::nullopt, ffi::Optional< ffi::Map< ffi::String, Any >> annotations=std::nullopt)
 The allocate node. More...
 
AllocateConstFrame tvm::script::ir_builder::tir::AllocateConst (Tensor data, DataType dtype, ffi::Array< PrimExpr > extents, ffi::Optional< ffi::Map< ffi::String, Any >> annotations=std::nullopt)
 The allocate constant node. More...
 
AttrFrame tvm::script::ir_builder::tir::Attr (ffi::Any node, ffi::String attr_key, PrimExpr value)
 Create an attribute. More...
 
WhileFrame tvm::script::ir_builder::tir::While (PrimExpr condition)
 Create a while loop. More...
 
IfFrame tvm::script::ir_builder::tir::If (PrimExpr condition)
 Create an if statement. More...
 
ThenFrame tvm::script::ir_builder::tir::Then ()
 Create a then. More...
 
ElseFrame tvm::script::ir_builder::tir::Else ()
 Create an else. More...
 
DeclBufferFrame tvm::script::ir_builder::tir::DeclBuffer (ffi::Array< PrimExpr > shape, DataType dtype, ffi::String buffer_name, ffi::Optional< Var > data, ffi::Optional< ffi::Array< PrimExpr >> strides, ffi::Optional< PrimExpr > elem_offset, ffi::String storage_scope, int align, int offset_factor, ffi::String buffer_type, ffi::Optional< ffi::Array< IntImm >> axis_separators)
 The buffer declaration frame. More...
 
LaunchThreadFrame tvm::script::ir_builder::tir::LaunchThread (Var var, PrimExpr extent)
 Launch a thread. More...
 
LaunchThreadFrame tvm::script::ir_builder::tir::LaunchThread (ffi::String thread_tag, PrimExpr extent)
 Launch a new thread. More...
 
Var tvm::script::ir_builder::tir::EnvThread (ffi::String thread_tag, DataType dtype=DataType::Int(32))
 Bind a var to thread env. More...
 
void tvm::script::ir_builder::tir::BufferStore (Buffer buffer, PrimExpr value, ffi::Array< PrimExpr > indices, ffi::Optional< PrimExpr > predicate)
 Store data in a buffer. More...
 
void tvm::script::ir_builder::tir::Evaluate (PrimExpr value)
 Evaluate the input expression. More...
 
Var tvm::script::ir_builder::tir::Handle (runtime::DataType dtype=runtime::DataType::Void(), ffi::String storage_scope="global", bool is_size_var=false, bool is_unknown_type=false)
 Create a TIR var that represents a pointer. More...
 
Var tvm::script::ir_builder::tir::TensormapHandle ()
 
PrimExpr tvm::script::ir_builder::tir::BFloat8 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::BFloat16 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::BFloat32 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::BFloat64 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Float8 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Float16 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Float32 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Float64 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::UInt8 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::UInt16 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::UInt32 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::UInt64 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Int8 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Int16 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Int32 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Int64 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::BFloat8x4 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::BFloat8x8 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::BFloat8x16 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::BFloat8x32 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::BFloat8x64 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::BFloat16x4 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::BFloat16x8 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::BFloat16x16 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::BFloat16x32 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::BFloat16x64 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::BFloat32x4 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::BFloat32x8 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::BFloat32x16 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::BFloat32x32 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::BFloat32x64 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::BFloat64x4 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::BFloat64x8 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::BFloat64x16 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::BFloat64x32 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::BFloat64x64 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Float8x4 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Float8x8 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Float8x16 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Float8x32 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Float8x64 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Float16x4 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Float16x8 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Float16x16 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Float16x32 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Float16x64 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Float32x4 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Float32x8 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Float32x16 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Float32x32 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Float32x64 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Float64x4 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Float64x8 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Float64x16 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Float64x32 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Float64x64 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::UInt8x4 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::UInt8x8 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::UInt8x16 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::UInt8x32 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::UInt8x64 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::UInt16x4 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::UInt16x8 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::UInt16x16 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::UInt16x32 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::UInt16x64 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::UInt32x4 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::UInt32x8 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::UInt32x16 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::UInt32x32 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::UInt32x64 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::UInt64x4 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::UInt64x8 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::UInt64x16 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::UInt64x32 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::UInt64x64 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Int8x4 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Int8x8 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Int8x16 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Int8x32 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Int8x64 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Int16x4 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Int16x8 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Int16x16 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Int16x32 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Int16x64 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Int32x4 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Int32x8 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Int32x16 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Int32x32 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Int32x64 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Int64x4 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Int64x8 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Int64x16 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Int64x32 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Int64x64 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Float8E3M4 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Float8E3M4x4 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Float8E3M4x8 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Float8E3M4x16 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Float8E3M4x32 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Float8E3M4x64 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Float8E4M3 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Float8E4M3x4 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Float8E4M3x8 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Float8E4M3x16 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Float8E4M3x32 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Float8E4M3x64 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Float8E4M3B11FNUZ (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Float8E4M3B11FNUZx4 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Float8E4M3B11FNUZx8 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Float8E4M3B11FNUZx16 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Float8E4M3B11FNUZx32 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Float8E4M3B11FNUZx64 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Float8E4M3FN (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Float8E4M3FNx4 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Float8E4M3FNx8 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Float8E4M3FNx16 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Float8E4M3FNx32 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Float8E4M3FNx64 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Float8E4M3FNUZ (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Float8E4M3FNUZx4 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Float8E4M3FNUZx8 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Float8E4M3FNUZx16 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Float8E4M3FNUZx32 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Float8E4M3FNUZx64 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Float8E5M2 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Float8E5M2x4 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Float8E5M2x8 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Float8E5M2x16 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Float8E5M2x32 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Float8E5M2x64 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Float8E5M2FNUZ (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Float8E5M2FNUZx4 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Float8E5M2FNUZx8 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Float8E5M2FNUZx16 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Float8E5M2FNUZx32 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Float8E5M2FNUZx64 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Float8E8M0FNU (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Float8E8M0FNUx4 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Float8E8M0FNUx8 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Float8E8M0FNUx16 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Float8E8M0FNUx32 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Float8E8M0FNUx64 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Float6E2M3FN (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Float6E2M3FNx4 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Float6E2M3FNx8 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Float6E2M3FNx16 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Float6E2M3FNx32 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Float6E2M3FNx64 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Float6E3M2FN (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Float6E3M2FNx4 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Float6E3M2FNx8 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Float6E3M2FNx16 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Float6E3M2FNx32 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Float6E3M2FNx64 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Float4E2M1FN (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Float4E2M1FNx4 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Float4E2M1FNx8 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Float4E2M1FNx16 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Float4E2M1FNx32 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Float4E2M1FNx64 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Boolean (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tir::Void (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 

Macro Definition Documentation

◆ TVM_TIR_IR_BUILDER_DEF_DTYPE_CAST

#define TVM_TIR_IR_BUILDER_DEF_DTYPE_CAST (   FuncName,
  DType 
)
Value:
inline PrimExpr FuncName(ffi::Optional<PrimExpr> expr = std::nullopt, \
bool is_size_var = false) { \
DataType dtype = DType; \
return expr.defined() \
? tvm::cast(dtype, expr.value()) \
: (is_size_var ? tvm::tir::SizeVar("", dtype) : tvm::tir::Var("", dtype)); \
}
a named variable represents a tensor index size
Definition: var.h:143
void FuncName(ffi::String name)
The PrimFunc naming statement.
Performance counters for profiling via the PAPI library.
Definition: analyzer.h:37
PrimExpr cast(const DataType &t, PrimExpr value, Span span=Span())
cast value to type.

◆ TVM_TIR_IR_BUILDER_DEF_DTYPE_CAST_LANES

#define TVM_TIR_IR_BUILDER_DEF_DTYPE_CAST_LANES (   FuncName,
  FDType,
  Size 
)
Value:
TVM_TIR_IR_BUILDER_DEF_DTYPE_CAST(FuncName##x8, FDType(Size, 8)); \
TVM_TIR_IR_BUILDER_DEF_DTYPE_CAST(FuncName##x16, FDType(Size, 16)); \
TVM_TIR_IR_BUILDER_DEF_DTYPE_CAST(FuncName##x32, FDType(Size, 32)); \
TVM_TIR_IR_BUILDER_DEF_DTYPE_CAST(FuncName##x64, FDType(Size, 64));
#define TVM_TIR_IR_BUILDER_DEF_DTYPE_CAST(FuncName, DType)
Definition: ir.h:462

◆ TVM_TIR_IR_BUILDER_DEF_DTYPE_CAST_LANES_FIXED_SIZE

#define TVM_TIR_IR_BUILDER_DEF_DTYPE_CAST_LANES_FIXED_SIZE (   DType,
  FDType 
)
Value:
TVM_TIR_IR_BUILDER_DEF_DTYPE_CAST(DType, FDType(1)); \
TVM_TIR_IR_BUILDER_DEF_DTYPE_CAST(DType##x4, FDType(4)); \
TVM_TIR_IR_BUILDER_DEF_DTYPE_CAST(DType##x8, FDType(8)); \
TVM_TIR_IR_BUILDER_DEF_DTYPE_CAST(DType##x16, FDType(16)); \
TVM_TIR_IR_BUILDER_DEF_DTYPE_CAST(DType##x32, FDType(32)); \
TVM_TIR_IR_BUILDER_DEF_DTYPE_CAST(DType##x64, FDType(64));

◆ TVM_TIR_IR_BUILDER_DEF_DTYPE_CAST_SIZES

#define TVM_TIR_IR_BUILDER_DEF_DTYPE_CAST_SIZES (   DType,
  FDType 
)
Value:
TVM_TIR_IR_BUILDER_DEF_DTYPE_CAST(DType##8, FDType(8)); \
TVM_TIR_IR_BUILDER_DEF_DTYPE_CAST(DType##16, FDType(16)); \
TVM_TIR_IR_BUILDER_DEF_DTYPE_CAST(DType##32, FDType(32)); \
TVM_TIR_IR_BUILDER_DEF_DTYPE_CAST(DType##64, FDType(64));

◆ TVM_TIR_IR_BUILDER_DEF_DTYPE_CAST_SIZES_LANES

#define TVM_TIR_IR_BUILDER_DEF_DTYPE_CAST_SIZES_LANES (   DType,
  FDType 
)
Value:
TVM_TIR_IR_BUILDER_DEF_DTYPE_CAST_LANES(DType##16, FDType, 16); \
TVM_TIR_IR_BUILDER_DEF_DTYPE_CAST_LANES(DType##32, FDType, 32); \
TVM_TIR_IR_BUILDER_DEF_DTYPE_CAST_LANES(DType##64, FDType, 64);
#define TVM_TIR_IR_BUILDER_DEF_DTYPE_CAST_LANES(FuncName, FDType, Size)
Definition: ir.h:482