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:3620
Member Variables
- private const llvm::DILocalVariable* Variable
- private Optional<llvm::DebugVariable::FragmentInfo> Fragment
- private const llvm::DILocation* InlinedAt
- private static const llvm::DebugVariable::FragmentInfo DefaultFragment
- Fragment that will overlap all other fragments. Used as default when caller demands a fragment.
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 Optional<llvm::DebugVariable::FragmentInfo> getFragment() const
- public 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)
DebugVariable(
const llvm::DILocalVariable* Var,
Optional<llvm::DebugVariable::FragmentInfo>
FragmentInfo,
const llvm::DILocation* InlinedAt)
Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:3632
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)
DebugVariable(const llvm::DILocalVariable* Var,
const llvm::DIExpression* DIExpr,
const llvm::DILocation* InlinedAt)
Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:3636
Parameters
- const llvm::DILocalVariable* Var
- const llvm::DIExpression* DIExpr
- const llvm::DILocation* InlinedAt
¶Optional<llvm::DebugVariable::FragmentInfo>
getFragment() const
Optional<llvm::DebugVariable::FragmentInfo>
getFragment() const
Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:3643
¶llvm::DebugVariable::FragmentInfo
getFragmentOrDefault() const
llvm::DebugVariable::FragmentInfo
getFragmentOrDefault() const
Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:3646
¶const llvm::DILocation* getInlinedAt() const
const llvm::DILocation* getInlinedAt() const
Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:3644
¶const llvm::DILocalVariable* getVariable() const
const llvm::DILocalVariable* getVariable() const
Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:3642
¶static bool isDefaultFragment(
const llvm::DebugVariable::FragmentInfo F)
static bool isDefaultFragment(
const llvm::DebugVariable::FragmentInfo F)
Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:3650