CIRCT
20.0.0git
|
#include "mlir-c/IR.h"
#include "mlir-c/Pass.h"
Go to the source code of this file.
Classes | |
struct | CirctMSFTPrimitiveDB |
struct | CirctMSFTPlacementDB |
struct | CirctMSFTWalkOrder |
Typedefs | |
typedef int32_t | CirctMSFTPrimitiveType |
typedef void(* | CirctMSFTPlacementCallback) (MlirAttribute loc, MlirOperation locOp, void *userData) |
Enumerations | |
enum | CirctMSFTDirection { NONE = 0 , ASC = 1 , DESC = 2 } |
Functions | |
MLIR_DECLARE_CAPI_DIALECT_REGISTRATION (MSFT, msft) | |
MLIR_CAPI_EXPORTED void | mlirMSFTRegisterPasses (void) |
MLIR_CAPI_EXPORTED void | circtMSFTReplaceAllUsesWith (MlirValue value, MlirValue newValue) |
MLIR_CAPI_EXPORTED bool | circtMSFTAttributeIsAPhysLocationAttribute (MlirAttribute) |
MLIR_CAPI_EXPORTED MlirAttribute | circtMSFTPhysLocationAttrGet (MlirContext, CirctMSFTPrimitiveType, uint64_t x, uint64_t y, uint64_t num) |
MLIR_CAPI_EXPORTED CirctMSFTPrimitiveType | circtMSFTPhysLocationAttrGetPrimitiveType (MlirAttribute) |
MLIR_CAPI_EXPORTED uint64_t | circtMSFTPhysLocationAttrGetX (MlirAttribute) |
MLIR_CAPI_EXPORTED uint64_t | circtMSFTPhysLocationAttrGetY (MlirAttribute) |
MLIR_CAPI_EXPORTED uint64_t | circtMSFTPhysLocationAttrGetNum (MlirAttribute) |
MLIR_CAPI_EXPORTED MlirOperation | circtMSFTGetInstance (MlirOperation root, MlirAttribute path) |
MLIR_CAPI_EXPORTED bool | circtMSFTAttributeIsAPhysicalBoundsAttr (MlirAttribute) |
MLIR_CAPI_EXPORTED MlirAttribute | circtMSFTPhysicalBoundsAttrGet (MlirContext, uint64_t, uint64_t, uint64_t, uint64_t) |
MLIR_CAPI_EXPORTED bool | circtMSFTAttributeIsALocationVectorAttribute (MlirAttribute) |
MLIR_CAPI_EXPORTED MlirAttribute | circtMSFTLocationVectorAttrGet (MlirContext, MlirType type, intptr_t numElements, MlirAttribute const *elements) |
MLIR_CAPI_EXPORTED MlirType | circtMSFTLocationVectorAttrGetType (MlirAttribute) |
MLIR_CAPI_EXPORTED intptr_t | circtMSFTLocationVectorAttrGetNumElements (MlirAttribute) |
MLIR_CAPI_EXPORTED MlirAttribute | circtMSFTLocationVectorAttrGetElement (MlirAttribute attr, intptr_t pos) |
MLIR_CAPI_EXPORTED CirctMSFTPrimitiveDB | circtMSFTCreatePrimitiveDB (MlirContext) |
MLIR_CAPI_EXPORTED void | circtMSFTDeletePrimitiveDB (CirctMSFTPrimitiveDB self) |
MLIR_CAPI_EXPORTED MlirLogicalResult | circtMSFTPrimitiveDBAddPrimitive (CirctMSFTPrimitiveDB, MlirAttribute locAndPrim) |
MLIR_CAPI_EXPORTED bool | circtMSFTPrimitiveDBIsValidLocation (CirctMSFTPrimitiveDB, MlirAttribute locAndPrim) |
MLIR_CAPI_EXPORTED CirctMSFTPlacementDB | circtMSFTCreatePlacementDB (MlirModule top, CirctMSFTPrimitiveDB seed) |
MLIR_CAPI_EXPORTED void | circtMSFTDeletePlacementDB (CirctMSFTPlacementDB self) |
MLIR_CAPI_EXPORTED MlirOperation | circtMSFTPlacementDBPlace (CirctMSFTPlacementDB, MlirOperation inst, MlirAttribute loc, MlirStringRef subpath, MlirLocation srcLoc) |
MLIR_CAPI_EXPORTED void | circtMSFTPlacementDBRemovePlacement (CirctMSFTPlacementDB, MlirOperation locOp) |
MLIR_CAPI_EXPORTED MlirLogicalResult | circtMSFTPlacementDBMovePlacement (CirctMSFTPlacementDB, MlirOperation locOp, MlirAttribute newLoc) |
MLIR_CAPI_EXPORTED MlirOperation | circtMSFTPlacementDBGetInstanceAt (CirctMSFTPlacementDB, MlirAttribute loc) |
MLIR_CAPI_EXPORTED MlirAttribute | circtMSFTPlacementDBGetNearestFreeInColumn (CirctMSFTPlacementDB, CirctMSFTPrimitiveType prim, uint64_t column, uint64_t nearestToY) |
MLIR_CAPI_EXPORTED void | circtMSFTPlacementDBWalkPlacements (CirctMSFTPlacementDB, CirctMSFTPlacementCallback, int64_t bounds[4], CirctMSFTPrimitiveType primTypeFilter, CirctMSFTWalkOrder walkOrder, void *userData) |
Walk all the placements within 'bounds' ([xmin, xmax, ymin, ymax], inclusive on all sides), with -1 meaning unbounded. More... | |
typedef void(* CirctMSFTPlacementCallback) (MlirAttribute loc, MlirOperation locOp, void *userData) |
typedef int32_t CirctMSFTPrimitiveType |
enum CirctMSFTDirection |
MLIR_CAPI_EXPORTED bool circtMSFTAttributeIsALocationVectorAttribute | ( | MlirAttribute | attr | ) |
MLIR_CAPI_EXPORTED bool circtMSFTAttributeIsAPhysicalBoundsAttr | ( | MlirAttribute | attr | ) |
MLIR_CAPI_EXPORTED bool circtMSFTAttributeIsAPhysLocationAttribute | ( | MlirAttribute | attr | ) |
MLIR_CAPI_EXPORTED CirctMSFTPlacementDB circtMSFTCreatePlacementDB | ( | MlirModule | top, |
CirctMSFTPrimitiveDB | seed | ||
) |
Definition at line 70 of file MSFT.cpp.
References unwrap(), and wrap().
Referenced by PlacementDB::PlacementDB().
MLIR_CAPI_EXPORTED CirctMSFTPrimitiveDB circtMSFTCreatePrimitiveDB | ( | MlirContext | ctxt | ) |
Definition at line 47 of file MSFT.cpp.
References esiaccel.accelerator::ctxt, unwrap(), and wrap().
Referenced by PrimitiveDB::PrimitiveDB().
MLIR_CAPI_EXPORTED void circtMSFTDeletePlacementDB | ( | CirctMSFTPlacementDB | self | ) |
Definition at line 76 of file MSFT.cpp.
References unwrap().
Referenced by PlacementDB::~PlacementDB().
MLIR_CAPI_EXPORTED void circtMSFTDeletePrimitiveDB | ( | CirctMSFTPrimitiveDB | self | ) |
Definition at line 50 of file MSFT.cpp.
References unwrap().
Referenced by PrimitiveDB::~PrimitiveDB().
MLIR_CAPI_EXPORTED MlirOperation circtMSFTGetInstance | ( | MlirOperation | root, |
MlirAttribute | path | ||
) |
MLIR_CAPI_EXPORTED MlirAttribute circtMSFTLocationVectorAttrGet | ( | MlirContext | ctxt, |
MlirType | type, | ||
intptr_t | numElements, | ||
MlirAttribute const * | elements | ||
) |
Definition at line 215 of file MSFT.cpp.
References esiaccel.accelerator::ctxt, circt::calyx::direction::get(), numElements, unwrap(), and wrap().
MLIR_CAPI_EXPORTED MlirAttribute circtMSFTLocationVectorAttrGetElement | ( | MlirAttribute | attr, |
intptr_t | pos | ||
) |
Definition at line 233 of file MSFT.cpp.
References unwrap(), and wrap().
Referenced by PyLocationVecIterator::getItem().
MLIR_CAPI_EXPORTED intptr_t circtMSFTLocationVectorAttrGetNumElements | ( | MlirAttribute | attr | ) |
Definition at line 230 of file MSFT.cpp.
References unwrap().
Referenced by PyLocationVecIterator::dunderNext().
MLIR_CAPI_EXPORTED MlirType circtMSFTLocationVectorAttrGetType | ( | MlirAttribute | attr | ) |
MLIR_CAPI_EXPORTED MlirAttribute circtMSFTPhysicalBoundsAttrGet | ( | MlirContext | cContext, |
uint64_t | xMin, | ||
uint64_t | xMax, | ||
uint64_t | yMin, | ||
uint64_t | yMax | ||
) |
Definition at line 205 of file MSFT.cpp.
References circt::calyx::direction::get(), unwrap(), and wrap().
MLIR_CAPI_EXPORTED MlirAttribute circtMSFTPhysLocationAttrGet | ( | MlirContext | cCtxt, |
CirctMSFTPrimitiveType | devType, | ||
uint64_t | x, | ||
uint64_t | y, | ||
uint64_t | num | ||
) |
Definition at line 176 of file MSFT.cpp.
References esiaccel.accelerator::ctxt, circt::calyx::direction::get(), unwrap(), and wrap().
MLIR_CAPI_EXPORTED uint64_t circtMSFTPhysLocationAttrGetNum | ( | MlirAttribute | attr | ) |
MLIR_CAPI_EXPORTED CirctMSFTPrimitiveType circtMSFTPhysLocationAttrGetPrimitiveType | ( | MlirAttribute | attr | ) |
MLIR_CAPI_EXPORTED uint64_t circtMSFTPhysLocationAttrGetX | ( | MlirAttribute | attr | ) |
MLIR_CAPI_EXPORTED uint64_t circtMSFTPhysLocationAttrGetY | ( | MlirAttribute | attr | ) |
MLIR_CAPI_EXPORTED MlirOperation circtMSFTPlacementDBGetInstanceAt | ( | CirctMSFTPlacementDB | db, |
MlirAttribute | loc | ||
) |
Definition at line 117 of file MSFT.cpp.
References unwrap(), and wrap().
Referenced by PlacementDB::getInstanceAt().
MLIR_CAPI_EXPORTED 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().
MLIR_CAPI_EXPORTED MlirLogicalResult circtMSFTPlacementDBMovePlacement | ( | CirctMSFTPlacementDB | db, |
MlirOperation | locOp, | ||
MlirAttribute | newLoc | ||
) |
Definition at line 104 of file MSFT.cpp.
References unwrap(), and wrap().
Referenced by PlacementDB::movePlacement().
MLIR_CAPI_EXPORTED MlirOperation circtMSFTPlacementDBPlace | ( | CirctMSFTPlacementDB | db, |
MlirOperation | inst, | ||
MlirAttribute | loc, | ||
MlirStringRef | subpath, | ||
MlirLocation | srcLoc | ||
) |
Definition at line 80 of file MSFT.cpp.
References unwrap(), and wrap().
Referenced by PlacementDB::place().
MLIR_CAPI_EXPORTED void circtMSFTPlacementDBRemovePlacement | ( | CirctMSFTPlacementDB | db, |
MlirOperation | locOp | ||
) |
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 | primTypeFilter, | ||
CirctMSFTWalkOrder | walkOrder, | ||
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().
MLIR_CAPI_EXPORTED MlirLogicalResult circtMSFTPrimitiveDBAddPrimitive | ( | CirctMSFTPrimitiveDB | self, |
MlirAttribute | locAndPrim | ||
) |
Definition at line 53 of file MSFT.cpp.
References unwrap(), and wrap().
Referenced by PrimitiveDB::addPrimitive().
MLIR_CAPI_EXPORTED bool circtMSFTPrimitiveDBIsValidLocation | ( | CirctMSFTPrimitiveDB | self, |
MlirAttribute | locAndPrim | ||
) |
Definition at line 58 of file MSFT.cpp.
References unwrap().
Referenced by PrimitiveDB::isValidLocation().
MLIR_CAPI_EXPORTED void circtMSFTReplaceAllUsesWith | ( | MlirValue | value, |
MlirValue | newValue | ||
) |
MLIR_DECLARE_CAPI_DIALECT_REGISTRATION | ( | MSFT | , |
msft | |||
) |
MLIR_CAPI_EXPORTED void mlirMSFTRegisterPasses | ( | void | ) |
Definition at line 32 of file MSFT.cpp.
References registerPasses().