aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/firrtl/passes
diff options
context:
space:
mode:
authorJack Koenig2018-05-15 11:29:43 -0700
committerGitHub2018-05-15 11:29:43 -0700
commit84b5fc1bc97e014bc03056a3f752c40ec6100701 (patch)
tree2af78be6b61fbb82c1261d3d30ab9cabbcf401f4 /src/main/scala/firrtl/passes
parentabcb22d6c34eb51749e7bc848b437a165bc5b330 (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.scala26
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