From 81e5edadd6de5113a4df9e33df1bbb4384bc735e Mon Sep 17 00:00:00 2001 From: Ekaterina Ignasheva Date: Thu, 11 Sep 2025 08:59:03 -0700 Subject: [PATCH] Unify and reorder replace passes. (#14160) Summary: Extract some of passes which are currently shared between Jarvis and Helios into an explicit shared list. With subsequent diffs I will be adding more and more shared passes. Reviewed By: DrJessop Differential Revision: D81948451 --- backends/cadence/aot/replace_ops.py | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/backends/cadence/aot/replace_ops.py b/backends/cadence/aot/replace_ops.py index 75190b9c7be..001ab95d629 100644 --- a/backends/cadence/aot/replace_ops.py +++ b/backends/cadence/aot/replace_ops.py @@ -2242,6 +2242,17 @@ def call_operator(self, op, args, kwargs, meta): ) +class CommonReplacePasses: + passes = [ + ReplaceSqueezeAndUnsqueezeWithViewPass, + ReplaceSplitWithSlicePass, + ReplaceSelectWithViewOpPass, + ReplaceMMWithAddMMPass, + ReplaceRepeatWithCatPass, + ReplaceFullLikeWithFullPass, + ] + + @register_cadence_pass(CadencePassAttribute(opt_level=0)) class ReplaceAtenLinalgSvdWithCadenceLinalgSvdPass(ExportPass): """ @@ -2260,19 +2271,15 @@ def call_operator(self, op, args, kwargs, meta): # This class encapsulates all the functions that replace/switch one op in the # graph with another. class CadenceReplaceOpsInGraph: - passes = [ + passes = CommonReplacePasses.passes + [ ReplaceAtenLinalgSvdWithCadenceLinalgSvdPass, ReplaceEmptyTensorsWithFullPass, ReplaceFunctionallyEquivalentOpTargets, ReplacePermuteWithTransposePass, ReplaceScalarWithTensorArgPass, ReplaceConvolutionOptionalArgsWithConcreteArgsPass, - ReplaceMMWithAddMMPass, - ReplaceSqueezeAndUnsqueezeWithViewPass, ReplaceAddMMWithLinearPass, RemoveNopSelectOpPass, - ReplaceSelectWithViewOpPass, - ReplaceRepeatWithCatPass, ReplacePadWithCatPass, ReplaceConstantPadNdWithSlicePass, ReplaceAtenConvolutionWithCadenceConvolutionPass, @@ -2287,7 +2294,6 @@ class CadenceReplaceOpsInGraph: ReplaceNopTransposeOrPermuteWithViewPass, ReplaceLinearWithFullyConnectedOpPass, ReplaceScalarTensorWithFullPass, - ReplaceFullLikeWithFullPass, ReplaceInfArgInFullWithValuePass, ReplaceLogicalNotBooleanWhereWithWherePass, ReplacePT2QuantWithCadenceQuantPass, @@ -2297,7 +2303,6 @@ class CadenceReplaceOpsInGraph: ReplaceAtenAvgPoolWithCadenceAvgPoolPass, ReplaceWhereWithFullArgsWithWhereScalar, ReplaceAtenApproxGeluWithApproxGeluPass, - ReplaceSplitWithSlicePass, ReplacePowWithMulPass, ReplaceMulTensorWithMulAndFullOpsPass, ]