Changeset 3948 in CLRX


Ignore:
Timestamp:
Mar 28, 2018, 6:09:45 PM (4 months ago)
Author:
matszpk
Message:

CLRadeonExtender: AsmRegAlloc?: Yet another update 4.

File:
1 edited

Legend:

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

    r3947 r3948  
    19721972            RetSSAIdMap& retSSAIdMap, SSAReplacesMap& ssaReplacesMap,
    19731973            RetRecurStateMapMap& retRecurStateMapMap,
    1974             size_t recurBlock)
     1974            size_t recurBlock, RoutineData& rdataSP)
    19751975{
    19761976    std::cout << "----- passSecondRecurPass: " << recurBlock << std::endl;
     
    21032103    std::cout << "----- passSecondRecurPass end: " << recurBlock << std::endl;
    21042104   
    2105     RoutineData& prevRdata = routineMapSP.find(recurBlock)->second;
     2105    rdataSP = routineMapSP.find(recurBlock)->second;
    21062106    createRoutineData(codeBlocks, curSSAIdMap, loopBlocks, recurseBlocks, cblocksToCache,
    21072107                subroutinesCache, routineMap, &routineMapSP,
    2108                 retRecurStateMapMap, prevRdata, recurBlock);
     2108                retRecurStateMapMap, rdataSP, recurBlock);
    21092109   
    21102110    // replace routineMap entries by routineMapSP entries
    21112111    for (const auto& entry: routineMapSP)
    2112         routineMap[entry.first] = entry.second;
     2112        if (entry.first != recurBlock)
     2113            routineMap[entry.first] = entry.second;
    21132114    std::cout << "----- passSecondRecurPass after: " << recurBlock << std::endl;
    21142115}
     
    23102311            {
    23112312                std::cout << "store recuState: " << routineBlock << std::endl;
    2312                 /*passSecondRecurPass(codeBlocks, curSSAIdMap, cblocksToCache,
    2313                             loopBlocks, recurseBlocks, routineMap, retSSAIdMap,
    2314                             ssaReplacesMap, routineBlock);*/
    23152313                recurStateMap.insert({ routineBlock, { curSSAIdMap, retSSAIdMap } });
    23162314            }
     
    23272325                {
    23282326                    // second pass through recursion
     2327                    RoutineData rdataSP;
    23292328                    passSecondRecurPass(codeBlocks, rsit->second.curSSAIdMap,
    23302329                            cblocksToCache, loopBlocks, recurseBlocks, routineMap,
    23312330                            rsit->second.retSSAIdMap, ssaReplacesMap,
    2332                             retRecurStateMapMap, routineBlock);
     2331                            retRecurStateMapMap, routineBlock, rdataSP);
    23332332                    recurseBlocks.erase(routineBlock);
    23342333                    // join retRecurStates
Note: See TracChangeset for help on using the changeset viewer.