Changeset 3925 in CLRX


Ignore:
Timestamp:
Mar 22, 2018, 8:21:05 PM (5 weeks ago)
Author:
matszpk
Message:

CLRadeonExtender: AsmRegAlloc?: Use 0 if no curSSAIdMap entry. Get from global curSSAIdMap curSSAIds
if curSSAIds present in cachedRData but not in current rdata.

File:
1 edited

Legend:

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

    r3924 r3925  
    14991499            {
    15001500                auto cit = curSSAIdMap.find(v.first);
    1501                 ssaIds.push_back((cit!=curSSAIdMap.end() ? cit->second : 0)-1);
     1501                ssaIds.push_back((cit!=curSSAIdMap.end() ? cit->second : 1)-1);
    15021502            }
    15031503           
     
    16971697                std::cout << "procret2: " << entry.blockIndex << std::endl;
    16981698                joinLastSSAIdMap(rdata.lastSSAIdMap, rdata.curSSAIdMap, *cachedRdata);
    1699                 // join to curSSAIdMap to rdata curSSAIdMap
    1700                 rdata.curSSAIdMap.insert(cachedRdata->curSSAIdMap.begin(),
    1701                             cachedRdata->curSSAIdMap.end());
     1699                // get not given rdata curSSAIdMap ssaIds but present in cachedRdata
     1700                // curSSAIdMap
     1701                for (const auto& entry: cachedRdata->curSSAIdMap)
     1702                    if (rdata.curSSAIdMap.find(entry.first) == rdata.curSSAIdMap.end())
     1703                    {
     1704                        auto cit = curSSAIdMap.find(entry.first);
     1705                        rdata.curSSAIdMap.insert({ entry.first,
     1706                            { (cit!=curSSAIdMap.end() ? cit->second : 1)-1 } });
     1707                    }
    17021708               
    17031709                // join loopEnds
Note: See TracChangeset for help on using the changeset viewer.