class DIEValue
Declaration
class DIEValue { /* full declaration omitted */ };
Declared at: llvm/include/llvm/CodeGen/DIE.h:369
Member Variables
- private llvm::DIEValue::Type Ty = isNone
- Type of data stored in the value.
- private dwarf::Attribute Attribute = (llvm::dwarf::Attribute)0
- private dwarf::Form Form = (llvm::dwarf::Form)0
- private llvm::DIEValue::ValTy Val
- Underlying stored value.
Method Overview
- public DIEValue()
- public DIEValue(const llvm::DIEValue & X)
- private template <class T>void construct(T V)
- private void copyVal(const llvm::DIEValue & X)
- private void destroyVal()
- private template <class T>void destruct()
- public void dump() const
- public void emitValue(const llvm::AsmPrinter * AP) const
- private template <class T>T * get()
- private template <class T>const T * get() const
- public dwarf::Attribute getAttribute() const
- public dwarf::Form getForm() const
- public llvm::DIEValue::Type getType() const
- public bool operator bool() const
- public void print(llvm::raw_ostream & O) const
- public unsigned int sizeOf(const dwarf::FormParams & FormParams) const
- public ~DIEValue()
Methods
¶DIEValue()
DIEValue()
Declared at: llvm/include/llvm/CodeGen/DIE.h:455
¶DIEValue(const llvm::DIEValue& X)
DIEValue(const llvm::DIEValue& X)
Declared at: llvm/include/llvm/CodeGen/DIE.h:457
Parameters
- const llvm::DIEValue& X
¶template <class T>
void construct(T V)
template <class T>
void construct(T V)
Declared at: llvm/include/llvm/CodeGen/DIE.h:399
Templates
- T
Parameters
- T V
¶void copyVal(const llvm::DIEValue& X)
void copyVal(const llvm::DIEValue& X)
Description
Copy the underlying value. This should get optimized down to a simple copy. We need to actually construct the value, rather than calling memcpy, to satisfy strict aliasing rules.
Declared at: llvm/include/llvm/CodeGen/DIE.h:438
Parameters
- const llvm::DIEValue& X
¶void destroyVal()
void destroyVal()
Description
Destroy the underlying value. This should get optimized down to a no-op. We could skip it if we could add a static assert on \a std::is_trivially_copyable(), but we currently support versions of GCC that don't understand that.
Declared at: llvm/include/llvm/CodeGen/DIE.h:417
¶template <class T>
void destruct()
template <class T>
void destruct()
Declared at: llvm/include/llvm/CodeGen/DIE.h:410
Templates
- T
¶void dump() const
void dump() const
Declared at: llvm/include/llvm/CodeGen/DIE.h:512
¶void emitValue(const llvm::AsmPrinter* AP) const
void emitValue(const llvm::AsmPrinter* AP) const
Description
Emit value via the Dwarf writer.
Declared at: llvm/include/llvm/CodeGen/DIE.h:506
Parameters
- const llvm::AsmPrinter* AP
¶template <class T>
T* get()
template <class T>
T* get()
Declared at: llvm/include/llvm/CodeGen/DIE.h:406
Templates
- T
¶template <class T>
const T* get() const
template <class T>
const T* get() const
Declared at: llvm/include/llvm/CodeGen/DIE.h:407
Templates
- T
¶dwarf::Attribute getAttribute() const
dwarf::Attribute getAttribute() const
Declared at: llvm/include/llvm/CodeGen/DIE.h:488
¶dwarf::Form getForm() const
dwarf::Form getForm() const
Declared at: llvm/include/llvm/CodeGen/DIE.h:489
¶llvm::DIEValue::Type getType() const
llvm::DIEValue::Type getType() const
Description
Accessors. @ {
Declared at: llvm/include/llvm/CodeGen/DIE.h:487
¶bool operator bool() const
bool operator bool() const
Declared at: llvm/include/llvm/CodeGen/DIE.h:490
¶void print(llvm::raw_ostream& O) const
void print(llvm::raw_ostream& O) const
Declared at: llvm/include/llvm/CodeGen/DIE.h:511
Parameters
¶unsigned int sizeOf(
const dwarf::FormParams& FormParams) const
unsigned int sizeOf(
const dwarf::FormParams& FormParams) const
Description
Return the size of a value in bytes.
Declared at: llvm/include/llvm/CodeGen/DIE.h:509
Parameters
- const dwarf::FormParams& FormParams
¶~DIEValue()
~DIEValue()
Declared at: llvm/include/llvm/CodeGen/DIE.h:470