blob: 5951b5c0d83672d84996531c50f7e34104dad4e8 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
// See LICENSE for license details.
package firrtl
package passes
import firrtl.ir._
import firrtl.options.PreservesAll
import firrtl.stage.Forms
object RemoveEmpty extends Pass with DependencyAPIMigration with PreservesAll[Transform] {
override def prerequisites = Seq.empty
override def optionalPrerequisites = Forms.LowFormOptimized
override def dependents = Forms.ChirrtlEmitters
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)
}
|