std::shared_ptr<backend::operand::IObject> wrapTensor(const model::OperandIndex &ind) override;
void iterate(const IterateFunction &fn) override;
+ // TODO Fill these and remember that these will be for the linear executor for a while
+ void preVisit(const model::Operation &) override {}
+ void postVisit(const model::Operation &) override {}
+
+ // TODO Consider removing after #5642 fixes
void registerModelObject(const model::OperandIndex &ind, const model::Operand &obj) override;
void markConstant(const model::OperandIndex &ind) override;
bool isConstant(const model::OperandIndex &ind) override;
-
void deallocateConstants(void) override;
-
void notifyFirstUseIf(const model::OperandIndex &ind) override;
void notifyLastUseIf(const model::OperandIndex &ind) override;
void iterate(const IterateFunction &fn) override;
+ void preVisit(const model::Operation &) override {}
+ void postVisit(const model::Operation &) override {}
+
+ // TODO Consider removing after #5642 fixes
void registerModelObject(const model::OperandIndex &ind, const model::Operand &obj) override;
void markConstant(const model::OperandIndex &ind) override;
bool isConstant(const model::OperandIndex &ind) override;
-
void deallocateConstants(void) override;
-
- // Only act on the linear executor on acl
void notifyFirstUseIf(const model::OperandIndex &) override;
void notifyLastUseIf(const model::OperandIndex &) override;
#include "model/Index.h"
#include "model/OperandInfo.h"
+#include "model/Operation.h"
+#include "model/Layout.h"
#include "operand/IObject.h"
-#include "compiler/SubTensorInfo.h"
#include "operand/ITensor.h"
-#include "model/Layout.h"
+#include "compiler/SubTensorInfo.h"
#include "IMemoryManager.h"
namespace neurun
virtual std::shared_ptr<backend::operand::IObject> wrapTensor(const model::OperandIndex &ind) = 0;
virtual void iterate(const IterateFunction &fn) = 0;
+ virtual void preVisit(const model::Operation &) = 0;
+ virtual void postVisit(const model::Operation &) = 0;
+
+ // TODO Consider removing after #5642 fixes
virtual void registerModelObject(const model::OperandIndex &, const model::Operand &) = 0;
virtual void markConstant(const model::OperandIndex &) = 0;
virtual bool isConstant(const model::OperandIndex &) = 0;
-
virtual void deallocateConstants(void) = 0;
-
virtual void notifyFirstUseIf(const model::OperandIndex &) = 0;
virtual void notifyLastUseIf(const model::OperandIndex &) = 0;