Class LambdaExprObj#

Inheritance Relationships#

Base Type#

Class Documentation#

class LambdaExprObj : public tvm::StagingExprObj#

A typed staging expression representing a lambda computation.

LambdaExpr records computations such as reduction combiners and predication rules. Its body may describe computations on runtime values.

Parameters are bound within the expression body, which may produce a scalar or tuple result. The lambda has a FuncType describing its parameter and return types.

As a StagingExpr, LambdaExpr is eliminated during compilation and does not remain in executable IR.

Public Functions

inline explicit LambdaExprObj(ffi::UnsafeInit tag)#
inline explicit LambdaExprObj(Expr body)#
Expr Apply(const ffi::Array<Expr> &arguments) const#

Simultaneously substitute arguments for the bound parameters.

Public Members

ffi::Array<Var> vars#

Lambda-local parameter definitions.

Expr body#

Computation over the parameters and captured expressions.

Public Static Functions

static inline void RegisterReflection()#
static inline int32_t _GetOrAllocRuntimeTypeIndex()#
static inline int32_t RuntimeTypeIndex() noexcept#