Class

firrtl.transforms

OptimizableExtModuleAnnotation

Related Doc: package transforms

Permalink

case class OptimizableExtModuleAnnotation(target: ModuleName) extends SingleTargetAnnotation[ModuleName] with Product with Serializable

An firrtl.ir.ExtModule that can be optimized

Firrtl does not know the semantics of an external module. This annotation provides some "greybox" information that the external module does not have any side effects. In particular, this means that the external module can be Dead Code Eliminated.

Source
OptimizationAnnotations.scala
Note

Unlike DontTouchAnnotation, we don't care if the annotation is deleted

Linear Supertypes
Type Hierarchy
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. OptimizableExtModuleAnnotation
  2. Serializable
  3. Serializable
  4. SingleTargetAnnotation
  5. Annotation
  6. Product
  7. Equals
  8. AnyRef
  9. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new OptimizableExtModuleAnnotation(target: ModuleName)

    Permalink

Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  5. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @HotSpotIntrinsicCandidate() @throws( ... )
  6. def duplicate(n: ModuleName): OptimizableExtModuleAnnotation

    Permalink

    Create another instance of this Annotation

    Create another instance of this Annotation

    Definition Classes
    OptimizableExtModuleAnnotationSingleTargetAnnotation
  7. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  8. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
    Annotations
    @HotSpotIntrinsicCandidate()
  9. def getTargets: Seq[Target]

    Permalink

    Returns all Target members in this annotation

    Returns all Target members in this annotation

    Definition Classes
    Annotation
  10. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  11. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  12. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @HotSpotIntrinsicCandidate()
  13. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @HotSpotIntrinsicCandidate()
  14. def serialize: String

    Permalink

    Pretty Print

    Pretty Print

    Definition Classes
    Annotation
    Note

    In logger.LogLevel.Debug this is called on every Annotation after every Transform

  15. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  16. val target: ModuleName

    Permalink
  17. def update(renames: RenameMap): Seq[Annotation]

    Permalink

    Update the target based on how signals are renamed

    Update the target based on how signals are renamed

    Definition Classes
    SingleTargetAnnotationAnnotation
  18. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  19. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  20. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Deprecated Value Members

  1. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @Deprecated @deprecated @throws( classOf[java.lang.Throwable] )
    Deprecated

    (Since version ) see corresponding Javadoc for more information.

Inherited from Serializable

Inherited from Serializable

Inherited from Annotation

Inherited from Product

Inherited from Equals

Inherited from AnyRef

Inherited from Any

Ungrouped