class DebugVariable

Declaration

class DebugVariable { /* full declaration omitted */ };

Description

Identifies a unique instance of a variable. Storage for identifying a potentially inlined instance of a variable, or a fragment thereof. This guarantees that exactly one variable instance may be identified by this class, even when that variable is a fragment of an aggregate variable and/or there is another inlined instance of the same source code variable nearby. This class does not necessarily uniquely identify that variable: it is possible that a DebugVariable with different parameters may point to the same variable instance, but not that one DebugVariable points to multiple variable instances.

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

Method Overview

  • public DebugVariable(const llvm::DILocalVariable * Var, Optional<llvm::DebugVariable::FragmentInfo> FragmentInfo, const llvm::DILocation * InlinedAt)
  • public DebugVariable(const llvm::DILocalVariable * Var, const llvm::DIExpression * DIExpr, const llvm::DILocation * InlinedAt)
  • public const Optional<llvm::DebugVariable::FragmentInfo> getFragment() const
  • public const llvm::DebugVariable::FragmentInfo getFragmentOrDefault() const
  • public const llvm::DILocation * getInlinedAt() const
  • public const llvm::DILocalVariable * getVariable() const
  • public static bool isDefaultFragment(const llvm::DebugVariable::FragmentInfo F)

Methods

DebugVariable(
    const llvm::DILocalVariable* Var,
    Optional<llvm::DebugVariable::FragmentInfo>
        FragmentInfo,
    const llvm::DILocation* InlinedAt)

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

Parameters

const llvm::DILocalVariable* Var
Optional<llvm::DebugVariable::FragmentInfo> FragmentInfo
const llvm::DILocation* InlinedAt

DebugVariable(const llvm::DILocalVariable* Var,
              const llvm::DIExpression* DIExpr,
              const llvm::DILocation* InlinedAt)

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

Parameters

const llvm::DILocalVariable* Var
const llvm::DIExpression* DIExpr
const llvm::DILocation* InlinedAt

const Optional<llvm::DebugVariable::FragmentInfo>
getFragment() const

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

const llvm::DebugVariable::FragmentInfo
getFragmentOrDefault() const

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

const llvm::DILocation* getInlinedAt() const

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

const llvm::DILocalVariable* getVariable() const

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

static bool isDefaultFragment(
    const llvm::DebugVariable::FragmentInfo F)

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

Parameters

const llvm::DebugVariable::FragmentInfo F