|
CIRCT 22.0.0git
|
#include "circt-c/Dialect/MSFT.h"#include "circt/Dialect/HW/HWSymCache.h"#include "circt/Dialect/MSFT/DeviceDB.h"#include "circt/Dialect/MSFT/ExportTcl.h"#include "circt/Dialect/MSFT/MSFTAttributes.h"#include "circt/Dialect/MSFT/MSFTDialect.h"#include "circt/Dialect/MSFT/MSFTOps.h"#include "circt/Dialect/MSFT/MSFTPasses.h"#include "circt/Support/LLVM.h"#include "mlir/CAPI/IR.h"#include "mlir/CAPI/Registration.h"#include "mlir/CAPI/Support.h"#include "mlir/CAPI/Utils.h"#include "mlir/IR/Builders.h"#include "mlir/Transforms/Passes.h"#include "llvm/ADT/SmallVector.h"#include "llvm/Support/raw_ostream.h"
Go to the source code of this file.
Functions | |
| void | mlirMSFTRegisterPasses () |
| void | circtMSFTReplaceAllUsesWith (MlirValue value, MlirValue newValue) |
| CirctMSFTPrimitiveDB | circtMSFTCreatePrimitiveDB (MlirContext ctxt) |
| void | circtMSFTDeletePrimitiveDB (CirctMSFTPrimitiveDB self) |
| MlirLogicalResult | circtMSFTPrimitiveDBAddPrimitive (CirctMSFTPrimitiveDB self, MlirAttribute cLoc) |
| bool | circtMSFTPrimitiveDBIsValidLocation (CirctMSFTPrimitiveDB self, MlirAttribute cLoc) |
| CirctMSFTPlacementDB | circtMSFTCreatePlacementDB (MlirModule top, CirctMSFTPrimitiveDB seed) |
| void | circtMSFTDeletePlacementDB (CirctMSFTPlacementDB self) |
| MlirOperation | circtMSFTPlacementDBPlace (CirctMSFTPlacementDB db, MlirOperation cinst, MlirAttribute cloc, MlirStringRef subpath, MlirLocation csrcLoc) |
| void | circtMSFTPlacementDBRemovePlacement (CirctMSFTPlacementDB db, MlirOperation clocOp) |
| MlirLogicalResult | circtMSFTPlacementDBMovePlacement (CirctMSFTPlacementDB db, MlirOperation clocOp, MlirAttribute cnewLoc) |
| MlirOperation | circtMSFTPlacementDBGetInstanceAt (CirctMSFTPlacementDB db, MlirAttribute loc) |
| MlirAttribute | circtMSFTPlacementDBGetNearestFreeInColumn (CirctMSFTPlacementDB db, CirctMSFTPrimitiveType prim, uint64_t column, uint64_t nearestToY) |
| MLIR_CAPI_EXPORTED void | circtMSFTPlacementDBWalkPlacements (CirctMSFTPlacementDB cdb, CirctMSFTPlacementCallback ccb, int64_t bounds[4], CirctMSFTPrimitiveType cPrimTypeFilter, CirctMSFTWalkOrder cWalkOrder, void *userData) |
| Walk all the placements within 'bounds' ([xmin, xmax, ymin, ymax], inclusive on all sides), with -1 meaning unbounded. | |
| void | mlirMSFTAddPhysLocationAttr (MlirOperation cOp, const char *entityName, PrimitiveType type, long x, long y, long num) |
| bool | circtMSFTAttributeIsAPhysLocationAttribute (MlirAttribute attr) |
| MlirAttribute | circtMSFTPhysLocationAttrGet (MlirContext cCtxt, CirctMSFTPrimitiveType devType, uint64_t x, uint64_t y, uint64_t num) |
| CirctMSFTPrimitiveType | circtMSFTPhysLocationAttrGetPrimitiveType (MlirAttribute attr) |
| uint64_t | circtMSFTPhysLocationAttrGetX (MlirAttribute attr) |
| uint64_t | circtMSFTPhysLocationAttrGetY (MlirAttribute attr) |
| uint64_t | circtMSFTPhysLocationAttrGetNum (MlirAttribute attr) |
| bool | circtMSFTAttributeIsAPhysicalBoundsAttr (MlirAttribute attr) |
| MlirAttribute | circtMSFTPhysicalBoundsAttrGet (MlirContext cContext, uint64_t xMin, uint64_t xMax, uint64_t yMin, uint64_t yMax) |
| bool | circtMSFTAttributeIsALocationVectorAttribute (MlirAttribute attr) |
| MlirAttribute | circtMSFTLocationVectorAttrGet (MlirContext ctxt, MlirType type, intptr_t numElements, MlirAttribute const *elements) |
| MlirType | circtMSFTLocationVectorAttrGetType (MlirAttribute attr) |
| intptr_t | circtMSFTLocationVectorAttrGetNumElements (MlirAttribute attr) |
| MlirAttribute | circtMSFTLocationVectorAttrGetElement (MlirAttribute attr, intptr_t pos) |
| bool circtMSFTAttributeIsALocationVectorAttribute | ( | MlirAttribute | attr | ) |
| bool circtMSFTAttributeIsAPhysicalBoundsAttr | ( | MlirAttribute | attr | ) |
| bool circtMSFTAttributeIsAPhysLocationAttribute | ( | MlirAttribute | attr | ) |
| CirctMSFTPlacementDB circtMSFTCreatePlacementDB | ( | MlirModule | top, |
| CirctMSFTPrimitiveDB | seed | ||
| ) |
Definition at line 70 of file MSFT.cpp.
References unwrap(), and wrap().
Referenced by PlacementDB::PlacementDB().
| CirctMSFTPrimitiveDB circtMSFTCreatePrimitiveDB | ( | MlirContext | ctxt | ) |
Definition at line 47 of file MSFT.cpp.
References unwrap(), and wrap().
Referenced by PrimitiveDB::PrimitiveDB().
| void circtMSFTDeletePlacementDB | ( | CirctMSFTPlacementDB | self | ) |
Definition at line 76 of file MSFT.cpp.
References unwrap().
Referenced by PlacementDB::~PlacementDB().
| void circtMSFTDeletePrimitiveDB | ( | CirctMSFTPrimitiveDB | self | ) |
Definition at line 50 of file MSFT.cpp.
References unwrap().
Referenced by PrimitiveDB::~PrimitiveDB().
| MlirAttribute circtMSFTLocationVectorAttrGet | ( | MlirContext | ctxt, |
| MlirType | type, | ||
| intptr_t | numElements, | ||
| MlirAttribute const * | elements | ||
| ) |
Definition at line 216 of file MSFT.cpp.
References numElements, unwrap(), and wrap().
| MlirAttribute circtMSFTLocationVectorAttrGetElement | ( | MlirAttribute | attr, |
| intptr_t | pos | ||
| ) |
Definition at line 234 of file MSFT.cpp.
References unwrap(), and wrap().
Referenced by PyLocationVecIterator::getItem().
| intptr_t circtMSFTLocationVectorAttrGetNumElements | ( | MlirAttribute | attr | ) |
Definition at line 231 of file MSFT.cpp.
References unwrap().
Referenced by PyLocationVecIterator::dunderNext().
| MlirType circtMSFTLocationVectorAttrGetType | ( | MlirAttribute | attr | ) |
| MlirAttribute circtMSFTPhysicalBoundsAttrGet | ( | MlirContext | cContext, |
| uint64_t | xMin, | ||
| uint64_t | xMax, | ||
| uint64_t | yMin, | ||
| uint64_t | yMax | ||
| ) |
| MlirAttribute circtMSFTPhysLocationAttrGet | ( | MlirContext | cCtxt, |
| CirctMSFTPrimitiveType | devType, | ||
| uint64_t | x, | ||
| uint64_t | y, | ||
| uint64_t | num | ||
| ) |
| uint64_t circtMSFTPhysLocationAttrGetNum | ( | MlirAttribute | attr | ) |
| CirctMSFTPrimitiveType circtMSFTPhysLocationAttrGetPrimitiveType | ( | MlirAttribute | attr | ) |
| uint64_t circtMSFTPhysLocationAttrGetX | ( | MlirAttribute | attr | ) |
| uint64_t circtMSFTPhysLocationAttrGetY | ( | MlirAttribute | attr | ) |
| MlirOperation circtMSFTPlacementDBGetInstanceAt | ( | CirctMSFTPlacementDB | db, |
| MlirAttribute | loc | ||
| ) |
Definition at line 117 of file MSFT.cpp.
References unwrap(), and wrap().
Referenced by PlacementDB::getInstanceAt().
| MlirAttribute circtMSFTPlacementDBGetNearestFreeInColumn | ( | CirctMSFTPlacementDB | db, |
| CirctMSFTPrimitiveType | prim, | ||
| uint64_t | column, | ||
| uint64_t | nearestToY | ||
| ) |
Definition at line 121 of file MSFT.cpp.
References unwrap(), and wrap().
Referenced by PlacementDB::getNearestFreeInColumn().
| MlirLogicalResult circtMSFTPlacementDBMovePlacement | ( | CirctMSFTPlacementDB | db, |
| MlirOperation | clocOp, | ||
| MlirAttribute | cnewLoc | ||
| ) |
Definition at line 104 of file MSFT.cpp.
References unwrap(), and wrap().
Referenced by PlacementDB::movePlacement().
| MlirOperation circtMSFTPlacementDBPlace | ( | CirctMSFTPlacementDB | db, |
| MlirOperation | cinst, | ||
| MlirAttribute | cloc, | ||
| MlirStringRef | subpath, | ||
| MlirLocation | csrcLoc | ||
| ) |
Definition at line 80 of file MSFT.cpp.
References unwrap(), and wrap().
Referenced by PlacementDB::place().
| void circtMSFTPlacementDBRemovePlacement | ( | CirctMSFTPlacementDB | db, |
| MlirOperation | clocOp | ||
| ) |
Definition at line 94 of file MSFT.cpp.
References assert(), and unwrap().
Referenced by PlacementDB::removePlacement().
| MLIR_CAPI_EXPORTED void circtMSFTPlacementDBWalkPlacements | ( | CirctMSFTPlacementDB | cdb, |
| CirctMSFTPlacementCallback | ccb, | ||
| int64_t | bounds[4], | ||
| CirctMSFTPrimitiveType | cPrimTypeFilter, | ||
| CirctMSFTWalkOrder | cWalkOrder, | ||
| void * | userData | ||
| ) |
Walk all the placements within 'bounds' ([xmin, xmax, ymin, ymax], inclusive on all sides), with -1 meaning unbounded.
Definition at line 131 of file MSFT.cpp.
References CirctMSFTWalkOrder::columns, NONE, CirctMSFTWalkOrder::rows, unwrap(), circt::msft::PlacementDB::walkPlacements(), and wrap().
Referenced by PlacementDB::walkPlacements().
| MlirLogicalResult circtMSFTPrimitiveDBAddPrimitive | ( | CirctMSFTPrimitiveDB | self, |
| MlirAttribute | cLoc | ||
| ) |
Definition at line 53 of file MSFT.cpp.
References unwrap(), and wrap().
Referenced by PrimitiveDB::addPrimitive().
| bool circtMSFTPrimitiveDBIsValidLocation | ( | CirctMSFTPrimitiveDB | self, |
| MlirAttribute | cLoc | ||
| ) |
Definition at line 58 of file MSFT.cpp.
References unwrap().
Referenced by PrimitiveDB::isValidLocation().
| void circtMSFTReplaceAllUsesWith | ( | MlirValue | value, |
| MlirValue | newValue | ||
| ) |
| void mlirMSFTAddPhysLocationAttr | ( | MlirOperation | cOp, |
| const char * | entityName, | ||
| PrimitiveType | type, | ||
| long | x, | ||
| long | y, | ||
| long | num | ||
| ) |
| void mlirMSFTRegisterPasses | ( | void | ) |
Definition at line 32 of file MSFT.cpp.
References registerPasses().