[neurun]Merge 2 for-loops of PlanBuilder::finalize (#4118)
authorДилшоджон Умронхонович Пошшоев/AI Tools Lab /SRR/Engineer/삼성전자 <d.poshshoev@samsung.com>
Fri, 21 Dec 2018 01:06:19 +0000 (04:06 +0300)
committer오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 <hseok82.oh@samsung.com>
Fri, 21 Dec 2018 01:06:19 +0000 (10:06 +0900)
Since these two loops are independent and loop over the same
tensor_builders, better to merge them

Signed-off-by: Poshshoev Dilshodzhon <d.poshshoev@samsung.com>
runtimes/neurun/src/compiler/PlanBuilder.cc

index d934aa8..8ef3fed 100644 (file)
@@ -27,16 +27,14 @@ void PlanBuilder::addStage(const Stage &stage) { _stages.emplace_back(stage); }
 
 void PlanBuilder::finalize(const backend::TensorBuilderSet &tensor_builders)
 {
+  auto &operands = _plan.operands();
+
   // Prepare tensors
   for (auto &tensor_builder : tensor_builders)
   {
     tensor_builder->prepare();
-  }
 
-  // Wrap tensors as Object and store them to plan
-  auto &operands = _plan.operands();
-  for (auto &tensor_builder : tensor_builders)
-  {
+    // Wrap tensors as Object and store them to plan
     tensor_builder->iterate([&](const model::operand::Index &index) {
       auto object = tensor_builder->wrapTensor(index);
       operands.set(index, object);