CLRX
1
An unofficial OpenCL extensions designed for Radeon GPUs
|
handles raw code format More...
#include <AsmFormats.h>
Public Member Functions | |
AsmRawCodeHandler (Assembler &assembler) | |
constructor | |
~AsmRawCodeHandler ()=default | |
destructor | |
AsmKernelId | addKernel (const char *kernelName) |
add/set kernel More... | |
AsmSectionId | addSection (const char *sectionName, AsmKernelId kernelId) |
add section More... | |
AsmSectionId | getSectionId (const char *sectionName) const |
get section id if exists in current context, otherwise returns ASMSECT_NONE | |
void | setCurrentKernel (AsmKernelId kernel) |
set current kernel | |
void | setCurrentSection (AsmSectionId sectionId) |
set current section, this method can change current kernel if that required | |
SectionInfo | getSectionInfo (AsmSectionId sectionId) const |
get current section flags and type | |
bool | parsePseudoOp (const CString &firstName, const char *stmtPlace, const char *linePtr) |
parse pseudo-op (return true if recognized pseudo-op) | |
bool | prepareBinary () |
prepare binary for use | |
void | writeBinary (std::ostream &os) const |
write binary to output stream | |
void | writeBinary (Array< cxbyte > &array) const |
write binary to array | |
![]() | |
bool | isSectionDiffsResolvable () const |
return true if format handler can resolve differences between sections | |
virtual void | handleLabel (const CString &label) |
handle labels | |
virtual bool | resolveSymbol (const AsmSymbol &symbol, uint64_t &value, AsmSectionId §ionId) |
resolve symbol if needed (for example that comes from unresolvable sections) | |
virtual bool | resolveRelocation (const AsmExpression *expr, uint64_t &value, AsmSectionId §ionId) |
resolve relocation for specified expression | |
virtual bool | prepareSectionDiffsResolving () |
prepare before section diference resolving | |
virtual void | setCodeFlags (Flags codeFlags) |
![]() | |
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 | |
Additional Inherited Members | |
![]() | |
AsmFormatHandler (Assembler &assembler) | |
constructor | |
bool | resolveLoHiRelocExpression (const AsmExpression *expr, RelocType &relType, AsmSectionId &relSectionId, uint64_t &relValue) |
![]() | |
Assembler & | assembler |
assembler reference | |
bool | sectionDiffsResolvable |
handles raw code format
|
virtual |
add/set kernel
adds new kernel. throw AsmFormatException when addition failed. Method should handles any constraint that doesn't allow to add kernel except duplicate of name.
kernelName | kernel name |
Implements CLRX::AsmFormatHandler.
|
virtual |
add section
adds new section . throw AsmFormatException when addition failed. Method should handles any constraint that doesn't allow to add section except duplicate of name.
sectionName | section name |
kernelId | kernel id (may ASMKERN_GLOBAL) |
Implements CLRX::AsmFormatHandler.