From d0b5444b62c1a24bfacc8aacf4a46d6db1e19d68 Mon Sep 17 00:00:00 2001 From: =?utf8?q?=EC=9C=A4=ED=98=84=EC=8B=9D/On-Device=20Lab=28SR=29/Princip?= =?utf8?q?al=20Engineer/=EC=82=BC=EC=84=B1=EC=A0=84=EC=9E=90?= Date: Mon, 14 Oct 2019 13:47:10 +0900 Subject: [PATCH] [exo] Adding FuseConv2DAddSubPass into TFLOptimize.cpp (#8102) Now FuseConv2DAddSubPass runs when UseFuseConv2DAddSubPass knob is on. Signed-off-by: Hyun Sik Yoon --- compiler/exo/src/Knob.lst | 3 +++ compiler/exo/src/Passes.h | 1 + compiler/exo/src/TFLOptimize.cpp | 5 ++++- 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/compiler/exo/src/Knob.lst b/compiler/exo/src/Knob.lst index d2de61c..a9a524a 100644 --- a/compiler/exo/src/Knob.lst +++ b/compiler/exo/src/Knob.lst @@ -30,3 +30,6 @@ KNOB_BOOL(ConvertRelu, true, Convert loco::Relu to TFLRelu) KNOB_BOOL(ConvertTensorBroadcast, true, Resolve loco::TensorBroadcast) // TODO loco::TensorSoftmax KNOB_BOOL(ConvertTensorTranspose, true, Resolve loco::TensorTranspose) + +// Optimization pass +KNOB_BOOL(UseFuseConv2DAddSubPass, false, Fuse TFLAdd or TFLSub into TFLConv2D) diff --git a/compiler/exo/src/Passes.h b/compiler/exo/src/Passes.h index 37af66d..a2a17e2 100644 --- a/compiler/exo/src/Passes.h +++ b/compiler/exo/src/Passes.h @@ -19,6 +19,7 @@ // Please add in alphabetical order +#include "Pass/FuseConv2DAddSubPass.h" #include "Pass/ShapeInferencePass.h" #include "Pass/TypeInferencePass.h" diff --git a/compiler/exo/src/TFLOptimize.cpp b/compiler/exo/src/TFLOptimize.cpp index a78a832..be33993 100644 --- a/compiler/exo/src/TFLOptimize.cpp +++ b/compiler/exo/src/TFLOptimize.cpp @@ -35,7 +35,10 @@ void optimize(loco::Graph *g) phase.emplace_back(stdex::make_unique()); phase.emplace_back(stdex::make_unique()); - // TODO Add FuseConv2DAddPass + if (get()) + { + phase.emplace_back(stdex::make_unique()); + } // TODO Add FuseReluPass -- 2.7.4