LLVM API Documentation

llvm::DebugInfoDesc Class Reference

#include <MachineDebugInfo.h>

Inheritance diagram for llvm::DebugInfoDesc:

Inheritance graph
[legend]
Collaboration diagram for llvm::DebugInfoDesc:

Collaboration graph
[legend]
List of all members.

Public Member Functions

virtual ~DebugInfoDesc ()
unsigned getTag () const
unsigned getVersion () const
void setTag (unsigned T)
virtual GlobalValue::LinkageTypes getLinkage () const
virtual void ApplyToFields (DIVisitor *Visitor)
virtual const char * getDescString () const=0
virtual const char * getTypeString () const=0
virtual void dump ()=0

Static Public Member Functions

static unsigned TagFromGlobal (GlobalVariable *GV)
static unsigned VersionFromGlobal (GlobalVariable *GV)
static DebugInfoDescDescFactory (unsigned Tag)
static bool classof (const DebugInfoDesc *)

Protected Member Functions

 DebugInfoDesc (unsigned T)

Detailed Description

DebugInfoDesc - This class is the base class for debug info descriptors.

Definition at line 93 of file MachineDebugInfo.h.


Constructor & Destructor Documentation

llvm::DebugInfoDesc::DebugInfoDesc ( unsigned  T  )  [inline, protected]

Definition at line 100 of file MachineDebugInfo.h.

virtual llvm::DebugInfoDesc::~DebugInfoDesc (  )  [inline, virtual]

Definition at line 103 of file MachineDebugInfo.h.


Member Function Documentation

unsigned llvm::DebugInfoDesc::getTag (  )  const [inline]

Definition at line 106 of file MachineDebugInfo.h.

References llvm::LLVMDebugVersionMask.

Referenced by llvm::BlockDesc::dump(), llvm::SubprogramDesc::dump(), llvm::GlobalVariableDesc::dump(), llvm::VariableDesc::dump(), llvm::EnumeratorDesc::dump(), llvm::SubrangeDesc::dump(), llvm::CompositeTypeDesc::dump(), llvm::DerivedTypeDesc::dump(), llvm::BasicTypeDesc::dump(), llvm::TypeDesc::dump(), llvm::CompileUnitDesc::dump(), and llvm::AnchorDesc::dump().

unsigned llvm::DebugInfoDesc::getVersion (  )  const [inline]

Definition at line 107 of file MachineDebugInfo.h.

References llvm::LLVMDebugVersionMask.

Referenced by llvm::GlobalDesc::ApplyToFields(), llvm::TypeDesc::ApplyToFields(), llvm::CompileUnitDesc::ApplyToFields(), llvm::BlockDesc::dump(), llvm::SubprogramDesc::dump(), llvm::GlobalVariableDesc::dump(), llvm::VariableDesc::dump(), llvm::EnumeratorDesc::dump(), llvm::SubrangeDesc::dump(), llvm::CompositeTypeDesc::dump(), llvm::DerivedTypeDesc::dump(), llvm::BasicTypeDesc::dump(), llvm::TypeDesc::dump(), llvm::CompileUnitDesc::dump(), and llvm::AnchorDesc::dump().

void llvm::DebugInfoDesc::setTag ( unsigned  T  )  [inline]

Definition at line 108 of file MachineDebugInfo.h.

References llvm::LLVMDebugVersion.

unsigned DebugInfoDesc::TagFromGlobal ( GlobalVariable GV  )  [static]

TagFromGlobal - Returns the tag number from a debug info descriptor GlobalVariable. Return DIIValid if operand is not an unsigned int.

Definition at line 469 of file MachineDebugInfo.cpp.

References C, llvm::dwarf::DW_TAG_invalid, getUIntOperand(), GV, and llvm::LLVMDebugVersionMask.

Referenced by llvm::DIDeserializer::Deserialize(), llvm::MachineDebugInfo::getAnchoredDescriptors(), and llvm::DIVerifier::Verify().

unsigned DebugInfoDesc::VersionFromGlobal ( GlobalVariable GV  )  [static]

VersionFromGlobal - Returns the version number from a debug info descriptor GlobalVariable. Return DIIValid if operand is not an unsigned int.

Definition at line 478 of file MachineDebugInfo.cpp.

References C, llvm::dwarf::DW_TAG_invalid, getUIntOperand(), GV, and llvm::LLVMDebugVersionMask.

Referenced by llvm::MachineDebugInfo::getAnchoredDescriptors().

DebugInfoDesc * DebugInfoDesc::DescFactory ( unsigned  Tag  )  [static]

DescFactory - Create an instance of debug info descriptor based on Tag. Return NULL if not a recognized Tag.

Definition at line 486 of file MachineDebugInfo.cpp.

