summaryrefslogtreecommitdiff
path: root/passes/cmds/select.cc
diff options
context:
space:
mode:
authorClifford Wolf <clifford@clifford.at>2015-07-16 22:10:26 +0200
committerClifford Wolf <clifford@clifford.at>2015-07-16 22:10:26 +0200
commit8393f705381b00f1e4a3c74df87eb638c15745d9 (patch)
tree6fb93c9e59951deec26f88f1301bd29ec0a5cd05 /passes/cmds/select.cc
parent55acc51ad46f381614daf0dc399b9258ab332206 (diff)
Some fixes in "select" command
Diffstat (limited to 'passes/cmds/select.cc')
-rw-r--r--passes/cmds/select.cc4
1 files changed, 3 insertions, 1 deletions
diff --git a/passes/cmds/select.cc b/passes/cmds/select.cc
index 6ceba296..c9268165 100644
--- a/passes/cmds/select.cc
+++ b/passes/cmds/select.cc
@@ -679,7 +679,7 @@ static void select_stmt(RTLIL::Design *design, std::string arg)
log_cmd_error("Must have at least one element on the stack for operator %%co.\n");
select_op_expand(design, arg, 'o', false);
} else
- if (arg == "%xe" || (arg.size() > 3 && arg.substr(0, 3) == "%x" && (arg[3] == ':' || arg[3] == '*' || arg[3] == '.' || ('0' <= arg[3] && arg[3] <= '9')))) {
+ if (arg == "%xe" || (arg.size() > 3 && arg.substr(0, 3) == "%xe" && (arg[3] == ':' || arg[3] == '*' || arg[3] == '.' || ('0' <= arg[3] && arg[3] <= '9')))) {
if (work_stack.size() < 1)
log_cmd_error("Must have at least one element on the stack for operator %%xe.\n");
select_op_expand(design, arg, 'x', true);
@@ -1319,6 +1319,7 @@ struct SelectPass : public Pass {
{
if (work_stack.size() == 0)
log_cmd_error("No selection to check.\n");
+ work_stack.back().optimize(design);
if (!work_stack.back().empty())
log_error("Assertation failed: selection is not empty:%s\n", sel_str.c_str());
return;
@@ -1328,6 +1329,7 @@ struct SelectPass : public Pass {
{
if (work_stack.size() == 0)
log_cmd_error("No selection to check.\n");
+ work_stack.back().optimize(design);
if (work_stack.back().empty())
log_error("Assertation failed: selection is empty:%s\n", sel_str.c_str());
return;