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

Go to the source code of this file.

Namespaces

 tvm
 An object that builds and maintains block scope and StmtSref mapping for Dependence analysis.
 
 tvm::script
 
 tvm::script::ir_builder
 
 tvm::script::ir_builder::tirx
 
 tvm::script::ir_builder::tirx::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::tirx::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::tirx::PrimFunc (bool is_private)
 The primitive function statement. More...
 
Var tvm::script::ir_builder::tirx::Arg (ffi::String name, Var var)
 The PrimFunc variable arguments adding function. More...
 
Buffer tvm::script::ir_builder::tirx::Arg (ffi::String name, Buffer buffer)
 The PrimFunc buffer arguments adding function. More...
 
void tvm::script::ir_builder::tirx::FuncName (ffi::String name)
 The PrimFunc naming statement. More...
 
void tvm::script::ir_builder::tirx::FuncAttrs (ffi::Map< ffi::String, ffi::Any > attrs)
 The PrimFunc annotation statement. More...
 
Type tvm::script::ir_builder::tirx::FuncRet (Type ret_type)
 The PrimFunc return type statement. More...
 
Buffer tvm::script::ir_builder::tirx::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...
 
SBlockFrame tvm::script::ir_builder::tirx::Block (ffi::String name, bool no_realize=false)
 The block declaration statement. More...
 
BlockInitFrame tvm::script::ir_builder::tirx::Init ()
 The block initialization statement. More...
 
void tvm::script::ir_builder::tirx::Where (PrimExpr predicate)
 The block predicate statement. More...
 
void tvm::script::ir_builder::tirx::Reads (ffi::Array< ObjectRef > buffer_slices)
 The block buffer region reading statement. More...
 
void tvm::script::ir_builder::tirx::Writes (ffi::Array< ObjectRef > buffer_slices)
 The block buffer region writing statement. More...
 
void tvm::script::ir_builder::tirx::BlockAttrs (ffi::Map< ffi::String, ffi::Any > attrs)
 The block annotation statement. More...
 
