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

an assembler formats More...

#include <CLRX/Config.h>
#include <cstdint>
#include <string>
#include <vector>
#include <utility>
#include <unordered_set>
#include <unordered_map>
#include <CLRX/amdbin/AmdBinaries.h>
#include <CLRX/amdbin/GalliumBinaries.h>
#include <CLRX/amdbin/AmdBinGen.h>
#include <CLRX/amdbin/AmdCL2BinGen.h>
#include <CLRX/amdbin/ROCmBinaries.h>
#include <CLRX/utils/Utilities.h>
#include <CLRX/utils/GPUId.h>
#include <CLRX/amdasm/Commons.h>

Go to the source code of this file.

Classes

class  CLRX::AsmFormatException
 assembler format exception More...
 
class  CLRX::AsmFormatHandler
 assdembler format handler More...
 
struct  CLRX::AsmFormatHandler::SectionInfo
 section information More...
 
class  CLRX::AsmRawCodeHandler
 handles raw code format More...
 
class  CLRX::AsmAmdHandler
 handles AMD Catalyst format More...
 
class  CLRX::AsmAmdCL2Handler
 handles AMD OpenCL 2.0 binary format More...
 
class  CLRX::AsmGalliumHandler
 handles GalliumCompute format More...
 
struct  CLRX::AsmROCmKernelConfig
 ROCm kernel configuration. More...
 
class  CLRX::AsmROCmHandler
 handles ROCM binary format More...
 

Namespaces

 CLRX
 main namespace
 

Enumerations

enum  CLRX::AsmSectionType : cxbyte {
  CLRX::DATA = 0, CLRX::AsmSectionType::CODE, CLRX::AsmSectionType::CONFIG, CLRX::AsmSectionType::LAST_COMMON = CONFIG,
  CLRX::AsmSectionType::AMD_HEADER = LAST_COMMON+1, CLRX::AsmSectionType::AMD_METADATA, CLRX::AsmSectionType::AMD_CALNOTE, AMDCL2_RWDATA = LAST_COMMON+1,
  AMDCL2_BSS, AMDCL2_SAMPLERINIT, AMDCL2_SETUP, AMDCL2_STUB,
  AMDCL2_METADATA, AMDCL2_ISAMETADATA, CLRX::AsmSectionType::GALLIUM_COMMENT = LAST_COMMON+1, CLRX::AsmSectionType::ROCM_COMMENT = LAST_COMMON+1,
  ROCM_CONFIG_CTRL_DIRECTIVE, EXTRA_FIRST = 0xfc, EXTRA_PROGBITS = 0xfc, EXTRA_NOBITS = 0xfd,
  EXTRA_NOTE = 0xfe, EXTRA_SECTION = 0xff
}
 assembler section type More...
 
enum  : cxuint { CLRX::ASMSECT_ABS = UINT_MAX, CLRX::ASMSECT_NONE = UINT_MAX, CLRX::ASMKERN_GLOBAL = UINT_MAX, CLRX::ASMKERN_INNER = UINT_MAX-1 }
 
enum  : Flags {
  ASMSECT_WRITEABLE = 1, ASMSECT_ADDRESSABLE = 2, ASMSECT_ABS_ADDRESSABLE = 4, CLRX::ASMSECT_UNRESOLVABLE = 8,
  ASMELFSECT_ALLOCATABLE = 0x10, ASMELFSECT_WRITEABLE = 0x20, ASMELFSECT_EXECUTABLE = 0x40
}
 

Detailed Description

an assembler formats