diff --git a/exir/program/_program.py b/exir/program/_program.py index 0c8a3da08c1..8e825f6f85b 100644 --- a/exir/program/_program.py +++ b/exir/program/_program.py @@ -1252,11 +1252,21 @@ def _gen_edge_manager_for_partitioners( preserve_ops=ops_set_to_not_decompose_by_program.get(name, []), ) + # Merge ops_to_not_decompose into config so that downstream calls (e.g. + # EdgeProgramManager.transform()) carry the exception list through their + # verifiers automatically. + all_ops_not_to_decompose = list( + set().union(*ops_set_to_not_decompose_by_program.values()) + ) + config._core_aten_ops_exception_list = list( + set(config._core_aten_ops_exception_list) | set(all_ops_not_to_decompose) + ) + edge_manager = EdgeProgramManager( edge_programs, constant_methods, config, - list(set().union(*ops_set_to_not_decompose_by_program.values())), + all_ops_not_to_decompose, ) if generate_etrecord: