junrushao1994 commented on a change in pull request #8943:
URL: https://github.com/apache/tvm/pull/8943#discussion_r704731149
##########
File path: include/tvm/tir/schedule/schedule.h
##########
@@ -305,6 +305,42 @@ class ScheduleNode : public runtime::Object {
virtual BlockRV CacheWrite(const BlockRV& block_rv, int write_buffer_index,
const String& storage_scope) = 0;
/******** Schedule: Compute location ********/
+ /*!
+ * \brief Move a producer block under the specific loop, and regenerate the
loops induced by the
+ * block so that the buffer region generated by the producer block could
cover those regions
+ * written by the producers. It requires:
+ * 1) `block` and `loop` are under the same scope, `loop` is not the
ancestor of `block`
+ * 2) The scope block has stage-pipeline property
+ * 3) The subtree of the scope block, where the given block is in, satisfies
the compact dataflow
+ * condition. i.e. all the blocks in the scope block's subtree must be
either complete block or
+ * reduction block
+ * 4) The block is not an output block, i.e. the buffer regions written by
the block are allocated
+ * under the current scope
Review comment:
Yeah this makes sense to me
--
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: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]