LLVM
8.0.1
|
Local variable. More...
#include "llvm/IR/DebugInfoMetadata.h"
Static Public Member Functions | |
static bool | classof (const Metadata *MD) |
![]() | |
static bool | classof (const Metadata *MD) |
![]() | |
static DIFlags | getFlag (StringRef Flag) |
static StringRef | getFlagString (DIFlags Flag) |
static DIFlags | splitFlags (DIFlags Flags, SmallVectorImpl< DIFlags > &SplitFlags) |
Split up a flags bitfield. More... | |
static bool | classof (const Metadata *MD) |
![]() | |
static MDTuple * | get (LLVMContext &Context, ArrayRef< Metadata *> MDs) |
static MDTuple * | getIfExists (LLVMContext &Context, ArrayRef< Metadata *> MDs) |
static MDTuple * | getDistinct (LLVMContext &Context, ArrayRef< Metadata *> MDs) |
static TempMDTuple | getTemporary (LLVMContext &Context, ArrayRef< Metadata *> MDs) |
static void | deleteTemporary (MDNode *N) |
Deallocate a node created by getTemporary. More... | |
template<class T > | |
static std::enable_if< std::is_base_of< MDNode, T >::value, T * >::type | replaceWithPermanent (std::unique_ptr< T, TempMDNodeDeleter > N) |
Replace a temporary node with a permanent one. More... | |
template<class T > | |
static std::enable_if< std::is_base_of< MDNode, T >::value, T * >::type | replaceWithUniqued (std::unique_ptr< T, TempMDNodeDeleter > N) |
Replace a temporary node with a uniqued one. More... | |
template<class T > | |
static std::enable_if< std::is_base_of< MDNode, T >::value, T * >::type | replaceWithDistinct (std::unique_ptr< T, TempMDNodeDeleter > N) |
Replace a temporary node with a distinct one. More... | |
static bool | classof (const Metadata *MD) |
Methods for support type inquiry through isa, cast, and dyn_cast: More... | |
static MDNode * | concatenate (MDNode *A, MDNode *B) |
Methods for metadata merging. More... | |
static MDNode * | intersect (MDNode *A, MDNode *B) |
static MDNode * | getMostGenericTBAA (MDNode *A, MDNode *B) |
static MDNode * | getMostGenericFPMath (MDNode *A, MDNode *B) |
static MDNode * | getMostGenericRange (MDNode *A, MDNode *B) |
static MDNode * | getMostGenericAliasScope (MDNode *A, MDNode *B) |
static MDNode * | getMostGenericAlignmentOrDereferenceable (MDNode *A, MDNode *B) |
Friends | |
class | LLVMContextImpl |
class | MDNode |
Additional Inherited Members | |
![]() | |
enum | DIFlags : uint32_t { FlagAccessibility = FlagPrivate | FlagProtected | FlagPublic, FlagPtrToMemberRep } |
Debug info flags. More... | |
![]() | |
using | op_iterator = const MDOperand * |
using | op_range = iterator_range< op_iterator > |
![]() | |
enum | MetadataKind |
![]() | |
using | mutable_op_range = iterator_range< MDOperand * > |
![]() | |
enum | StorageType { Uniqued, Distinct, Temporary } |
Active type of storage. More... | |
![]() | |
DIVariable (LLVMContext &C, unsigned ID, StorageType Storage, unsigned Line, ArrayRef< Metadata *> Ops, uint32_t AlignInBits=0) | |
~DIVariable ()=default | |
![]() | |
DINode (LLVMContext &C, unsigned ID, StorageType Storage, unsigned Tag, ArrayRef< Metadata *> Ops1, ArrayRef< Metadata *> Ops2=None) | |
~DINode ()=default | |
template<class Ty > | |
Ty * | getOperandAs (unsigned I) const |
StringRef | getStringOperand (unsigned I) const |
void | setTag (unsigned Tag) |
Allow subclasses to mutate the tag. More... | |
![]() | |
MDNode (LLVMContext &Context, unsigned ID, StorageType Storage, ArrayRef< Metadata *> Ops1, ArrayRef< Metadata *> Ops2=None) | |
~MDNode ()=default | |
void * | operator new (size_t Size, unsigned NumOps) |
void | operator delete (void *Mem) |
void | operator delete (void *, unsigned) |
Required by std, but never called. More... | |
void | operator delete (void *, unsigned, bool) |
Required by std, but never called. More... | |
void | dropAllReferences () |
MDOperand * | mutable_begin () |
MDOperand * | mutable_end () |
mutable_op_range | mutable_operands () |
void | setOperand (unsigned I, Metadata *New) |
Set an operand. More... | |
void | storeDistinctInContext () |
![]() | |
Metadata (unsigned ID, StorageType Storage) | |
~Metadata ()=default | |
void | handleChangedOperand (void *, Metadata *) |
Default handling of a changed operand, which asserts. More... | |
![]() | |
static MDString * | getCanonicalMDString (LLVMContext &Context, StringRef S) |
![]() | |
template<class T , class StoreT > | |
static T * | storeImpl (T *N, StorageType Storage, StoreT &Store) |
template<class T > | |
static T * | storeImpl (T *N, StorageType Storage) |
![]() | |
unsigned char | Storage: 7 |
Storage flag for non-uniqued, otherwise unowned, metadata. More... | |
unsigned char | ImplicitCode: 1 |
unsigned short | SubclassData16 = 0 |
unsigned | SubclassData32 = 0 |
Definition at line 2742 of file DebugInfoMetadata.h.
References llvm::Metadata::getMetadataID().
|
inline |
Definition at line 2717 of file DebugInfoMetadata.h.
llvm::DILocalVariable::DEFINE_MDNODE_GET | ( | DILocalVariable | , |
(DILocalScope *Scope, StringRef Name, DIFile *File, unsigned Line, DITypeRef Type, unsigned Arg, DIFlags Flags, uint32_t AlignInBits) | , | ||
(Scope, Name, File, Line, Type, Arg, Flags, AlignInBits) | |||
) |
|
inline |
Definition at line 2727 of file DebugInfoMetadata.h.
References Arg.
Referenced by llvm::DwarfFile::addScopeVariable(), getSubprogram(), llvm::MDNodeKeyImpl< DILocalVariable >::isKeyOf(), and rotateSign().
|
inline |
Definition at line 2728 of file DebugInfoMetadata.h.
Referenced by llvm::MDNodeKeyImpl< DILocalVariable >::isKeyOf(), and rotateSign().
|
inline |
Get the local scope for this variable.
Variables must be defined in a local scope.
Definition at line 2722 of file DebugInfoMetadata.h.
References llvm::DIVariable::getScope().
Referenced by llvm::DebugHandlerBase::beginFunction(), emitDebugValueComment(), getDeclareIntrin(), getSubprogram(), rotateSign(), and validThroughout().
|
inline |
Definition at line 2730 of file DebugInfoMetadata.h.
Referenced by getSubprogram().
|
inline |
Definition at line 2731 of file DebugInfoMetadata.h.
|
inline |
Definition at line 2726 of file DebugInfoMetadata.h.
References Arg.
Referenced by llvm::DebugHandlerBase::beginFunction(), and createCast().
|
inline |
Check that a location is valid for this variable.
Check that DL
exists, is in the same subprogram, and has the same inlined-at location as this
. (Otherwise, it's not a valid attachment to a DbgInfoIntrinsic.)
Definition at line 2738 of file DebugInfoMetadata.h.
Referenced by computeExprForSpill(), getOffsetFromIndices(), getUnderlyingArgReg(), INITIALIZE_PASS(), llvm::SelectionDAGBuilder::resolveDanglingDebugInfo(), llvm::FastISel::selectIntrinsicCall(), and X86ChooseCmpImmediateOpcode().
|
friend |
Definition at line 2670 of file DebugInfoMetadata.h.
|
friend |
Definition at line 2671 of file DebugInfoMetadata.h.
Metadata MDString Metadata unsigned Metadata unsigned DIFlags uint32_t llvm::DILocalVariable::AlignInBits |
Definition at line 2712 of file DebugInfoMetadata.h.
Definition at line 2712 of file DebugInfoMetadata.h.
Definition at line 2712 of file DebugInfoMetadata.h.
Definition at line 2712 of file DebugInfoMetadata.h.
Definition at line 2712 of file DebugInfoMetadata.h.
Definition at line 2712 of file DebugInfoMetadata.h.
Definition at line 2712 of file DebugInfoMetadata.h.
Definition at line 2712 of file DebugInfoMetadata.h.
Definition at line 2712 of file DebugInfoMetadata.h.
Definition at line 2712 of file DebugInfoMetadata.h.
Definition at line 2712 of file DebugInfoMetadata.h.
Metadata* llvm::DILocalVariable::Scope |
Definition at line 2712 of file DebugInfoMetadata.h.
Definition at line 2712 of file DebugInfoMetadata.h.
Definition at line 2712 of file DebugInfoMetadata.h.
Definition at line 2712 of file DebugInfoMetadata.h.