23 #ifndef TVM_TIRX_PREDICATE_H_
24 #define TVM_TIRX_PREDICATE_H_
27 #include <tvm/ffi/object.h>
46 namespace refl = tvm::ffi::reflection;
47 refl::ObjectDef<PredicateNode>()
Algebra expression simplifications.
Typed reference/view over any Expr whose ExprNode::ty is PrimType.
Definition: base_expr.h:354
Definition: predicate.h:35
PrimExpr pred
The predicate.
Definition: predicate.h:40
static constexpr TVMFFISEqHashKind _type_s_eq_hash_kind
Definition: predicate.h:52
Array< PrimVar > vars
The variables in the predicate.
Definition: predicate.h:38
PrimExpr Apply(const Array< PrimExpr > &indices) const
Replace the variables in the predicate with the given indices.
TVM_FFI_DECLARE_OBJECT_INFO_FINAL("tirx.Predicate", PredicateNode, ffi::Object)
static void RegisterReflection()
Definition: predicate.h:45
Definition: predicate.h:56
Predicate(Array< PrimVar > vars, PrimExpr pred)
TVM_FFI_DEFINE_OBJECT_REF_METHODS_NULLABLE(Predicate, ffi::ObjectRef, PredicateNode)
IRModule that holds the functions and type definitions.
An object that builds and maintains block scope and StmtSref mapping for Dependence analysis.
Definition: analyzer.h:40
Functors for tirx stmts utility functions to call common functors.