From a24b2239c782f9af84e99a9dd351911eb499b35f Mon Sep 17 00:00:00 2001 From: =?utf8?q?=EB=B0=95=EC=84=B8=ED=9D=AC/On-Device=20Lab=28SR=29/Princip?= =?utf8?q?al=20Engineer/=EC=82=BC=EC=84=B1=EC=A0=84=EC=9E=90?= Date: Tue, 15 Jan 2019 12:54:29 +0900 Subject: [PATCH] [enco] Refactor SplitPass (#2849) This will hide SplitPass class and provide split_into_phases() like the other transformation pass Signed-off-by: SaeHie Park --- contrib/enco/core/src/Backend.cpp | 3 +-- contrib/enco/core/src/Transforms/Split.cpp | 19 ++++++++++++++++++- contrib/enco/core/src/Transforms/Split.h | 6 +----- 3 files changed, 20 insertions(+), 8 deletions(-) diff --git a/contrib/enco/core/src/Backend.cpp b/contrib/enco/core/src/Backend.cpp index 1480127..7270a86 100644 --- a/contrib/enco/core/src/Backend.cpp +++ b/contrib/enco/core/src/Backend.cpp @@ -145,8 +145,7 @@ void BackendImpl::compile(coco::Module *m, coco::Data *d) eliminate_dead_bag(code(sess)); // Split instructions into a set of phases (each block serves as a phase) - SplitPass split; - split.runOnCode(code(sess)); + split_into_phases(code(sess)); const std::string data_var = "data"; const std::string data_filename = _prefix + ".bin"; diff --git a/contrib/enco/core/src/Transforms/Split.cpp b/contrib/enco/core/src/Transforms/Split.cpp index 6f9b297..11ee9ca 100644 --- a/contrib/enco/core/src/Transforms/Split.cpp +++ b/contrib/enco/core/src/Transforms/Split.cpp @@ -1200,9 +1200,15 @@ void ANNModuleBuilder::build(ANNContext *ann_ctx) const } // namespace -namespace enco +namespace { +class SplitPass +{ +public: + void runOnCode(enco::Code *code) const; +}; + void SplitPass::runOnCode(enco::Code *code) const { auto ann_ctx = make_unique(); @@ -1216,4 +1222,15 @@ void SplitPass::runOnCode(enco::Code *code) const _subnet_contexts[code->module()] = std::move(ann_ctx); } +} // namespace + +namespace enco +{ + +void split_into_phases(enco::Code *code) +{ + SplitPass split; + split.runOnCode(code); +} + } // namespace enco diff --git a/contrib/enco/core/src/Transforms/Split.h b/contrib/enco/core/src/Transforms/Split.h index 3b93d61..b436b65 100644 --- a/contrib/enco/core/src/Transforms/Split.h +++ b/contrib/enco/core/src/Transforms/Split.h @@ -30,11 +30,7 @@ struct SubnetManager /** * @brief Split instructions into a set of phases */ -class SplitPass -{ -public: - void runOnCode(enco::Code *code) const; -}; +void split_into_phases(enco::Code *code); } // namespace enco; -- 2.7.4