diff options
| author | Adam Izraelevitz | 2016-08-04 19:47:55 -0700 |
|---|---|---|
| committer | Jack Koenig | 2016-08-04 19:47:55 -0700 |
| commit | 732d0c6ccbcb971abfde4679a27384647d18b44d (patch) | |
| tree | eb8227772f50ee4515b8330e5400181b7f79e39b /src/main/scala/firrtl/passes/RemoveEmpty.scala | |
| parent | 6c8f327e681dee0b3e72399eb0a2dfceed3d0ad7 (diff) | |
Added RemoveEmpty.scala, which removes Empty and nested Blocks (#218)
* Added RemoveEmpty.scala, which removes Empty and nested Blocks
* Reused squashEmpty from ExpandWhens by moving it to Utils
* Squash EmptyStmts in ExpandWhens correctly
Diffstat (limited to 'src/main/scala/firrtl/passes/RemoveEmpty.scala')
| -rw-r--r-- | src/main/scala/firrtl/passes/RemoveEmpty.scala | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/src/main/scala/firrtl/passes/RemoveEmpty.scala b/src/main/scala/firrtl/passes/RemoveEmpty.scala new file mode 100644 index 00000000..e765d1f4 --- /dev/null +++ b/src/main/scala/firrtl/passes/RemoveEmpty.scala @@ -0,0 +1,19 @@ +package firrtl +package passes + +import scala.collection.mutable +import firrtl.Mappers.{ExpMap, StmtMap} +import firrtl.ir._ + +object RemoveEmpty extends Pass { + def name = "Remove Empty Statements" + private def onModule(m: DefModule): DefModule = { + m match { + case m: Module => Module(m.info, m.name, m.ports, Utils.squashEmpty(m.body)) + case m: ExtModule => m + } + } + def run(c: Circuit): Circuit = Circuit(c.info, c.modules.map(onModule _), c.main) +} + +// vim: set ts=4 sw=4 et: |
