CIRCT 24.0.0git
Loading...
Searching...
No Matches
LowerSignatures.cpp File Reference
#include "circt/Dialect/FIRRTL/FIRRTLAttributes.h"
#include "circt/Dialect/FIRRTL/FIRRTLOps.h"
#include "circt/Dialect/FIRRTL/FIRRTLTypes.h"
#include "circt/Dialect/FIRRTL/FIRRTLUtils.h"
#include "circt/Dialect/FIRRTL/Passes.h"
#include "circt/Dialect/HW/HWAttributes.h"
#include "circt/Support/Debug.h"
#include "circt/Support/InstanceGraphInterface.h"
#include "mlir/IR/Threading.h"
#include "mlir/Pass/Pass.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/Support/Debug.h"
#include "circt/Dialect/FIRRTL/Passes.h.inc"
Include dependency graph for LowerSignatures.cpp:

Go to the source code of this file.

Namespaces

namespace  circt
 The InstanceGraph op interface, see InstanceGraphInterface.td for more details.
namespace  circt::firrtl

Macros

#define DEBUG_TYPE   "firrtl-lower-signatures"
#define GEN_PASS_DEF_LOWERSIGNATURES

Functions

static hw::InnerSymAttr symbolsForFieldIDRange (MLIRContext *ctx, const FieldIDSearch< hw::InnerSymAttr > &syms, uint64_t low, uint64_t high)
static AnnotationSet annosForFieldIDRange (MLIRContext *ctx, const FieldIDSearch< AnnotationSet > &annos, uint64_t low, uint64_t high)
static LogicalResult computeLoweringImpl (FModuleLike mod, PortConversion &newPorts, Convention conv, size_t portID, const PortInfo &port, bool isFlip, Twine name, FIRRTLType type, uint64_t fieldID, const FieldIDSearch< hw::InnerSymAttr > &syms, const FieldIDSearch< AnnotationSet > &annos)
static LogicalResult computeLowering (FModuleLike mod, Convention conv, PortConversion &newPorts)
static LogicalResult lowerModuleSignature (FModuleLike module, Convention conv, AttrCache &cache, PortConversion &newPorts)
static void lowerModuleBody (FModuleOp mod, const DenseMap< StringAttr, PortConversion > &ports)

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "firrtl-lower-signatures"

Definition at line 28 of file LowerSignatures.cpp.

◆ GEN_PASS_DEF_LOWERSIGNATURES

#define GEN_PASS_DEF_LOWERSIGNATURES

Definition at line 32 of file LowerSignatures.cpp.

Function Documentation

◆ annosForFieldIDRange()

AnnotationSet annosForFieldIDRange ( MLIRContext * ctx,
const FieldIDSearch< AnnotationSet > & annos,
uint64_t low,
uint64_t high )
static

Definition at line 131 of file LowerSignatures.cpp.

References circt::firrtl::AnnotationSet::addAnnotations().

Referenced by computeLoweringImpl().

◆ computeLowering()

LogicalResult computeLowering ( FModuleLike mod,
Convention conv,
PortConversion & newPorts )
static

◆ computeLoweringImpl()

LogicalResult computeLoweringImpl ( FModuleLike mod,
PortConversion & newPorts,
Convention conv,
size_t portID,
const PortInfo & port,
bool isFlip,
Twine name,
FIRRTLType type,
uint64_t fieldID,
const FieldIDSearch< hw::InnerSymAttr > & syms,
const FieldIDSearch< AnnotationSet > & annos )
static

◆ lowerModuleBody()

void lowerModuleBody ( FModuleOp mod,
const DenseMap< StringAttr, PortConversion > & ports )
static

◆ lowerModuleSignature()

LogicalResult lowerModuleSignature ( FModuleLike module,
Convention conv,
AttrCache & cache,
PortConversion & newPorts )
static

◆ symbolsForFieldIDRange()

hw::InnerSymAttr symbolsForFieldIDRange ( MLIRContext * ctx,
const FieldIDSearch< hw::InnerSymAttr > & syms,
uint64_t low,
uint64_t high )
static

Definition at line 117 of file LowerSignatures.cpp.

Referenced by computeLoweringImpl().