CLRX  1
An unofficial OpenCL extensions designed for Radeon GPUs
Classes | Namespaces | Enumerations | Functions
Disassembler.h File Reference

an disassembler for Radeon GPU's More...

#include <CLRX/Config.h>
#include <string>
#include <istream>
#include <ostream>
#include <vector>
#include <utility>
#include <memory>
#include <CLRX/amdbin/AmdBinaries.h>
#include <CLRX/amdbin/AmdCL2Binaries.h>
#include <CLRX/amdbin/ROCmBinaries.h>
#include <CLRX/amdbin/GalliumBinaries.h>
#include <CLRX/amdbin/AmdBinGen.h>
#include <CLRX/amdasm/Commons.h>
#include <CLRX/utils/Utilities.h>
#include <CLRX/utils/InputOutput.h>

Go to the source code of this file.

Classes

class  CLRX::DisasmException
 Disassembler exception class. More...
 
class  CLRX::ISADisassembler
 main class for More...
 
struct  CLRX::ISADisassembler::Relocation
 internal relocation structure More...
 
class  CLRX::GCNDisassembler
 GCN architectur dissassembler. More...
 
struct  CLRX::AmdDisasmKernelInput
 single kernel input for disassembler More...
 
struct  CLRX::AmdDisasmInput
 whole disassembler input (for AMD Catalyst driver GPU binaries) More...
 
struct  CLRX::AmdCL2RelaEntry
 relocation with addend More...
 
struct  CLRX::AmdCL2DisasmKernelInput
 single kernel input for disassembler More...
 
struct  CLRX::AmdCL2DisasmInput
 whole disassembler input (for AMD Catalyst driver GPU binaries) More...
 
struct  CLRX::ROCmDisasmRegionInput
 disasm ROCm region More...
 
struct  CLRX::ROCmDisasmKernelDescInfo
 
struct  CLRX::ROCmDisasmInput
 disasm ROCm input More...
 
struct  CLRX::GalliumDisasmKernelInput
 disasm kernel info structure (Gallium binaries) More...
 
struct  CLRX::GalliumDisasmInput
 whole disassembler input (for Gallium driver GPU binaries) More...
 
struct  CLRX::RawCodeInput
 disassembler input for raw code More...
 
class  CLRX::Disassembler
 disassembler class More...
 

Namespaces

 CLRX
 main namespace
 

Enumerations

enum  : Flags {
  CLRX::DISASM_DUMPCODE = 1, CLRX::DISASM_METADATA = 2, CLRX::DISASM_DUMPDATA = 4, CLRX::DISASM_CALNOTES = 8,
  CLRX::DISASM_FLOATLITS = 16, CLRX::DISASM_HEXCODE = 32, DISASM_SETUP = 64, CLRX::DISASM_CONFIG = 128,
  DISASM_BUGGYFPLIT = 0x100, CLRX::DISASM_CODEPOS = 0x200, CLRX::DISASM_HSACONFIG = 0x400, CLRX::DISASM_HSALAYOUT = 0x800,
  CLRX::DISASM_WAVE32 = 0x1000, DISASM_ALL
}
 

Functions

AmdDisasmInput * CLRX::getAmdDisasmInputFromBinary32 (const AmdMainGPUBinary32 &binary, Flags flags)
 prepare AMD OpenCL input from AMD 32-bit binary
 
AmdDisasmInput * CLRX::getAmdDisasmInputFromBinary64 (const AmdMainGPUBinary64 &binary, Flags flags)
 prepare AMD OpenCL input from AMD 64-bit binary
 
AmdCL2DisasmInput * CLRX::getAmdCL2DisasmInputFromBinary32 (const AmdCL2MainGPUBinary32 &binary, cxuint driverVersion, bool hsaLayout=false)
 prepare AMD OpenCL 2.0 input from AMD 32-bit binary
 
AmdCL2DisasmInput * CLRX::getAmdCL2DisasmInputFromBinary64 (const AmdCL2MainGPUBinary64 &binary, cxuint driverVersion, bool hsaLayout=false)
 prepare AMD OpenCL 2.0 input from AMD 64-bit binary
 
ROCmDisasmInput * CLRX::getROCmDisasmInputFromBinary (const ROCmBinary &binary)
 prepare ROCM input from ROCM binary
 
GalliumDisasmInput * CLRX::getGalliumDisasmInputFromBinary (GPUDeviceType deviceType, const GalliumBinary &binary, cxuint llvmVersion)
 prepare Gallium input from Gallium binary
 

Detailed Description

an disassembler for Radeon GPU's