CIRCT  18.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 399 of file FIRRTLAnnotations.h.

Constructor & Destructor Documentation

◆ AnnoTarget()

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

Definition at line 400 of file FIRRTLAnnotations.h.

Member Function Documentation

◆ cast()

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

Definition at line 416 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 412 of file FIRRTLAnnotations.h.

References impl.

Referenced by addAnnotation().

◆ getAnnotations()

AnnotationSet AnnoTarget::getAnnotations ( ) const

Get the annotations associated with the target.

Definition at line 566 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 559 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 579 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 421 of file FIRRTLAnnotations.h.

References impl.

◆ operator!=()

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

Definition at line 423 of file FIRRTLAnnotations.h.

◆ operator==()

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

Definition at line 422 of file FIRRTLAnnotations.h.

References impl.

◆ setAnnotations()

void AnnoTarget::setAnnotations ( AnnotationSet  annotations) const

Set the annotations associated with the target.

Definition at line 573 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: