|
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 138 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 154 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 |
Hash the top level attribute dictionary of the operation.
This function has special handling for inner symbols, ports, and referenced modules.
Definition at line 259 of file Dedup.cpp.
◆ update() [8/13]
void StructuralHasher::update |
( |
OpOperand & |
operand | ) |
|
|
inlineprivate |
◆ 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