From: 박종현/동작제어Lab(SR)/Staff Engineer/삼성전자 Date: Tue, 2 Oct 2018 04:39:08 +0000 (+0900) Subject: [enco] Eliminate Objects with no backing bag (#1719) X-Git-Tag: nncc_backup~1649 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=d91275e3182b9995c4d136a36abc29a031ee6059;p=platform%2Fcore%2Fml%2Fnnfw.git [enco] Eliminate Objects with no backing bag (#1719) This commit allows Dead Object Elimination (DOE) pass to eliminate objects with no backing bag (if it has no uses). Signed-off-by: Jonghyun Park --- diff --git a/contrib/enco/core/src/Transforms/DeadObjectElimination.cpp b/contrib/enco/core/src/Transforms/DeadObjectElimination.cpp index 1f5970e..fc77d9b 100644 --- a/contrib/enco/core/src/Transforms/DeadObjectElimination.cpp +++ b/contrib/enco/core/src/Transforms/DeadObjectElimination.cpp @@ -28,11 +28,20 @@ std::set dead_objects(const coco::Module *m) for (uint32_t n = 0; n < m->entity()->object()->size(); ++n) { auto obj = m->entity()->object()->at(n); - auto bag = obj->bag(); - if (coco::readers(bag).empty() && !(bag->isOutput())) + if (auto bag = obj->bag()) { - res.insert(obj); + if (coco::readers(bag).empty() && !(bag->isOutput())) + { + res.insert(obj); + } + } + else + { + if (obj->uses()->size() == 0) + { + res.insert(obj); + } } }