Changeset 3984 in CLRX


Ignore:
Timestamp:
Apr 10, 2018, 5:55:37 PM (6 months ago)
Author:
matszpk
Message:

CLRadeonExtender: AsmRegAlloc?: Not fully working replacing chaged regVars between recursion calls.

File:
1 edited

Legend:

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

    r3983 r3984  
    27242724                }
    27252725               
    2726                 /*for (const AsmSingleVReg& chvreg: changedRegVars)
    2727                     curSSAIdMap[chvreg] += 1;*/
     2726                for (const AsmSingleVReg& chvreg: changedRegVars)
     2727                {
     2728                    curSSAIdMap[chvreg] += 1;
     2729                    totalSSACountMap[chvreg] += 1;
     2730                }
    27282731            }
    27292732           
     
    27412744        else // back
    27422745        {
     2746            if (!entry.recurChangedVarBlocks.empty())
     2747            {
     2748                // apply to all changed regvars in curSSAIdMap
     2749                std::cout << "revert recurChangedVarBlocks in " <<
     2750                            entry.blockIndex << std::endl;
     2751                std::unordered_set<AsmSingleVReg> changedRegVars;
     2752                for (size_t chrblk: entry.recurChangedVarBlocks)
     2753                {
     2754                    auto chrbit = recurChangedVarMap.find(chrblk);
     2755                    if (chrbit != recurChangedVarMap.end())
     2756                        changedRegVars.insert(chrbit->second.begin(),
     2757                                    chrbit->second.end());
     2758                }
     2759               
     2760                for (const AsmSingleVReg& chvreg: changedRegVars)
     2761                    curSSAIdMap[chvreg] -= 1;
     2762            }
     2763           
    27432764            // revert retSSAIdMap
    27442765            revertRetSSAIdMap(curSSAIdMap, retSSAIdMap, entry, nullptr);
     
    27712792                }
    27722793            }
     2794           
    27732795            flowStack.pop_back();
    27742796           
Note: See TracChangeset for help on using the changeset viewer.