LLVM API Documentation

Public Member Functions
llvm::DILocation Class Reference

#include <DebugInfo.h>

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

List of all members.

Public Member Functions

 DILocation (const MDNode *N)
unsigned getLineNumber () const
unsigned getColumnNumber () const
DIScope getScope () const
DILocation getOrigLocation () const
StringRef getFilename () const
StringRef getDirectory () const
bool Verify () const
 Verify - Verify that a location descriptor is well formed.
bool atSameLineAs (const DILocation &Other) const
unsigned getDiscriminator () const
unsigned computeNewDiscriminator (LLVMContext &Ctx)
DILocation copyWithNewScope (LLVMContext &Ctx, DILexicalBlockFile NewScope)

Detailed Description

DILocation - This object holds location information. This object is not associated with any DWARF tag.

Definition at line 763 of file DebugInfo.h.


Constructor & Destructor Documentation

llvm::DILocation::DILocation ( const MDNode N) [inline, explicit]

Definition at line 765 of file DebugInfo.h.


Member Function Documentation

bool llvm::DILocation::atSameLineAs ( const DILocation Other) const [inline]

Definition at line 774 of file DebugInfo.h.

References getFilename(), and getLineNumber().

computeNewDiscriminator - Generate a new discriminator value for this file and line location.

Definition at line 870 of file DebugInfo.cpp.

References llvm::LLVMContextImpl::DiscriminatorTable, and llvm::LLVMContext::pImpl.

copyWithNewScope - Return a copy of this location, replacing the current scope with the given one.

Definition at line 854 of file DebugInfo.cpp.

References llvm::MDNode::get(), I, llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back(), and Verify.

Definition at line 772 of file DebugInfo.h.

References llvm::DIScope::getDirectory(), and getScope().

getDiscriminator - DWARF discriminators are used to distinguish identical file locations for instructions that are on different basic blocks. If two instructions are inside the same lexical block and are in different basic blocks, we create a new lexical block with identical location as the original but with a different discriminator value (lib/Transforms/Util/AddDiscriminators.cpp for details).

Definition at line 785 of file DebugInfo.h.

References getScope(), and llvm::DIDescriptor::isLexicalBlockFile().

DIScope llvm::DILocation::getScope ( ) const [inline]

Verify - Verify that a location descriptor is well formed.

Reimplemented from llvm::DIDescriptor.

Definition at line 608 of file DebugInfo.cpp.


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