diff options
author | Clifford Wolf <clifford@clifford.at> | 2019-09-15 11:04:31 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-09-15 11:04:31 +0200 |
commit | d9f99745da99c99111de358d92646cef2430fca7 (patch) | |
tree | ecb7c6ddb452362a988b7299ee696005940df045 /passes/opt/opt_expr.cc | |
parent | 4da6e19fe1c326bb86e68f4446597c2163f3fbb2 (diff) | |
parent | a67d63714be52e4a4f789c2a82b6283748db8902 (diff) | |
download | yosys-d9f99745da99c99111de358d92646cef2430fca7.tar.gz yosys-d9f99745da99c99111de358d92646cef2430fca7.tar.bz2 yosys-d9f99745da99c99111de358d92646cef2430fca7.zip |
Merge pull request #1377 from YosysHQ/clifford/fixzdigit
Fix handling of z_digit "?" and fix optimization of cmp with "z"
Diffstat (limited to 'passes/opt/opt_expr.cc')
-rw-r--r-- | passes/opt/opt_expr.cc | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/passes/opt/opt_expr.cc b/passes/opt/opt_expr.cc index 00d7d6063..6cf66fb95 100644 --- a/passes/opt/opt_expr.cc +++ b/passes/opt/opt_expr.cc @@ -953,6 +953,10 @@ void replace_const_cells(RTLIL::Design *design, RTLIL::Module *module, bool cons } if (b.is_fully_const()) { + if (b.is_fully_undef()) { + RTLIL::SigSpec input = b; + ACTION_DO(ID::Y, Const(State::Sx, GetSize(cell->getPort(ID::Y)))); + } else if (b.as_bool() == (cell->type == ID($eq))) { RTLIL::SigSpec input = b; ACTION_DO(ID::Y, cell->getPort(ID::A)); |