InfiniTensor/include/nnet/Visitor/CloneMutator.h

16 lines
420 B
C
Raw Permalink Normal View History

2022-08-08 16:02:07 +08:00
#pragma once
#include "nnet/visitor.h"
namespace nnet {
// Clone ExprNodes in a stage except Tensor, Var, and Constant nodes.
class CloneMutator : public Mutator {
public:
CloneMutator() : Mutator(false) {}
Expr visit_(const Constant &c) override;
Expr visit_(const Var &c) override;
Expr visit_(const Tensor &c) override;
Expr clone(const Expr &c) { return dispatch(c); }
};
} // namespace nnet