@@ -112,16 +112,16 @@ class ConstIntBoundAnalyzer {
112112 * \param expr The expression of interest.
113113 * \return the result of the analysis.
114114 */
115- ConstIntBound operator ()(const PrimExpr& expr);
115+ TVM_DLL ConstIntBound operator ()(const PrimExpr& expr);
116116
117117 /* !
118118 * \brief analyze the expr with the intermediate memorized to avoid redundant computation
119119 * \param expr The expression of interest.
120120 * \param bound The lookup table to store the intermediate results
121121 * \return the result of the analysis.
122122 */
123- ConstIntBound operator ()(const PrimExpr& expr,
124- std::unordered_map<const PrimExprNode*, ConstIntBound>* bound);
123+ TVM_DLL ConstIntBound operator ()(const PrimExpr& expr,
124+ std::unordered_map<const PrimExprNode*, ConstIntBound>* bound);
125125
126126 /* !
127127 * \brief Update constant int bound information of var.
@@ -130,22 +130,22 @@ class ConstIntBoundAnalyzer {
130130 * \param info The bound information.
131131 * \param override Whether do we allow override of existing information.
132132 */
133- void Update (const Var& var,
134- const ConstIntBound& info,
135- bool override = false );
133+ TVM_DLL void Update (const Var& var,
134+ const ConstIntBound& info,
135+ bool override = false );
136136 /* !
137137 * \brief Bind variable to a range.
138138 *
139139 * \param var The variable.
140140 * \param range The range we bind to.
141141 */
142- void Bind (const Var& var, const Range& range);
142+ TVM_DLL void Bind (const Var& var, const Range& range);
143143
144144 private:
145145 friend class Analyzer ;
146146 friend class ConstraintContext ;
147147 explicit ConstIntBoundAnalyzer (Analyzer* parent);
148- ~ConstIntBoundAnalyzer ();
148+ TVM_DLL ~ConstIntBoundAnalyzer ();
149149 /* !
150150 * \brief Update the internal state to enter constraint.
151151 * \param constraint A constraint expression.
@@ -212,23 +212,23 @@ class ModularSetAnalyzer {
212212 * \param expr The expression of interest.
213213 * \return the result of the analysis.
214214 */
215- ModularSet operator ()(const PrimExpr& expr);
215+ TVM_DLL ModularSet operator ()(const PrimExpr& expr);
216216 /* !
217217 * \brief Update constant int bound information of var.
218218 *
219219 * \param var The variable of interest.
220220 * \param info The bound information.
221221 * \param override Whether do we allow override of existing information.
222222 */
223- void Update (const Var& var,
224- const ModularSet& info,
225- bool override = false );
223+ TVM_DLL void Update (const Var& var,
224+ const ModularSet& info,
225+ bool override = false );
226226
227227 private:
228228 friend class Analyzer ;
229229 friend class ConstraintContext ;
230230 explicit ModularSetAnalyzer (Analyzer* parent);
231- ~ModularSetAnalyzer ();
231+ TVM_DLL ~ModularSetAnalyzer ();
232232 /* !
233233 * \brief Update the internal state to enter constraint.
234234 * \param constraint A constraint expression.
@@ -252,7 +252,7 @@ class RewriteSimplifier {
252252 * \param expr The expression of interest.
253253 * \return the result of the analysis.
254254 */
255- PrimExpr operator ()(const PrimExpr& expr);
255+ TVM_DLL PrimExpr operator ()(const PrimExpr& expr);
256256
257257 /* !
258258 * \brief Update binding of var to a new expression.
@@ -261,9 +261,9 @@ class RewriteSimplifier {
261261 * \param new_expr
262262 * \param override Whether do we allow override of existing information.
263263 */
264- void Update (const Var& var,
265- const PrimExpr& new_expr,
266- bool override = false );
264+ TVM_DLL void Update (const Var& var,
265+ const PrimExpr& new_expr,
266+ bool override = false );
267267
268268 std::function<void ()> EnterConstraint (const PrimExpr& constraint);
269269
@@ -272,7 +272,7 @@ class RewriteSimplifier {
272272 friend class ConstraintContext ;
273273 friend class CanonicalSimplifier ;
274274 explicit RewriteSimplifier (Analyzer* parent);
275- ~RewriteSimplifier ();
275+ TVM_DLL ~RewriteSimplifier ();
276276 class Impl ;
277277 /* ! \brief Internal impl */
278278 Impl* impl_;
@@ -288,7 +288,7 @@ class CanonicalSimplifier {
288288 * \param expr The expression of interest.
289289 * \return the result of the analysis.
290290 */
291- PrimExpr operator ()(const PrimExpr& expr);
291+ TVM_DLL PrimExpr operator ()(const PrimExpr& expr);
292292
293293 /* !
294294 * \brief Update binding of var to a new expression.
@@ -297,15 +297,15 @@ class CanonicalSimplifier {
297297 * \param new_expr
298298 * \param override Whether do we allow override of existing information.
299299 */
300- void Update (const Var& var,
301- const PrimExpr& new_expr,
302- bool override = false );
300+ TVM_DLL void Update (const Var& var,
301+ const PrimExpr& new_expr,
302+ bool override = false );
303303
304304 private:
305305 friend class Analyzer ;
306306 friend class ConstraintContext ;
307307 explicit CanonicalSimplifier (Analyzer* parent);
308- ~CanonicalSimplifier ();
308+ TVM_DLL ~CanonicalSimplifier ();
309309 class Impl ;
310310 /* ! \brief Internal impl */
311311 Impl* impl_;
@@ -363,12 +363,12 @@ class IntSetAnalyzer {
363363 * \param dom_map The domain map to indicate which variable to relax.
364364 * \return the result of the analysis.
365365 */
366- IntSet operator ()(const PrimExpr& expr, const Map<Var, IntSet>& dom_map);
366+ TVM_DLL IntSet operator ()(const PrimExpr& expr, const Map<Var, IntSet>& dom_map);
367367
368368 private:
369369 friend class Analyzer ;
370370 explicit IntSetAnalyzer (Analyzer* parent);
371- ~IntSetAnalyzer ();
371+ TVM_DLL ~IntSetAnalyzer ();
372372 class Impl ;
373373 /* ! \brief Internal impl */
374374 Impl* impl_;
@@ -384,7 +384,7 @@ class IntSetAnalyzer {
384384 * If the analyzer uses memoization, we need to clear the internal
385385 * cache when information about a Var has been overridden.
386386 */
387- class Analyzer {
387+ class TVM_DLL Analyzer {
388388 public:
389389 /*
390390 * Disable copy constructor.
0 commit comments