[enco] Loop Generation over Partial Shuffle (#1405)
author박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 <jh1302.park@samsung.com>
Fri, 7 Sep 2018 04:31:44 +0000 (13:31 +0900)
committerGitHub Enterprise <noreply-CODE@samsung.com>
Fri, 7 Sep 2018 04:31:44 +0000 (13:31 +0900)
With this commit, Host codegen is now able to emit loop nests for
partial shuffle.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
contrib/enco/core/src/CppGen/Host.cpp

index 6115051..63bc251 100644 (file)
@@ -42,9 +42,10 @@ TransferSequence as_transfer_sequence(const coco::Shuffle *shuffle)
 {
   TransferSequence seq;
 
-  for (uint32_t n = 0; n < shuffle->into()->size(); ++n)
+  for (const auto &dst : shuffle->range())
   {
-    seq.emplace_back(shuffle->at(n).value(), n);
+    const auto src = shuffle->at(dst.value());
+    seq.emplace_back(src.value(), dst.value());
   }
 
   return seq;