Changeset 4170 in CLRX


Ignore:
Timestamp:
May 16, 2018, 8:28:57 AM (5 months ago)
Author:
matszpk
Message:

CLRadeonExtender: AsmRegAlloc?: Add the first stuff of the regvar linear deps.

Location:
CLRadeonExtender/trunk/CLRX/amdasm
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • CLRadeonExtender/trunk/CLRX/amdasm/AsmDefs.h

    r4102 r4170  
    640640};
    641641
     642/// internal structure for regvar linear dependencies
     643struct AsmRegVarLinearDep
     644{
     645    size_t offset;
     646    const AsmRegVar* regVar;    ///< regvar
     647    uint16_t rstart;    ///< register start
     648    uint16_t rend;      ///< register end
     649};
     650
    642651/// code flow type
    643652enum AsmCodeFlowType
  • CLRadeonExtender/trunk/CLRX/amdasm/Assembler.h

    r4167 r4170  
    162162    virtual void getUsageDependencies(cxuint rvusNum, const AsmRegVarUsage* rvus,
    163163                    cxbyte* linearDeps) const = 0;
     164};
     165
     166/// ISA (register and regvar) linear handler
     167class ISALinearDepHandler
     168{
     169private:
     170    std::vector<AsmRegVarLinearDep> regVarLinDeps;
     171    size_t regVarLinDepsPos;
     172public:
     173    ISALinearDepHandler();
     174   
     175    void pushLinearDep(const AsmRegVarLinearDep& linearDep);
     176   
     177    void rewind();
     178   
     179    AsmRegVarLinearDep nextLinearDep();
    164180};
    165181
Note: See TracChangeset for help on using the changeset viewer.