CLRX  1
An unofficial OpenCL extensions designed for Radeon GPUs
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros
Public Member Functions | Friends | List of all members
CLRX::GCNDisassembler Class Reference

GCN architectur dissassembler. More...

#include <Disassembler.h>

Inheritance diagram for CLRX::GCNDisassembler:
CLRX::ISADisassembler CLRX::NonCopyableAndNonMovable

Public Member Functions

 GCNDisassembler (Disassembler &disassembler)
 constructor
 
 ~GCNDisassembler ()
 destructor
 
void beforeDisassemble ()
 routine called before main disassemblying
 
void disassemble ()
 disassemble code
 
- Public Member Functions inherited from CLRX::ISADisassembler
void setInput (size_t inputSize, const cxbyte *input)
 set input code
 
void addNamedLabel (size_t pos, const CString &name)
 add named label to list (must be called before disassembly)
 
void addNamedLabel (size_t pos, CString &&name)
 add named label to list (must be called before disassembly)
 
size_t addRelSymbol (const CString &symName)
 add symbol to relocations
 
void addRelocation (size_t offset, RelocType type, size_t symIndex, int64_t addend)
 add relocation
 
void clearRelocations ()
 clear all relocations
 
- Public Member Functions inherited from CLRX::NonCopyableAndNonMovable
 NonCopyableAndNonMovable ()
 constructor
 
 NonCopyableAndNonMovable (const NonCopyableAndNonMovable &)=delete
 copy-constructor
 
 NonCopyableAndNonMovable (NonCopyableAndNonMovable &&)=delete
 move-constructor
 
NonCopyableAndNonMovableoperator= (const NonCopyableAndNonMovable &)=delete
 copy-assignment
 
NonCopyableAndNonMovableoperator= (NonCopyableAndNonMovable &&)=delete
 move-asignment
 

Friends

struct GCNDisasmUtils
 

Additional Inherited Members

- Protected Types inherited from CLRX::ISADisassembler
typedef std::vector< size_t >
::const_iterator 
LabelIter
 label iterator
 
typedef std::vector< std::pair
< size_t, Relocation >
>::const_iterator 
RelocIter
 relocation iterator
 
typedef std::vector< std::pair
< size_t, CString >
>::const_iterator 
NamedLabelIter
 named label iterator
 
- Protected Member Functions inherited from CLRX::ISADisassembler
 ISADisassembler (Disassembler &disassembler, cxuint outBufSize=500)
 constructor
 
void writeLabelsToPosition (size_t pos, LabelIter &labelIter, NamedLabelIter &namedLabelIter)
 write all labels before specified position
 
void writeLabelsToEnd (size_t start, LabelIter labelIter, NamedLabelIter namedLabelIter)
 write all labels to end
 
void writeLocation (size_t pos)
 write location in the code
 
bool writeRelocation (size_t pos, RelocIter &relocIter)
 write relocation to current place in instruction
 
- Protected Attributes inherited from CLRX::ISADisassembler
Disassemblerdisassembler
 disassembler instance
 
size_t inputSize
 size of input
 
const cxbyte * input
 input code
 
std::vector< size_t > labels
 list of local labels
 
std::vector< std::pair< size_t,
CString > > 
namedLabels
 named labels
 
std::vector< CStringrelSymbols
 symbols used by relocations
 
std::vector< std::pair< size_t,
Relocation > > 
relocations
 relocations
 
FastOutputBuffer output
 output buffer
 

Detailed Description

GCN architectur dissassembler.


The documentation for this class was generated from the following file: