LLVM 22.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 3781 of file DebugInfoMetadata.h.
|
inline |
Definition at line 3785 of file DebugInfoMetadata.h.
References assert(), End, llvm::DIExpression::expr_op_begin(), and llvm::DIExpression::expr_op_end().
Definition at line 3794 of file DebugInfoMetadata.h.
References End.
|
default |
Definition at line 3840 of file DebugInfoMetadata.h.
References llvm::ArrayRef< T >::begin(), and llvm::ArrayRef< T >::end().
Referenced by startFromBeginning().
|
inline |
Definition at line 3848 of file DebugInfoMetadata.h.
|
inline |
Consume N operations.
Definition at line 3807 of file DebugInfoMetadata.h.
References N.
Referenced by llvm::DwarfExpression::addMachineRegExpression(), and consumeOneOperator().
|
inline |
Definition at line 3849 of file DebugInfoMetadata.h.
References End.
|
inline |
Retrieve the fragment information, if any.
Definition at line 3852 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 3846 of file DebugInfoMetadata.h.
References End.
|
inline |
Return the current operation.
Definition at line 3810 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 3817 of file DebugInfoMetadata.h.
References End.
Referenced by llvm::DwarfExpression::addMachineRegExpression(), llvm::DIExpression::foldConstantMath(), and optimizeDwarfOperations().
|
inline |
Definition at line 3828 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 3800 of file DebugInfoMetadata.h.
References End.
Referenced by llvm::DwarfExpression::addMachineRegExpression(), llvm::DwarfExpression::beginEntryValueExpression(), and isMemoryLocation().