Changeset 4060 in CLRX


Ignore:
Timestamp:
May 2, 2018, 1:53:10 PM (4 months ago)
Author:
matszpk
Message:

CLRadeonExtender: AsmRegAlloc?: Do not duplicate entries in prevVidxes and nextVidxes in LinearDeps? (use VectorSet?).

Location:
CLRadeonExtender/trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • CLRadeonExtender/trunk/CLRX/amdasm/Assembler.h

    r4044 r4060  
    352352    {
    353353        cxbyte align;
    354         std::vector<size_t> prevVidxes;
    355         std::vector<size_t> nextVidxes;
     354        VectorSet<size_t> prevVidxes;
     355        VectorSet<size_t> nextVidxes;
    356356    };
    357357private:
  • CLRadeonExtender/trunk/amdasm/AsmRegAlloc.cpp

    r4057 r4060  
    963963        for (size_t k = 1; k < vidxes.size(); k++)
    964964        {
    965             ldepsOut[regType][vidxes[k-1]].nextVidxes.push_back(vidxes[k]);
    966             ldepsOut[regType][vidxes[k]].prevVidxes.push_back(vidxes[k-1]);
     965            ldepsOut[regType][vidxes[k-1]].nextVidxes.insertValue(vidxes[k]);
     966            ldepsOut[regType][vidxes[k]].prevVidxes.insertValue(vidxes[k-1]);
    967967        }
    968968    }
     
    991991            for (size_t j = 1; j < vidxes.size(); j++)
    992992            {
    993                 ldepsOut[regType][vidxes[j-1]].nextVidxes.push_back(vidxes[j]);
    994                 ldepsOut[regType][vidxes[j]].prevVidxes.push_back(vidxes[j-1]);
     993                ldepsOut[regType][vidxes[j-1]].nextVidxes.insertValue(vidxes[j]);
     994                ldepsOut[regType][vidxes[j]].prevVidxes.insertValue(vidxes[j-1]);
    995995            }
    996996        }
  • CLRadeonExtender/trunk/tests/amdasm/AsmRegAlloc3.cpp

    r4059 r4060  
    152152                { 3, { 0, { 2 }, { } } },  // sa[3]'0
    153153                { 4, { 2, { }, { 6 } } },  // sa[4]'0
    154                 { 5, { 2, { }, { 7, 7 } } },  // sa[4]'1
     154                { 5, { 2, { }, { 7 } } },  // sa[4]'1
    155155                { 6, { 0, { 4 }, { } } },  // sa[5]'0
    156                 { 7, { 0, { 5, 5 }, { } } },   // sa[5]'1
     156                { 7, { 0, { 5 }, { } } },   // sa[5]'1
    157157                { 9, { 4, { }, { 10 } } }, // sbuf[0]'0
    158158                { 10, { 0, { 9 }, { 11 } } }, // sbuf[1]'0
     
    704704        {   // linearDepMaps
    705705            { // for SGPRs
    706                 { 0, { 0, { }, { 1, 1, 1, 1 } } },
    707                 { 1, { 0, { 0, 0, 0, 0 }, { } } }
     706                { 0, { 0, { }, { 1 } } },
     707                { 1, { 0, { 0 }, { } } }
    708708            },
    709709            { },
Note: See TracChangeset for help on using the changeset viewer.