From 3fdec12d942cf30ec63afd1fd846f6f033cb80e3 Mon Sep 17 00:00:00 2001 From: Dayoung Lee Date: Thu, 10 Oct 2024 18:58:06 +0900 Subject: [PATCH] [luci/pass] Add SubstituteExpandDimsToReshape pass to CircleOptimizer Let's add SubstituteExpandDimsToReshape pass to CircleOptimizer. Signed-off-by: Dayoung Lee --- compiler/luci/pass/include/luci/CircleOptimizer.h | 1 + compiler/luci/pass/src/CircleOptimizer.cpp | 5 +++++ 2 files changed, 6 insertions(+) diff --git a/compiler/luci/pass/include/luci/CircleOptimizer.h b/compiler/luci/pass/include/luci/CircleOptimizer.h index 0ab05a4f247..ed7cbf611df 100644 --- a/compiler/luci/pass/include/luci/CircleOptimizer.h +++ b/compiler/luci/pass/include/luci/CircleOptimizer.h @@ -86,6 +86,7 @@ class CircleOptimizer final ReplaceNonConstFCWithBatchMatMul, ReplaceSubWithAdd, ReplaceWithFCGeluFC, + SubstituteExpandDimsToReshape, SubstitutePackToReshape, SubstitutePadV2ToPad, SubstituteSplitVToSplit, diff --git a/compiler/luci/pass/src/CircleOptimizer.cpp b/compiler/luci/pass/src/CircleOptimizer.cpp index d84e11f9358..ef6a2d86a4d 100644 --- a/compiler/luci/pass/src/CircleOptimizer.cpp +++ b/compiler/luci/pass/src/CircleOptimizer.cpp @@ -87,6 +87,7 @@ #include "luci/Pass/ResolveFormerCustomOpPass.h" #include "luci/Pass/SparsifyTensorPass.h" #include "luci/Pass/ShuffleWeightTo16x1Float32Pass.h" +#include "luci/Pass/SubstituteExpandDimsToReshapePass.h" #include "luci/Pass/SubstitutePackToReshapePass.h" #include "luci/Pass/SubstitutePadV2ToPadPass.h" #include "luci/Pass/SubstituteSplitVToSplitPass.h" @@ -291,6 +292,10 @@ void CircleOptimizer::optimize(loco::Graph *g) const // 1. SubstituteXXXToReshape // 2. RemoveRedundantReshape/Transpose // See https://github.com/Samsung/ONE/pull/10596 for more details + if (_options->query(Options::Algorithm::SubstituteExpandDimsToReshape)) + { + phase.emplace_back(std::make_unique()); + } if (_options->query(Options::Algorithm::SubstitutePackToReshape)) { phase.emplace_back(std::make_unique());