|
|
|
@ -18,6 +18,7 @@
|
|
|
|
|
#include <memory>
|
|
|
|
|
#include <set>
|
|
|
|
|
#include <vector>
|
|
|
|
|
#include <algorithm>
|
|
|
|
|
#include "tools/converter/quant_param_holder.h"
|
|
|
|
|
#include "tools/optimizer/common/gllo_utils.h"
|
|
|
|
|
#include "tools/anf_exporter/anf_exporter.h"
|
|
|
|
@ -246,6 +247,9 @@ void FreeTensors(std::vector<Tensor *> *input_tensor, std::vector<Tensor *> *out
|
|
|
|
|
}
|
|
|
|
|
} // namespace
|
|
|
|
|
|
|
|
|
|
int const_fold_call_num = 0;
|
|
|
|
|
int ConstFoldPass::GetConstFoldCallNum() { return const_fold_call_num; }
|
|
|
|
|
|
|
|
|
|
const AnfNodePtr ConstFoldPass::Process(const FuncGraphPtr &func_graph, const AnfNodePtr &node,
|
|
|
|
|
const EquivPtr &) const {
|
|
|
|
|
if (CheckIfFuncGraphIsNull(func_graph) != lite::RET_OK || CheckIfAnfNodeIsNull(node) != lite::RET_OK ||
|
|
|
|
@ -269,6 +273,7 @@ const AnfNodePtr ConstFoldPass::Process(const FuncGraphPtr &func_graph, const An
|
|
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
|
changed = true;
|
|
|
|
|
const_fold_call_num++;
|
|
|
|
|
auto output_nums = GetOutputTensorNum(input_cnode);
|
|
|
|
|
std::vector<Tensor *> output_tensors;
|
|
|
|
|
for (size_t j = 0; j < output_nums; j++) {
|
|
|
|
|