9 #ifndef CIRCT_ANALYSIS_DEBUGINFO_H
10 #define CIRCT_ANALYSIS_DEBUGINFO_H
13 #include "mlir/IR/BuiltinAttributes.h"
14 #include "mlir/IR/Operation.h"
15 #include "llvm/ADT/MapVector.h"
28 Operation *
op =
nullptr;
43 Operation *
op =
nullptr;
The InstanceGraph op interface, see InstanceGraphInterface.td for more details.
Operation * op
The operation that generated this instance.
StringAttr name
The name of this instance.
DIModule * module
The instantiated module.
bool isInline
If this is an inline scope created by a dbg.scope operation.
Operation * op
The operation that generated this level of hierarchy.
SmallVector< DIInstance *, 0 > instances
Levels of hierarchy nested under this module.
SmallVector< DIVariable *, 0 > variables
Variables declared within this module.
bool isExtern
If this is an extern declaration.
StringAttr name
The name of this level of hierarchy.
Value value
The SSA value representing the value of this variable.
StringAttr name
The name of this variable.
LocationAttr loc
The location of the variable's declaration.
Debug information attached to an operation and the operations nested within.
llvm::SpecificBumpPtrAllocator< DIInstance > instanceAllocator
Operation * operation
The operation that was passed to the constructor.
llvm::SpecificBumpPtrAllocator< DIModule > moduleAllocator
llvm::SpecificBumpPtrAllocator< DIVariable > variableAllocator
llvm::MapVector< StringAttr, DIModule * > moduleNodes
A mapping from module name to module debug info.
DebugInfo(Operation *op)
Collect the debug information nested under the given operation.
Helper to populate a DebugInfo with nodes.