CLRX
1
An unofficial OpenCL extensions designed for Radeon GPUs
|
ISA (register and regvar) Usage handler. More...
#include <Assembler.h>
Classes | |
struct | ReadPos |
stgructure that hold read position to store later More... | |
Public Member Functions | |
virtual | ~ISAUsageHandler () |
destructor | |
virtual ISAUsageHandler * | copy () const =0 |
copy this usage handler | |
void | pushUsage (const AsmRegVarUsage &rvu) |
push regvar or register usage | |
void | rewind () |
rewind to start for reading | |
void | flush () |
flush last pending register usages | |
bool | hasNext () const |
has next regvar usage | |
AsmRegVarUsage | nextUsage () |
get next usage | |
ReadPos | getReadPos () const |
get reading position | |
void | setReadPos (const ReadPos rpos) |
set reading position | |
void | pushUseRegUsage (const AsmRegVarUsage &rvu) |
push regvar or register from usereg pseudo-op | |
virtual cxbyte | getRwFlags (AsmRegField regField, uint16_t rstart, uint16_t rend) const =0 |
get RW flags (used by assembler) | |
virtual std::pair< uint16_t, uint16_t > | getRegPair (AsmRegField regField, cxbyte rwFlags) const =0 |
get reg pair (used by assembler) | |
virtual void | getUsageDependencies (cxuint rvusNum, const AsmRegVarUsage *rvus, cxbyte *linearDeps, cxbyte *equalToDeps) const =0 |
get usage dependencies around single instruction | |
Protected Member Functions | |
void | skipBytesInInstrStruct () |
void | putSpace (size_t offset) |
put space to offset | |
ISAUsageHandler (const std::vector< cxbyte > &content) | |
constructor | |
Protected Attributes | |
std::vector< cxbyte > | instrStruct |
structure of register usage | |
std::vector< AsmRegUsageInt > | regUsages |
register usage | |
std::vector< AsmRegUsage2Int > | regUsages2 |
register usage (by .usereg) | |
std::vector< AsmRegVarUsageInt > | regVarUsages |
regvar usage | |
const std::vector< cxbyte > & | content |
code content | |
size_t | lastOffset |
last offset | |
size_t | readOffset |
read offset | |
size_t | instrStructPos |
position in instr struct | |
size_t | regUsagesPos |
position in reg usage | |
size_t | regUsages2Pos |
position in reg usage 2 | |
size_t | regVarUsagesPos |
position in regvar usage | |
uint16_t | pushedArgs |
pushed args | |
cxbyte | argPos |
argument position | |
cxbyte | argFlags |
??? | |
cxbyte | defaultInstrSize |
default instruction size | |
bool | isNext |
is next | |
bool | useRegMode |
true if in usereg mode | |
ISA (register and regvar) Usage handler.