References llvm::dwarf::DW_TAG_anchor, llvm::dwarf::DW_TAG_arg_variable, llvm::dwarf::DW_TAG_array_type, llvm::dwarf::DW_TAG_auto_variable, llvm::dwarf::DW_TAG_base_type, llvm::dwarf::DW_TAG_compile_unit, llvm::dwarf::DW_TAG_const_type, llvm::dwarf::DW_TAG_enumeration_type, llvm::dwarf::DW_TAG_enumerator, llvm::dwarf::DW_TAG_lexical_block, llvm::dwarf::DW_TAG_member, llvm::dwarf::DW_TAG_pointer_type, llvm::dwarf::DW_TAG_reference_type, llvm::dwarf::DW_TAG_restrict_type, llvm::dwarf::DW_TAG_return_variable, llvm::dwarf::DW_TAG_structure_type, llvm::dwarf::DW_TAG_subprogram, llvm::dwarf::DW_TAG_subrange_type, llvm::dwarf::DW_TAG_subroutine_type, llvm::dwarf::DW_TAG_typedef, llvm::dwarf::DW_TAG_union_type, llvm::dwarf::DW_TAG_variable, llvm::dwarf::DW_TAG_vector_type, and llvm::dwarf::DW_TAG_volatile_type.

Referenced by llvm::DIDeserializer::Deserialize(), and llvm::DIVerifier::Verify().

GlobalValue::LinkageTypes DebugInfoDesc::getLinkage (  )  const [virtual]

getLinkage - get linkage appropriate for this type of descriptor.

Reimplemented in llvm::AnchorDesc.

Definition at line 519 of file MachineDebugInfo.cpp.

References llvm::GlobalValue::InternalLinkage.

static bool llvm::DebugInfoDesc::classof ( const DebugInfoDesc  )  [inline, static]

Reimplemented in llvm::AnchorDesc, llvm::CompileUnitDesc, llvm::BasicTypeDesc, llvm::DerivedTypeDesc, llvm::CompositeTypeDesc, llvm::SubrangeDesc, llvm::EnumeratorDesc, llvm::VariableDesc, llvm::GlobalVariableDesc, llvm::SubprogramDesc, and llvm::BlockDesc.

Definition at line 131 of file MachineDebugInfo.h.

void DebugInfoDesc::ApplyToFields ( DIVisitor Visitor  )  [virtual]

ApplyToFields - Target the vistor to the fields of the descriptor.

Reimplemented in llvm::AnchorDesc, llvm::AnchoredDesc, llvm::CompileUnitDesc, llvm::TypeDesc, llvm::BasicTypeDesc, llvm::DerivedTypeDesc, llvm::CompositeTypeDesc, llvm::SubrangeDesc, llvm::EnumeratorDesc, llvm::VariableDesc, llvm::GlobalDesc, llvm::GlobalVariableDesc, llvm::SubprogramDesc, and llvm::BlockDesc.

Definition at line 525 of file MachineDebugInfo.cpp.

References llvm::DIVisitor::Apply().

Referenced by llvm::BlockDesc::ApplyToFields(), llvm::VariableDesc::ApplyToFields(), llvm::EnumeratorDesc::ApplyToFields(), llvm::SubrangeDesc::ApplyToFields(), llvm::TypeDesc::ApplyToFields(), llvm::AnchoredDesc::ApplyToFields(), and llvm::AnchorDesc::ApplyToFields().

virtual const char* llvm::DebugInfoDesc::getDescString (  )  const [pure virtual]

getDescString - Return a string used to compose global names and labels.

Implemented in llvm::AnchorDesc, llvm::CompileUnitDesc, llvm::TypeDesc, llvm::BasicTypeDesc, llvm::DerivedTypeDesc, llvm::CompositeTypeDesc, llvm::SubrangeDesc, llvm::EnumeratorDesc, llvm::VariableDesc, llvm::GlobalVariableDesc, llvm::SubprogramDesc, and llvm::BlockDesc.

virtual const char* llvm::DebugInfoDesc::getTypeString (  )  const [pure virtual]

getTypeString - Return a string used to label this descriptor's type.

Implemented in llvm::AnchorDesc, llvm::CompileUnitDesc, llvm::TypeDesc, llvm::BasicTypeDesc, llvm::DerivedTypeDesc, llvm::CompositeTypeDesc, llvm::SubrangeDesc, llvm::EnumeratorDesc, llvm::VariableDesc, llvm::GlobalVariableDesc, llvm::SubprogramDesc, and llvm::BlockDesc.

virtual void llvm::DebugInfoDesc::dump (  )  [pure virtual]

Implemented in llvm::AnchorDesc, llvm::CompileUnitDesc, llvm::TypeDesc, llvm::BasicTypeDesc, llvm::DerivedTypeDesc, llvm::CompositeTypeDesc, llvm::SubrangeDesc, llvm::EnumeratorDesc, llvm::VariableDesc, llvm::GlobalVariableDesc, llvm::SubprogramDesc, and llvm::BlockDesc.


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