tvm
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | List of all members
tvm::tirx::LambdaExprNode Class Reference

A reified Python lambda: a list of bound variables and a body over them. More...

#include <tile_primitive.h>

Inheritance diagram for tvm::tirx::LambdaExprNode:
Collaboration diagram for tvm::tirx::LambdaExprNode:

Public Member Functions

PrimExpr Apply (const Array< PrimExpr > &indices) const
 Replace the bound variables with the given indices, returning the substituted body.
 
 TVM_FFI_DECLARE_OBJECT_INFO_FINAL ("tirx.LambdaExpr", LambdaExprNode, ffi::Object)
 

Static Public Member Functions

static void RegisterReflection ()
 

Public Attributes

Array< Varvars
 The bound variables of the lambda.
 
PrimExpr pred
 The lambda body over vars.
 

Static Public Attributes

static constexpr TVMFFISEqHashKind _type_s_eq_hash_kind = kTVMFFISEqHashKindTreeNode
 

Detailed Description

A reified Python lambda: a list of bound variables and a body over them.

Used by tile primitive ops that take a per-element expression over the destination axes (e.g. tirx.tile.select). vars are the abstract axis variables (lambda-bound); pred is the body referencing them. At lowering time the dispatch substitutes vars with the concrete instruction axes via Apply.

Member Function Documentation

◆ Apply()

PrimExpr tvm::tirx::LambdaExprNode::Apply ( const Array< PrimExpr > &  indices) const

Replace the bound variables with the given indices, returning the substituted body.

◆ RegisterReflection()

static void tvm::tirx::LambdaExprNode::RegisterReflection ( )
inlinestatic

◆ TVM_FFI_DECLARE_OBJECT_INFO_FINAL()

tvm::tirx::LambdaExprNode::TVM_FFI_DECLARE_OBJECT_INFO_FINAL ( "tirx.LambdaExpr"  ,
LambdaExprNode  ,
ffi::Object   
)

Member Data Documentation

◆ _type_s_eq_hash_kind

constexpr TVMFFISEqHashKind tvm::tirx::LambdaExprNode::_type_s_eq_hash_kind = kTVMFFISEqHashKindTreeNode
staticconstexpr

◆ pred

PrimExpr tvm::tirx::LambdaExprNode::pred

The lambda body over vars.

◆ vars

Array<Var> tvm::tirx::LambdaExprNode::vars

The bound variables of the lambda.


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