Go to the documentation of this file.
16 std::optional<MCDisassembler::DecodeStatus>
49 #define SMC_PCASE(A, P) \
50 case XCOFF::XMC_##A: \
92 SymInfo.StorageMappingClass.has_value())
93 return SymInfo.StorageMappingClass.has_value();
static uint8_t getSMCPriority(XCOFF::StorageMappingClass SMC)
This is an optimization pass for GlobalISel generic memory operations.
bool tryAddingSymbolicOperand(MCInst &Inst, int64_t Value, uint64_t Address, bool IsBranch, uint64_t Offset, uint64_t OpSize, uint64_t InstSize) const
Instances of this class represent a single low-level machine instruction.
raw_ostream * CommentStream
This class implements an extremely fast bulk output stream that can only output to a stream.
void setSymbolizer(std::unique_ptr< MCSymbolizer > Symzer)
Set Symzer as the current symbolizer.
StorageMappingClass
Storage Mapping Class definitions.
bool operator<(const XCOFFSymbolInfoTy &SymInfo) const
The function is for symbol sorting when symbols have the same address.
virtual ~MCDisassembler()
void tryAddingPcLoadReferenceComment(int64_t Value, uint64_t Address) const
compiles ldr LCPI1_0 ldr ldr mov lsr tst moveq r1 ldr LCPI1_1 and r0 bx lr It would be better to do something like to fold the shift into the conditional move
virtual std::optional< DecodeStatus > onSymbolStart(SymbolInfoTy &Symbol, uint64_t &Size, ArrayRef< uint8_t > Bytes, uint64_t Address, raw_ostream &CStream) const
Used to perform separate target specific disassembly for a particular symbol.
virtual uint64_t suggestBytesToSkip(ArrayRef< uint8_t > Bytes, uint64_t Address) const
Suggest a distance to skip in a buffer of data to find the next place to look for the start of an ins...
SymInfo contains information about symbol: it's address and section index which is -1LL for absolute ...
LLVM Value Representation.
std::unique_ptr< MCSymbolizer > Symbolizer