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

ISA assembler class. More...

#include <Assembler.h>

Inheritance diagram for CLRX::ISAAssembler:
CLRX::NonCopyableAndNonMovable CLRX::GCNAssembler

Public Member Functions

virtual ~ISAAssembler ()
 destructor
 
virtual void assemble (const CString &mnemonic, const char *mnemPlace, const char *linePtr, const char *lineEnd, std::vector< cxbyte > &output)=0
 assemble single line
 
virtual bool resolveCode (const AsmSourcePos &sourcePos, cxuint targetSectionId, cxbyte *sectionData, size_t offset, AsmExprTargetType targetType, cxuint sectionId, uint64_t value)=0
 resolve code with location, target and value
 
virtual bool checkMnemonic (const CString &mnemonic) const =0
 check if name is mnemonic
 
virtual void setAllocatedRegisters (const cxuint *regs=nullptr, Flags regFlags=0)=0
 set allocated registers (if regs is null then reset them)
 
virtual const cxuint * getAllocatedRegisters (size_t &regTypesNum, Flags &regFlags) const =0
 get allocated register numbers after assemblying
 
virtual void fillAlignment (size_t size, cxbyte *output)=0
 fill alignment when value is not given
 
virtual bool parseRegisterRange (const char *&linePtr, cxuint &regStart, cxuint &regEnd)=0
 parse register range
 
virtual bool relocationIsFit (cxuint bits, AsmExprTargetType tgtType)=0
 return true if expresion of target fit to value with specified bits
 
- 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
 

Protected Member Functions

void printWarning (const char *linePtr, const char *message)
 print warning for position pointed by line pointer
 
void printError (const char *linePtr, const char *message)
 print error for position pointed by line pointer
 
void printWarning (const AsmSourcePos &sourcePos, const char *message)
 print warning for source position
 
void printError (const AsmSourcePos &sourcePos, const char *message)
 print error for source position
 
void printWarningForRange (cxuint bits, uint64_t value, const AsmSourcePos &pos, cxbyte signess=WS_BOTH)
 print warning about integer out of range
 
 ISAAssembler (Assembler &assembler)
 constructor
 

Protected Attributes

Assemblerassembler
 assembler
 

Detailed Description

ISA assembler class.


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