CIRCT  20.0.0git
Public Member Functions | Public Attributes | Protected Attributes | Friends | List of all members
circt::DebugInfo Struct Reference

Debug information attached to an operation and the operations nested within. More...

#include <DebugInfo.h>

Collaboration diagram for circt::DebugInfo:
Collaboration graph
[legend]

Public Member Functions

 DebugInfo (Operation *op)
 Collect the debug information nested under the given operation. More...
 

Public Attributes

Operation * operation
 The operation that was passed to the constructor. More...
 
llvm::MapVector< StringAttr, DIModule * > moduleNodes
 A mapping from module name to module debug info. More...
 

Protected Attributes

llvm::SpecificBumpPtrAllocator< DIModulemoduleAllocator
 
llvm::SpecificBumpPtrAllocator< DIInstanceinstanceAllocator
 
llvm::SpecificBumpPtrAllocator< DIVariablevariableAllocator
 

Friends

struct detail::DebugInfoBuilder
 

Detailed Description

Debug information attached to an operation and the operations nested within.

This is an analysis that gathers debug information for a piece of IR, either from attributes attached to operations or the general structure of the IR.

Definition at line 63 of file DebugInfo.h.

Constructor & Destructor Documentation

◆ DebugInfo()

DebugInfo::DebugInfo ( Operation *  op)

Collect the debug information nested under the given operation.

Definition at line 188 of file DebugInfo.cpp.

References circt::detail::DebugInfoBuilder::visitRoot().

Friends And Related Function Documentation

◆ detail::DebugInfoBuilder

friend struct detail::DebugInfoBuilder
friend

Definition at line 73 of file DebugInfo.h.

Member Data Documentation

◆ instanceAllocator

llvm::SpecificBumpPtrAllocator<DIInstance> circt::DebugInfo::instanceAllocator
protected

Definition at line 75 of file DebugInfo.h.

Referenced by circt::detail::DebugInfoBuilder::createInstance().

◆ moduleAllocator

llvm::SpecificBumpPtrAllocator<DIModule> circt::DebugInfo::moduleAllocator
protected

Definition at line 74 of file DebugInfo.h.

Referenced by circt::detail::DebugInfoBuilder::createModule().

◆ moduleNodes

llvm::MapVector<StringAttr, DIModule *> circt::DebugInfo::moduleNodes

A mapping from module name to module debug info.

Definition at line 70 of file DebugInfo.h.

Referenced by dump(), and circt::detail::DebugInfoBuilder::getOrCreateModule().

◆ operation

Operation* circt::DebugInfo::operation

The operation that was passed to the constructor.

Definition at line 68 of file DebugInfo.h.

Referenced by dump().

◆ variableAllocator

llvm::SpecificBumpPtrAllocator<DIVariable> circt::DebugInfo::variableAllocator
protected

Definition at line 76 of file DebugInfo.h.

Referenced by circt::detail::DebugInfoBuilder::createVariable().


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