Buffer tvm::script::ir_builder::tirx::SBlockAllocBuffer (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::tirx::axis::Spatial (Range dom, PrimExpr binding, DataType dtype=DataType::Int(32))
 The spatial block axis defining function. More...
 
Var tvm::script::ir_builder::tirx::axis::Reduce (Range dom, PrimExpr binding, DataType dtype=DataType::Int(32))
 The reduced block axis defining function. More...
 
Var tvm::script::ir_builder::tirx::axis::Scan (Range dom, PrimExpr binding, DataType dtype=DataType::Int(32))
 The scanning block axis defining function. More...
 
Var tvm::script::ir_builder::tirx::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::tirx::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::tirx::Serial (PrimExpr start, PrimExpr stop, ffi::Optional< ffi::Map< ffi::String, Any >> annotations=std::nullopt, ffi::Optional< PrimExpr > step=std::nullopt)
 The serial For statement. More...
 
ForFrame tvm::script::ir_builder::tirx::Parallel (PrimExpr start, PrimExpr stop, ffi::Optional< ffi::Map< ffi::String, Any >> annotations=std::nullopt, ffi::Optional< PrimExpr > step=std::nullopt)
 The parallel For statement. More...
 
ForFrame tvm::script::ir_builder::tirx::Vectorized (PrimExpr start, PrimExpr stop, ffi::Optional< ffi::Map< ffi::String, Any >> annotations=std::nullopt, ffi::Optional< PrimExpr > step=std::nullopt)
 The vectorized For statement. More...
 
ForFrame tvm::script::ir_builder::tirx::Unroll (PrimExpr start, PrimExpr stop, ffi::Optional< ffi::Map< ffi::String, Any >> annotations=std::nullopt, ffi::Optional< PrimExpr > step=std::nullopt)
 The unrolled For statement. More...
 
ForFrame tvm::script::ir_builder::tirx::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::tirx::Grid (ffi::Array< PrimExpr > extents)
 The grid For statement. More...
 
AssertFrame tvm::script::ir_builder::tirx::Assert (PrimExpr condition, ffi::String error_kind, ffi::Array< ffi::String > message_parts)
 The assertion statement. More...
 
Var tvm::script::ir_builder::tirx::Bind (PrimExpr value, ffi::Optional< Type > type_annotation=std::nullopt, ffi::Optional< Var > var=std::nullopt)
 Create a Bind (variable binding). More...
 
AttrFrame tvm::script::ir_builder::tirx::Attr (ffi::Any node, ffi::String attr_key, PrimExpr value)
 Create an attribute. More...
 
WhileFrame tvm::script::ir_builder::tirx::While (PrimExpr condition)
 Create a while loop. More...
 
IfFrame tvm::script::ir_builder::tirx::If (PrimExpr condition)
 Create an if statement. More...
 
ThenFrame tvm::script::ir_builder::tirx::Then ()
 Create a then. More...
 
ElseFrame tvm::script::ir_builder::tirx::Else ()
 Create an else. More...
 
Buffer tvm::script::ir_builder::tirx::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...
 
Buffer tvm::script::ir_builder::tirx::AllocBuffer (ffi::Array< PrimExpr > shape, DataType dtype=DataType::Float(32), ffi::String storage_scope="global", ffi::Optional< ffi::Map< ffi::String, ffi::Any >> annotations=std::nullopt)
 Statement-level buffer allocation (creates an AllocBuffer IR node). More...
 
LaunchThreadFrame tvm::script::ir_builder::tirx::LaunchThread (Var var, PrimExpr extent)
 Launch a thread. More...
 
LaunchThreadFrame tvm::script::ir_builder::tirx::LaunchThread (ffi::String thread_tag, PrimExpr extent)
 Launch a new thread. More...
 
Var tvm::script::ir_builder::tirx::EnvThread (ffi::String thread_tag, DataType dtype=DataType::Int(32))
 Bind a var to thread env. More...
 
void tvm::script::ir_builder::tirx::BufferStore (Buffer buffer, PrimExpr value, ffi::Array< PrimExpr > indices, ffi::Optional< PrimExpr > predicate)
 Store data in a buffer. More...
 
void tvm::script::ir_builder::tirx::Evaluate (PrimExpr value)
 Evaluate the input expression. More...
 
Var tvm::script::ir_builder::tirx::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::tirx::TensormapHandle ()
 
PrimExpr tvm::script::ir_builder::tirx::BFloat8 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::BFloat16 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::BFloat32 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::BFloat64 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::Float8 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::Float16 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::Float32 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::Float64 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::UInt8 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::UInt16 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::UInt32 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::UInt64 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::Int8 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::Int16 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::Int32 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::Int64 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::BFloat8x4 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::BFloat8x8 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::BFloat8x16 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::BFloat8x32 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::BFloat8x64 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::BFloat16x4 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::BFloat16x8 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::BFloat16x16 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::BFloat16x32 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::BFloat16x64 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::BFloat32x4 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::BFloat32x8 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::BFloat32x16 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::BFloat32x32 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::BFloat32x64 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::BFloat64x4 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::BFloat64x8 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::BFloat64x16 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::BFloat64x32 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::BFloat64x64 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::Float8x4 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::Float8x8 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::Float8x16 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::Float8x32 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::Float8x64 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::Float16x4 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::Float16x8 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::Float16x16 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::Float16x32 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::Float16x64 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::Float32x4 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::Float32x8 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::Float32x16 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::Float32x32 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::Float32x64 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::Float64x4 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::Float64x8 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::Float64x16 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::Float64x32 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::Float64x64 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::UInt8x4 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::UInt8x8 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::UInt8x16 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::UInt8x32 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::UInt8x64 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::UInt16x4 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::UInt16x8 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::UInt16x16 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::UInt16x32 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::UInt16x64 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::UInt32x4 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::UInt32x8 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::UInt32x16 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::UInt32x32 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::UInt32x64 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::UInt64x4 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::UInt64x8 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::UInt64x16 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::UInt64x32 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::UInt64x64 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::Int8x4 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::Int8x8 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::Int8x16 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::Int8x32 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::Int8x64 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::Int16x4 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::Int16x8 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::Int16x16 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::Int16x32 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::Int16x64 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::Int32x4 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::Int32x8 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::Int32x16 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::Int32x32 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::Int32x64 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::Int64x4 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::Int64x8 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::Int64x16 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::Int64x32 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::Int64x64 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::Float8E3M4 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::Float8E3M4x4 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::Float8E3M4x8 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::Float8E3M4x16 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::Float8E3M4x32 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::Float8E3M4x64 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::Float8E4M3 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::Float8E4M3x4 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::Float8E4M3x8 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::Float8E4M3x16 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::Float8E4M3x32 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::Float8E4M3x64 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::Float8E4M3B11FNUZ (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::Float8E4M3B11FNUZx4 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::Float8E4M3B11FNUZx8 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::Float8E4M3B11FNUZx16 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::Float8E4M3B11FNUZx32 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::Float8E4M3B11FNUZx64 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::Float8E4M3FN (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::Float8E4M3FNx4 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::Float8E4M3FNx8 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::Float8E4M3FNx16 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::Float8E4M3FNx32 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::Float8E4M3FNx64 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::Float8E4M3FNUZ (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::Float8E4M3FNUZx4 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::Float8E4M3FNUZx8 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::Float8E4M3FNUZx16 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::Float8E4M3FNUZx32 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::Float8E4M3FNUZx64 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::Float8E5M2 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::Float8E5M2x4 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::Float8E5M2x8 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::Float8E5M2x16 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::Float8E5M2x32 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::Float8E5M2x64 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::Float8E5M2FNUZ (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::Float8E5M2FNUZx4 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::Float8E5M2FNUZx8 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::Float8E5M2FNUZx16 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::Float8E5M2FNUZx32 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::Float8E5M2FNUZx64 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::Float8E8M0FNU (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::Float8E8M0FNUx4 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::Float8E8M0FNUx8 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::Float8E8M0FNUx16 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::Float8E8M0FNUx32 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::Float8E8M0FNUx64 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::Float6E2M3FN (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::Float6E2M3FNx4 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::Float6E2M3FNx8 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::Float6E2M3FNx16 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::Float6E2M3FNx32 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::Float6E2M3FNx64 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::Float6E3M2FN (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::Float6E3M2FNx4 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::Float6E3M2FNx8 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::Float6E3M2FNx16 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::Float6E3M2FNx32 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::Float6E3M2FNx64 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::Float4E2M1FN (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::Float4E2M1FNx4 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::Float4E2M1FNx8 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::Float4E2M1FNx16 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::Float4E2M1FNx32 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::Float4E2M1FNx64 (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::Boolean (ffi::Optional< PrimExpr > expr=std::nullopt, bool is_size_var=false)
 
PrimExpr tvm::script::ir_builder::tirx::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::tirx::SizeVar("", dtype) : tvm::tirx::Var("", dtype)); \
}
a named variable represents a tensor index size
Definition: var.h:142
void FuncName(ffi::String name)
The PrimFunc naming statement.
An object that builds and maintains block scope and StmtSref mapping for Dependence analysis.
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:452

◆ 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:472