|
LLVM
4.0.0
|
This file contains definition for AMDGPU ISA disassembler. More...
#include "AMDGPUDisassembler.h"#include "AMDGPU.h"#include "AMDGPURegisterInfo.h"#include "SIDefines.h"#include "Utils/AMDGPUBaseInfo.h"#include "llvm/MC/MCContext.h"#include "llvm/MC/MCFixedLenDisassembler.h"#include "llvm/MC/MCInst.h"#include "llvm/MC/MCInstrDesc.h"#include "llvm/MC/MCSubtargetInfo.h"#include "llvm/Support/ELF.h"#include "llvm/Support/Endian.h"#include "llvm/Support/Debug.h"#include "llvm/Support/TargetRegistry.h"#include "AMDGPUGenSubtargetInfo.inc"#include "AMDGPUGenDisassemblerTables.inc"Go to the source code of this file.
Macros | |
| #define | DEBUG_TYPE "amdgpu-disassembler" |
| #define | DECODE_OPERAND2(RegClass, DecName) |
| #define | DECODE_OPERAND(RegClass) DECODE_OPERAND2(RegClass, RegClass) |
| #define | GET_SUBTARGETINFO_ENUM |
Typedefs | |
| typedef llvm::MCDisassembler::DecodeStatus | DecodeStatus |
Functions | |
| static MCDisassembler::DecodeStatus | addOperand (MCInst &Inst, const MCOperand &Opnd) |
| static DecodeStatus | decodeSoppBrTarget (MCInst &Inst, unsigned Imm, uint64_t Addr, const void *Decoder) |
| static DecodeStatus | decodeOperand_VSrc16 (MCInst &Inst, unsigned Imm, uint64_t Addr, const void *Decoder) |
| template<typename T > | |
| static T | eatBytes (ArrayRef< uint8_t > &Bytes) |
| static int64_t | getInlineImmVal32 (unsigned Imm) |
| static int64_t | getInlineImmVal64 (unsigned Imm) |
| static int64_t | getInlineImmVal16 (unsigned Imm) |
| static MCSymbolizer * | createAMDGPUSymbolizer (const Triple &, LLVMOpInfoCallback, LLVMSymbolLookupCallback, void *DisInfo, MCContext *Ctx, std::unique_ptr< MCRelocationInfo > &&RelInfo) |
| static MCDisassembler * | createAMDGPUDisassembler (const Target &T, const MCSubtargetInfo &STI, MCContext &Ctx) |
| void | LLVMInitializeAMDGPUDisassembler () |
This file contains definition for AMDGPU ISA disassembler.
Definition in file AMDGPUDisassembler.cpp.
| #define DEBUG_TYPE "amdgpu-disassembler" |
Definition at line 39 of file AMDGPUDisassembler.cpp.
| #define DECODE_OPERAND | ( | RegClass | ) | DECODE_OPERAND2(RegClass, RegClass) |
Definition at line 73 of file AMDGPUDisassembler.cpp.
| #define DECODE_OPERAND2 | ( | RegClass, | |
| DecName | |||
| ) |
Definition at line 64 of file AMDGPUDisassembler.cpp.
| #define GET_SUBTARGETINFO_ENUM |
Definition at line 100 of file AMDGPUDisassembler.cpp.
Definition at line 41 of file AMDGPUDisassembler.cpp.
|
inlinestatic |
Definition at line 45 of file AMDGPUDisassembler.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::isValid(), llvm::MCDisassembler::SoftFail, and llvm::MCDisassembler::Success.
Referenced by llvm::MachineInstr::addOperand(), llvm::MachineInstr::addRegisterDead(), llvm::MachineInstr::addRegisterDefined(), llvm::MachineInstr::addRegisterKilled(), buildMUBUFOffsetLoadStore(), llvm::MachineInstr::copyImplicitOps(), decodeOperand_VSrc16(), decodeSoppBrTarget(), emitIndirectDst(), llvm::R600TargetLowering::EmitInstrWithCustomInserter(), llvm::SITargetLowering::EmitInstrWithCustomInserter(), llvm::ARMTargetLowering::EmitInstrWithCustomInserter(), llvm::SIInstrInfo::expandPostRAPseudo(), llvm::HexagonInstrInfo::expandPostRAPseudo(), foldVGPRCopyIntoRegSequence(), forceReg(), llvm::PPCInstrInfo::insertBranch(), llvm::FastISel::selectIntrinsicCall(), setM0ToIndexFromSGPR(), tryOrrMovk(), trySequenceOfOnes(), and tryToreplicateChunks().
|
static |
Definition at line 598 of file AMDGPUDisassembler.cpp.
References llvm::AMDGPUDisassembler::AMDGPUDisassembler().
Referenced by LLVMInitializeAMDGPUDisassembler().
|
static |
Definition at line 589 of file AMDGPUDisassembler.cpp.
Referenced by LLVMInitializeAMDGPUDisassembler().
|
static |
Definition at line 92 of file AMDGPUDisassembler.cpp.
References addOperand().
|
static |
Definition at line 52 of file AMDGPUDisassembler.cpp.
References addOperand(), llvm::MCOperand::createImm(), Offset, llvm::APInt::sext(), and llvm::MCDisassembler::Success.
Definition at line 110 of file AMDGPUDisassembler.cpp.
References assert(), llvm::ArrayRef< T >::data(), llvm::ArrayRef< T >::size(), llvm::ArrayRef< T >::slice(), and T.
|
static |
Definition at line 390 of file AMDGPUDisassembler.cpp.
References llvm_unreachable.
Referenced by llvm::AMDGPUDisassembler::decodeFPImmed().
|
static |
Definition at line 340 of file AMDGPUDisassembler.cpp.
References llvm::FloatToBits(), and llvm_unreachable.
Referenced by llvm::AMDGPUDisassembler::decodeFPImmed().
|
static |
Definition at line 365 of file AMDGPUDisassembler.cpp.
References llvm::DoubleToBits(), and llvm_unreachable.
Referenced by llvm::AMDGPUDisassembler::decodeFPImmed().
| void LLVMInitializeAMDGPUDisassembler | ( | ) |
Definition at line 604 of file AMDGPUDisassembler.cpp.
References createAMDGPUDisassembler(), createAMDGPUSymbolizer(), llvm::getTheGCNTarget(), llvm::TargetRegistry::RegisterMCDisassembler(), and llvm::TargetRegistry::RegisterMCSymbolizer().
1.8.6