LLVM API Documentation
#include "llvm/DebugInfo.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/SmallPtrSet.h"
#include "llvm/ADT/SmallString.h"
#include "llvm/Analysis/ValueTracking.h"
#include "llvm/IR/Constants.h"
#include "llvm/IR/DerivedTypes.h"
#include "llvm/IR/Instructions.h"
#include "llvm/IR/IntrinsicInst.h"
#include "llvm/IR/Intrinsics.h"
#include "llvm/IR/Module.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/Dwarf.h"
#include "llvm/Support/ValueHandle.h"
#include "llvm/Support/raw_ostream.h"
Go to the source code of this file.
Functions | |
static Value * | getField (const MDNode *DbgNode, unsigned Elt) |
static MDNode * | getNodeField (const MDNode *DbgNode, unsigned Elt) |
static StringRef | getStringField (const MDNode *DbgNode, unsigned Elt) |
static bool | fieldIsMDNode (const MDNode *DbgNode, unsigned Elt) |
static bool | fieldIsMDString (const MDNode *DbgNode, unsigned Elt) |
Check if a field at position Elt of a MDNode is a MDString. More... | |
static bool | isTypeRef (const Value *Val) |
Check if a value can be a reference to a type. More... | |
static bool | fieldIsTypeRef (const MDNode *DbgNode, unsigned Elt) |
Check if a field at position Elt of a MDNode can be a reference to a type. More... | |
static bool | isScopeRef (const Value *Val) |
Check if a value can be a ScopeRef. More... | |
static bool | fieldIsScopeRef (const MDNode *DbgNode, unsigned Elt) |
Check if a field at position Elt of a MDNode can be a ScopeRef. More... | |
static void | VerifySubsetOf (const MDNode *LHS, const MDNode *RHS) |
static void | fixupSubprogramName (DISubprogram Fn, SmallVectorImpl< char > &Out) |
static void | printDebugLoc (DebugLoc DL, raw_ostream &CommentOS, const LLVMContext &Ctx) |
Check if a field at position Elt of a MDNode is a MDNode. We currently allow an empty string and an integer. But we don't allow a non-empty string in a MDNode field.
Definition at line 399 of file DebugInfo.cpp.
References getField().
Referenced by llvm::DISubprogram::Verify(), llvm::DIGlobalVariable::Verify(), and llvm::DIVariable::Verify().
Check if a field at position Elt of a MDNode is a MDString.
Definition at line 409 of file DebugInfo.cpp.
References getField().
Referenced by llvm::DICompositeType::Verify().
Check if a field at position Elt of a MDNode can be a ScopeRef.
Definition at line 435 of file DebugInfo.cpp.
References getField(), and isScopeRef().
Referenced by llvm::DIType::Verify(), and llvm::DISubprogram::Verify().
Check if a field at position Elt of a MDNode can be a reference to a type.
Definition at line 422 of file DebugInfo.cpp.
References getField(), and isTypeRef().
Referenced by llvm::DIDerivedType::Verify(), llvm::DICompositeType::Verify(), and llvm::DISubprogram::Verify().
|
static |
fixupSubprogramName - Replace contains special characters used in a typical Objective-C names with '.' in a given string.
Definition at line 822 of file DebugInfo.cpp.
References llvm::SmallVectorImpl< T >::append(), llvm::StringRef::begin(), llvm::CallingConv::C, llvm::StringRef::end(), llvm::DISubprogram::getFunction(), llvm::Value::getName(), llvm::DISubprogram::getName(), llvm::GlobalValue::getRealLinkageName(), llvm::cl::Prefix, llvm::SmallVectorTemplateBase< T, isPodLike >::push_back(), llvm::SmallVectorImpl< T >::reserve(), and llvm::StringRef::size().
Referenced by llvm::getFnSpecificMDNode(), and llvm::getOrInsertFnSpecificMDNode().
Definition at line 53 of file DebugInfo.cpp.
References llvm::MDNode::getNumOperands(), and llvm::MDNode::getOperand().
Referenced by fieldIsMDNode(), fieldIsMDString(), fieldIsScopeRef(), fieldIsTypeRef(), llvm::DIDescriptor::getFieldAs(), llvm::DICompositeType::getIdentifier(), getNodeField(), getStringField(), and llvm::DITemplateValueParameter::getValue().
Definition at line 59 of file DebugInfo.cpp.
References getField().
Referenced by llvm::DIDescriptor::getDescriptorField(), llvm::DIScope::getDirectory(), llvm::DICompileUnit::getEnumTypes(), llvm::DIScope::getFilename(), llvm::DIFile::getFileNode(), llvm::DICompileUnit::getGlobalVariables(), llvm::DICompileUnit::getImportedEntities(), llvm::DIVariable::getInlinedAt(), llvm::DIDerivedType::getObjCProperty(), llvm::DICompileUnit::getRetainedTypes(), llvm::DICompileUnit::getSubprograms(), llvm::DISubprogram::getVariables(), and llvm::DISubprogram::getVariablesNodes().
Definition at line 63 of file DebugInfo.cpp.
References getField().
Referenced by llvm::DIScope::getDirectory(), llvm::DIScope::getFilename(), and llvm::DIDescriptor::getStringField().
Check if a value can be a ScopeRef.
Definition at line 428 of file DebugInfo.cpp.
References llvm::DIDescriptor::isScope().
Referenced by fieldIsScopeRef().
Check if a value can be a reference to a type.
Definition at line 415 of file DebugInfo.cpp.
References llvm::DIDescriptor::isType().
Referenced by fieldIsTypeRef().
|
static |
Definition at line 1378 of file DebugInfo.cpp.
References llvm::DebugLoc::getCol(), llvm::DIScope::getFilename(), llvm::DebugLoc::getFromDILocation(), llvm::DebugLoc::getInlinedAt(), llvm::DebugLoc::getLine(), llvm::DebugLoc::getScope(), llvm::DIDescriptor::isScope(), and llvm::DebugLoc::isUnknown().
Referenced by llvm::DIVariable::printExtendedName().
Definition at line 628 of file DebugInfo.cpp.
References llvm::MDNode::getNumOperands(), and llvm::MDNode::getOperand().
Referenced by llvm::DICompositeType::setTypeArray().