CIRCT 24.0.0git
Loading...
Searching...
No Matches
circt::hw::InnerSymbolNamespace Struct Reference

#include <InnerSymbolNamespace.h>

Inheritance diagram for circt::hw::InnerSymbolNamespace:
Collaboration diagram for circt::hw::InnerSymbolNamespace:

Public Member Functions

 InnerSymbolNamespace ()=default
 InnerSymbolNamespace (Operation *module)
void add (Operation *module)
 Populate the namespace from a module-like operation.
Public Member Functions inherited from circt::Namespace
 Namespace ()
 Namespace (const Namespace &other)=default
 Namespace (Namespace &&other)
Namespace & operator= (const Namespace &other)=default
Namespace & operator= (Namespace &&other)
void add (mlir::ModuleOp module)
void add (SymbolCache &symCache)
 SymbolCache initializer; initialize from every key that is convertible to a StringAttr in the SymbolCache.
void add (StringRef name)
bool erase (llvm::StringRef symbol)
 Removes a symbol from the namespace.
void clear ()
 Empty the namespace.
StringRef newName (const Twine &name)
 Return a unique name, derived from the input name, and add the new name to the internal namespace.
StringRef newName (const Twine &name, const Twine &suffix)
 Return a unique name, derived from the input name and ensure the returned name has the input suffix.

Additional Inherited Members

Protected Attributes inherited from circt::Namespace
llvm::StringMap< size_t > nextIndex
bool locked = false

Detailed Description

Definition at line 23 of file InnerSymbolNamespace.h.

Constructor & Destructor Documentation

◆ InnerSymbolNamespace() [1/2]

circt::hw::InnerSymbolNamespace::InnerSymbolNamespace ( )
default

◆ InnerSymbolNamespace() [2/2]

circt::hw::InnerSymbolNamespace::InnerSymbolNamespace ( Operation * module)
inline

Definition at line 25 of file InnerSymbolNamespace.h.

References add().

Member Function Documentation

◆ add()

void circt::hw::InnerSymbolNamespace::add ( Operation * module)
inline

Populate the namespace from a module-like operation.

This namespace will be composed of the inner_syms of the module's ports and declarations.

Definition at line 29 of file InnerSymbolNamespace.h.

References circt::Namespace::nextIndex, and circt::hw::InnerSymbolTable::walkSymbols().

Referenced by InnerSymbolNamespace().


The documentation for this struct was generated from the following file: