1#ifndef FREE_TENSOR_REORDER_H
2#define FREE_TENSOR_REORDER_H
15 return os <<
"perfect_only";
17 return os <<
"move_out_imperfect";
19 return os <<
"move_in_imperfect";
26 std::string oldName_, newName_;
29 RenameIter(
const std::string &oldName) : oldName_(oldName) {}
40 For oldOuter_, oldInner_;
42 bool insideOuter_ =
false, insideInner_ =
false;
43 bool visitedInner_ =
false;
47 : oldOuter_(oldOuter), oldInner_(oldInner), mode_(mode) {}
RenameIter(const std::string &oldName)
Definition: reorder.h:29
Expr visit(const Var &op) override
Definition: reorder.cc:34
Reorder(const For oldOuter, const For &oldInner, ReorderMode mode)
Definition: reorder.h:46
Stmt visit(const For &op) override
Definition: reorder.cc:59
#define ASSERT(expr)
Definition: except.h:152
Definition: allocator.h:9
Stmt reorder(const Stmt &ast, const std::vector< ID > &order, ReorderMode mode)
Definition: reorder.cc:169
Ref< StmtNode > Stmt
Definition: ast.h:152
ReorderMode
Definition: reorder.h:11
std::ostream & operator<<(std::ostream &os, const Dependence &dep)
Definition: deps.cc:1404