aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/firrtl/transforms/CombineCats.scala
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/scala/firrtl/transforms/CombineCats.scala')
-rw-r--r--src/main/scala/firrtl/transforms/CombineCats.scala20
1 files changed, 14 insertions, 6 deletions
diff --git a/src/main/scala/firrtl/transforms/CombineCats.scala b/src/main/scala/firrtl/transforms/CombineCats.scala
index 3014d0e3..6d05698f 100644
--- a/src/main/scala/firrtl/transforms/CombineCats.scala
+++ b/src/main/scala/firrtl/transforms/CombineCats.scala
@@ -7,6 +7,7 @@ import firrtl.PrimOps._
import firrtl.WrappedExpression._
import firrtl.annotations.NoTargetAnnotation
import firrtl.options.Dependency
+import firrtl.stage.PrettyNoExprInlining
import scala.collection.mutable
@@ -74,11 +75,18 @@ class CombineCats extends Transform with DependencyAPIMigration {
val defaultMaxCatLen = 10
def execute(state: CircuitState): CircuitState = {
- val maxCatLen = state.annotations.collectFirst {
- case m: MaxCatLenAnnotation => m.maxCatLen
- }.getOrElse(defaultMaxCatLen)
-
- val modulesx = state.circuit.modules.map(CombineCats.onMod(maxCatLen))
- state.copy(circuit = state.circuit.copy(modules = modulesx))
+ val run = !state.annotations.contains(PrettyNoExprInlining)
+
+ if (run) {
+ val maxCatLen = state.annotations.collectFirst {
+ case m: MaxCatLenAnnotation => m.maxCatLen
+ }.getOrElse(defaultMaxCatLen)
+
+ val modulesx = state.circuit.modules.map(CombineCats.onMod(maxCatLen))
+ state.copy(circuit = state.circuit.copy(modules = modulesx))
+ } else {
+ logger.info(s"--${PrettyNoExprInlining.longOption} specified, skipping...")
+ state
+ }
}
}