CLRX  1
An unofficial OpenCL extensions designed for Radeon GPUs
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 analyzeBeforeDisassemble ()
 analyze code before disassemblying
 
void disassemble ()
 disassemble code
 
- Public Member Functions inherited from CLRX::ISADisassembler
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
 
Flags getFlags () const
 get disassemblers flags
 
void setFlags (Flags flags)
 set disassemblers flags
 
- 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

- Public Types inherited from CLRX::ISADisassembler
typedef std::vector< size_t >::const_iterator LabelIter
 label iterator
 
typedef std::vector< std::pair< size_t, CString > >::const_iterator NamedLabelIter
 named label iterator
 
- Protected Types inherited from CLRX::ISADisassembler
typedef std::vector< std::pair< size_t, Relocation > >::const_iterator RelocIter
 relocation iterator
 
- Protected Member Functions inherited from CLRX::ISADisassembler
 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
 
- Protected Attributes inherited from CLRX::ISADisassembler
Disassemblerdisassembler
 disassembler instance
 
size_t startOffset
 start offset
 
size_t labelStartOffset
 
size_t inputSize
 < start offset of labels More...
 
const cxbyteinput
 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< 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: