CIRCT 23.0.0git
Loading...
Searching...
No Matches
Classes | Typedefs | Functions
circt::ImportVerilog Namespace Reference

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.
 

Typedef Documentation

◆ CaptureMap

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.

Function Documentation

◆ analyzeFunctionCaptures()

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().