summaryrefslogtreecommitdiff
path: root/kernel/rtlil.h
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/rtlil.h')
-rw-r--r--kernel/rtlil.h7
1 files changed, 5 insertions, 2 deletions
diff --git a/kernel/rtlil.h b/kernel/rtlil.h
index 4a4e8235..7796ce96 100644
--- a/kernel/rtlil.h
+++ b/kernel/rtlil.h
@@ -199,6 +199,10 @@ struct RTLIL::Selection {
bool selected_whole_module(RTLIL::IdString mod_name) const;
bool selected_member(RTLIL::IdString mod_name, RTLIL::IdString memb_name) const;
void optimize(RTLIL::Design *design);
+ template<typename T1, typename T2> void select(T1 *module, T2 *member) {
+ if (!full_selection && selected_modules.count(module->name) == 0)
+ selected_members[module->name].insert(member->name);
+ }
};
struct RTLIL::Design {
@@ -221,8 +225,7 @@ struct RTLIL::Design {
template<typename T1, typename T2> void select(T1 *module, T2 *member) {
if (selection_stack.size() > 0) {
RTLIL::Selection &sel = selection_stack.back();
- if (!sel.full_selection && sel.selected_modules.count(module->name) == 0)
- sel.selected_members.at(module->name).insert(member->name);
+ sel.select(module, member);
}
}
};