aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlbert Magyar2019-10-03 18:40:18 -0700
committerGitHub2019-10-03 18:40:18 -0700
commit621c5689ff9b441465a9e6a1f4d92af739603293 (patch)
tree501e3229b31c7bce605f4705f4d87cde4359b8c4
parentd08671539b5a06c1f47947965671c9d032195da2 (diff)
Add Block factory from argument list of Statements (#1197)
-rw-r--r--src/main/scala/firrtl/ir/IR.scala5
-rw-r--r--src/main/scala/firrtl/passes/RemoveCHIRRTL.scala2
2 files changed, 6 insertions, 1 deletions
diff --git a/src/main/scala/firrtl/ir/IR.scala b/src/main/scala/firrtl/ir/IR.scala
index b4631473..e721363c 100644
--- a/src/main/scala/firrtl/ir/IR.scala
+++ b/src/main/scala/firrtl/ir/IR.scala
@@ -360,6 +360,11 @@ case class Conditionally(
def foreachString(f: String => Unit): Unit = Unit
def foreachInfo(f: Info => Unit): Unit = f(info)
}
+
+object Block {
+ def apply(head: Statement, tail: Statement*): Block = Block(head +: tail)
+}
+
case class Block(stmts: Seq[Statement]) extends Statement {
def serialize: String = stmts map (_.serialize) mkString "\n"
def mapStmt(f: Statement => Statement): Statement = Block(stmts map f)
diff --git a/src/main/scala/firrtl/passes/RemoveCHIRRTL.scala b/src/main/scala/firrtl/passes/RemoveCHIRRTL.scala
index 5e93b3b9..48b5f041 100644
--- a/src/main/scala/firrtl/passes/RemoveCHIRRTL.scala
+++ b/src/main/scala/firrtl/passes/RemoveCHIRRTL.scala
@@ -208,7 +208,7 @@ object RemoveCHIRRTL extends Transform {
remove_chirrtl_e(SinkFlow)(Reference(name, value.tpe))
has_read_mport match {
case None => sx
- case Some(en) => Block(Seq(sx, Connect(info, en, one)))
+ case Some(en) => Block(sx, Connect(info, en, one))
}
case Connect(info, loc, expr) =>
val rocx = remove_chirrtl_e(SourceFlow)(expr)