[mir] Fix number of outputs of `OutputOp` (#5993)
authorСергей Баранников/AI Tools Lab /SRR/Engineer/삼성전자 <s.barannikov@samsung.com>
Thu, 1 Aug 2019 10:26:11 +0000 (13:26 +0300)
committerEfimov Alexander/AI Tools Lab/./Samsung Electronics <a.efimov@samsung.com>
Thu, 1 Aug 2019 10:26:11 +0000 (13:26 +0300)
`OutputOp` is auxilary operation, which is used only to mark outputs of the Graph. It has one input and mistakenly had one output.

Signed-off-by: Sergei Barannikov <s.barannikov@samsung.com>
compiler/mir/include/mir/ops/OutputOp.h
compiler/mir2loco/src/mir2loco.test.cpp

index 5f70740..4c44af8 100644 (file)
@@ -27,7 +27,7 @@ namespace ops
 class OutputOp : public Operation
 {
 public:
-  explicit OutputOp(Output *input) : Operation(Type::output, {input}) {}
+  explicit OutputOp(Output *input) : Operation(Type::output, {input}, 0) {}
 
   Operation *copyWithInputs(const std::vector<Output *> &inputs) override
   {
index 82a344f..e2aa9cb 100644 (file)
@@ -32,8 +32,7 @@ TEST_F(TestTransformer_mir2loco, Input_Output_Test)
 
   mir::Shape input_shape = mir::Shape({5, 6, 7, 8});
   auto *input = mir_graph.create<mir::ops::InputOp>("input", input_shape);
-  auto *output = mir_graph.create<mir::ops::OutputOp>("output", input->getOutput(0));
-  output->getOutput(0)->setShape(input_shape);
+  mir_graph.create<mir::ops::OutputOp>("output", input->getOutput(0));
 
   mir2loco::Transformer transformer;
   auto loco_graph = transformer.transform(&mir_graph);