This will hide DuplicatePass class and provide duplicate_inout_bag() like the other transformation pass
Signed-off-by: SaeHie Park <saehie.park@samsung.com>
// that share the same bag as their underlying bag.
//
// This DuplicatePass creates a copy of such bags in order to eliminate such a pair.
- DuplicatePass duplicate;
- duplicate.runOnCode(code(sess));
+ duplicate_inout_bag(code(sess));
// The current implementation will assign memory region for each bag as follows:
// Bind input bag to the region provided by Network_input_bind
} // namespace
-namespace enco
+namespace
+{
+
+class DuplicatePass
{
+private:
+ void runOnModule(coco::Module *m) const;
+
+public:
+ void runOnCode(enco::Code *) const;
+};
void DuplicatePass::runOnModule(coco::Module *m) const
{
}
}
-void DuplicatePass::runOnCode(Code *code) const { runOnModule(code->module()); }
+void DuplicatePass::runOnCode(enco::Code *code) const { runOnModule(code->module()); }
+
+} // namespace
+
+namespace enco
+{
+
+void duplicate_inout_bag(enco::Code *code)
+{
+ DuplicatePass duplicate;
+ duplicate.runOnCode(code);
+}
} // namespace enco
/**
* @brief Eliminate in/out bags by duplication
*/
-class DuplicatePass
-{
-private:
- void runOnModule(coco::Module *m) const;
-
-public:
- void runOnCode(enco::Code *) const;
-};
+void duplicate_inout_bag(enco::Code *code);
} // namespace enco