|
LLVM
4.0.0
|
#include <AMDGPUDisassembler.h>
Public Member Functions | |
| AMDGPUSymbolizer (MCContext &Ctx, std::unique_ptr< MCRelocationInfo > &&RelInfo, void *disInfo) | |
| bool | tryAddingSymbolicOperand (MCInst &Inst, raw_ostream &cStream, int64_t Value, uint64_t Address, bool IsBranch, uint64_t Offset, uint64_t InstSize) override |
Try to add a symbolic operand instead of Value to the MCInst. More... | |
| void | tryAddingPcLoadReferenceComment (raw_ostream &cStream, int64_t Value, uint64_t Address) override |
| Try to add a comment on the PC-relative load. More... | |
Public Member Functions inherited from llvm::MCSymbolizer | |
| MCSymbolizer (MCContext &Ctx, std::unique_ptr< MCRelocationInfo > RelInfo) | |
Construct an MCSymbolizer, taking ownership of RelInfo. More... | |
| virtual | ~MCSymbolizer () |
Additional Inherited Members | |
Protected Attributes inherited from llvm::MCSymbolizer | |
| MCContext & | Ctx |
| std::unique_ptr< MCRelocationInfo > | RelInfo |
Definition at line 109 of file AMDGPUDisassembler.h.
|
inline |
Definition at line 114 of file AMDGPUDisassembler.h.
|
overridevirtual |
Try to add a comment on the PC-relative load.
For instance, in Mach-O, this is used to add annotations to instructions that use C string literals, as found in __cstring.
Implements llvm::MCSymbolizer.
Definition at line 579 of file AMDGPUDisassembler.cpp.
References llvm_unreachable.
|
overridevirtual |
Try to add a symbolic operand instead of Value to the MCInst.
Instead of having a difficult to read immediate, a symbolic operand would represent this immediate in a more understandable way, for instance as a symbol or an offset from a symbol. Relocations can also be used to enrich the symbolic expression.
| Inst | - The MCInst where to insert the symbolic operand. |
| cStream | - Stream to print comments and annotations on. |
| Value | - Operand value, pc-adjusted by the caller if necessary. |
| Address | - Load address of the instruction. |
| IsBranch | - Is the instruction a branch? |
| Offset | - Byte offset of the operand inside the inst. |
| InstSize | - Size of the instruction in bytes. |
Implements llvm::MCSymbolizer.
Definition at line 553 of file AMDGPUDisassembler.cpp.
References llvm::MCID::Add, llvm::MCInst::addOperand(), llvm::MCSymbolRefExpr::create(), llvm::MCOperand::createExpr(), llvm::find_if(), and llvm::ELF::STT_NOTYPE.
1.8.6