Changeset 3908 in CLRX


Ignore:
Timestamp:
Mar 19, 2018, 2:11:35 PM (9 months ago)
Author:
matszpk
Message:

CLRadeonExtender: AsmRegAlloc?: Use loop ssaIds from routineData instead loopSSAIdMaps.

File:
1 edited

Legend:

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

    r3907 r3908  
    15271527                    {   // leave from loop point
    15281528                        std::cout << "   loopfound " << entry.blockIndex << std::endl;
    1529                         auto loopsit = loopSSAIdMap.find(entry.blockIndex);
    1530                         if (loopsit != loopSSAIdMap.end())
     1529                        auto loopsit2 = rdata.loopEnds.find(entry.blockIndex);
     1530                        if (loopsit2 != rdata.loopEnds.end())
    15311531                        {
    15321532                            std::cout << "   loopssaId2Map: " <<
    15331533                                    entry.blockIndex << std::endl;
    15341534                            joinLastSSAIdMap(subrData.lastSSAIdMap,
    1535                                     loopsit->second.ssaIdMap, subrData, true);
     1535                                    loopsit2->second, subrData, true);
    15361536                            std::cout << "   loopssaIdMap2End: " << std::endl;
    15371537                        }
     
    16841684           
    16851685            auto loopsit = loopSSAIdMap.find(entry.blockIndex);
     1686            auto loopsit2 = rdata.loopEnds.find(entry.blockIndex);
    16861687            if (flowStack.size() > 1 && subroutToCache.count(entry.blockIndex)!=0)
    16871688            { //put to cache
     
    16961697                {   // leave from loop point
    16971698                    std::cout << "   loopfound: " << entry.blockIndex << std::endl;
    1698                     if (loopsit != loopSSAIdMap.end())
     1699                    if (loopsit2 != rdata.loopEnds.end())
    16991700                    {
    17001701                        std::cout << "   loopssaIdMap: " << entry.blockIndex << std::endl;
    1701                         joinLastSSAIdMap(subrData.lastSSAIdMap, loopsit->second.ssaIdMap,
     1702                        joinLastSSAIdMap(subrData.lastSSAIdMap, loopsit2->second,
    17021703                                         subrData, true);
    17031704                        std::cout << "   loopssaIdMapEnd: " << std::endl;
    17041705                        // for main routine now
    1705                         joinLastSSAIdMap(rdata.lastSSAIdMap, loopsit->second.ssaIdMap,
     1706                        joinLastSSAIdMap(rdata.lastSSAIdMap, loopsit2->second,
    17061707                                        subrData, true);
    17071708                    }
Note: See TracChangeset for help on using the changeset viewer.