diff options
| author | Jack Koenig | 2018-05-15 11:29:43 -0700 |
|---|---|---|
| committer | GitHub | 2018-05-15 11:29:43 -0700 |
| commit | 84b5fc1bc97e014bc03056a3f752c40ec6100701 (patch) | |
| tree | 2af78be6b61fbb82c1261d3d30ab9cabbcf401f4 /src/main/scala/firrtl/passes | |
| parent | abcb22d6c34eb51749e7bc848b437a165bc5b330 (diff) | |
Replace truncating add and sub with addw/subw (#800)
Replaces old VerilogWrap which didn't work with split expressions and was
actually buggy anyway. This functionality reduces unnecessary intermediates in
emitted Verilog.
Diffstat (limited to 'src/main/scala/firrtl/passes')
| -rw-r--r-- | src/main/scala/firrtl/passes/Passes.scala | 26 |
1 files changed, 0 insertions, 26 deletions
diff --git a/src/main/scala/firrtl/passes/Passes.scala b/src/main/scala/firrtl/passes/Passes.scala index 61afade6..9bbde5f6 100644 --- a/src/main/scala/firrtl/passes/Passes.scala +++ b/src/main/scala/firrtl/passes/Passes.scala @@ -252,32 +252,6 @@ object Legalize extends Pass { } } -object VerilogWrap extends Pass { - def vWrapE(e: Expression): Expression = e map vWrapE match { - case e: DoPrim => e.op match { - case Tail => e.args.head match { - case e0: DoPrim => e0.op match { - case Add => DoPrim(Addw, e0.args, Nil, e.tpe) - case Sub => DoPrim(Subw, e0.args, Nil, e.tpe) - case _ => e - } - case _ => e - } - case _ => e - } - case _ => e - } - def vWrapS(s: Statement): Statement = { - s map vWrapS map vWrapE match { - case sx: Print => sx.copy(string = sx.string.verilogFormat) - case sx => sx - } - } - - def run(c: Circuit): Circuit = - c copy (modules = c.modules map (_ map vWrapS)) -} - object VerilogRename extends Pass { def verilogRenameN(n: String): String = if (v_keywords(n)) "%s$".format(n) else n |
