|
| void | populateInnerSymIDTable (FModuleLike module) |
| | Find all the ports and operations which may define an inner symbol operations and give each a unique id.
|
| unsigned | getID (void *object) |
| unsigned | finalizeID (void *object) |
| std::pair< size_t, size_t > | getInnerSymID (StringAttr name) |
| void | update (OpOperand &operand) |
| void | update (const void *pointer) |
| void | update (size_t value) |
| template<typename T, typename U> |
| void | update (const std::pair< T, U > &pair) |
| void | update (TypeID typeID) |
| void | update (BundleType type) |
| void | update (Type type) |
| void | update (OpResult result) |
| void | update (Operation *op, DictionaryAttr dict) |
| | Hash the top level attribute dictionary of the operation.
|
| void | update (mlir::OperationName name) |
| void | update (Block *block) |
| void | update (Region *region) |
| void | update (Operation *op) |
Definition at line 125 of file Dedup.cpp.
◆ StructuralHasher()
◆ finalizeID()
| unsigned StructuralHasher::finalizeID |
( |
void * | object | ) |
|
|
inlineprivate |
◆ getID()
| unsigned StructuralHasher::getID |
( |
void * | object | ) |
|
|
inlineprivate |
◆ getInnerSymID()
| std::pair< size_t, size_t > StructuralHasher::getInnerSymID |
( |
StringAttr | name | ) |
|
|
inlineprivate |
◆ getModuleInfo()
| ModuleInfo StructuralHasher::getModuleInfo |
( |
FModuleLike | module | ) |
|
|
inline |
◆ populateInnerSymIDTable()
| void StructuralHasher::populateInnerSymIDTable |
( |
FModuleLike | module | ) |
|
|
inlineprivate |
Find all the ports and operations which may define an inner symbol operations and give each a unique id.
If the port/operation does define an inner symbol, map the symbol name to a pair of the id and the symbol's field id. When we hash (local) references to this inner symbol, we will hash in the id and the the field id.
Definition at line 141 of file Dedup.cpp.
References innerSymIDTable.
Referenced by getModuleInfo().
◆ update() [1/13]
| void StructuralHasher::update |
( |
Block * | block | ) |
|
|
inlineprivate |
◆ update() [2/13]
| void StructuralHasher::update |
( |
BundleType | type | ) |
|
|
inlineprivate |
◆ update() [3/13]
template<typename T, typename U>
| void StructuralHasher::update |
( |
const std::pair< T, U > & | pair | ) |
|
|
inlineprivate |
◆ update() [4/13]
| void StructuralHasher::update |
( |
const void * | pointer | ) |
|
|
inlineprivate |
◆ update() [5/13]
| void StructuralHasher::update |
( |
mlir::OperationName | name | ) |
|
|
inlineprivate |
◆ update() [6/13]
| void StructuralHasher::update |
( |
Operation * | op | ) |
|
|
inlineprivate |
◆ update() [7/13]
| void StructuralHasher::update |
( |
Operation * | op, |
|
|
DictionaryAttr | dict ) |
|
inlineprivate |
◆ update() [8/13]
| void StructuralHasher::update |
( |
OpOperand & | operand | ) |
|
|
inlineprivate |
Definition at line 181 of file Dedup.cpp.
References getID(), and update().
Referenced by getModuleInfo(), update(), update(), update(), update(), update(), update(), update(), update(), and update().
◆ update() [9/13]
| void StructuralHasher::update |
( |
OpResult | result | ) |
|
|
inlineprivate |
◆ update() [10/13]
| void StructuralHasher::update |
( |
Region * | region | ) |
|
|
inlineprivate |
◆ update() [11/13]
| void StructuralHasher::update |
( |
size_t | value | ) |
|
|
inlineprivate |
◆ update() [12/13]
| void StructuralHasher::update |
( |
Type | type | ) |
|
|
inlineprivate |
◆ update() [13/13]
| void StructuralHasher::update |
( |
TypeID | typeID | ) |
|
|
inlineprivate |
◆ constants
◆ idTable
| DenseMap<void *, unsigned> StructuralHasher::idTable |
|
private |
◆ innerSymIDTable
| DenseMap<StringAttr, std::pair<size_t, size_t> > StructuralHasher::innerSymIDTable |
|
private |
◆ nextID
| unsigned StructuralHasher::nextID = 0 |
|
private |
◆ position
| size_t StructuralHasher::position = 0 |
|
private |
◆ referredModuleNames
| std::vector<StringAttr> StructuralHasher::referredModuleNames |
|
private |
◆ sha
| llvm::SHA256 StructuralHasher::sha |
|
private |
The documentation for this struct was generated from the following file:
- /home/runner/work/circt-www/circt-www/circt_src/lib/Dialect/FIRRTL/Transforms/Dedup.cpp