CIRCT  19.0.0git
Classes | Functions
circt::firrtl::detail Namespace Reference

Classes

struct  AnnoTargetImpl
 
struct  FIRRTLBaseTypeStorage
 
struct  WidthTypeStorage
 
struct  BundleTypeStorage
 
struct  OpenBundleTypeStorage
 
struct  FVectorTypeStorage
 
struct  OpenVectorTypeStorage
 
struct  FEnumTypeStorage
 
struct  BaseTypeAliasStorage
 
struct  ClassTypeStorage
 

Functions

RefType getForceableResultType (bool forceable, Type type)
 Return null or forceable reference result type. More...
 
LogicalResult verifyForceableOp (Forceable op)
 Verify a Forceable op. More...
 
Forceable replaceWithNewForceability (Forceable op, bool forceable, ::mlir::PatternRewriter *rewriter=nullptr)
 Replace a Forceable op with equivalent, changing whether forceable. More...
 
ClassType getInstanceTypeForClassLike (ClassLike classOp)
 
LogicalResult verifyTypeAgainstClassLike (ClassLike classOp, ClassType type, function_ref< InFlightDiagnostic()> emitError)
 Assuming that the classOp is the source of truth, verify that the type accurately matches the signature of the class. More...
 

Function Documentation

◆ getForceableResultType()

RefType circt::firrtl::detail::getForceableResultType ( bool  forceable,
Type  type 
)

Return null or forceable reference result type.

Definition at line 137 of file FIRRTLOpInterfaces.cpp.

References circt::calyx::direction::get().

Referenced by verifyForceableOp().

◆ getInstanceTypeForClassLike()

ClassType circt::firrtl::detail::getInstanceTypeForClassLike ( ClassLike  classOp)

Definition at line 1780 of file FIRRTLOps.cpp.

References circt::calyx::direction::get().

Referenced by Deduper::replaceInstances().

◆ replaceWithNewForceability()

Forceable circt::firrtl::detail::replaceWithNewForceability ( Forceable  op,
bool  forceable,
::mlir::PatternRewriter *  rewriter = nullptr 
)

Replace a Forceable op with equivalent, changing whether forceable.

No-op if already has specified forceability.

Referenced by demoteForceableIfUnused().

◆ verifyForceableOp()

LogicalResult circt::firrtl::detail::verifyForceableOp ( Forceable  op)

Verify a Forceable op.

Definition at line 146 of file FIRRTLOpInterfaces.cpp.

References circt::firrtl::data, and getForceableResultType().

◆ verifyTypeAgainstClassLike()

LogicalResult circt::firrtl::detail::verifyTypeAgainstClassLike ( ClassLike  classOp,
ClassType  type,
function_ref< InFlightDiagnostic()>  emitError 
)

Assuming that the classOp is the source of truth, verify that the type accurately matches the signature of the class.

Definition at line 1733 of file FIRRTLOps.cpp.

References numElements, and toString().