diff options
Diffstat (limited to 'src/main/scala/firrtl/passes')
| -rw-r--r-- | src/main/scala/firrtl/passes/RemoveCHIRRTL.scala | 4 | ||||
| -rw-r--r-- | src/main/scala/firrtl/passes/ToWorkingIR.scala | 19 |
2 files changed, 3 insertions, 20 deletions
diff --git a/src/main/scala/firrtl/passes/RemoveCHIRRTL.scala b/src/main/scala/firrtl/passes/RemoveCHIRRTL.scala index af9518e9..67181f2b 100644 --- a/src/main/scala/firrtl/passes/RemoveCHIRRTL.scala +++ b/src/main/scala/firrtl/passes/RemoveCHIRRTL.scala @@ -183,7 +183,7 @@ object RemoveCHIRRTL extends Transform with DependencyAPIMigration with Preserve var has_readwrite_mport: Option[Expression] = None var has_read_mport: Option[Expression] = None def remove_chirrtl_e(g: Flow)(e: Expression): Expression = e match { - case Reference(name, tpe) => refs get name match { + case Reference(name, tpe, _, _) => refs get name match { case Some(p) => g match { case SinkFlow => has_write_mport = true @@ -200,7 +200,7 @@ object RemoveCHIRRTL extends Transform with DependencyAPIMigration with Preserve case SourceFlow => e } } - case SubAccess(expr, index, tpe) => SubAccess( + case SubAccess(expr, index, tpe, _) => SubAccess( remove_chirrtl_e(g)(expr), remove_chirrtl_e(SourceFlow)(index), tpe) case ex => ex map remove_chirrtl_e(g) } diff --git a/src/main/scala/firrtl/passes/ToWorkingIR.scala b/src/main/scala/firrtl/passes/ToWorkingIR.scala index 53936c18..3f044e03 100644 --- a/src/main/scala/firrtl/passes/ToWorkingIR.scala +++ b/src/main/scala/firrtl/passes/ToWorkingIR.scala @@ -5,24 +5,7 @@ import firrtl.Mappers._ import firrtl.options.{PreservesAll} import firrtl.{Transform, UnknownFlow, UnknownKind, WDefInstance, WRef, WSubAccess, WSubField, WSubIndex} -// These should be distributed into separate files object ToWorkingIR extends Pass with PreservesAll[Transform] { - override def prerequisites = firrtl.stage.Forms.MinimalHighForm - - def toExp(e: Expression): Expression = e map toExp match { - case ex: Reference => WRef(ex.name, ex.tpe, UnknownKind, UnknownFlow) - case ex: SubField => WSubField(ex.expr, ex.name, ex.tpe, UnknownFlow) - case ex: SubIndex => WSubIndex(ex.expr, ex.value, ex.tpe, UnknownFlow) - case ex: SubAccess => WSubAccess(ex.expr, ex.index, ex.tpe, UnknownFlow) - case ex => ex // This might look like a case to use case _ => e, DO NOT! - } - - def toStmt(s: Statement): Statement = s map toExp match { - case sx: DefInstance => WDefInstance(sx.info, sx.name, sx.module, UnknownType) - case sx => sx map toStmt - } - - def run (c:Circuit): Circuit = - c copy (modules = c.modules map (_ map toStmt)) + def run(c:Circuit): Circuit = c } |
