@@ -146,14 +146,17 @@ bool ov::pass::MOCTransformations::run_on_model(const std::shared_ptr<ngraph::Fu
146146 REGISTER_PASS (manager, BroadcastElementwiseFusion)
147147 REGISTER_PASS (manager, PullThroughReduce)
148148
149+ // GRUCellFusion and SequenceFusion should be before NopElimination
150+ REGISTER_PASS (manager, GRUCellFusion)
151+ REGISTER_PASS (manager, SequenceFusion)
152+
149153 auto transpose_sinking = manager.register_pass <ov::pass::GraphRewrite>();
150154 ADD_MATCHER (transpose_sinking, TransposeSinking)
151155
152156 // SplitSqueezeConcatFusion should work in same GraphRewrite as TransposesSinking,
153157 // because it replaces pattern that may contain Transposes which must be optimized before
154158 // the transformation and it also inserts Transpose that can be optimized by TransposeSinking
155159 ADD_MATCHER (transpose_sinking, SplitSqueezeConcatFusion)
156-
157160 auto eliminations = manager.register_pass <ov::pass::GraphRewrite>();
158161 ADD_MATCHER (eliminations, EliminateUnsqueezeGather)
159162 ADD_MATCHER (eliminations, NopElimination, m_use_shapes)
@@ -178,8 +181,6 @@ bool ov::pass::MOCTransformations::run_on_model(const std::shared_ptr<ngraph::Fu
178181 ADD_MATCHER (common_fusions, GeluFusion)
179182 ADD_MATCHER (common_fusions, LeakyReluFusion)
180183 ADD_MATCHER (common_fusions, RandomUniformFusion)
181- ADD_MATCHER (common_fusions, GRUCellFusion)
182- ADD_MATCHER (common_fusions, SequenceFusion)
183184 ADD_MATCHER (common_fusions, ConvertTensorIteratorToSequence)
184185 ADD_MATCHER (common_fusions, SplitConcatPairToInterpolateFusion, m_use_shapes)
185186 if (m_use_shapes) {
0 commit comments