Fix handling of src attributes in flatten
authorClifford Wolf <clifford@clifford.at>
Sat, 10 Mar 2018 12:55:30 +0000 (13:55 +0100)
committerClifford Wolf <clifford@clifford.at>
Sat, 10 Mar 2018 12:55:30 +0000 (13:55 +0100)
Signed-off-by: Clifford Wolf <clifford@clifford.at>
passes/techmap/techmap.cc

index d7756e2cdb507b8fb3f39180f6713174da367a9d..02d0d47e85b561afd6f13c29d2ccff80b8c096d4 100644 (file)
@@ -171,18 +171,15 @@ struct TechmapWorker
                }
 
                std::string orig_cell_name;
-               pool<string> extra_src_attrs;
+               pool<string> extra_src_attrs = cell->get_strpool_attribute("\\src");
 
-               if (!flatten_mode)
-               {
+               if (!flatten_mode) {
                        for (auto &it : tpl->cells_)
                                if (it.first == "\\_TECHMAP_REPLACE_") {
                                        orig_cell_name = cell->name.str();
                                        module->rename(cell, stringf("$techmap%d", autoidx++) + cell->name.str());
                                        break;
                                }
-
-                       extra_src_attrs = cell->get_strpool_attribute("\\src");
                }
 
                dict<IdString, IdString> memory_renames;
@@ -340,8 +337,6 @@ struct TechmapWorker
                        RTLIL::Cell *c = module->addCell(c_name, it.second);
                        design->select(module, c);
 
-                       c->set_src_attribute(cell->get_src_attribute());
-
                        if (!flatten_mode && c->type.substr(0, 2) == "\\$")
                                c->type = c->type.substr(1);