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.
Reference to PrimExprNode.
Definition: expr.h:126
Definition: predicate.h:35
PrimExpr pred
The predicate.
Definition: predicate.h:40
static constexpr TVMFFISEqHashKind _type_s_eq_hash_kind
Definition: predicate.h:52
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
Array< Var > vars
The variables in the predicate.
Definition: predicate.h:38
Definition: predicate.h:56
Predicate(Array< Var > 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:37
Functors for tirx stmts utility functions to call common functors.