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

assembler symbol structure More...

#include <AsmDefs.h>

Public Member Functions

 AsmSymbol (bool _onceDefined=false)
 empty constructor
 
 AsmSymbol (AsmExpression *expr, bool _onceDefined=false, bool _base=false)
 constructor with expression
 
 AsmSymbol (AsmSectionId _sectionId, uint64_t _value, bool _onceDefined=false)
 constructor with value and section id
 
 ~AsmSymbol ()
 destructor
 
void addOccurrenceInExpr (AsmExpression *expr, size_t argIndex, size_t opIndex)
 adds occurrence in expression
 
void removeOccurrenceInExpr (AsmExpression *expr, size_t argIndex, size_t opIndex)
 remove occurrence in expression
 
void clearOccurrencesInExpr ()
 clear list of occurrences in expression
 
void undefine ()
 make symbol as undefined
 
bool isDefined () const
 return true if symbol defined (have value or expression)
 

Public Attributes

cxuint refCount
 reference counter (for internal use only)
 
AsmSectionId sectionId
 section id
 
cxbyte info
 ELF symbol info.
 
cxbyte other
 ELF symbol other.
 
cxuint hasValue:1
 symbol is defined
 
cxuint onceDefined:1
 symbol can be only once defined (likes labels)
 
cxuint resolving:1
 helper
 
cxuint base:1
 with base expression
 
cxuint snapshot:1
 if symbol is snapshot
 
cxuint regRange:1
 if symbol is register range
 
cxuint detached:1
 
cxuint withUnevalExpr:1
 
uint64_t value
 value of symbol
 
uint64_t size
 size of symbol
 
union {
   AsmExpression *   expression
 expression of symbol (if not resolved)
 
   const AsmRegVar *   regVar
 
}; 
 
std::vector< AsmExprSymbolOccurrenceoccurrencesInExprs
 

Detailed Description

assembler symbol structure

Member Data Documentation

std::vector<AsmExprSymbolOccurrence> CLRX::AsmSymbol::occurrencesInExprs

list of occurrences in expressions


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