Changeset 3938 in CLRX


Ignore:
Timestamp:
Mar 26, 2018, 7:35:00 AM (6 months ago)
Author:
matszpk
Message:

CLRadeonExtender: AsmRegAlloc?: Stop on recursion (passSecondRecurPass). Remove obsolete code and comments.

File:
1 edited

Legend:

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

    r3937 r3938  
    19291929            const ResSecondPointsToCache& cblocksToCache,
    19301930            const std::unordered_set<size_t>& loopBlocks,
     1931            const std::unordered_set<size_t>& recurseBlocks,
    19311932            const std::unordered_map<size_t, RoutineData>& routineMap,
    19321933            RetSSAIdMap& retSSAIdMap, SSAReplacesMap& ssaReplacesMap,
     
    19581959               
    19591960                for (const auto& ssaEntry: cblock.ssaInfoMap)
    1960                     if (ssaEntry.first.regVar != nullptr)
    1961                     {
    1962                         // put data to routine data
    1963                         //updateRoutineData(rdata, ssaEntry, curSSAIdMap[ssaEntry.first]-1);
    1964                        
    1965                         if (ssaEntry.second.ssaIdChange!=0)
    1966                             curSSAIdMap[ssaEntry.first] = ssaEntry.second.ssaIdLast+1;
    1967                     }
     1961                    if (ssaEntry.first.regVar != nullptr && ssaEntry.second.ssaIdChange!=0)
     1962                        curSSAIdMap[ssaEntry.first] = ssaEntry.second.ssaIdLast+1;
    19681963            }
    19691964            else
     
    20011996            {
    20021997                std::cout << " call: " << entry.blockIndex << std::endl;
    2003                 /*if (!callBlocks.insert(nextBlock).second)
     1998                if (recurseBlocks.find(nextBlock) == recurseBlocks.end())
    20041999                {
    2005                     // if already called (then it is recursion)
    2006                     recurseBlocks.insert(nextBlock);
     2000                    // no recursion - normal call
     2001                    callStack.push_back({ entry.blockIndex, entry.nextIndex, nextBlock });
     2002                    routineMapSP.insert({ nextBlock, { } });
     2003                }
     2004                else
    20072005                    std::cout << "   -- recursion: " << nextBlock << std::endl;
    2008                 }*/
    2009                
    2010                 callStack.push_back({ entry.blockIndex, entry.nextIndex, nextBlock });
    2011                 routineMapSP.insert({ nextBlock, { } });
    20122006                isCall = true;
    20132007            }
     
    20342028                    }
    20352029            }
    2036             /*flowStack.push_back({ entry.blockIndex+1, 0, false });
    2037             if (flowStackBlocks[entry.blockIndex+1])
    2038             {
    2039                 loopBlocks.insert(entry.blockIndex+1);
    2040                  // keep to inserted in popping
    2041                 flowStackBlocks[entry.blockIndex+1] = false;
    2042             }
    2043             else
    2044                 flowStackBlocks[entry.blockIndex+1] = true;*/
    20452030            entry.nextIndex++;
    20462031        }
     
    20722057            //flowStackBlocks[entry.blockIndex] = false;
    20732058            flowStack.pop_back();
    2074             /*if (!flowStack.empty() && lastCommonCacheWayPoint.first != SIZE_MAX &&
    2075                     lastCommonCacheWayPoint.second >= flowStack.size())
    2076             {
    2077                 lastCommonCacheWayPoint =
    2078                         { flowStack.back().blockIndex, flowStack.size()-1 };
    2079                 std::cout << "POPlastCcwP: " << lastCommonCacheWayPoint.first << std::endl;
    2080             }*/
    20812059        }
    20822060    }
Note: See TracChangeset for help on using the changeset viewer.