|
LLVM 24.0.0git
|
A lightweight wrapper around an expression operand. More...
#include "llvm/IR/DebugInfoMetadata.h"
Public Member Functions | |
| ExprOperand ()=default | |
| ExprOperand (const uint64_t *Op) | |
| operator bool () const | |
| const uint64_t * | get () const |
| uint64_t | getOp () const |
| Get the operand code. | |
| bool | is (uint64_t Opcode) const |
Return true if this is Opcode. | |
| uint64_t | getArg (unsigned I) const |
| Get an argument to the operand. | |
| unsigned | getNumArgs () const |
| LLVM_ABI unsigned | getSize () const |
| Return the size of the operand. | |
| LLVM_ABI bool | isNonEmitting () const |
| Return true if CodeGen handles this operand without adding bytes to the DWARF expression. | |
| void | appendToVector (SmallVectorImpl< uint64_t > &V) const |
Append the elements of this operand to V. | |
A lightweight wrapper around an expression operand.
TODO: Store arguments directly and change DIExpression to store a range of these.
Definition at line 3531 of file DebugInfoMetadata.h.
|
default |
Referenced by llvm::DIExpression::ArgOp::classof(), llvm::DIExpression::ConstuOp::classof(), llvm::DIExpression::ConvertOp::classof(), llvm::DIExpression::EntryValueOp::classof(), llvm::DIExpression::ExtractBitsOp::classof(), llvm::DIExpression::FragmentOp::classof(), llvm::DIExpression::PlusUconstOp::classof(), llvm::DIExpression::TagOffsetOp::classof(), llvm::DIExpression::ArgOp::llvm::CastInfo, llvm::DIExpression::ConstuOp::llvm::CastInfo, llvm::DIExpression::ConvertOp::llvm::CastInfo, llvm::DIExpression::EntryValueOp::llvm::CastInfo, llvm::DIExpression::ExtractBitsOp::llvm::CastInfo, llvm::DIExpression::FragmentOp::llvm::CastInfo, llvm::DIExpression::PlusUconstOp::llvm::CastInfo, and llvm::DIExpression::TagOffsetOp::llvm::CastInfo.
Definition at line 3536 of file DebugInfoMetadata.h.
References uint64_t.
|
inline |
Append the elements of this operand to V.
Definition at line 3574 of file DebugInfoMetadata.h.
Definition at line 3540 of file DebugInfoMetadata.h.
References uint64_t.
Referenced by appendToVector().
Get an argument to the operand.
Never returns the operand itself. The operand has to be present and I has to be less than getNumArgs().
Definition at line 3557 of file DebugInfoMetadata.h.
References assert(), I, and uint64_t.
Referenced by llvm::DIExpression::ConvertOp::getBitSize(), llvm::DIExpression::ConvertOp::getEncoding(), llvm::DIExpression::ArgOp::getIndex(), llvm::DIExpression::EntryValueOp::getNumOperations(), llvm::DIExpression::PlusUconstOp::getOffset(), llvm::DIExpression::ExtractBitsOp::getOffsetInBits(), llvm::DIExpression::FragmentOp::getOffsetInBits(), llvm::DIExpression::ExtractBitsOp::getSizeInBits(), llvm::DIExpression::FragmentOp::getSizeInBits(), llvm::DIExpression::TagOffsetOp::getTagOffset(), and llvm::DIExpression::ConstuOp::getValue().
|
inline |
Definition at line 3562 of file DebugInfoMetadata.h.
References getSize().
|
inline |
Get the operand code.
The operand has to be present.
Definition at line 3545 of file DebugInfoMetadata.h.
References assert(), and uint64_t.
Referenced by getSize(), is(), and isNonEmitting().
| unsigned DIExpression::ExprOperand::getSize | ( | ) | const |
Return the size of the operand.
Return the number of elements in the operand (1 + args).
Definition at line 1733 of file DebugInfoMetadata.cpp.
References llvm::dwarf::DW_OP_LLVM_arg, llvm::dwarf::DW_OP_LLVM_convert, llvm::dwarf::DW_OP_LLVM_entry_value, llvm::dwarf::DW_OP_LLVM_extract_bits_sext, llvm::dwarf::DW_OP_LLVM_extract_bits_zext, llvm::dwarf::DW_OP_LLVM_fragment, llvm::dwarf::DW_OP_LLVM_tag_offset, and getOp().
Referenced by appendToVector(), and getNumArgs().
Return true if this is Opcode.
Definition at line 3551 of file DebugInfoMetadata.h.
References getOp(), and uint64_t.
Referenced by llvm::DIExpression::ExtractBitsOp::isSigned().
| bool DIExpression::ExprOperand::isNonEmitting | ( | ) | const |
Return true if CodeGen handles this operand without adding bytes to the DWARF expression.
Definition at line 1760 of file DebugInfoMetadata.cpp.
References llvm::dwarf::DW_OP_LLVM_tag_offset, and getOp().
|
inlineexplicit |
Definition at line 3538 of file DebugInfoMetadata.h.