LLVM API Documentation
#include "SystemZ.h"#include "llvm/MC/MCDisassembler.h"#include "llvm/MC/MCFixedLenDisassembler.h"#include "llvm/MC/MCInst.h"#include "llvm/MC/MCSubtargetInfo.h"#include "llvm/Support/MemoryObject.h"#include "llvm/Support/TargetRegistry.h"#include "SystemZGenDisassemblerTables.inc"
Go to the source code of this file.
Defines | |
| #define | DEBUG_TYPE "systemz-disassembler" |
Typedefs | |
| typedef MCDisassembler::DecodeStatus | DecodeStatus |
Functions | |
| static MCDisassembler * | createSystemZDisassembler (const Target &T, const MCSubtargetInfo &STI, MCContext &Ctx) |
| void | LLVMInitializeSystemZDisassembler () |
| static DecodeStatus | decodeRegisterClass (MCInst &Inst, uint64_t RegNo, const unsigned *Regs) |
| static DecodeStatus | DecodeGR32BitRegisterClass (MCInst &Inst, uint64_t RegNo, uint64_t Address, const void *Decoder) |
| static DecodeStatus | DecodeGRH32BitRegisterClass (MCInst &Inst, uint64_t RegNo, uint64_t Address, const void *Decoder) |
| static DecodeStatus | DecodeGR64BitRegisterClass (MCInst &Inst, uint64_t RegNo, uint64_t Address, const void *Decoder) |
| static DecodeStatus | DecodeGR128BitRegisterClass (MCInst &Inst, uint64_t RegNo, uint64_t Address, const void *Decoder) |
| static DecodeStatus | DecodeADDR64BitRegisterClass (MCInst &Inst, uint64_t RegNo, uint64_t Address, const void *Decoder) |
| static DecodeStatus | DecodeFP32BitRegisterClass (MCInst &Inst, uint64_t RegNo, uint64_t Address, const void *Decoder) |
| static DecodeStatus | DecodeFP64BitRegisterClass (MCInst &Inst, uint64_t RegNo, uint64_t Address, const void *Decoder) |
| static DecodeStatus | DecodeFP128BitRegisterClass (MCInst &Inst, uint64_t RegNo, uint64_t Address, const void *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 | decodeAccessRegOperand (MCInst &Inst, uint64_t Imm, uint64_t Address, const void *Decoder) |
| static DecodeStatus | decodeU4ImmOperand (MCInst &Inst, uint64_t Imm, uint64_t Address, const void *Decoder) |
| static DecodeStatus | decodeU6ImmOperand (MCInst &Inst, uint64_t Imm, uint64_t Address, const void *Decoder) |
| static DecodeStatus | decodeU8ImmOperand (MCInst &Inst, uint64_t Imm, uint64_t Address, const void *Decoder) |
| static DecodeStatus | decodeU16ImmOperand (MCInst &Inst, uint64_t Imm, uint64_t Address, const void *Decoder) |
| static DecodeStatus | decodeU32ImmOperand (MCInst &Inst, uint64_t Imm, uint64_t Address, const void *Decoder) |
| static DecodeStatus | decodeS8ImmOperand (MCInst &Inst, uint64_t Imm, uint64_t Address, const void *Decoder) |
| static DecodeStatus | decodeS16ImmOperand (MCInst &Inst, uint64_t Imm, uint64_t Address, const void *Decoder) |
| static DecodeStatus | decodeS32ImmOperand (MCInst &Inst, uint64_t Imm, uint64_t Address, const void *Decoder) |
| template<unsigned N> | |
| static DecodeStatus | decodePCDBLOperand (MCInst &Inst, uint64_t Imm, uint64_t Address) |
| static DecodeStatus | decodePC16DBLOperand (MCInst &Inst, uint64_t Imm, uint64_t Address, const void *Decoder) |
| static DecodeStatus | decodePC32DBLOperand (MCInst &Inst, uint64_t Imm, uint64_t Address, const void *Decoder) |
| static DecodeStatus | decodeBDAddr12Operand (MCInst &Inst, uint64_t Field, const unsigned *Regs) |
| static DecodeStatus | decodeBDAddr20Operand (MCInst &Inst, uint64_t Field, const unsigned *Regs) |
| static DecodeStatus | decodeBDXAddr12Operand (MCInst &Inst, uint64_t Field, const unsigned *Regs) |
| static DecodeStatus | decodeBDXAddr20Operand (MCInst &Inst, uint64_t Field, const unsigned *Regs) |
| static DecodeStatus | decodeBDLAddr12Len8Operand (MCInst &Inst, uint64_t Field, const unsigned *Regs) |
| static DecodeStatus | decodeBDAddr32Disp12Operand (MCInst &Inst, uint64_t Field, uint64_t Address, const void *Decoder) |
| static DecodeStatus | decodeBDAddr32Disp20Operand (MCInst &Inst, uint64_t Field, uint64_t Address, const void *Decoder) |
| static DecodeStatus | decodeBDAddr64Disp12Operand (MCInst &Inst, uint64_t Field, uint64_t Address, const void *Decoder) |
| static DecodeStatus | decodeBDAddr64Disp20Operand (MCInst &Inst, uint64_t Field, uint64_t Address, const void *Decoder) |
| static DecodeStatus | decodeBDXAddr64Disp12Operand (MCInst &Inst, uint64_t Field, uint64_t Address, const void *Decoder) |
| static DecodeStatus | decodeBDXAddr64Disp20Operand (MCInst &Inst, uint64_t Field, uint64_t Address, const void *Decoder) |
| static DecodeStatus | decodeBDLAddr64Disp12Len8Operand (MCInst &Inst, uint64_t Field, uint64_t Address, const void *Decoder) |
| #define DEBUG_TYPE "systemz-disassembler" |
Definition at line 20 of file SystemZDisassembler.cpp.
Definition at line 22 of file SystemZDisassembler.cpp.
| static MCDisassembler* createSystemZDisassembler | ( | const Target & | T, |
| const MCSubtargetInfo & | STI, | ||
| MCContext & | Ctx | ||
| ) | [static] |
Definition at line 39 of file SystemZDisassembler.cpp.
Referenced by LLVMInitializeSystemZDisassembler().
| static DecodeStatus decodeAccessRegOperand | ( | MCInst & | Inst, |
| uint64_t | Imm, | ||
| uint64_t | Address, | ||
| const void * | Decoder | ||
| ) | [static] |
Definition at line 123 of file SystemZDisassembler.cpp.
| static DecodeStatus DecodeADDR64BitRegisterClass | ( | MCInst & | Inst, |
| uint64_t | RegNo, | ||
| uint64_t | Address, | ||
| const void * | Decoder | ||
| ) | [static] |
Definition at line 85 of file SystemZDisassembler.cpp.
References decodeRegisterClass(), and llvm::SystemZMC::GR64Regs.
| static DecodeStatus decodeBDAddr12Operand | ( | MCInst & | Inst, |
| uint64_t | Field, | ||
| const unsigned * | Regs | ||
| ) | [static] |
Definition at line 189 of file SystemZDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::CreateImm(), llvm::MCOperand::CreateReg(), and llvm::MCDisassembler::Success.
Referenced by decodeBDAddr32Disp12Operand(), and decodeBDAddr64Disp12Operand().
| static DecodeStatus decodeBDAddr20Operand | ( | MCInst & | Inst, |
| uint64_t | Field, | ||
| const unsigned * | Regs | ||
| ) | [static] |
Definition at line 199 of file SystemZDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::CreateImm(), llvm::MCOperand::CreateReg(), and llvm::MCDisassembler::Success.
Referenced by decodeBDAddr32Disp20Operand(), and decodeBDAddr64Disp20Operand().
| static DecodeStatus decodeBDAddr32Disp12Operand | ( | MCInst & | Inst, |
| uint64_t | Field, | ||
| uint64_t | Address, | ||
| const void * | Decoder | ||
| ) | [static] |
Definition at line 245 of file SystemZDisassembler.cpp.
References decodeBDAddr12Operand(), and llvm::SystemZMC::GR32Regs.
| static DecodeStatus decodeBDAddr32Disp20Operand | ( | MCInst & | Inst, |
| uint64_t | Field, | ||
| uint64_t | Address, | ||
| const void * | Decoder | ||
| ) | [static] |
Definition at line 251 of file SystemZDisassembler.cpp.
References decodeBDAddr20Operand(), and llvm::SystemZMC::GR32Regs.
| static DecodeStatus decodeBDAddr64Disp12Operand | ( | MCInst & | Inst, |
| uint64_t | Field, | ||
| uint64_t | Address, | ||
| const void * | Decoder | ||
| ) | [static] |
Definition at line 257 of file SystemZDisassembler.cpp.
References decodeBDAddr12Operand(), and llvm::SystemZMC::GR64Regs.
| static DecodeStatus decodeBDAddr64Disp20Operand | ( | MCInst & | Inst, |
| uint64_t | Field, | ||
| uint64_t | Address, | ||
| const void * | Decoder | ||
| ) | [static] |
Definition at line 263 of file SystemZDisassembler.cpp.
References decodeBDAddr20Operand(), and llvm::SystemZMC::GR64Regs.
| static DecodeStatus decodeBDLAddr12Len8Operand | ( | MCInst & | Inst, |
| uint64_t | Field, | ||
| const unsigned * | Regs | ||
| ) | [static] |
Definition at line 233 of file SystemZDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::CreateImm(), llvm::MCOperand::CreateReg(), and llvm::MCDisassembler::Success.
Referenced by decodeBDLAddr64Disp12Len8Operand().
| static DecodeStatus decodeBDLAddr64Disp12Len8Operand | ( | MCInst & | Inst, |
| uint64_t | Field, | ||
| uint64_t | Address, | ||
| const void * | Decoder | ||
| ) | [static] |
Definition at line 281 of file SystemZDisassembler.cpp.
References decodeBDLAddr12Len8Operand(), and llvm::SystemZMC::GR64Regs.
| static DecodeStatus decodeBDXAddr12Operand | ( | MCInst & | Inst, |
| uint64_t | Field, | ||
| const unsigned * | Regs | ||
| ) | [static] |
Definition at line 209 of file SystemZDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::CreateImm(), llvm::MCOperand::CreateReg(), and llvm::MCDisassembler::Success.
Referenced by decodeBDXAddr64Disp12Operand().
| static DecodeStatus decodeBDXAddr20Operand | ( | MCInst & | Inst, |
| uint64_t | Field, | ||
| const unsigned * | Regs | ||
| ) | [static] |
Definition at line 221 of file SystemZDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::CreateImm(), llvm::MCOperand::CreateReg(), and llvm::MCDisassembler::Success.
Referenced by decodeBDXAddr64Disp20Operand().
| static DecodeStatus decodeBDXAddr64Disp12Operand | ( | MCInst & | Inst, |
| uint64_t | Field, | ||
| uint64_t | Address, | ||
| const void * | Decoder | ||
| ) | [static] |
Definition at line 269 of file SystemZDisassembler.cpp.
References decodeBDXAddr12Operand(), and llvm::SystemZMC::GR64Regs.
| static DecodeStatus decodeBDXAddr64Disp20Operand | ( | MCInst & | Inst, |
| uint64_t | Field, | ||
| uint64_t | Address, | ||
| const void * | Decoder | ||
| ) | [static] |
Definition at line 275 of file SystemZDisassembler.cpp.
References decodeBDXAddr20Operand(), and llvm::SystemZMC::GR64Regs.
| static DecodeStatus DecodeFP128BitRegisterClass | ( | MCInst & | Inst, |
| uint64_t | RegNo, | ||
| uint64_t | Address, | ||
| const void * | Decoder | ||
| ) | [static] |
Definition at line 103 of file SystemZDisassembler.cpp.
References decodeRegisterClass(), and llvm::SystemZMC::FP128Regs.
| static DecodeStatus DecodeFP32BitRegisterClass | ( | MCInst & | Inst, |
| uint64_t | RegNo, | ||
| uint64_t | Address, | ||
| const void * | Decoder | ||
| ) | [static] |
Definition at line 91 of file SystemZDisassembler.cpp.
References decodeRegisterClass(), and llvm::SystemZMC::FP32Regs.
| static DecodeStatus DecodeFP64BitRegisterClass | ( | MCInst & | Inst, |
| uint64_t | RegNo, | ||
| uint64_t | Address, | ||
| const void * | Decoder | ||
| ) | [static] |
Definition at line 97 of file SystemZDisassembler.cpp.
References decodeRegisterClass(), and llvm::SystemZMC::FP64Regs.
| static DecodeStatus DecodeGR128BitRegisterClass | ( | MCInst & | Inst, |
| uint64_t | RegNo, | ||
| uint64_t | Address, | ||
| const void * | Decoder | ||
| ) | [static] |
Definition at line 79 of file SystemZDisassembler.cpp.
References decodeRegisterClass(), and llvm::SystemZMC::GR128Regs.
| static DecodeStatus DecodeGR32BitRegisterClass | ( | MCInst & | Inst, |
| uint64_t | RegNo, | ||
| uint64_t | Address, | ||
| const void * | Decoder | ||
| ) | [static] |
Definition at line 61 of file SystemZDisassembler.cpp.
References decodeRegisterClass(), and llvm::SystemZMC::GR32Regs.
| static DecodeStatus DecodeGR64BitRegisterClass | ( | MCInst & | Inst, |
| uint64_t | RegNo, | ||
| uint64_t | Address, | ||
| const void * | Decoder | ||
| ) | [static] |
Definition at line 73 of file SystemZDisassembler.cpp.
References decodeRegisterClass(), and llvm::SystemZMC::GR64Regs.
| static DecodeStatus DecodeGRH32BitRegisterClass | ( | MCInst & | Inst, |
| uint64_t | RegNo, | ||
| uint64_t | Address, | ||
| const void * | Decoder | ||
| ) | [static] |
Definition at line 67 of file SystemZDisassembler.cpp.
References decodeRegisterClass(), and llvm::SystemZMC::GRH32Regs.
| static DecodeStatus decodePC16DBLOperand | ( | MCInst & | Inst, |
| uint64_t | Imm, | ||
| uint64_t | Address, | ||
| const void * | Decoder | ||
| ) | [static] |
Definition at line 177 of file SystemZDisassembler.cpp.
| static DecodeStatus decodePC32DBLOperand | ( | MCInst & | Inst, |
| uint64_t | Imm, | ||
| uint64_t | Address, | ||
| const void * | Decoder | ||
| ) | [static] |
Definition at line 183 of file SystemZDisassembler.cpp.
| static DecodeStatus decodePCDBLOperand | ( | MCInst & | Inst, |
| uint64_t | Imm, | ||
| uint64_t | Address | ||
| ) | [static] |
Definition at line 170 of file SystemZDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::CreateImm(), and llvm::MCDisassembler::Success.
| static DecodeStatus decodeRegisterClass | ( | MCInst & | Inst, |
| uint64_t | RegNo, | ||
| const unsigned * | Regs | ||
| ) | [static] |
Definition at line 51 of file SystemZDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::CreateReg(), llvm::MCDisassembler::Fail, and llvm::MCDisassembler::Success.
Referenced by DecodeADDR64BitRegisterClass(), DecodeFP128BitRegisterClass(), DecodeFP32BitRegisterClass(), DecodeFP64BitRegisterClass(), DecodeGR128BitRegisterClass(), DecodeGR32BitRegisterClass(), DecodeGR64BitRegisterClass(), and DecodeGRH32BitRegisterClass().
| static DecodeStatus decodeS16ImmOperand | ( | MCInst & | Inst, |
| uint64_t | Imm, | ||
| uint64_t | Address, | ||
| const void * | Decoder | ||
| ) | [static] |
Definition at line 159 of file SystemZDisassembler.cpp.
| static DecodeStatus decodeS32ImmOperand | ( | MCInst & | Inst, |
| uint64_t | Imm, | ||
| uint64_t | Address, | ||
| const void * | Decoder | ||
| ) | [static] |
Definition at line 164 of file SystemZDisassembler.cpp.
| static DecodeStatus decodeS8ImmOperand | ( | MCInst & | Inst, |
| uint64_t | Imm, | ||
| uint64_t | Address, | ||
| const void * | Decoder | ||
| ) | [static] |
Definition at line 154 of file SystemZDisassembler.cpp.
| static DecodeStatus decodeSImmOperand | ( | MCInst & | Inst, |
| uint64_t | Imm | ||
| ) | [static] |
Definition at line 117 of file SystemZDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::CreateImm(), and llvm::MCDisassembler::Success.
| static DecodeStatus decodeU16ImmOperand | ( | MCInst & | Inst, |
| uint64_t | Imm, | ||
| uint64_t | Address, | ||
| const void * | Decoder | ||
| ) | [static] |
Definition at line 144 of file SystemZDisassembler.cpp.
| static DecodeStatus decodeU32ImmOperand | ( | MCInst & | Inst, |
| uint64_t | Imm, | ||
| uint64_t | Address, | ||
| const void * | Decoder | ||
| ) | [static] |
Definition at line 149 of file SystemZDisassembler.cpp.
| static DecodeStatus decodeU4ImmOperand | ( | MCInst & | Inst, |
| uint64_t | Imm, | ||
| uint64_t | Address, | ||
| const void * | Decoder | ||
| ) | [static] |
Definition at line 129 of file SystemZDisassembler.cpp.
| static DecodeStatus decodeU6ImmOperand | ( | MCInst & | Inst, |
| uint64_t | Imm, | ||
| uint64_t | Address, | ||
| const void * | Decoder | ||
| ) | [static] |
Definition at line 134 of file SystemZDisassembler.cpp.
| static DecodeStatus decodeU8ImmOperand | ( | MCInst & | Inst, |
| uint64_t | Imm, | ||
| uint64_t | Address, | ||
| const void * | Decoder | ||
| ) | [static] |
Definition at line 139 of file SystemZDisassembler.cpp.
| static DecodeStatus decodeUImmOperand | ( | MCInst & | Inst, |
| uint64_t | Imm | ||
| ) | [static] |
Definition at line 110 of file SystemZDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::CreateImm(), and llvm::MCDisassembler::Success.
| void LLVMInitializeSystemZDisassembler | ( | ) |
Definition at line 45 of file SystemZDisassembler.cpp.
References createSystemZDisassembler(), llvm::TargetRegistry::RegisterMCDisassembler(), and llvm::TheSystemZTarget.