From 7345258738745826d5d5ed0fdd7efbdb411b4c4e Mon Sep 17 00:00:00 2001 From: Akash Levy Date: Wed, 14 Aug 2024 22:05:47 -0700 Subject: [PATCH] Add shift left to operators that can be size-reduced based on size of output ports --- passes/opt/wreduce.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/passes/opt/wreduce.cc b/passes/opt/wreduce.cc index f0e19e893..2ce5f9d78 100644 --- a/passes/opt/wreduce.cc +++ b/passes/opt/wreduce.cc @@ -287,7 +287,7 @@ struct WreduceWorker int max_port_a_size = cell->hasPort(ID::A) ? GetSize(cell->getPort(ID::A)) : -1; int max_port_b_size = cell->hasPort(ID::B) ? GetSize(cell->getPort(ID::B)) : -1; - if (cell->type.in(ID($not), ID($pos), ID($neg), ID($and), ID($or), ID($xor), ID($add), ID($sub))) { + if (cell->type.in(ID($not), ID($pos), ID($neg), ID($and), ID($or), ID($xor), ID($add), ID($sub), ID($shl), ID($sshl))) { max_port_a_size = min(max_port_a_size, GetSize(sig)); max_port_b_size = min(max_port_b_size, GetSize(sig)); }