diff options
Diffstat (limited to 'src/main')
| -rw-r--r-- | src/main/scala/firrtl/passes/ZeroWidth.scala | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/main/scala/firrtl/passes/ZeroWidth.scala b/src/main/scala/firrtl/passes/ZeroWidth.scala index 8638ea68..a50fdc16 100644 --- a/src/main/scala/firrtl/passes/ZeroWidth.scala +++ b/src/main/scala/firrtl/passes/ZeroWidth.scala @@ -36,18 +36,22 @@ object ZeroWidth extends Pass { (e map replaceType) map onExp } private def onStmt(s: Statement): Statement = s match { - case sx: IsDeclaration => + case (_: DefWire| _: DefRegister| _: DefMemory) => var removed = false def applyRemoveZero(t: Type): Type = removeZero(t) match { case None => removed = true; t case Some(tx) => tx } - val sxx = (sx map onExp) map applyRemoveZero + val sxx = (s map onExp) map applyRemoveZero if(removed) EmptyStmt else sxx case Connect(info, loc, exp) => removeZero(loc.tpe) match { case None => EmptyStmt case Some(t) => Connect(info, loc, onExp(exp)) } + case DefNode(info, name, value) => removeZero(value.tpe) match { + case None => EmptyStmt + case Some(t) => s + } case sx => sx map onStmt } private def onModule(m: DefModule): DefModule = { |
