junrushao1994 commented on a change in pull request #8767:
URL: https://github.com/apache/tvm/pull/8767#discussion_r691549171



##########
File path: include/tvm/tir/schedule/schedule.h
##########
@@ -219,6 +219,19 @@ class ScheduleNode : public runtime::Object {
    * \return The new loops after split
    */
   virtual Array<LoopRV> Split(const LoopRV& loop_rv, const 
Array<Optional<ExprRV>>& factors) = 0;
+  /*!
+   * \brief Reorder a list of loops. It doesn't require the loops to be 
consecutive.
+   * It requires:
+   * 1) The loops are in the same line. That means: the loops can be ordered 
to [l_1, l_2, ... ,
+   *     l_n] where l_i is an ancestor of l_{i+1} and there are only 
single-branch loops between
+   *     l_1 and l_n (which also indicates they are under the same scope).
+   * 2) In the new order, an outer loop cannot depend on inner loops.
+   * 3) The block below the loops have affine bindings and only have 
data-parallel or reduction
+   *     block iters
+   * 4) A loop cannot appear multiple times in the input array.

Review comment:
       ```suggestion
      * 4) No duplicated loops are allowed in the arguments.
   ```




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@tvm.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Reply via email to