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

Classes

struct  CodeBlock
 
struct  EqualToDep
 
struct  LinearDep
 
struct  NextBlock
 
struct  SSAInfo
 

Public Types

typedef std::pair< size_t, size_t > SSAReplace
 
typedef std::unordered_map< AsmSingleVReg, std::vector< SSAReplace > > SSAReplacesMap
 
typedef Array< std::unordered_set< size_t > > InterGraph
 
typedef std::unordered_map< AsmSingleVReg, std::vector< size_t > > VarIndexMap
 

Public Member Functions

 AsmRegAllocator (Assembler &assembler)
 
void createCodeStructure (const std::vector< AsmCodeFlowEntry > &codeFlow, size_t codeSize, const cxbyte *code)
 
void createSSAData (ISAUsageHandler &usageHandler)
 
void applySSAReplaces ()
 
void createInterferenceGraph (ISAUsageHandler &usageHandler)
 
void colorInterferenceGraph ()
 
void allocateRegisters (cxuint sectionId)
 
const std::vector< CodeBlock > & getCodeBlocks () const
 
const SSAReplacesMap & getSSAReplacesMap () const
 

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