CLRX  1
An unofficial OpenCL extensions designed for Radeon GPUs
Public Member Functions | List of all members
CLRX::GCNUsageHandler Class Reference

GCN (register and regvar) Usage handler. More...

#include <Assembler.h>

Inheritance diagram for CLRX::GCNUsageHandler:
CLRX::ISAUsageHandler

Public Member Functions

 GCNUsageHandler (const std::vector< cxbyte > &content, uint16_t archMask)
 constructor
 
 ~GCNUsageHandler ()
 destructor
 
ISAUsageHandlercopy () const
 copy this usage handler
 
cxbyte getRwFlags (AsmRegField regFied, uint16_t rstart, uint16_t rend) const
 get RW flags (used by assembler)
 
std::pair< uint16_t, uint16_t > getRegPair (AsmRegField regField, cxbyte rwFlags) const
 get reg pair (used by assembler)
 
void getUsageDependencies (cxuint rvusNum, const AsmRegVarUsage *rvus, cxbyte *linearDeps, cxbyte *equalToDeps) const
 get usage dependencies around single instruction
 
- Public Member Functions inherited from CLRX::ISAUsageHandler
virtual ~ISAUsageHandler ()
 destructor
 
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
 

Additional Inherited Members

- Protected Member Functions inherited from CLRX::ISAUsageHandler
void skipBytesInInstrStruct ()
 
void putSpace (size_t offset)
 put space to offset
 
 ISAUsageHandler (const std::vector< cxbyte > &content)
 constructor
 
- Protected Attributes inherited from CLRX::ISAUsageHandler
std::vector< cxbyteinstrStruct
 structure of register usage
 
std::vector< AsmRegUsageIntregUsages
 register usage
 
std::vector< AsmRegUsage2IntregUsages2
 register usage (by .usereg)
 
std::vector< AsmRegVarUsageIntregVarUsages
 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
 

Detailed Description

GCN (register and regvar) Usage handler.


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