diff --git a/passes/opt/share.cc b/passes/opt/share.cc index 57a52969b..2cac9d929 100644 --- a/passes/opt/share.cc +++ b/passes/opt/share.cc @@ -1519,6 +1519,12 @@ struct SharePass : public Pass { config.generic_cbin_ops.insert(ID($logic_and)); config.generic_cbin_ops.insert(ID($logic_or)); + config.generic_uni_ops.insert(ID($reduce_and)); + config.generic_uni_ops.insert(ID($reduce_or)); + config.generic_uni_ops.insert(ID($reduce_xor)); + config.generic_uni_ops.insert(ID($reduce_xnor)); + config.generic_uni_ops.insert(ID($reduce_bool)); + config.generic_other_ops.insert(ID($alu)); config.generic_other_ops.insert(ID($macc)); diff --git a/tests/share/.gitignore b/tests/share/.gitignore index 9c595a6fb..cae5f9c90 100644 --- a/tests/share/.gitignore +++ b/tests/share/.gitignore @@ -1 +1,2 @@ temp +*.log diff --git a/tests/share/bug321.ys b/tests/share/bug321.ys new file mode 100644 index 000000000..c5a80e459 --- /dev/null +++ b/tests/share/bug321.ys @@ -0,0 +1,11 @@ +read_verilog <