|
| 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 (ClassType 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 130 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 147 of file Dedup.cpp.
References innerSymIDTable.
Referenced by getModuleInfo().
◆ update() [1/14]
| void StructuralHasher::update |
( |
Block * |
block | ) |
|
|
inlineprivate |
◆ update() [2/14]
| void StructuralHasher::update |
( |
BundleType |
type | ) |
|
|
inlineprivate |
◆ update() [3/14]
| void StructuralHasher::update |
( |
ClassType |
type | ) |
|
|
inlineprivate |
◆ update() [4/14]
template<typename T , typename U >
| void StructuralHasher::update |
( |
const std::pair< T, U > & |
pair | ) |
|
|
inlineprivate |
◆ update() [5/14]
| void StructuralHasher::update |
( |
const void * |
pointer | ) |
|
|
inlineprivate |
◆ update() [6/14]
| void StructuralHasher::update |
( |
mlir::OperationName |
name | ) |
|
|
inlineprivate |
◆ update() [7/14]
| void StructuralHasher::update |
( |
Operation * |
op | ) |
|
|
inlineprivate |
◆ update() [8/14]
| void StructuralHasher::update |
( |
Operation * |
op, |
|
|
DictionaryAttr |
dict |
|
) |
| |
|
inlineprivate |
Hash the top level attribute dictionary of the operation.
This function has special handling for inner symbols, ports, and referenced modules.
Definition at line 270 of file Dedup.cpp.
◆ update() [9/14]
| void StructuralHasher::update |
( |
OpOperand & |
operand | ) |
|
|
inlineprivate |
◆ update() [10/14]
| void StructuralHasher::update |
( |
OpResult |
result | ) |
|
|
inlineprivate |
◆ update() [11/14]
| void StructuralHasher::update |
( |
Region * |
region | ) |
|
|
inlineprivate |
◆ update() [12/14]
| void StructuralHasher::update |
( |
size_t |
value | ) |
|
|
inlineprivate |
◆ update() [13/14]
| void StructuralHasher::update |
( |
Type |
type | ) |
|
|
inlineprivate |
◆ update() [14/14]
| void StructuralHasher::update |
( |
TypeID |
typeID | ) |
|
|
inlineprivate |
◆ constants
◆ hasSeenSymbol
| bool StructuralHasher::hasSeenSymbol = false |
|
private |
◆ 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 |
◆ symbolSensitiveOps
| std::vector<Operation *> StructuralHasher::symbolSensitiveOps |
|
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