From 3d2e268154e5a93019274fb1988855a77db1f841 Mon Sep 17 00:00:00 2001 From: "Emil J. Tywoniak" Date: Mon, 26 Jan 2026 11:59:39 +0100 Subject: [PATCH] kernel: add SwitchRule signal_src (cherry picked from commit 53585db9f735ecdcf0dc10132eada67a85245d64) --- frontends/ast/genrtlil.cc | 1 + kernel/rtlil.h | 1 + 2 files changed, 2 insertions(+) diff --git a/frontends/ast/genrtlil.cc b/frontends/ast/genrtlil.cc index 660b07ec6..72de09b66 100644 --- a/frontends/ast/genrtlil.cc +++ b/frontends/ast/genrtlil.cc @@ -704,6 +704,7 @@ struct AST_INTERNAL::ProcessGenerator sw->module = current_module; set_src_attr(sw, ast); sw->signal = ast->children[0]->genWidthRTLIL(width_hint, sign_hint, &subst_rvalue_map.stdmap()); + sw->signal_src = current_module->design->twines.add(Twine{ast->children[0]->loc_string()}); current_case->switches.push_back(sw); for (auto &attr : ast->attributes) { diff --git a/kernel/rtlil.h b/kernel/rtlil.h index 3d7cc730e..d30b71bc3 100644 --- a/kernel/rtlil.h +++ b/kernel/rtlil.h @@ -2563,6 +2563,7 @@ struct RTLIL::SwitchRule : public RTLIL::AttrObject RTLIL::Module *module = nullptr; RTLIL::SigSpec signal; + TwineRef signal_src = Twine::Null; std::vector cases; ~SwitchRule();