Skip to content

Commit b65b286

Browse files
authored
Add alias for write_rtlil only when ilang frontend doesn't exist (#2685)
Fixes: #2677
2 parents 4dfe758 + 144fb82 commit b65b286

File tree

6 files changed

+21
-5
lines changed

6 files changed

+21
-5
lines changed

CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -264,7 +264,7 @@ set(synlig_SRC
264264
${PROJECT_SOURCE_DIR}/src/mods/yosys_ast/synlig_const2ast.cc
265265
${PROJECT_SOURCE_DIR}/src/mods/yosys_ast/synlig_edif.cc
266266
${PROJECT_SOURCE_DIR}/src/mods/yosys_ast/synlig_simplify.cc
267-
${PROJECT_SOURCE_DIR}/src/mods/yosys_ast/synlig_write_ilang.cc)
267+
${PROJECT_SOURCE_DIR}/src/mods/yosys_ast/synlig_ilang.cc)
268268

269269
add_library(synlig SHARED ${synlig_SRC})
270270

src/frontends/systemverilog/Build.mk

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ ${ts}.sources := \
1717
${${ts}.mod_dir}synlig_const2ast.cc \
1818
${${ts}.mod_dir}synlig_edif.cc \
1919
${${ts}.mod_dir}synlig_simplify.cc \
20-
${${ts}.mod_dir}synlig_write_ilang.cc
20+
${${ts}.mod_dir}synlig_ilang.cc
2121

2222
define ${ts}.env =
2323
export PKG_CONFIG_PATH=$(call ShQuote,${$(call GetTargetStructName,surelog).output_vars.PKG_CONFIG_PATH}$(if ${PKG_CONFIG_PATH},:${PKG_CONFIG_PATH}))

src/frontends/systemverilog/uhdm_common_frontend.cc

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919

2020
#include "uhdm_common_frontend.h"
2121
#include "synlig_edif.h"
22+
#include "synlig_ilang.h"
2223

2324
#ifdef __linux__
2425
namespace Yosys
@@ -45,7 +46,11 @@ static void set_line_num(int) {}
4546
/* Stub for AST::process */
4647
static int get_line_num(void) { return 1; }
4748

48-
UhdmCommonFrontend::UhdmCommonFrontend(std::string name, std::string short_help) : Frontend(name, short_help) { register_synlig_edif_backend(); }
49+
UhdmCommonFrontend::UhdmCommonFrontend(std::string name, std::string short_help) : Frontend(name, short_help)
50+
{
51+
register_synlig_edif_backend();
52+
Synlig::register_synlig_ilang_alias();
53+
}
4954

5055
void UhdmCommonFrontend::print_read_options()
5156
{

src/mods/yosys_ast/Makefile.inc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,4 @@ CXXFLAGS += -I $(SYNLIG_SRC)/mods/yosys_ast
44
SYNLIG_OBJS += mods/yosys_ast/synlig_const2ast.o
55
SYNLIG_OBJS += mods/yosys_ast/synlig_edif.o
66
SYNLIG_OBJS += mods/yosys_ast/synlig_simplify.o
7-
SYNLIG_OBJS += mods/yosys_ast/synlig_write_ilang.o
7+
SYNLIG_OBJS += mods/yosys_ast/synlig_ilang.o

src/mods/yosys_ast/synlig_write_ilang.cc renamed to src/mods/yosys_ast/synlig_ilang.cc

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,13 @@ struct WriteIlangAlias : public Pass {
1919
cmd += " " + args[i];
2020
run_pass(cmd, design);
2121
}
22-
} WriteIlangAliasPass;
22+
};
2323

24+
void register_synlig_ilang_alias()
25+
{
26+
if (!pass_register.count("write_ilang")) {
27+
static WriteIlangAlias *write_ilang_alias = new WriteIlangAlias;
28+
write_ilang_alias->init_register();
29+
}
30+
}
2431
} // namespace Synlig

src/mods/yosys_ast/synlig_ilang.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
namespace Synlig
2+
{
3+
void register_synlig_ilang_alias();
4+
}

0 commit comments

Comments
 (0)