1818 */
1919
2020/* !
21- * \file integer_set .h
21+ * \file presburger_set .h
2222 * \brief Integer set based on MLIR Presburger set
2323 */
24- #ifndef TVM_ARITH_INTEGER_SET_H_
25- #define TVM_ARITH_INTEGER_SET_H_
24+ #ifndef TVM_ARITH_PRESBURGER_SET_H_
25+ #define TVM_ARITH_PRESBURGER_SET_H_
2626
2727#ifdef TVM_MLIR_VERSION
2828#include < mlir/Analysis/Presburger/PresburgerRelation.h>
@@ -44,20 +44,20 @@ namespace arith {
4444using namespace mlir ;
4545using namespace presburger ;
4646
47- // Acknowledgement: IntegerSet is based on Presburger set of MLIR.
47+ // Acknowledgement: PresburgerSet is based on Presburger set of MLIR.
4848/* !
4949 * \brief Symbolic integer set.
5050 *
51- * \note IntegerSet aims to provide compatible APIs with IntSet,
51+ * \note PresburgerSet aims to provide compatible APIs with IntSet,
5252 * and some additional APIs that analyze and solve
5353 * multi-dimension interger set problems
5454 */
55- class IntegerSetNode : public IntSetNode {
55+ class PresburgerSetNode : public IntSetNode {
5656 public:
57- explicit IntegerSetNode (const PresburgerSpace &space, const Array<Var> &vars)
57+ explicit PresburgerSetNode (const PresburgerSpace &space, const Array<Var> &vars)
5858 : disjuncts({}), space(space), vars(vars) {};
59- explicit IntegerSetNode () : space(PresburgerSpace::getRelationSpace()) {};
60- explicit IntegerSetNode (const std::vector<IntegerRelation> &disjuncts,
59+ explicit PresburgerSetNode () : space(PresburgerSpace::getRelationSpace()) {};
60+ explicit PresburgerSetNode (const std::vector<IntegerRelation> &disjuncts,
6161 const PresburgerSpace &space,
6262 const Array<Var> &vars)
6363 : disjuncts(disjuncts), space(space), vars(vars) {}
@@ -90,7 +90,7 @@ class IntegerSetNode : public IntSetNode {
9090
9191 /* !
9292 * \brief Update int set with given constraint
93- * \param constraint The added constraint to the IntegerSet .
93+ * \param constraint The added constraint to the PresburgerSet .
9494 * \param vars The specified domain vars in constraint expression.
9595 */
9696 void UpdateConstraint (const PrimExpr& constraint, const Array<Var>& vars);
@@ -120,58 +120,58 @@ class IntegerSetNode : public IntSetNode {
120120 std::mem_fn (&IntegerRelation::isIntegerEmpty));
121121 }
122122
123- static constexpr const char * _type_key = " arith.IntegerSet " ;
124- TVM_DECLARE_FINAL_OBJECT_INFO (IntegerSetNode , IntSetNode);
123+ static constexpr const char * _type_key = " arith.PresburgerSet " ;
124+ TVM_DECLARE_FINAL_OBJECT_INFO (PresburgerSetNode , IntSetNode);
125125
126126 private:
127127 Array<Var> vars;
128128};
129129
130130/* !
131131 * \brief Integer set used for multi-dimension integer analysis.
132- * \sa IntegerSetNode
132+ * \sa PresburgerSetNode
133133 */
134- class IntegerSet : public IntSet {
134+ class PresburgerSet : public IntSet {
135135 public:
136136 /* !
137- * \brief Make a new instance of IntegerSet .
137+ * \brief Make a new instance of PresburgerSet .
138138 * \param disjuncts The disjunts to construct the set.
139139 * \param vars The variables that the constraint describes about.
140- * \return The created IntegerSet .
140+ * \return The created PresburgerSet .
141141 */
142- TVM_DLL IntegerSet (const std::vector<IntegerRelation>& disjuncts, const Array<Var>& vars);
142+ TVM_DLL PresburgerSet (const std::vector<IntegerRelation>& disjuncts, const Array<Var>& vars);
143143
144144 /* !
145- * \brief Make a new instance of IntegerSet , collect all vars as space vars.
145+ * \brief Make a new instance of PresburgerSet , collect all vars as space vars.
146146 * \param constraint The constraint to construct the set.
147- * \return The created IntegerSet .
147+ * \return The created PresburgerSet .
148148 */
149- TVM_DLL IntegerSet (const PrimExpr& constraint);
149+ TVM_DLL PresburgerSet (const PrimExpr& constraint);
150150
151- TVM_DEFINE_OBJECT_REF_COW_METHOD (IntegerSetNode );
152- TVM_DEFINE_OBJECT_REF_METHODS (IntegerSet , IntSet, IntegerSetNode );
151+ TVM_DEFINE_OBJECT_REF_COW_METHOD (PresburgerSetNode );
152+ TVM_DEFINE_OBJECT_REF_METHODS (PresburgerSet , IntSet, PresburgerSetNode );
153153};
154154#else
155155// Class definition when MLIR is not enabled, to prevent compile-time error.
156- class IntegerSetNode : public IntSetNode {
156+ class PresburgerSetNode : public IntSetNode {
157157 public:
158158 // dummy visitor overload.
159159 void VisitAttrs (tvm::AttrVisitor* v) {
160160 LOG (FATAL) << " MLIR is not enabled!" ;
161161 }
162162
163- static constexpr const char * _type_key = " arith.IntegerSet " ;
164- TVM_DECLARE_FINAL_OBJECT_INFO (IntegerSetNode , IntSetNode);
163+ static constexpr const char * _type_key = " arith.PresburgerSet " ;
164+ TVM_DECLARE_FINAL_OBJECT_INFO (PresburgerSetNode , IntSetNode);
165165};
166166
167- class IntegerSet : public IntSet {
167+ class PresburgerSet : public IntSet {
168168 public:
169169 /* !
170170 * \brief Constructor interface to prompt when MLIR is not enabled.
171171 * \param constraint The constraint to construct the set.
172172 * \return The created set.
173173 */
174- TVM_DLL IntegerSet (const PrimExpr& constraint) {
174+ TVM_DLL PresburgerSet (const PrimExpr& constraint) {
175175 LOG (FATAL) << " MLIR is not enabled!" ;
176176 }
177177};
@@ -181,24 +181,24 @@ class IntegerSet : public IntSet {
181181 * \param sets The sets to be combined
182182 * \return the set after union
183183 */
184- IntegerSet Union (const Array<IntegerSet > sets);
184+ PresburgerSet Union (const Array<PresburgerSet > sets);
185185
186186/* !
187187 * \brief Create an intersected set of all sets
188188 * \param sets The sets to be intersected
189189 * \return The intersect set
190190 */
191- IntegerSet Intersect (const Array<IntegerSet >& sets);
191+ PresburgerSet Intersect (const Array<PresburgerSet >& sets);
192192
193193/* !
194194 * \brief Evaluate the range of given expression based on the constraint
195- * in given IntegerSet
195+ * in given PresburgerSet
196196 * \param e The target expresision to be evaluated.
197- * \param set The IntegerSet defining the constraint.
197+ * \param set The PresburgerSet defining the constraint.
198198 */
199- IntSet EvalSet (const PrimExpr& e, const IntegerSet & set);
199+ IntSet EvalSet (const PrimExpr& e, const PresburgerSet & set);
200200
201201} // namespace arith
202202} // namespace tvm
203203
204- #endif // TVM_ARITH_INTEGER_SET_H_
204+ #endif // TVM_ARITH_PRESBURGER_SET_H_
0 commit comments