From d4c029e151530f8b8ba7a3485238403a03aa0629 Mon Sep 17 00:00:00 2001 From: HÃ¥vard Pettersen Date: Wed, 14 Mar 2018 10:15:49 +0000 Subject: remove DumpTarget and dump_tree --- eval/src/vespa/eval/eval/CMakeLists.txt | 1 - eval/src/vespa/eval/eval/dump_target.cpp | 156 --------------------- eval/src/vespa/eval/eval/dump_target.h | 54 ------- eval/src/vespa/eval/eval/tensor_function.cpp | 65 --------- eval/src/vespa/eval/eval/tensor_function.h | 14 -- .../tensor/dense/dense_dot_product_function.cpp | 9 -- .../eval/tensor/dense/dense_dot_product_function.h | 1 - .../tensor/dense/dense_fast_rename_function.cpp | 8 -- .../eval/tensor/dense/dense_fast_rename_function.h | 1 - .../tensor/dense/dense_inplace_join_function.cpp | 7 - .../tensor/dense/dense_inplace_join_function.h | 1 - .../tensor/dense/dense_inplace_map_function.cpp | 7 - .../eval/tensor/dense/dense_inplace_map_function.h | 1 - .../tensor/dense/dense_xw_product_function.cpp | 11 -- .../eval/tensor/dense/dense_xw_product_function.h | 1 - .../tensor/dense/vector_from_doubles_function.cpp | 12 -- .../tensor/dense/vector_from_doubles_function.h | 1 - 17 files changed, 350 deletions(-) delete mode 100644 eval/src/vespa/eval/eval/dump_target.cpp delete mode 100644 eval/src/vespa/eval/eval/dump_target.h (limited to 'eval/src') diff --git a/eval/src/vespa/eval/eval/CMakeLists.txt b/eval/src/vespa/eval/eval/CMakeLists.txt index 760725ae375..1baa1b3b4bf 100644 --- a/eval/src/vespa/eval/eval/CMakeLists.txt +++ b/eval/src/vespa/eval/eval/CMakeLists.txt @@ -6,7 +6,6 @@ vespa_add_library(eval_eval OBJECT call_nodes.cpp compile_tensor_function.cpp delete_node.cpp - dump_target.cpp function.cpp gbdt.cpp interpreted_function.cpp diff --git a/eval/src/vespa/eval/eval/dump_target.cpp b/eval/src/vespa/eval/eval/dump_target.cpp deleted file mode 100644 index ade27a4e330..00000000000 --- a/eval/src/vespa/eval/eval/dump_target.cpp +++ /dev/null @@ -1,156 +0,0 @@ -// Copyright 2018 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. - -#include "dump_target.h" -#include "tensor_function.h" -#include "aggr.h" -#include "operation.h" - -namespace vespalib { -namespace eval { - -namespace { - -using map_fun_t = double (*)(double); -using join_fun_t = double (*)(double, double); - -vespalib::string -name_of(map_fun_t fun) -{ - if (fun == operation::Neg::f) return "-"; - if (fun == operation::Not::f) return "!"; - if (fun == operation::Cos::f) return "cos"; - if (fun == operation::Sin::f) return "sin"; - if (fun == operation::Tan::f) return "tan"; - if (fun == operation::Cosh::f) return "cosh"; - if (fun == operation::Sinh::f) return "sinh"; - if (fun == operation::Tanh::f) return "tanh"; - if (fun == operation::Acos::f) return "acos"; - if (fun == operation::Asin::f) return "asin"; - if (fun == operation::Atan::f) return "atan"; - if (fun == operation::Exp::f) return "exp"; - if (fun == operation::Log10::f) return "log10"; - if (fun == operation::Log::f) return "log"; - if (fun == operation::Sqrt::f) return "sqrt"; - if (fun == operation::Ceil::f) return "ceil"; - if (fun == operation::Fabs::f) return "fabs"; - if (fun == operation::Floor::f) return "floor"; - if (fun == operation::IsNan::f) return "isnan"; - if (fun == operation::Relu::f) return "relu"; - if (fun == operation::Sigmoid::f) return "sigmoid"; - if (fun == operation::Elu::f) return "elu"; - return "[other map function]"; -} - -vespalib::string -name_of(join_fun_t fun) -{ - if (fun == operation::Add::f) return "+"; - if (fun == operation::Sub::f) return "-"; - if (fun == operation::Mul::f) return "*"; - if (fun == operation::Div::f) return "/"; - if (fun == operation::Mod::f) return "%"; - if (fun == operation::Pow::f) return "^"; - if (fun == operation::Equal::f) return "=="; - if (fun == operation::NotEqual::f) return "!="; - if (fun == operation::Approx::f) return "~"; - if (fun == operation::Less::f) return "<"; - if (fun == operation::LessEqual::f) return "<="; - if (fun == operation::Greater::f) return ">"; - if (fun == operation::GreaterEqual::f) return ">="; - if (fun == operation::And::f) return "&&"; - if (fun == operation::Or::f) return "||"; - if (fun == operation::Atan2::f) return "atan2"; - if (fun == operation::Ldexp::f) return "ldexp"; - if (fun == operation::Min::f) return "min"; - if (fun == operation::Max::f) return "max"; - return "[other join function]"; -} - -} // namespace vespalib::eval:: - -struct DumpTargetBackend { -public: - asciistream stream; - asciistream &indent(size_t level) { - stream << "\n"; - stream << asciistream::Width(level*2) << ""; - return stream; - } -}; - -DumpTarget::DumpTarget(DumpTargetBackend &back_end) - : _back_end(back_end), _indentLevel(0), _nodeName("root") -{} - -DumpTarget::DumpTarget(DumpTargetBackend &back_end, size_t level) - : _back_end(back_end), _indentLevel(level), _nodeName("child") -{} - -void -DumpTarget::indent() -{ - _back_end.indent(_indentLevel); -} - -vespalib::string -DumpTarget::dump(const TensorFunction &root) -{ - DumpTargetBackend back_end; - back_end.stream << "root type: " << root.result_type().to_spec(); - DumpTarget target(back_end); - root.dump_tree(target); - back_end.stream << "\n"; - return back_end.stream.str(); -} - -void -DumpTarget::node(const vespalib::string &name) -{ - _nodeName = name; - indent(); - _back_end.stream << "node name='" << name << "'"; -} - -void -DumpTarget::child(const vespalib::string &name, const TensorFunction &child) -{ - indent(); - _back_end.stream << _nodeName << " child name='" << name - << "' type: " << child.result_type().to_spec(); - DumpTarget nextLevel(_back_end, _indentLevel + 1); - child.dump_tree(nextLevel); -} - -DumpTarget::Arg::Arg(DumpTargetBackend &back_end) - : _back_end(back_end) -{} - -void DumpTarget::Arg::value(bool v) { _back_end.stream << (v ? "true" : "false"); } -void DumpTarget::Arg::value(size_t v) { _back_end.stream << v; } -void DumpTarget::Arg::value(map_fun_t v) { value(name_of(v)); } -void DumpTarget::Arg::value(join_fun_t v) { value(name_of(v)); } -void DumpTarget::Arg::value(const vespalib::string &v) { _back_end.stream << "'" << v << "'"; } -void DumpTarget::Arg::value(const std::vector &v) { - _back_end.stream << "["; - for (size_t i = 0; i < v.size(); ++i) { - if (i > 0) { _back_end.stream << ", "; } - _back_end.stream << "'" << v[i] << "'"; - } - _back_end.stream << "]"; -} -void DumpTarget::Arg::value(const Aggr &aggr) { value(*AggrNames::name_of(aggr)); } - -DumpTarget::Arg -DumpTarget::arg(const vespalib::string &name) -{ - indent(); - _back_end.stream << _nodeName << " arg name='" << name << "' value="; - return Arg(_back_end); -} - -DumpTarget::~DumpTarget() -{ -} - -} // namespace vespalib::eval -} // namespace vespalib diff --git a/eval/src/vespa/eval/eval/dump_target.h b/eval/src/vespa/eval/eval/dump_target.h deleted file mode 100644 index 6d4b5088cd0..00000000000 --- a/eval/src/vespa/eval/eval/dump_target.h +++ /dev/null @@ -1,54 +0,0 @@ -// Copyright 2018 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. - -#pragma once - -#include -#include -#include - -namespace vespalib { -namespace eval { - -struct TensorFunction; -struct DumpTargetBackend; -enum class Aggr; - -class DumpTarget -{ -private: - DumpTargetBackend &_back_end; - DumpTarget(DumpTargetBackend &back_end); - DumpTarget(DumpTargetBackend &back_end, size_t level); - size_t _indentLevel; - vespalib::string _nodeName; - void indent(); -public: - static vespalib::string dump(const TensorFunction &root); - - void node(const vespalib::string &name); - void child(const vespalib::string &name, const TensorFunction &child); - - using map_fun_t = double (*)(double); - using join_fun_t = double (*)(double, double); - - class Arg { - private: - DumpTargetBackend &_back_end; - public: - Arg(DumpTargetBackend &back_end); - void value(bool v); - void value(size_t v); - void value(map_fun_t v); - void value(join_fun_t v); - void value(const vespalib::string &v); - void value(const std::vector &v); - void value(const Aggr &aggr); - }; - - Arg arg(const vespalib::string &name); - - ~DumpTarget(); -}; - -} // namespace vespalib::eval -} // namespace vespalib diff --git a/eval/src/vespa/eval/eval/tensor_function.cpp b/eval/src/vespa/eval/eval/tensor_function.cpp index fab0c21b970..97e0c830936 100644 --- a/eval/src/vespa/eval/eval/tensor_function.cpp +++ b/eval/src/vespa/eval/eval/tensor_function.cpp @@ -169,12 +169,6 @@ ConstValue::compile_self(Stash &) const return Instruction(op_load_const, wrap_param(_value)); } -void -ConstValue::dump_tree(DumpTarget &target) const -{ - target.node("ConstValue"); -} - void ConstValue::visit_self(vespalib::ObjectVisitor &visitor) const { @@ -194,12 +188,6 @@ Inject::compile_self(Stash &) const return Instruction::fetch_param(_param_idx); } -void -Inject::dump_tree(DumpTarget &target) const -{ - target.node("Inject"); -} - void Inject::visit_self(vespalib::ObjectVisitor &visitor) const { @@ -216,15 +204,6 @@ Reduce::compile_self(Stash &stash) const return Instruction(op_tensor_reduce, wrap_param(params)); } -void -Reduce::dump_tree(DumpTarget &target) const -{ - target.node("Reduce"); - target.arg("aggr").value(aggr()); - target.arg("dimensions").value(dimensions()); - target.child("child", child()); -} - void Reduce::visit_self(vespalib::ObjectVisitor &visitor) const { @@ -244,14 +223,6 @@ Map::compile_self(Stash &) const return Instruction(op_tensor_map, to_param(_function)); } -void -Map::dump_tree(DumpTarget &target) const -{ - target.node("Map"); - target.arg("function").value(function()); - target.child("child", child()); -} - void Map::visit_self(vespalib::ObjectVisitor &visitor) const { @@ -276,15 +247,6 @@ Join::compile_self(Stash &) const return Instruction(op_tensor_join, to_param(_function)); } -void -Join::dump_tree(DumpTarget &target) const -{ - target.node("Join"); - target.arg("function").value(function()); - target.child("lhs", lhs()); - target.child("rhs", rhs()); -} - void Join::visit_self(vespalib::ObjectVisitor &visitor) const { @@ -300,15 +262,6 @@ Concat::compile_self(Stash &) const return Instruction(op_tensor_concat, wrap_param(_dimension)); } -void -Concat::dump_tree(DumpTarget &target) const -{ - target.node("Concat"); - target.arg("dimension").value(dimension()); - target.child("lhs", lhs()); - target.child("rhs", rhs()); -} - void Concat::visit_self(vespalib::ObjectVisitor &visitor) const { @@ -325,15 +278,6 @@ Rename::compile_self(Stash &stash) const return Instruction(op_tensor_rename, wrap_param(params)); } -void -Rename::dump_tree(DumpTarget &target) const -{ - target.node("Rename"); - target.arg("from").value(from()); - target.arg("to").value(to()); - target.child("child", child()); -} - void Rename::visit_self(vespalib::ObjectVisitor &visitor) const { @@ -359,15 +303,6 @@ If::compile_self(Stash &) const abort(); } -void -If::dump_tree(DumpTarget &target) const -{ - target.node("If"); - target.child("cond", _cond.get()); - target.child("t_child", _true_child.get()); - target.child("f_child", _false_child.get()); -} - void If::visit_children(vespalib::ObjectVisitor &visitor) const { diff --git a/eval/src/vespa/eval/eval/tensor_function.h b/eval/src/vespa/eval/eval/tensor_function.h index 0640ba87a7e..356424d2c2c 100644 --- a/eval/src/vespa/eval/eval/tensor_function.h +++ b/eval/src/vespa/eval/eval/tensor_function.h @@ -14,7 +14,6 @@ #include "aggr.h" #include "interpreted_function.h" -#include "dump_target.h" namespace vespalib { @@ -95,11 +94,6 @@ struct TensorFunction **/ virtual InterpretedFunction::Instruction compile_self(Stash &stash) const = 0; - /** - * debug logging facility. - **/ - virtual void dump_tree(DumpTarget &target) const = 0; - // for debug dumping vespalib::string as_string() const; virtual vespalib::string class_name() const; @@ -180,7 +174,6 @@ public: ConstValue(const Value &value_in) : Leaf(value_in.type()), _value(value_in) {} bool result_is_mutable() const override { return false; } InterpretedFunction::Instruction compile_self(Stash &stash) const final override; - void dump_tree(DumpTarget &target) const override; void visit_self(vespalib::ObjectVisitor &visitor) const override; }; @@ -196,7 +189,6 @@ public: size_t param_idx() const { return _param_idx; } bool result_is_mutable() const override { return false; } InterpretedFunction::Instruction compile_self(Stash &stash) const final override; - void dump_tree(DumpTarget &target) const override; void visit_self(vespalib::ObjectVisitor &visitor) const override; }; @@ -217,7 +209,6 @@ public: const std::vector &dimensions() const { return _dimensions; } bool result_is_mutable() const override { return true; } InterpretedFunction::Instruction compile_self(Stash &stash) const final override; - void dump_tree(DumpTarget &target) const override; void visit_self(vespalib::ObjectVisitor &visitor) const override; }; @@ -235,7 +226,6 @@ public: map_fun_t function() const { return _function; } bool result_is_mutable() const override { return true; } InterpretedFunction::Instruction compile_self(Stash &stash) const override; - void dump_tree(DumpTarget &target) const override; void visit_self(vespalib::ObjectVisitor &visitor) const override; }; @@ -254,7 +244,6 @@ public: join_fun_t function() const { return _function; } bool result_is_mutable() const override { return true; } InterpretedFunction::Instruction compile_self(Stash &stash) const override; - void dump_tree(DumpTarget &target) const override; void visit_self(vespalib::ObjectVisitor &visitor) const override; }; @@ -273,7 +262,6 @@ public: const vespalib::string &dimension() const { return _dimension; } bool result_is_mutable() const override { return true; } InterpretedFunction::Instruction compile_self(Stash &stash) const final override; - void dump_tree(DumpTarget &target) const override; void visit_self(vespalib::ObjectVisitor &visitor) const override; }; @@ -294,7 +282,6 @@ public: const std::vector &to() const { return _to; } bool result_is_mutable() const override { return true; } InterpretedFunction::Instruction compile_self(Stash &stash) const final override; - void dump_tree(DumpTarget &target) const override; void visit_self(vespalib::ObjectVisitor &visitor) const override; }; @@ -321,7 +308,6 @@ public: false_child().result_is_mutable()); } InterpretedFunction::Instruction compile_self(Stash &stash) const final override; - void dump_tree(DumpTarget &target) const override; void visit_children(vespalib::ObjectVisitor &visitor) const final override; }; diff --git a/eval/src/vespa/eval/tensor/dense/dense_dot_product_function.cpp b/eval/src/vespa/eval/tensor/dense/dense_dot_product_function.cpp index 5452ae1994d..ae217935fd9 100644 --- a/eval/src/vespa/eval/tensor/dense/dense_dot_product_function.cpp +++ b/eval/src/vespa/eval/tensor/dense/dense_dot_product_function.cpp @@ -59,15 +59,6 @@ DenseDotProductFunction::compile_self(Stash &) const return eval::InterpretedFunction::Instruction(my_dot_product_op, (uint64_t)(_hwAccelerator.get())); } -void -DenseDotProductFunction::dump_tree(eval::DumpTarget &target) const -{ - target.node("DenseDotProduct"); - target.child("lhs", lhs()); - target.child("rhs", rhs()); -} - - const TensorFunction & DenseDotProductFunction::optimize(const eval::TensorFunction &expr, Stash &stash) { diff --git a/eval/src/vespa/eval/tensor/dense/dense_dot_product_function.h b/eval/src/vespa/eval/tensor/dense/dense_dot_product_function.h index fe9a92adbf2..46b04a446d4 100644 --- a/eval/src/vespa/eval/tensor/dense/dense_dot_product_function.h +++ b/eval/src/vespa/eval/tensor/dense/dense_dot_product_function.h @@ -19,7 +19,6 @@ public: DenseDotProductFunction(const eval::TensorFunction &lhs_in, const eval::TensorFunction &rhs_in); eval::InterpretedFunction::Instruction compile_self(Stash &stash) const override; - void dump_tree(eval::DumpTarget &target) const override; bool result_is_mutable() const override { return true; } static const eval::TensorFunction &optimize(const eval::TensorFunction &expr, Stash &stash); }; diff --git a/eval/src/vespa/eval/tensor/dense/dense_fast_rename_function.cpp b/eval/src/vespa/eval/tensor/dense/dense_fast_rename_function.cpp index ede5f433ca4..dda95d5a657 100644 --- a/eval/src/vespa/eval/tensor/dense/dense_fast_rename_function.cpp +++ b/eval/src/vespa/eval/tensor/dense/dense_fast_rename_function.cpp @@ -68,14 +68,6 @@ DenseFastRenameFunction::compile_self(Stash &) const return eval::InterpretedFunction::Instruction(my_fast_rename_op, (uint64_t)&(result_type())); } -void -DenseFastRenameFunction::dump_tree(eval::DumpTarget &target) const -{ - target.node("DenseFastRename"); - target.child("child", child()); -} - - const TensorFunction & DenseFastRenameFunction::optimize(const eval::TensorFunction &expr, Stash &stash) { diff --git a/eval/src/vespa/eval/tensor/dense/dense_fast_rename_function.h b/eval/src/vespa/eval/tensor/dense/dense_fast_rename_function.h index 1427ab908e4..1ca61d52915 100644 --- a/eval/src/vespa/eval/tensor/dense/dense_fast_rename_function.h +++ b/eval/src/vespa/eval/tensor/dense/dense_fast_rename_function.h @@ -17,7 +17,6 @@ public: const eval::TensorFunction &child); ~DenseFastRenameFunction(); eval::InterpretedFunction::Instruction compile_self(Stash &stash) const override; - void dump_tree(eval::DumpTarget &target) const override; bool result_is_mutable() const override { return child().result_is_mutable(); } static const eval::TensorFunction &optimize(const eval::TensorFunction &expr, Stash &stash); }; diff --git a/eval/src/vespa/eval/tensor/dense/dense_inplace_join_function.cpp b/eval/src/vespa/eval/tensor/dense/dense_inplace_join_function.cpp index b02685f4765..70d1274421a 100644 --- a/eval/src/vespa/eval/tensor/dense/dense_inplace_join_function.cpp +++ b/eval/src/vespa/eval/tensor/dense/dense_inplace_join_function.cpp @@ -68,13 +68,6 @@ DenseInplaceJoinFunction::compile_self(Stash &) const return eval::InterpretedFunction::Instruction(op, (uint64_t)function()); } -void -DenseInplaceJoinFunction::dump_tree(eval::DumpTarget &target) const -{ - target.node("DenseInplaceJoin replacing:"); - Join::dump_tree(target); -} - void DenseInplaceJoinFunction::visit_self(vespalib::ObjectVisitor &visitor) const { diff --git a/eval/src/vespa/eval/tensor/dense/dense_inplace_join_function.h b/eval/src/vespa/eval/tensor/dense/dense_inplace_join_function.h index 382b9a1561f..d2bb56056c7 100644 --- a/eval/src/vespa/eval/tensor/dense/dense_inplace_join_function.h +++ b/eval/src/vespa/eval/tensor/dense/dense_inplace_join_function.h @@ -25,7 +25,6 @@ public: bool write_left() const { return _write_left; } bool result_is_mutable() const override { return true; } eval::InterpretedFunction::Instruction compile_self(Stash &stash) const override; - void dump_tree(eval::DumpTarget &target) const override; void visit_self(vespalib::ObjectVisitor &visitor) const override; static const eval::TensorFunction &optimize(const eval::TensorFunction &expr, Stash &stash); }; diff --git a/eval/src/vespa/eval/tensor/dense/dense_inplace_map_function.cpp b/eval/src/vespa/eval/tensor/dense/dense_inplace_map_function.cpp index a11db454374..a0aba25f342 100644 --- a/eval/src/vespa/eval/tensor/dense/dense_inplace_map_function.cpp +++ b/eval/src/vespa/eval/tensor/dense/dense_inplace_map_function.cpp @@ -52,13 +52,6 @@ DenseInplaceMapFunction::compile_self(Stash &) const return eval::InterpretedFunction::Instruction(my_inplace_map_op, (uint64_t)function()); } -void -DenseInplaceMapFunction::dump_tree(eval::DumpTarget &target) const -{ - target.node("DenseInplaceMap replacing:"); - Map::dump_tree(target); -} - const TensorFunction & DenseInplaceMapFunction::optimize(const eval::TensorFunction &expr, Stash &stash) { diff --git a/eval/src/vespa/eval/tensor/dense/dense_inplace_map_function.h b/eval/src/vespa/eval/tensor/dense/dense_inplace_map_function.h index 958261899b4..acc4504176a 100644 --- a/eval/src/vespa/eval/tensor/dense/dense_inplace_map_function.h +++ b/eval/src/vespa/eval/tensor/dense/dense_inplace_map_function.h @@ -19,7 +19,6 @@ public: ~DenseInplaceMapFunction(); bool result_is_mutable() const override { return true; } eval::InterpretedFunction::Instruction compile_self(Stash &stash) const override; - void dump_tree(eval::DumpTarget &target) const override; static const eval::TensorFunction &optimize(const eval::TensorFunction &expr, Stash &stash); }; diff --git a/eval/src/vespa/eval/tensor/dense/dense_xw_product_function.cpp b/eval/src/vespa/eval/tensor/dense/dense_xw_product_function.cpp index 77685b7a748..d68b7f07db0 100644 --- a/eval/src/vespa/eval/tensor/dense/dense_xw_product_function.cpp +++ b/eval/src/vespa/eval/tensor/dense/dense_xw_product_function.cpp @@ -134,17 +134,6 @@ DenseXWProductFunction::compile_self(Stash &stash) const return eval::InterpretedFunction::Instruction(op, (uint64_t)(&self)); } -void -DenseXWProductFunction::dump_tree(eval::DumpTarget &target) const -{ - target.node("DenseXWProduct"); - target.arg("common dimension innermost").value(_commonDimensionInnermost); - target.arg("vector size").value(_vectorSize); - target.arg("result size").value(_resultSize); - target.child("lhs", lhs()); - target.child("rhs", rhs()); -} - void DenseXWProductFunction::visit_self(vespalib::ObjectVisitor &visitor) const { diff --git a/eval/src/vespa/eval/tensor/dense/dense_xw_product_function.h b/eval/src/vespa/eval/tensor/dense/dense_xw_product_function.h index 652652df3fb..783516916c2 100644 --- a/eval/src/vespa/eval/tensor/dense/dense_xw_product_function.h +++ b/eval/src/vespa/eval/tensor/dense/dense_xw_product_function.h @@ -51,7 +51,6 @@ public: bool matrixHasCommonDimensionInnermost() const { return _commonDimensionInnermost; } eval::InterpretedFunction::Instruction compile_self(Stash &stash) const override; - void dump_tree(eval::DumpTarget &target) const override; void visit_self(vespalib::ObjectVisitor &visitor) const override; static const eval::TensorFunction &optimize(const eval::TensorFunction &expr, Stash &stash); }; diff --git a/eval/src/vespa/eval/tensor/dense/vector_from_doubles_function.cpp b/eval/src/vespa/eval/tensor/dense/vector_from_doubles_function.cpp index 7bb112d275f..445b08ab114 100644 --- a/eval/src/vespa/eval/tensor/dense/vector_from_doubles_function.cpp +++ b/eval/src/vespa/eval/tensor/dense/vector_from_doubles_function.cpp @@ -91,18 +91,6 @@ VectorFromDoublesFunction::compile_self(Stash &) const return eval::InterpretedFunction::Instruction(my_vector_from_doubles_op, (uint64_t)&_self); } -void -VectorFromDoublesFunction::dump_tree(eval::DumpTarget &target) const -{ - target.node("VectorFromDoubles"); - target.arg("size").value(size()); - target.arg("dimension").value(dimension()); - for (const auto & child : _children) { - target.child("child", child.get()); - } -} - - const TensorFunction & VectorFromDoublesFunction::optimize(const eval::TensorFunction &expr, Stash &stash) { diff --git a/eval/src/vespa/eval/tensor/dense/vector_from_doubles_function.h b/eval/src/vespa/eval/tensor/dense/vector_from_doubles_function.h index ffd40d8acc0..378c9026f84 100644 --- a/eval/src/vespa/eval/tensor/dense/vector_from_doubles_function.h +++ b/eval/src/vespa/eval/tensor/dense/vector_from_doubles_function.h @@ -31,7 +31,6 @@ public: } size_t size() const { return _self.resultSize; } eval::InterpretedFunction::Instruction compile_self(Stash &stash) const override; - void dump_tree(eval::DumpTarget &target) const override; bool result_is_mutable() const override { return true; } static const eval::TensorFunction &optimize(const eval::TensorFunction &expr, Stash &stash); }; -- cgit v1.2.3