aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/firrtl/passes/ZeroLengthVecs.scala
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/scala/firrtl/passes/ZeroLengthVecs.scala')
-rw-r--r--src/main/scala/firrtl/passes/ZeroLengthVecs.scala6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/main/scala/firrtl/passes/ZeroLengthVecs.scala b/src/main/scala/firrtl/passes/ZeroLengthVecs.scala
index 14fcd387..39c127de 100644
--- a/src/main/scala/firrtl/passes/ZeroLengthVecs.scala
+++ b/src/main/scala/firrtl/passes/ZeroLengthVecs.scala
@@ -6,7 +6,7 @@ import firrtl._
import firrtl.ir._
import firrtl.Mappers._
import firrtl.PrimOps._
-import firrtl.options.{Dependency, PreservesAll}
+import firrtl.options.Dependency
/** Handles dynamic accesses to zero-length vectors.
*
@@ -15,13 +15,15 @@ import firrtl.options.{Dependency, PreservesAll}
* @note Removes attaches that become degenerate after zero-length-accessor removal
* @note Replaces "source" references to elements of zero-length vectors with always-invalid validif
*/
-object ZeroLengthVecs extends Pass with PreservesAll[Transform] {
+object ZeroLengthVecs extends Pass {
override def prerequisites =
Seq( Dependency(PullMuxes),
Dependency(ResolveKinds),
Dependency(InferTypes),
Dependency(ExpandConnects) )
+ override def invalidates(a: Transform) = false
+
// Pass in an expression, not just a type, since it's not possible to generate an expression of
// interval type with the type alone unless you declare a component
private def replaceWithDontCare(toReplace: Expression): Expression = {