FreeTensor
Loading...
Searching...
No Matches
undo_make_reduction.h
Go to the documentation of this file.
1#ifndef FREE_TENSOR_UNDO_MAKE_REDUCTION_H
2#define FREE_TENSOR_UNDO_MAKE_REDUCTION_H
3
5#include <mutator.h>
6
7namespace freetensor {
8
14Stmt undoMakeReduction(const ReduceTo &op, DataType dtype);
15
16class UndoMakeReduction : public SymbolTable<Mutator> {
18
19 protected:
20 using BaseClass::visit;
21 Stmt visit(const ReduceTo &op) override;
22};
23
29inline Stmt undoMakeReduction(const Stmt &op) {
30 return UndoMakeReduction()(op);
31}
32
33} // namespace freetensor
34
35#endif // FREE_TENSOR_UNDO_MAKE_REDUCTION_H
Definition: symbol_table.h:122
BaseClass::StmtRetType visit(const VarDef &op) override
Definition: symbol_table.h:167
Definition: undo_make_reduction.h:16
Stmt visit(const ReduceTo &op) override
Definition: undo_make_reduction.cc:42
Definition: allocator.h:9
Stmt undoMakeReduction(const ReduceTo &op, DataType dtype)
Definition: undo_make_reduction.cc:5
Ref< ReduceToNode > ReduceTo
Definition: stmt.h:248
Ref< StmtNode > Stmt
Definition: ast.h:152