|
CIRCT 23.0.0git
|
Classes | |
| struct | ClassLowering |
| struct | Context |
| A helper class to facilitate the conversion from a Slang AST to MLIR operations. More... | |
| struct | FlattenedIfacePort |
| Lowering information for a single signal flattened from an interface port. More... | |
| struct | FunctionLowering |
| Function lowering information. More... | |
| struct | HierPathInfo |
| Hierarchical path information. More... | |
| struct | InterfaceLowering |
| Lowering information for an expanded interface instance. More... | |
| struct | LocationKey |
| struct | LoopFrame |
| Information about a loops continuation and exit blocks relevant while lowering the loop's body statements. More... | |
| struct | ModuleLowering |
| Module lowering information. More... | |
| struct | PortLowering |
| Port lowering information. More... | |
| struct | VirtualInterfaceLowering |
Cached lowering information for representing SystemVerilog virtual interface handles as Moore types (a struct of references to interface members). More... | |
| struct | VirtualInterfaceMemberAccess |
| A mapping entry for resolving Slang virtual interface member accesses. More... | |
Typedefs | |
| using | CaptureMap = DenseMap< const slang::ast::SubroutineSymbol *, SmallSetVector< const slang::ast::ValueSymbol *, 4 > > |
| The result of capture analysis: for each function, the set of non-local, non-global variable symbols that the function captures directly or transitively through calls. | |
Functions | |
| CaptureMap | analyzeFunctionCaptures (const slang::ast::RootSymbol &root) |
Analyze the AST rooted at root to determine which variables each function captures. | |
| using circt::ImportVerilog::CaptureMap = typedef DenseMap<const slang::ast::SubroutineSymbol *, SmallSetVector<const slang::ast::ValueSymbol *, 4> > |
The result of capture analysis: for each function, the set of non-local, non-global variable symbols that the function captures directly or transitively through calls.
Definition at line 41 of file CaptureAnalysis.h.
| CaptureMap circt::ImportVerilog::analyzeFunctionCaptures | ( | const slang::ast::RootSymbol & | root | ) |
Analyze the AST rooted at root to determine which variables each function captures.
A variable is considered captured by a function if it is referenced inside the function's body (or transitively through called functions) and is neither local to the function nor a global variable (package-scope or compilation-unit-scope variables that are lowered via get_global_signal).
Referenced by circt::ImportVerilog::Context::convertCompilation().