COMPMID-1451: Perform fusion before GroupConvolution unrolling
Change-Id: Id94fb9c88a498d7b938f4f707e2e7b9b6df94880
diff --git a/src/graph/Utils.cpp b/src/graph/Utils.cpp
index 0a85a7f..71ec548 100644
--- a/src/graph/Utils.cpp
+++ b/src/graph/Utils.cpp
@@ -78,20 +78,16 @@
{
PassManager pm;
+ const bool is_target_gc = target == Target::GC;
+
// Passes that mutate graph IR
+ pm.append(support::cpp14::make_unique<NodeFusionMutator>(), !is_target_gc);
pm.append(support::cpp14::make_unique<GroupedConvolutionMutator>());
- if(target != Target::GC)
- {
- pm.append(support::cpp14::make_unique<NodeFusionMutator>());
- pm.append(support::cpp14::make_unique<InPlaceOperationMutator>());
- }
+ pm.append(support::cpp14::make_unique<InPlaceOperationMutator>(), !is_target_gc);
// Passes that mutate backend information
- if(target != Target::GC)
- {
- pm.append(support::cpp14::make_unique<DepthConcatSubTensorMutator>());
- pm.append(support::cpp14::make_unique<SplitLayerSubTensorMutator>());
- }
+ pm.append(support::cpp14::make_unique<DepthConcatSubTensorMutator>(), !is_target_gc);
+ pm.append(support::cpp14::make_unique<SplitLayerSubTensorMutator>(), !is_target_gc);
pm.append(support::cpp14::make_unique<NodeExecutionMethodMutator>());
return pm;