|
static MCDisassembler * | createSystemZDisassembler (const Target &T, const MCSubtargetInfo &STI, MCContext &Ctx) |
|
LLVM_EXTERNAL_VISIBILITY void | LLVMInitializeSystemZDisassembler () |
|
static bool | tryAddingSymbolicOperand (int64_t Value, bool IsBranch, uint64_t Address, uint64_t Offset, uint64_t Width, MCInst &MI, const MCDisassembler *Decoder) |
| tryAddingSymbolicOperand - trys to add a symbolic operand in place of the immediate Value in the MCInst.
|
|
static DecodeStatus | decodeRegisterClass (MCInst &Inst, uint64_t RegNo, const unsigned *Regs, unsigned Size, bool IsAddr=false) |
|
static DecodeStatus | DecodeGR32BitRegisterClass (MCInst &Inst, uint64_t RegNo, uint64_t Address, const MCDisassembler *Decoder) |
|
static DecodeStatus | DecodeGRH32BitRegisterClass (MCInst &Inst, uint64_t RegNo, uint64_t Address, const MCDisassembler *Decoder) |
|
static DecodeStatus | DecodeGR64BitRegisterClass (MCInst &Inst, uint64_t RegNo, uint64_t Address, const MCDisassembler *Decoder) |
|
static DecodeStatus | DecodeGR128BitRegisterClass (MCInst &Inst, uint64_t RegNo, uint64_t Address, const MCDisassembler *Decoder) |
|
static DecodeStatus | DecodeADDR32BitRegisterClass (MCInst &Inst, uint64_t RegNo, uint64_t Address, const MCDisassembler *Decoder) |
|
static DecodeStatus | DecodeADDR64BitRegisterClass (MCInst &Inst, uint64_t RegNo, uint64_t Address, const MCDisassembler *Decoder) |
|
static DecodeStatus | DecodeFP32BitRegisterClass (MCInst &Inst, uint64_t RegNo, uint64_t Address, const MCDisassembler *Decoder) |
|
static DecodeStatus | DecodeFP64BitRegisterClass (MCInst &Inst, uint64_t RegNo, uint64_t Address, const MCDisassembler *Decoder) |
|
static DecodeStatus | DecodeFP128BitRegisterClass (MCInst &Inst, uint64_t RegNo, uint64_t Address, const MCDisassembler *Decoder) |
|
static DecodeStatus | DecodeVR32BitRegisterClass (MCInst &Inst, uint64_t RegNo, uint64_t Address, const MCDisassembler *Decoder) |
|
static DecodeStatus | DecodeVR64BitRegisterClass (MCInst &Inst, uint64_t RegNo, uint64_t Address, const MCDisassembler *Decoder) |
|
static DecodeStatus | DecodeVR128BitRegisterClass (MCInst &Inst, uint64_t RegNo, uint64_t Address, const MCDisassembler *Decoder) |
|
static DecodeStatus | DecodeAR32BitRegisterClass (MCInst &Inst, uint64_t RegNo, uint64_t Address, const MCDisassembler *Decoder) |
|
static DecodeStatus | DecodeCR64BitRegisterClass (MCInst &Inst, uint64_t RegNo, uint64_t Address, const MCDisassembler *Decoder) |
|
template<unsigned N> |
static DecodeStatus | decodeUImmOperand (MCInst &Inst, uint64_t Imm) |
|
template<unsigned N> |
static DecodeStatus | decodeSImmOperand (MCInst &Inst, uint64_t Imm) |
|
static DecodeStatus | decodeU1ImmOperand (MCInst &Inst, uint64_t Imm, uint64_t Address, const MCDisassembler *Decoder) |
|
static DecodeStatus | decodeU2ImmOperand (MCInst &Inst, uint64_t Imm, uint64_t Address, const MCDisassembler *Decoder) |
|
static DecodeStatus | decodeU3ImmOperand (MCInst &Inst, uint64_t Imm, uint64_t Address, const MCDisassembler *Decoder) |
|
static DecodeStatus | decodeU4ImmOperand (MCInst &Inst, uint64_t Imm, uint64_t Address, const MCDisassembler *Decoder) |
|
static DecodeStatus | decodeU8ImmOperand (MCInst &Inst, uint64_t Imm, uint64_t Address, const MCDisassembler *Decoder) |
|
static DecodeStatus | decodeU12ImmOperand (MCInst &Inst, uint64_t Imm, uint64_t Address, const MCDisassembler *Decoder) |
|
static DecodeStatus | decodeU16ImmOperand (MCInst &Inst, uint64_t Imm, uint64_t Address, const MCDisassembler *Decoder) |
|
static DecodeStatus | decodeU32ImmOperand (MCInst &Inst, uint64_t Imm, uint64_t Address, const MCDisassembler *Decoder) |
|
static DecodeStatus | decodeS8ImmOperand (MCInst &Inst, uint64_t Imm, uint64_t Address, const MCDisassembler *Decoder) |
|
static DecodeStatus | decodeS16ImmOperand (MCInst &Inst, uint64_t Imm, uint64_t Address, const MCDisassembler *Decoder) |
|
static DecodeStatus | decodeS20ImmOperand (MCInst &Inst, uint64_t Imm, uint64_t Address, const MCDisassembler *Decoder) |
|
static DecodeStatus | decodeS32ImmOperand (MCInst &Inst, uint64_t Imm, uint64_t Address, const MCDisassembler *Decoder) |
|
template<unsigned N> |
static DecodeStatus | decodeLenOperand (MCInst &Inst, uint64_t Imm, uint64_t Address, const MCDisassembler *Decoder) |
|
template<unsigned N> |
static DecodeStatus | decodePCDBLOperand (MCInst &Inst, uint64_t Imm, uint64_t Address, bool isBranch, const MCDisassembler *Decoder) |
|
static DecodeStatus | decodePC12DBLBranchOperand (MCInst &Inst, uint64_t Imm, uint64_t Address, const MCDisassembler *Decoder) |
|
static DecodeStatus | decodePC16DBLBranchOperand (MCInst &Inst, uint64_t Imm, uint64_t Address, const MCDisassembler *Decoder) |
|
static DecodeStatus | decodePC24DBLBranchOperand (MCInst &Inst, uint64_t Imm, uint64_t Address, const MCDisassembler *Decoder) |
|
static DecodeStatus | decodePC32DBLBranchOperand (MCInst &Inst, uint64_t Imm, uint64_t Address, const MCDisassembler *Decoder) |
|
static DecodeStatus | decodePC32DBLOperand (MCInst &Inst, uint64_t Imm, uint64_t Address, const MCDisassembler *Decoder) |
|
tryAddingSymbolicOperand - trys to add a symbolic operand in place of the immediate Value in the MCInst.
- Parameters
-
Value | - The immediate Value, has had any PC adjustment made by the caller. |
isBranch | - If the instruction is a branch instruction |
Address | - The starting address of the instruction |
Offset | - The byte offset to this immediate in the instruction |
Width | - The byte width of this immediate in the instruction |
If the getOpInfo() function was set when setupForSymbolicDisassembly() was called then that function is called to get any symbolic information for the immediate in the instruction using the Address, Offset and Width. If that returns non-zero then the symbolic information it returns is used to create an MCExpr and that is added as an operand to the MCInst. If getOpInfo() returns zero and isBranch is true then a symbol look up for immediate Value is done and if a symbol is found an MCExpr is created with that, else an MCExpr with the immediate Value is created. This function returns true if it adds an operand to the MCInst and false otherwise.
Definition at line 73 of file SystemZDisassembler.cpp.
References Address, MI, llvm::Offset, and llvm::MCDisassembler::tryAddingSymbolicOperand().
Referenced by decodePCDBLOperand().