CIRCT  19.0.0git
Public Member Functions | Protected Attributes | List of all members
circt::firrtl::AnnoTarget Struct Reference

An annotation target is used to keep track of something that is targeted by an Annotation. More...

#include <FIRRTLAnnotations.h>

Inheritance diagram for circt::firrtl::AnnoTarget:
Inheritance graph
[legend]
Collaboration diagram for circt::firrtl::AnnoTarget:
Collaboration graph
[legend]

Public Member Functions

 AnnoTarget (detail::AnnoTargetImpl impl=nullptr)
 
template<typename U >
bool isa () const
 
template<typename U >
dyn_cast () const
 
template<typename U >
dyn_cast_or_null () const
 
template<typename U >
cast () const
 
 operator bool () const
 
bool operator== (const AnnoTarget &other) const
 
bool operator!= (const AnnoTarget &other) const
 
Operation * getOp () const
 
void setOp (Operation *op)
 
AnnotationSet getAnnotations () const
 Get the annotations associated with the target. More...
 
void setAnnotations (AnnotationSet annotations) const
 Set the annotations associated with the target. More...
 
FModuleLike getModule () const
 Get the parent module of the target. More...
 
Attribute getNLAReference (hw::InnerSymbolNamespace &moduleNamespace) const
 Get a reference to this target suitable for use in an NLA. More...
 
FIRRTLType getType () const
 Get the type of the target. More...
 
detail::AnnoTargetImpl getImpl () const
 

Protected Attributes

detail::AnnoTargetImpl impl
 

Detailed Description

An annotation target is used to keep track of something that is targeted by an Annotation.

Definition at line 415 of file FIRRTLAnnotations.h.

Constructor & Destructor Documentation

◆ AnnoTarget()

circt::firrtl::AnnoTarget::AnnoTarget ( detail::AnnoTargetImpl  impl = nullptr)
inline

Definition at line 416 of file FIRRTLAnnotations.h.

Member Function Documentation

◆ cast()

template<typename U >
U circt::firrtl::AnnoTarget::cast ( ) const
inline

Definition at line 432 of file FIRRTLAnnotations.h.

References assert(), and impl.

Referenced by addAnnotation().

◆ dyn_cast()

template<typename U >
U circt::firrtl::AnnoTarget::dyn_cast ( ) const
inline

◆ dyn_cast_or_null()

template<typename U >
U circt::firrtl::AnnoTarget::dyn_cast_or_null ( ) const
inline

Definition at line 428 of file FIRRTLAnnotations.h.

References impl.

◆ getAnnotations()

AnnotationSet AnnoTarget::getAnnotations ( ) const

Get the annotations associated with the target.

Definition at line 567 of file FIRRTLAnnotations.cpp.

References getOp().

Referenced by Deduper::recordAnnotations().

◆ getImpl()

detail::AnnoTargetImpl circt::firrtl::AnnoTarget::getImpl ( ) const
inline

◆ getModule()

FModuleLike AnnoTarget::getModule ( ) const

Get the parent module of the target.

Definition at line 560 of file FIRRTLAnnotations.cpp.

References getOp().

Referenced by buildNLA(), ResolveTracesPass::buildTarget(), and circt::firrtl::operator<<().

◆ getNLAReference()

Attribute AnnoTarget::getNLAReference ( hw::InnerSymbolNamespace moduleNamespace) const

Get a reference to this target suitable for use in an NLA.

Definition at line 580 of file FIRRTLAnnotations.cpp.

◆ getOp()

Operation* circt::firrtl::AnnoTarget::getOp ( ) const
inline

◆ getType()

FIRRTLType AnnoTarget::getType ( ) const

◆ isa()

template<typename U >
bool circt::firrtl::AnnoTarget::isa ( ) const
inline

◆ operator bool()

circt::firrtl::AnnoTarget::operator bool ( ) const
inline

Definition at line 437 of file FIRRTLAnnotations.h.

References impl.

◆ operator!=()

bool circt::firrtl::AnnoTarget::operator!= ( const AnnoTarget other) const
inline

Definition at line 439 of file FIRRTLAnnotations.h.

◆ operator==()

bool circt::firrtl::AnnoTarget::operator== ( const AnnoTarget other) const
inline

Definition at line 438 of file FIRRTLAnnotations.h.

References impl.

◆ setAnnotations()

void AnnoTarget::setAnnotations ( AnnotationSet  annotations) const

Set the annotations associated with the target.

Definition at line 574 of file FIRRTLAnnotations.cpp.

Referenced by Deduper::mergeAnnotations().

◆ setOp()

void circt::firrtl::AnnoTarget::setOp ( Operation *  op)
inline

Member Data Documentation

◆ impl

detail::AnnoTargetImpl circt::firrtl::AnnoTarget::impl
protected

The documentation for this struct was generated from the following files: