LLVM 20.0.0git
|
Holds a DIExpression and keeps track of how many operands have been consumed so far. More...
#include "llvm/IR/DebugInfoMetadata.h"
Public Member Functions | |
DIExpressionCursor (const DIExpression *Expr) | |
DIExpressionCursor (ArrayRef< uint64_t > Expr) | |
DIExpressionCursor (const DIExpressionCursor &)=default | |
std::optional< DIExpression::ExprOperand > | take () |
Consume one operation. | |
void | consume (unsigned N) |
Consume N operations. | |
std::optional< DIExpression::ExprOperand > | peek () const |
Return the current operation. | |
std::optional< DIExpression::ExprOperand > | peekNext () const |
Return the next operation. | |
std::optional< DIExpression::ExprOperand > | peekNextN (unsigned N) const |
void | assignNewExpr (ArrayRef< uint64_t > Expr) |
operator bool () const | |
Determine whether there are any operations left in this expression. | |
DIExpression::expr_op_iterator | begin () const |
DIExpression::expr_op_iterator | end () const |
std::optional< DIExpression::FragmentInfo > | getFragmentInfo () const |
Retrieve the fragment information, if any. | |
Holds a DIExpression and keeps track of how many operands have been consumed so far.
Definition at line 3199 of file DebugInfoMetadata.h.
|
inline |
Definition at line 3203 of file DebugInfoMetadata.h.
References assert(), End, llvm::DIExpression::expr_op_begin(), and llvm::DIExpression::expr_op_end().
Definition at line 3212 of file DebugInfoMetadata.h.
References End.
|
default |
Definition at line 3258 of file DebugInfoMetadata.h.
References llvm::ArrayRef< T >::begin(), and llvm::ArrayRef< T >::end().
Referenced by startFromBeginning().
|
inline |
Definition at line 3266 of file DebugInfoMetadata.h.
|
inline |
Consume N operations.
Definition at line 3225 of file DebugInfoMetadata.h.
References N.
Referenced by llvm::DwarfExpression::addMachineRegExpression(), and consumeOneOperator().
|
inline |
Definition at line 3267 of file DebugInfoMetadata.h.
References End.
|
inline |
Retrieve the fragment information, if any.
Definition at line 3270 of file DebugInfoMetadata.h.
References End, and llvm::DIExpression::getFragmentInfo().
Referenced by llvm::DwarfExpression::addMachineRegExpression().
|
inline |
Determine whether there are any operations left in this expression.
Definition at line 3264 of file DebugInfoMetadata.h.
References End.
|
inline |
Return the current operation.
Definition at line 3228 of file DebugInfoMetadata.h.
References End.
Referenced by llvm::DwarfExpression::addMachineRegExpression(), canonicalizeDwarfOperations(), llvm::DIExpression::foldConstantMath(), and optimizeDwarfOperations().
|
inline |
Return the next operation.
Definition at line 3235 of file DebugInfoMetadata.h.
References End.
Referenced by llvm::DwarfExpression::addMachineRegExpression(), llvm::DIExpression::foldConstantMath(), and optimizeDwarfOperations().
|
inline |
Definition at line 3246 of file DebugInfoMetadata.h.
References End, llvm::DIExpression::expr_op_iterator::getNext(), I, and N.
Referenced by llvm::DIExpression::foldConstantMath().
|
inline |
Consume one operation.
Definition at line 3218 of file DebugInfoMetadata.h.
References End.
Referenced by llvm::DwarfExpression::addMachineRegExpression(), llvm::DwarfExpression::beginEntryValueExpression(), and isMemoryLocation().