CIRCT
20.0.0git
|
#include "circt-c/Dialect/FIRRTL.h"
#include "circt/Dialect/FIRRTL/FIRRTLAttributes.h"
#include "circt/Dialect/FIRRTL/FIRRTLDialect.h"
#include "circt/Dialect/FIRRTL/FIRRTLOps.h"
#include "circt/Dialect/FIRRTL/FIRRTLTypes.h"
#include "circt/Dialect/FIRRTL/Import/FIRAnnotations.h"
#include "mlir/CAPI/IR.h"
#include "mlir/CAPI/Registration.h"
#include "mlir/CAPI/Support.h"
#include "llvm/Support/JSON.h"
Go to the source code of this file.
Functions | |
MLIR_DEFINE_CAPI_DIALECT_REGISTRATION (FIRRTL, firrtl, circt::firrtl::FIRRTLDialect) MlirType firrtlTypeGetUInt(MlirContext ctx | |
MlirType | firrtlTypeGetSInt (MlirContext ctx, int32_t width) |
MlirType | firrtlTypeGetClock (MlirContext ctx) |
MlirType | firrtlTypeGetReset (MlirContext ctx) |
MlirType | firrtlTypeGetAsyncReset (MlirContext ctx) |
MlirType | firrtlTypeGetAnalog (MlirContext ctx, int32_t width) |
MlirType | firrtlTypeGetVector (MlirContext ctx, MlirType element, size_t count) |
bool | firrtlTypeIsAOpenBundle (MlirType type) |
MlirType | firrtlTypeGetBundle (MlirContext ctx, size_t count, const FIRRTLBundleField *fields) |
unsigned | firrtlTypeGetBundleFieldIndex (MlirType type, MlirStringRef fieldName) |
MlirType | firrtlTypeGetRef (MlirType target, bool forceable) |
MlirType | firrtlTypeGetAnyRef (MlirContext ctx) |
MlirType | firrtlTypeGetInteger (MlirContext ctx) |
MlirType | firrtlTypeGetDouble (MlirContext ctx) |
MlirType | firrtlTypeGetString (MlirContext ctx) |
MlirType | firrtlTypeGetBoolean (MlirContext ctx) |
MlirType | firrtlTypeGetPath (MlirContext ctx) |
MlirType | firrtlTypeGetList (MlirContext ctx, MlirType elementType) |
MlirType | firrtlTypeGetClass (MlirContext ctx, MlirAttribute name, size_t numberOfElements, const FIRRTLClassElement *elements) |
MlirType | firrtlTypeGetMaskType (MlirType type) |
MlirAttribute | firrtlAttrGetConvention (MlirContext ctx, FIRRTLConvention convention) |
MlirAttribute | firrtlAttrGetPortDirs (MlirContext ctx, size_t count, const FIRRTLDirection *dirs) |
MlirAttribute | firrtlAttrGetParamDecl (MlirContext ctx, MlirIdentifier name, MlirType type, MlirAttribute value) |
MlirAttribute | firrtlAttrGetNameKind (MlirContext ctx, FIRRTLNameKind nameKind) |
MlirAttribute | firrtlAttrGetRUW (MlirContext ctx, FIRRTLRUW ruw) |
MlirAttribute | firrtlAttrGetMemInit (MlirContext ctx, MlirIdentifier filename, bool isBinary, bool isInline) |
MlirAttribute | firrtlAttrGetMemDir (MlirContext ctx, FIRRTLMemDir dir) |
MlirAttribute | firrtlAttrGetEventControl (MlirContext ctx, FIRRTLEventControl eventControl) |
MlirAttribute | firrtlAttrGetIntegerFromString (MlirType type, unsigned numBits, MlirStringRef str, uint8_t radix) |
FIRRTLValueFlow | firrtlValueFoldFlow (MlirValue value, FIRRTLValueFlow flow) |
bool | firrtlImportAnnotationsFromJSONRaw (MlirContext ctx, MlirStringRef annotationsStr, MlirAttribute *importedAnnotationsArray) |
Variables | |
int32_t | width |
MlirAttribute firrtlAttrGetConvention | ( | MlirContext | ctx, |
FIRRTLConvention | convention | ||
) |
Definition at line 176 of file FIRRTL.cpp.
References FIRRTL_CONVENTION_INTERNAL, FIRRTL_CONVENTION_SCALARIZED, circt::calyx::direction::get(), unwrap(), and wrap().
MlirAttribute firrtlAttrGetEventControl | ( | MlirContext | ctx, |
FIRRTLEventControl | eventControl | ||
) |
Definition at line 271 of file FIRRTL.cpp.
References FIRRTL_EVENT_CONTROL_AT_EDGE, FIRRTL_EVENT_CONTROL_AT_NEG_EDGE, FIRRTL_EVENT_CONTROL_AT_POS_EDGE, circt::calyx::direction::get(), unwrap(), and wrap().
MlirAttribute firrtlAttrGetIntegerFromString | ( | MlirType | type, |
unsigned | numBits, | ||
MlirStringRef | str, | ||
uint8_t | radix | ||
) |
Definition at line 290 of file FIRRTL.cpp.
References circt::calyx::direction::get(), unwrap(), and wrap().
MlirAttribute firrtlAttrGetMemDir | ( | MlirContext | ctx, |
FIRRTLMemDir | dir | ||
) |
Definition at line 250 of file FIRRTL.cpp.
References FIRRTL_MEM_DIR_INFER, FIRRTL_MEM_DIR_READ, FIRRTL_MEM_DIR_READ_WRITE, FIRRTL_MEM_DIR_WRITE, circt::calyx::direction::get(), unwrap(), and wrap().
MlirAttribute firrtlAttrGetMemInit | ( | MlirContext | ctx, |
MlirIdentifier | filename, | ||
bool | isBinary, | ||
bool | isInline | ||
) |
Definition at line 244 of file FIRRTL.cpp.
References circt::calyx::direction::get(), unwrap(), and wrap().
MlirAttribute firrtlAttrGetNameKind | ( | MlirContext | ctx, |
FIRRTLNameKind | nameKind | ||
) |
Definition at line 211 of file FIRRTL.cpp.
References FIRRTL_NAME_KIND_DROPPABLE_NAME, FIRRTL_NAME_KIND_INTERESTING_NAME, circt::calyx::direction::get(), unwrap(), and wrap().
MlirAttribute firrtlAttrGetParamDecl | ( | MlirContext | ctx, |
MlirIdentifier | name, | ||
MlirType | type, | ||
MlirAttribute | value | ||
) |
Definition at line 205 of file FIRRTL.cpp.
References circt::calyx::direction::get(), unwrap(), and wrap().
MlirAttribute firrtlAttrGetPortDirs | ( | MlirContext | ctx, |
size_t | count, | ||
const FIRRTLDirection * | dirs | ||
) |
Definition at line 192 of file FIRRTL.cpp.
References FIRRTL_DIRECTION_IN, FIRRTL_DIRECTION_OUT, circt::firrtl::In, circt::firrtl::Out, circt::firrtl::direction::packAttribute(), unwrap(), and wrap().
MlirAttribute firrtlAttrGetRUW | ( | MlirContext | ctx, |
FIRRTLRUW | ruw | ||
) |
Definition at line 226 of file FIRRTL.cpp.
References FIRRTL_RUW_NEW, FIRRTL_RUW_OLD, FIRRTL_RUW_UNDEFINED, circt::calyx::direction::get(), unwrap(), and wrap().
bool firrtlImportAnnotationsFromJSONRaw | ( | MlirContext | ctx, |
MlirStringRef | annotationsStr, | ||
MlirAttribute * | importedAnnotationsArray | ||
) |
Definition at line 329 of file FIRRTL.cpp.
References circt::calyx::direction::get(), circt::firrtl::importAnnotationsFromJSONRaw(), unwrap(), and wrap().
MlirType firrtlTypeGetAnalog | ( | MlirContext | ctx, |
int32_t | width | ||
) |
Definition at line 56 of file FIRRTL.cpp.
References circt::calyx::direction::get(), unwrap(), width, and wrap().
MlirType firrtlTypeGetAnyRef | ( | MlirContext | ctx | ) |
Definition at line 117 of file FIRRTL.cpp.
References circt::calyx::direction::get(), unwrap(), and wrap().
MlirType firrtlTypeGetAsyncReset | ( | MlirContext | ctx | ) |
Definition at line 52 of file FIRRTL.cpp.
References circt::calyx::direction::get(), unwrap(), and wrap().
MlirType firrtlTypeGetBoolean | ( | MlirContext | ctx | ) |
Definition at line 133 of file FIRRTL.cpp.
References circt::calyx::direction::get(), unwrap(), and wrap().
MlirType firrtlTypeGetBundle | ( | MlirContext | ctx, |
size_t | count, | ||
const FIRRTLBundleField * | fields | ||
) |
Definition at line 71 of file FIRRTL.cpp.
References circt::calyx::direction::get(), unwrap(), and wrap().
unsigned firrtlTypeGetBundleFieldIndex | ( | MlirType | type, |
MlirStringRef | fieldName | ||
) |
Definition at line 97 of file FIRRTL.cpp.
MlirType firrtlTypeGetClass | ( | MlirContext | ctx, |
MlirAttribute | name, | ||
size_t | numberOfElements, | ||
const FIRRTLClassElement * | elements | ||
) |
Definition at line 148 of file FIRRTL.cpp.
References assert(), FIRRTLClassElement::direction, FIRRTL_DIRECTION_IN, circt::calyx::direction::get(), circt::firrtl::In, circt::firrtl::Out, unwrap(), and wrap().
MlirType firrtlTypeGetClock | ( | MlirContext | ctx | ) |
Definition at line 44 of file FIRRTL.cpp.
References circt::calyx::direction::get(), unwrap(), and wrap().
MlirType firrtlTypeGetDouble | ( | MlirContext | ctx | ) |
Definition at line 125 of file FIRRTL.cpp.
References circt::calyx::direction::get(), unwrap(), and wrap().
MlirType firrtlTypeGetInteger | ( | MlirContext | ctx | ) |
Definition at line 121 of file FIRRTL.cpp.
References circt::calyx::direction::get(), unwrap(), and wrap().
MlirType firrtlTypeGetList | ( | MlirContext | ctx, |
MlirType | elementType | ||
) |
Definition at line 141 of file FIRRTL.cpp.
References assert(), elementType, circt::calyx::direction::get(), unwrap(), and wrap().
MlirType firrtlTypeGetMaskType | ( | MlirType | type | ) |
Definition at line 166 of file FIRRTL.cpp.
MlirType firrtlTypeGetPath | ( | MlirContext | ctx | ) |
Definition at line 137 of file FIRRTL.cpp.
References circt::calyx::direction::get(), unwrap(), and wrap().
MlirType firrtlTypeGetRef | ( | MlirType | target, |
bool | forceable | ||
) |
Definition at line 110 of file FIRRTL.cpp.
References assert(), circt::calyx::direction::get(), unwrap(), and wrap().
MlirType firrtlTypeGetReset | ( | MlirContext | ctx | ) |
Definition at line 48 of file FIRRTL.cpp.
References circt::calyx::direction::get(), unwrap(), and wrap().
MlirType firrtlTypeGetSInt | ( | MlirContext | ctx, |
int32_t | width | ||
) |
Definition at line 40 of file FIRRTL.cpp.
References circt::calyx::direction::get(), unwrap(), width, and wrap().
MlirType firrtlTypeGetString | ( | MlirContext | ctx | ) |
Definition at line 129 of file FIRRTL.cpp.
References circt::calyx::direction::get(), unwrap(), and wrap().
MlirType firrtlTypeGetVector | ( | MlirContext | ctx, |
MlirType | element, | ||
size_t | count | ||
) |
Definition at line 60 of file FIRRTL.cpp.
References assert(), circt::calyx::direction::get(), unwrap(), and wrap().
bool firrtlTypeIsAOpenBundle | ( | MlirType | type | ) |
Definition at line 67 of file FIRRTL.cpp.
References unwrap().
FIRRTLValueFlow firrtlValueFoldFlow | ( | MlirValue | value, |
FIRRTLValueFlow | flow | ||
) |
Definition at line 296 of file FIRRTL.cpp.
References circt::firrtl::Duplex, FIRRTL_VALUE_FLOW_DUPLEX, FIRRTL_VALUE_FLOW_NONE, FIRRTL_VALUE_FLOW_SINK, FIRRTL_VALUE_FLOW_SOURCE, circt::firrtl::foldFlow(), circt::firrtl::None, circt::firrtl::Sink, circt::firrtl::Source, and unwrap().
MLIR_DEFINE_CAPI_DIALECT_REGISTRATION | ( | FIRRTL | , |
firrtl | , | ||
circt::firrtl::FIRRTLDialect | |||
) |
int32_t width |
Definition at line 36 of file FIRRTL.cpp.
Referenced by circt::pipelinetocalyx::BuildOpGroups::buildLibraryBinaryPipeOp(), circt::scftocalyx::BuildOpGroups::buildLibraryBinaryPipeOp(), circt::pipelinetocalyx::BuildOpGroups::buildOp(), circt::scftocalyx::BuildOpGroups::buildOp(), canonicalizePrimOp(), computeKnownBits(), convertToUnpackedArray(), circt::calyx::createConstant(), circt::calyx::createRegister(), customTypePrinter(), circt::debugFooter(), circt::debugHeader(), emitDim(), emitDims(), circt::extOrTruncZeroWidth(), llvm::yaml::MappingContextTraits< DescribedSignal, Context >::Field::Field(), firrtlTypeGetAnalog(), firrtlTypeGetSInt(), circt::systemc::IntType::get(), circt::systemc::BigIntType::get(), circt::systemc::BigUIntType::get(), circt::systemc::BitVectorType::get(), circt::systemc::LogicVectorType::get(), circt::firrtl::getBitWidth(), llvm::DOTGraphTraits< circt::hw::HWModuleOp >::getEdgeAttributes(), getElementTypeOfWidth(), circt::firrtl::getIntOnesAttr(), circt::firrtl::getIntZerosAttr(), getSummary(), getTotalWidth(), getTwoStateIntegerAtomType(), circt::firrtl::WidthQualifiedTypeTrait< ConcreteType >::getWidth(), circt::FirRegLowering::initialize(), isTypeAllowedForDPI(), knownWidths(), lowerBoundaryScalar(), circt::FirMemLowering::lowerMemoriesInModule(), circt::firrtl::lowerType(), mooreIntTypeGetInt(), mooreIntTypeGetLogic(), circt::systemc::detail::IntegerWidthStorage::operator==(), parseIntegerOrBitVector(), parseMooreType(), circt::pipelinetocalyx::BuildPipelineRegs::partiallyLowerFuncToComp(), circt::populateHWToSMTTypeConverter(), printParameterList(), FIRRTLConstantifier::rewrite(), SFCCompatPass::runOnOperation(), and circt::sextZeroWidth().