aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/firrtl/passes
diff options
context:
space:
mode:
authorJack Koenig2021-03-03 17:01:53 -0800
committerGitHub2021-03-04 01:01:53 +0000
commite58ba0c12e5d650983c70a61a45542f0cd43fb88 (patch)
treefc0689df82dd3b9fcadb7ea8d5fc082b35afb20e /src/main/scala/firrtl/passes
parent5be1abb4c654279762a463a861526ce4e0c48035 (diff)
CSE SubAccesses (#2099)
Fixes n^2 performance problem when dynamically indexing Vecs of aggregate types. Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Diffstat (limited to 'src/main/scala/firrtl/passes')
-rw-r--r--src/main/scala/firrtl/passes/RemoveAccesses.scala4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/main/scala/firrtl/passes/RemoveAccesses.scala b/src/main/scala/firrtl/passes/RemoveAccesses.scala
index 90437e56..7449db51 100644
--- a/src/main/scala/firrtl/passes/RemoveAccesses.scala
+++ b/src/main/scala/firrtl/passes/RemoveAccesses.scala
@@ -9,6 +9,7 @@ import firrtl.Mappers._
import firrtl.Utils._
import firrtl.WrappedExpression._
import firrtl.options.Dependency
+import firrtl.transforms.CSESubAccesses
import scala.collection.mutable
@@ -21,7 +22,8 @@ object RemoveAccesses extends Pass {
Dependency(PullMuxes),
Dependency(ZeroLengthVecs),
Dependency(ReplaceAccesses),
- Dependency(ExpandConnects)
+ Dependency(ExpandConnects),
+ Dependency[CSESubAccesses]
) ++ firrtl.stage.Forms.Deduped
override def invalidates(a: Transform): Boolean = a match {