Changeset 4113 in CLRX


Ignore:
Timestamp:
May 8, 2018, 12:32:53 PM (2 weeks ago)
Author:
matszpk
Message:

CLRadeonExtender: AsmRegAlloc?: Fixed segfault when lineardeps present with normal registers (just skip them).

File:
1 edited

Legend:

Unmodified
Added
Removed
  • CLRadeonExtender/trunk/amdasm/AsmRegAlloc.cpp

    r4112 r4113  
    13461346            rvuAdded |= 1U<<ldeps[pos];
    13471347            const AsmRegVarUsage& rvu = rvus[ldeps[pos++]];
     1348            if (rvu.regVar == nullptr)
     1349                continue;
    13481350            for (uint16_t k = rvu.rstart; k < rvu.rend; k++)
    13491351            {
     
    13711373        {
    13721374            const AsmRegVarUsage& rvu = rvus[i];
     1375            if (rvu.regVar == nullptr)
     1376                continue;
    13731377            std::vector<size_t> vidxes;
    13741378            cxuint regType = UINT_MAX;
     
    17401744                        {
    17411745                            size_t& ssaIdIdx = ssaIdIdxMap[svreg];
    1742                             ssaIdIdx++;
     1746                            if (svreg.regVar != nullptr)
     1747                                ssaIdIdx++;
    17431748                            SSAInfo& sinfo = cblock.ssaInfoMap.find(svreg)->second;
    17441749                            Liveness& lv = getLiveness(svreg, ssaIdIdx, sinfo,
Note: See TracChangeset for help on using the changeset viewer.