1#ifndef FREE_TENSOR_REPLACE_BY_SAVED_H
2#define FREE_TENSOR_REPLACE_BY_SAVED_H
29 const std::unordered_map<ID, std::string> &intermediatesMap_;
30 const std::unordered_map<StmtOrExprID, Expr> &versions_;
32 std::optional<InvertFromStore> invertFromStore_;
38 const std::unordered_map<ID, std::string> &intermediatesMap,
39 const std::unordered_map<StmtOrExprID, Expr> &versions,
41 const std::optional<InvertFromStore> &invertFromStore = std::nullopt)
42 : symbolTable_(symbolTable), intermediatesMap_(intermediatesMap),
43 versions_(versions), rootStmtID_(rootStmtID),
44 invertFromStore_(invertFromStore) {}
53 auto grad(
const auto &op) {
60 using Mutator::operator();
Definition: replace_by_saved.h:27
Expr visitExpr(const Expr &expr) override
Definition: replace_by_saved.cc:6
auto grad(const auto &op)
Definition: replace_by_saved.h:53
ReplaceBySaved(const SymbolTableInterface &symbolTable, const std::unordered_map< ID, std::string > &intermediatesMap, const std::unordered_map< StmtOrExprID, Expr > &versions, const ID &rootStmtID, const std::optional< InvertFromStore > &invertFromStore=std::nullopt)
Definition: replace_by_saved.h:36
Expr visit(const Load &op) override
Definition: replace_by_saved.cc:28
auto recomp(const auto &op)
Definition: replace_by_saved.h:47
Definition: symbol_table.h:13
Definition: allocator.h:9