Make it easy to change the type used for sizes. I am working on a patch that changes yosys types that deal with sizes to be a ys_size_type typedef (needed to get ready for bigger designs). This change here is a no-op, but it makes it possible to change things at a single place once we're ready. Signed-off-by: Henner Zeller <hzeller@google.com>
diff --git a/systemverilog-plugin/third_party/yosys/simplify.cc b/systemverilog-plugin/third_party/yosys/simplify.cc index 20b932d..0770605 100644 --- a/systemverilog-plugin/third_party/yosys/simplify.cc +++ b/systemverilog-plugin/third_party/yosys/simplify.cc
@@ -36,6 +36,8 @@ #include <stdlib.h> #include <math.h> +#include "simplify.h" + YOSYS_NAMESPACE_BEGIN namespace VERILOG_FRONTEND { @@ -49,8 +51,6 @@ using namespace ::Yosys; using namespace ::Yosys::AST_INTERNAL; -bool simplify(Yosys::AST::AstNode *ast_node, bool const_fold, bool at_zero, bool in_lvalue, int stage, int width_hint, bool sign_hint, bool in_param); - void annotateTypedEnums(Yosys::AST::AstNode *ast_node, Yosys::AST::AstNode *template_node) { //check if enum @@ -3794,7 +3794,7 @@ { bool string_op; std::vector<RTLIL::State> tmp_bits; - RTLIL::Const (*const_func)(const RTLIL::Const&, const RTLIL::Const&, bool, bool, int); + RTLIL::Const (*const_func)(const RTLIL::Const&, const RTLIL::Const&, bool, bool, ys_size_type); RTLIL::Const dummy_arg; switch (ast_node->type)
diff --git a/systemverilog-plugin/third_party/yosys/simplify.h b/systemverilog-plugin/third_party/yosys/simplify.h index 5620ab9..69cd4f4 100644 --- a/systemverilog-plugin/third_party/yosys/simplify.h +++ b/systemverilog-plugin/third_party/yosys/simplify.h
@@ -2,5 +2,6 @@ namespace systemverilog_plugin { + using ys_size_type = int; // Makes it easy to change if changed upstream. bool simplify(Yosys::AST::AstNode *ast_node, bool const_fold, bool at_zero, bool in_lvalue, int stage, int width_hint, bool sign_hint, bool in_param); }