CLRX
1
An unofficial OpenCL extensions designed for Radeon GPUs
|
GCN architectur dissassembler. More...
#include <Disassembler.h>
Public Member Functions | |
GCNDisassembler (Disassembler &disassembler) | |
constructor | |
~GCNDisassembler () | |
destructor | |
void | analyzeBeforeDisassemble () |
analyze code before disassemblying | |
void | disassemble () |
disassemble code | |
![]() | |
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 | setInput (size_t inputSize, const cxbyte *input, size_t startOffset=0, size_t labelStartOffset=0) |
set input code | |
void | setDontPrintLabels (bool after) |
void | clearNumberedLabels () |
first part before disassemble - clear numbered labels | |
void | prepareLabelsAndRelocations () |
last part before disassemble - prepare labels (sorting) | |
void | beforeDisassemble () |
makes some things before disassemblying | |
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 | |
const std::vector< size_t > & | getLabels () const |
get numbered labels | |
const std::vector< std::pair< size_t, CString > > & | getNamedLabels () const |
get named labels | |
void | flushOutput () |
flush output | |
![]() | |
NonCopyableAndNonMovable () | |
constructor | |
NonCopyableAndNonMovable (const NonCopyableAndNonMovable &)=delete | |
copy-constructor | |
NonCopyableAndNonMovable (NonCopyableAndNonMovable &&)=delete | |
move-constructor | |
NonCopyableAndNonMovable & | operator= (const NonCopyableAndNonMovable &)=delete |
copy-assignment | |
NonCopyableAndNonMovable & | operator= (NonCopyableAndNonMovable &&)=delete |
move-asignment | |
Friends | |
struct | GCNDisasmUtils |
Additional Inherited Members | |
![]() | |
typedef std::vector< size_t >::const_iterator | LabelIter |
label iterator | |
typedef std::vector< std::pair< size_t, CString > >::const_iterator | NamedLabelIter |
named label iterator | |
![]() | |
typedef std::vector< std::pair< size_t, Relocation > >::const_iterator | RelocIter |
relocation iterator | |
![]() | |
ISADisassembler (Disassembler &disassembler, cxuint outBufSize=600) | |
constructor | |
void | writeLocation (size_t pos) |
write location in the code | |
bool | writeRelocation (size_t pos, RelocIter &relocIter) |
write relocation to current place in instruction | |
![]() | |
Disassembler & | disassembler |
disassembler instance | |
size_t | startOffset |
start offset | |
size_t | labelStartOffset |
size_t | inputSize |
< start offset of labels More... | |
const cxbyte * | input |
input code | |
bool | dontPrintLabelsAfterCode |
std::vector< size_t > | labels |
list of local labels | |
std::vector< std::pair< size_t, CString > > | namedLabels |
named labels | |
std::vector< CString > | relSymbols |
symbols used by relocations | |
std::vector< std::pair< size_t, Relocation > > | relocations |
relocations | |
FastOutputBuffer | output |
output buffer | |
GCN architectur dissassembler.