diff --git a/passes/memory/memory_collect.cc b/passes/memory/memory_collect.cc index bf3bb34f8..157042c9c 100644 --- a/passes/memory/memory_collect.cc +++ b/passes/memory/memory_collect.cc @@ -39,6 +39,9 @@ struct MemoryCollectPass : public Pass { log_header(design, "Executing MEMORY_COLLECT pass (generating $mem cells).\n"); extra_args(args, 1, design); for (auto module : design->selected_modules()) { + if (module->has_processes_warn()) + continue; + for (auto &mem : Mem::get_selected_memories(module)) { if (!mem.packed) { mem.packed = true; diff --git a/passes/memory/memory_libmap.cc b/passes/memory/memory_libmap.cc index 2e683b8eb..77a4eb81b 100644 --- a/passes/memory/memory_libmap.cc +++ b/passes/memory/memory_libmap.cc @@ -2229,6 +2229,9 @@ struct MemoryLibMapPass : public Pass { Library lib = parse_library(lib_files, defines); for (auto module : design->selected_modules()) { + if (module->has_processes_warn()) + continue; + MapWorker worker(module); auto mems = Mem::get_selected_memories(module); for (auto &mem : mems) diff --git a/passes/memory/memory_map.cc b/passes/memory/memory_map.cc index e2f74c2e1..cafc0aaf3 100644 --- a/passes/memory/memory_map.cc +++ b/passes/memory/memory_map.cc @@ -493,6 +493,9 @@ struct MemoryMapPass : public Pass { extra_args(args, argidx, design); for (auto mod : design->selected_modules()) { + if (mod->has_processes_warn()) + continue; + MemoryMapWorker worker(design, mod); worker.attr_icase = attr_icase; worker.attributes = attributes; diff --git a/passes/memory/memory_narrow.cc b/passes/memory/memory_narrow.cc index cf5e43465..46c538bab 100644 --- a/passes/memory/memory_narrow.cc +++ b/passes/memory/memory_narrow.cc @@ -46,6 +46,9 @@ struct MemoryNarrowPass : public Pass { extra_args(args, argidx, design); for (auto module : design->selected_modules()) { + if (module->has_processes_warn()) + continue; + for (auto &mem : Mem::get_selected_memories(module)) { bool wide = false; diff --git a/passes/memory/memory_share.cc b/passes/memory/memory_share.cc index 8b2354ef8..e06989f4a 100644 --- a/passes/memory/memory_share.cc +++ b/passes/memory/memory_share.cc @@ -558,8 +558,12 @@ struct MemorySharePass : public Pass { extra_args(args, argidx, design); MemoryShareWorker msw(design, flag_widen, flag_sat); - for (auto module : design->selected_modules()) + for (auto module : design->selected_modules()) { + if (module->has_processes_warn()) + continue; + msw(module); + } } } MemorySharePass; diff --git a/passes/opt/opt_mem.cc b/passes/opt/opt_mem.cc index 885b6f97d..9a2d8e6a5 100644 --- a/passes/opt/opt_mem.cc +++ b/passes/opt/opt_mem.cc @@ -52,6 +52,9 @@ struct OptMemPass : public Pass { int total_count = 0; for (auto module : design->selected_modules()) { + if (module->has_processes_warn()) + continue; + SigMap sigmap(module); FfInitVals initvals(&sigmap, module); for (auto &mem : Mem::get_selected_memories(module)) {