class DILocalVariable

Declaration

class DILocalVariable : public DIVariable { /* full declaration omitted */ };

Description

Local variable. TODO: Split up flags.

Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:3058

Inherits from: DIVariable

Member Variables

private unsigned int Arg
private llvm::DINode::DIFlags Flags

Inherited from Metadata:

protected Storage
protected SubclassData1
protected SubclassData16 = 0
protected SubclassData32 = 0

Method Overview

  • private DILocalVariable(llvm::LLVMContext & C, llvm::Metadata::StorageType Storage, unsigned int Line, unsigned int Arg, llvm::DINode::DIFlags Flags, uint32_t AlignInBits, ArrayRef<llvm::Metadata *> Ops)
  • public static bool classof(const llvm::Metadata * MD)
  • public llvm::TempDILocalVariable clone() const
  • private llvm::TempDILocalVariable cloneImpl() const
  • public llvm::DINodeArray getAnnotations() const
  • public unsigned int getArg() const
  • public llvm::DINode::DIFlags getFlags() const
  • private static llvm::DILocalVariable * getImpl(llvm::LLVMContext & Context, llvm::DIScope * Scope, llvm::StringRef Name, llvm::DIFile * File, unsigned int Line, llvm::DIType * Type, unsigned int Arg, llvm::DINode::DIFlags Flags, uint32_t AlignInBits, llvm::DINodeArray Annotations, llvm::Metadata::StorageType Storage, bool ShouldCreate = true)
  • private static llvm::DILocalVariable * getImpl(llvm::LLVMContext & Context, llvm::Metadata * Scope, llvm::MDString * Name, llvm::Metadata * File, unsigned int Line, llvm::Metadata * Type, unsigned int Arg, llvm::DINode::DIFlags Flags, uint32_t AlignInBits, llvm::Metadata * Annotations, llvm::Metadata::StorageType Storage, bool ShouldCreate = true)
  • public llvm::Metadata * getRawAnnotations() const
  • public llvm::DILocalScope * getScope() const
  • public bool isArtificial() const
  • public bool isObjectPointer() const
  • public bool isParameter() const
  • public bool isValidLocationForIntrinsic(const llvm::DILocation * DL) const
  • private ~DILocalVariable()

Inherited from DIVariable:

Inherited from DINode:

Inherited from MDNode:

Inherited from Metadata:

Methods

DILocalVariable(
    llvm::LLVMContext& C,
    llvm::Metadata::StorageType Storage,
    unsigned int Line,
    unsigned int Arg,
    llvm::DINode::DIFlags Flags,
    uint32_t AlignInBits,
    ArrayRef<llvm::Metadata*> Ops)

Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:3065

Parameters

llvm::LLVMContext& C
llvm::Metadata::StorageType Storage
unsigned int Line
unsigned int Arg
llvm::DINode::DIFlags Flags
uint32_t AlignInBits
ArrayRef<llvm::Metadata*> Ops

static bool classof(const llvm::Metadata* MD)

Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:3141

Parameters

const llvm::Metadata* MD

llvm::TempDILocalVariable clone() const

Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:3111

llvm::TempDILocalVariable cloneImpl() const

Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:3091

llvm::DINodeArray getAnnotations() const

Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:3124

unsigned int getArg() const

Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:3121

llvm::DINode::DIFlags getFlags() const

Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:3122

static llvm::DILocalVariable* getImpl(
    llvm::LLVMContext& Context,
    llvm::DIScope* Scope,
    llvm::StringRef Name,
    llvm::DIFile* File,
    unsigned int Line,
    llvm::DIType* Type,
    unsigned int Arg,
    llvm::DINode::DIFlags Flags,
    uint32_t AlignInBits,
    llvm::DINodeArray Annotations,
    llvm::Metadata::StorageType Storage,
    bool ShouldCreate = true)

Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:3074

Parameters

llvm::LLVMContext& Context
llvm::DIScope* Scope
llvm::StringRef Name
llvm::DIFile* File
unsigned int Line
llvm::DIType* Type
unsigned int Arg
llvm::DINode::DIFlags Flags
uint32_t AlignInBits
llvm::DINodeArray Annotations
llvm::Metadata::StorageType Storage
bool ShouldCreate = true

static llvm::DILocalVariable* getImpl(
    llvm::LLVMContext& Context,
    llvm::Metadata* Scope,
    llvm::MDString* Name,
    llvm::Metadata* File,
    unsigned int Line,
    llvm::Metadata* Type,
    unsigned int Arg,
    llvm::DINode::DIFlags Flags,
    uint32_t AlignInBits,
    llvm::Metadata* Annotations,
    llvm::Metadata::StorageType Storage,
    bool ShouldCreate = true)

Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:3084

Parameters

llvm::LLVMContext& Context
llvm::Metadata* Scope
llvm::MDString* Name
llvm::Metadata* File
unsigned int Line
llvm::Metadata* Type
unsigned int Arg
llvm::DINode::DIFlags Flags
uint32_t AlignInBits
llvm::Metadata* Annotations
llvm::Metadata::StorageType Storage
bool ShouldCreate = true

llvm::Metadata* getRawAnnotations() const

Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:3127

llvm::DILocalScope* getScope() const

Description

Get the local scope for this variable. Variables must be defined in a local scope.

Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:3116

bool isArtificial() const

Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:3129

bool isObjectPointer() const

Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:3130

bool isParameter() const

Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:3120

bool isValidLocationForIntrinsic(
    const llvm::DILocation* DL) const

Description

Check that a location is valid for this variable. Check that \c DL exists, is in the same subprogram, and has the same inlined-at location as \c this. (Otherwise, it's not a valid attachment to a \a DbgInfoIntrinsic.)

Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:3137

Parameters

const llvm::DILocation* DL

~DILocalVariable()

Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:3072