mirror of
https://github.com/YosysHQ/yosys
synced 2026-07-17 20:55:45 +00:00
twine: avoid TwinePool::lookup
This commit is contained in:
parent
4061593ce5
commit
3a5f5c77bf
23 changed files with 277 additions and 259 deletions
|
|
@ -258,7 +258,9 @@ static int tcl_get_attr(ClientData, Tcl_Interp *interp, int argc, const char *ar
|
|||
obj_id = RTLIL::escape_id(argv[i++]);
|
||||
attr_id = RTLIL::escape_id(argv[i++]);
|
||||
|
||||
RTLIL::Module *mod = yosys_design->module(mod_id);
|
||||
TwineSearch search(&yosys_design->twines);
|
||||
auto mod_twine = search.find(mod_id);
|
||||
RTLIL::Module *mod = yosys_design->module(mod_twine);
|
||||
if (!mod)
|
||||
ERROR("module not found")
|
||||
|
||||
|
|
@ -266,7 +268,6 @@ static int tcl_get_attr(ClientData, Tcl_Interp *interp, int argc, const char *ar
|
|||
if (mod_flag) {
|
||||
obj = mod;
|
||||
} else {
|
||||
TwineSearch search(&yosys_design->twines);
|
||||
auto obj_twine = search.find(obj_id);
|
||||
obj = mod->wire(obj_twine);
|
||||
if (!obj)
|
||||
|
|
@ -323,7 +324,9 @@ static int tcl_has_attr(ClientData, Tcl_Interp *interp, int argc, const char *ar
|
|||
obj_id = RTLIL::escape_id(argv[i++]);
|
||||
attr_id = RTLIL::escape_id(argv[i++]);
|
||||
|
||||
RTLIL::Module *mod = yosys_design->module(mod_id);
|
||||
TwineSearch search(&yosys_design->twines);
|
||||
auto mod_twine = search.find(mod_id);
|
||||
RTLIL::Module *mod = yosys_design->module(mod_twine);
|
||||
if (!mod)
|
||||
ERROR("module not found")
|
||||
|
||||
|
|
@ -331,7 +334,6 @@ static int tcl_has_attr(ClientData, Tcl_Interp *interp, int argc, const char *ar
|
|||
if (mod_flag) {
|
||||
obj = mod;
|
||||
} else {
|
||||
TwineSearch search(&yosys_design->twines);
|
||||
auto obj_twine = search.find(obj_id);
|
||||
obj = mod->wire(obj_twine);
|
||||
if (!obj)
|
||||
|
|
@ -378,7 +380,9 @@ static int tcl_set_attr(ClientData, Tcl_Interp *interp, int objc, Tcl_Obj *const
|
|||
obj_id = RTLIL::escape_id(Tcl_GetString(objv[i++]));
|
||||
attr_id = RTLIL::escape_id(Tcl_GetString(objv[i++]));
|
||||
|
||||
RTLIL::Module *mod = yosys_design->module(mod_id);
|
||||
TwineSearch search(&yosys_design->twines);
|
||||
auto mod_twine = search.find(mod_id);
|
||||
RTLIL::Module *mod = yosys_design->module(mod_twine);
|
||||
if (!mod)
|
||||
ERROR("module not found")
|
||||
|
||||
|
|
@ -386,7 +390,6 @@ static int tcl_set_attr(ClientData, Tcl_Interp *interp, int objc, Tcl_Obj *const
|
|||
if (mod_flag) {
|
||||
obj = mod;
|
||||
} else {
|
||||
TwineSearch search(&yosys_design->twines);
|
||||
auto obj_twine = search.find(obj_id);
|
||||
obj = mod->wire(obj_twine);
|
||||
if (!obj)
|
||||
|
|
@ -457,11 +460,12 @@ static int tcl_get_param(ClientData, Tcl_Interp *interp, int argc, const char *a
|
|||
cell_id = RTLIL::escape_id(argv[i++]);
|
||||
param_id = RTLIL::escape_id(argv[i++]);
|
||||
|
||||
RTLIL::Module *mod = yosys_design->module(mod_id);
|
||||
TwineSearch search(&yosys_design->twines);
|
||||
auto mod_twine = search.find(mod_id);
|
||||
RTLIL::Module *mod = yosys_design->module(mod_twine);
|
||||
if (!mod)
|
||||
ERROR("module not found")
|
||||
|
||||
TwineSearch search(&yosys_design->twines);
|
||||
auto cell_twine = search.find(cell_id);
|
||||
Cell* cell = mod->cell(cell_twine);
|
||||
if (!cell)
|
||||
|
|
@ -505,11 +509,12 @@ static int tcl_set_param(ClientData, Tcl_Interp *interp, int objc, Tcl_Obj *cons
|
|||
cell_id = RTLIL::escape_id(Tcl_GetString(objv[i++]));
|
||||
param_id = RTLIL::escape_id(Tcl_GetString(objv[i++]));
|
||||
|
||||
RTLIL::Module *mod = yosys_design->module(mod_id);
|
||||
TwineSearch search(&yosys_design->twines);
|
||||
auto mod_twine = search.find(mod_id);
|
||||
RTLIL::Module *mod = yosys_design->module(mod_twine);
|
||||
if (!mod)
|
||||
ERROR("module not found")
|
||||
|
||||
TwineSearch search(&yosys_design->twines);
|
||||
auto cell_twine = search.find(cell_id);
|
||||
RTLIL::Cell *cell = mod->cell(cell_twine);
|
||||
if (!cell)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue