Changeset 3587 in CLRX


Ignore:
Timestamp:
Jan 7, 2018, 2:14:22 PM (11 months ago)
Author:
matszpk
Message:

CLRadeonExtender: AsmRegAlloc?: fixed settings SSAInfo for registers (not regvars) (again).

Location:
CLRadeonExtender/trunk
Files:
2 edited

Legend:

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

    r3586 r3587  
    765765                        }
    766766                        else // ssaIdBefore is zero (first ssaId), ssaIdFirst is NONE
    767                             ssaEntry.second.ssaIdBefore = 0;
     767                            ssaEntry.second.ssaIdLast = ssaEntry.second.ssaIdBefore = 0;
    768768                    }
    769769                    else if (ssaEntry.first.regVar==nullptr)
    770770                        // if write, then ssaIdFirst is zero, ssaIdBefore is NONE
    771                         ssaEntry.second.ssaIdFirst = 0;
     771                        ssaEntry.second.ssaIdLast = ssaEntry.second.ssaIdFirst = 0;
    772772                       
    773773                    if (ssaId != totalSSACount) // save old ssaId
     
    779779                            totalSSACount : SIZE_MAX;
    780780                        ssaEntry.second.ssaIdBefore = ssaId-1;
     781                   
     782                        totalSSACount += ssaEntry.second.ssaIdChange;
     783                        ssaEntry.second.ssaIdLast = ssaEntry.second.ssaIdChange!=0 ?
     784                                totalSSACount-1 : SIZE_MAX;
    781785                    }
    782                    
    783                     totalSSACount += ssaEntry.second.ssaIdChange;
    784                     ssaEntry.second.ssaIdLast = ssaEntry.second.ssaIdChange!=0 ?
    785                             totalSSACount-1 : SIZE_MAX;
    786786                    //totalSSACount = std::max(totalSSACount, ssaId);
    787787                    ssaId = totalSSACount;
  • CLRadeonExtender/trunk/tests/amdasm/AsmRegAlloc.cpp

    r3586 r3587  
    688688            { 0, 56, { },
    689689                {
    690                     { { "", 3 }, SSAInfo(0, SIZE_MAX, 0, SIZE_MAX, 0, true) },
    691                     { { "", 256 }, SSAInfo(0, SIZE_MAX, 0, SIZE_MAX, 0, true) },
    692                     { { "", 266 }, SSAInfo(SIZE_MAX, 0, 0, SIZE_MAX, 0, false) },
     690                    { { "", 3 }, SSAInfo(0, SIZE_MAX, 0, 0, 0, true) },
     691                    { { "", 256 }, SSAInfo(0, SIZE_MAX, 0, 0, 0, true) },
     692                    { { "", 266 }, SSAInfo(SIZE_MAX, 0, 0, 0, 0, false) },
    693693                    { { "sa", 2 }, SSAInfo(0, SIZE_MAX, 1, SIZE_MAX, 0, true) },
    694694                    { { "sa", 4 }, SSAInfo(SIZE_MAX, 0, 0, 1, 2, false) },
     
    728728                { { 1, false }, { 2, false }, { 3, false } },
    729729                {
    730                     { { "", 0 }, SSAInfo(0, SIZE_MAX, 0, SIZE_MAX, 0, true) },
    731                     { { "", 1 }, SSAInfo(0, SIZE_MAX, 0, SIZE_MAX, 0, true) },
    732                     { { "", 3 }, SSAInfo(0, SIZE_MAX, 0, SIZE_MAX, 0, true) },
    733                     { { "", 256 }, SSAInfo(0, SIZE_MAX, 0, SIZE_MAX, 0, true) },
     730                    { { "", 0 }, SSAInfo(0, SIZE_MAX, 0, 0, 0, true) },
     731                    { { "", 1 }, SSAInfo(0, SIZE_MAX, 0, 0, 0, true) },
     732                    { { "", 3 }, SSAInfo(0, SIZE_MAX, 0, 0, 0, true) },
     733                    { { "", 256 }, SSAInfo(0, SIZE_MAX, 0, 0, 0, true) },
    734734                    { { "sa", 2 }, SSAInfo(0, SIZE_MAX, 1, SIZE_MAX, 0, true) },
    735735                    { { "sa", 4 }, SSAInfo(SIZE_MAX, 0, 0, 1, 2, false) },
     
    790790                { { 1, false }, { 2, false }, { 3, false } },
    791791                {
    792                     { { "", 0 }, SSAInfo(0, SIZE_MAX, 0, SIZE_MAX, 0, true) },
    793                     { { "", 1 }, SSAInfo(0, SIZE_MAX, 0, SIZE_MAX, 0, true) },
    794                     { { "", 3 }, SSAInfo(0, SIZE_MAX, 0, SIZE_MAX, 0, true) },
    795                     { { "", 256 }, SSAInfo(0, SIZE_MAX, 0, SIZE_MAX, 0, true) },
     792                    { { "", 0 }, SSAInfo(0, SIZE_MAX, 0, 0, 0, true) },
     793                    { { "", 1 }, SSAInfo(0, SIZE_MAX, 0, 0, 0, true) },
     794                    { { "", 3 }, SSAInfo(0, SIZE_MAX, 0, 0, 0, true) },
     795                    { { "", 256 }, SSAInfo(0, SIZE_MAX, 0, 0, 0, true) },
    796796                    { { "sa", 2 }, SSAInfo(0, SIZE_MAX, 1, SIZE_MAX, 0, true) },
    797797                    { { "sa", 4 }, SSAInfo(SIZE_MAX, 0, 0, 1, 2, false) },
     
    883883        {
    884884            { 0, 28,
    885                 { { 1, false }, { 4, false }, { 8, false }, { 12, false },
    886                     { 16, false } },
    887                 {
    888                     { { "", 0 }, SSAInfo(0, SIZE_MAX, 1, SIZE_MAX, 0, true) },
    889                     { { "", 1 }, SSAInfo(0, SIZE_MAX, 1, SIZE_MAX, 0, true) },
    890                     { { "", 256 }, SSAInfo(0, SIZE_MAX, 1, SIZE_MAX, 0, true) },
    891                     { { "", 256+1 }, SSAInfo(0, SIZE_MAX, 1, SIZE_MAX, 0, true) },
    892                     { { "", 256+2 }, SSAInfo(SIZE_MAX, SIZE_MAX, 0, SIZE_MAX, 0, false) },
    893                     { { "", 256+3 }, SSAInfo(SIZE_MAX, SIZE_MAX, 0, SIZE_MAX, 0, false) },
    894                     { { "", 256+4 }, SSAInfo(SIZE_MAX, SIZE_MAX, 0, SIZE_MAX, 0, false) },
    895                     { { "", 256+5 }, SSAInfo(SIZE_MAX, SIZE_MAX, 0, SIZE_MAX, 0, false) },
     885                { { 1, false }, { 4, false }, { 8, false }, { 12, false } },
     886                {
     887                    { { "", 0 }, SSAInfo(0, SIZE_MAX, 0, 0, 0, true) },
     888                    { { "", 1 }, SSAInfo(0, SIZE_MAX, 0, 0, 0, true) },
     889                    { { "", 256 }, SSAInfo(0, SIZE_MAX, 0, SIZE_MAX, 0, true) },
     890                    { { "", 256+1 }, SSAInfo(0, SIZE_MAX, 0, SIZE_MAX, 0, true) },
     891                    { { "", 256+2 }, SSAInfo(SIZE_MAX, 0, 0, SIZE_MAX, 0, false) },
     892                    { { "", 256+3 }, SSAInfo(SIZE_MAX, 0, 0, SIZE_MAX, 0, false) },
     893                    { { "", 256+4 }, SSAInfo(SIZE_MAX, 0, 0, SIZE_MAX, 0, false) },
     894                    { { "", 256+5 }, SSAInfo(SIZE_MAX, 0, 0, SIZE_MAX, 0, false) },
    896895                    { { "va", 0 }, SSAInfo(SIZE_MAX, 0, 0, 0, 1, false) },
    897896                    { { "va", 1 }, SSAInfo(SIZE_MAX, 0, 0, 0, 1, false) },
    898897                }, false, false, false },
    899898            { 28, 52,
    900                 { { 2, false }, { 5, false }, { 9, false }, { 13, false },
    901                     { 17, false } },
    902                 {
    903                     { { "", 0 }, SSAInfo(0, SIZE_MAX, 1, SIZE_MAX, 0, true) },
    904                     { { "", 1 }, SSAInfo(0, SIZE_MAX, 1, SIZE_MAX, 0, true) },
     899                { { 2, false }, { 5, false }, { 9, false }, { 13, false } },
     900                {
     901                    { { "", 0 }, SSAInfo(0, SIZE_MAX, 0, 0, 0, true) },
     902                    { { "", 1 }, SSAInfo(0, SIZE_MAX, 0, 0, 0, true) },
     903                    { { "", 256+2 }, SSAInfo(0, SIZE_MAX, 0, SIZE_MAX, 0, true) },
    905904                    { { "va", 0 }, SSAInfo(0, SIZE_MAX, 1, SIZE_MAX, 0, true) },
    906905                    { { "va", 1 }, SSAInfo(0, SIZE_MAX, 1, SIZE_MAX, 0, true) },
    907906                    { { "va", 2 }, SSAInfo(SIZE_MAX, 0, 0, 0, 1, false) },
    908907                    { { "va", 3 }, SSAInfo(SIZE_MAX, 0, 0, 0, 1, false) },
    909                     { { "va", 4 }, SSAInfo(SIZE_MAX, 0, 0, 0, 1, false) }
     908                    { { "va", 4 }, SSAInfo(SIZE_MAX, 0, 0, 0, 1, false) },
     909                    { { "va", 5 }, SSAInfo(0, SIZE_MAX, 1, SIZE_MAX, 0, true) }
    910910                }, false, false, false },
    911911            { 52, 68,
    912                 { { 3, false }, { 6, false }, { 10, false }, { 14, false },
    913                     { 18, false } },
    914                 {
     912                { { 3, false }, { 6, false }, { 10, false }, { 14, false } },
     913                {
     914                    { { "", 0 }, SSAInfo(0, SIZE_MAX, 0, 0, 0, true) },
     915                    { { "", 1 }, SSAInfo(0, SIZE_MAX, 0, 0, 0, true) },
     916                    { { "", 256+3, }, SSAInfo(0, SIZE_MAX, 0, 0, 0, true) },
     917                    { { "va", 0 }, SSAInfo(0, SIZE_MAX, 1, SIZE_MAX, 0, true) },
     918                    { { "va", 1 }, SSAInfo(0, SIZE_MAX, 1, SIZE_MAX, 0, true) },
     919                    { { "va", 2 }, SSAInfo(0, 1, 1, 1, 1, false) },
     920                    { { "va", 3 }, SSAInfo(0, 1, 1, 1, 1, false) },
     921                    { { "va", 4 }, SSAInfo(0, SIZE_MAX, 1, SIZE_MAX, 0, true) },
     922                    { { "va", 5 }, SSAInfo(0, 1, 1, 1, 1, false) },
    915923                }, false, false, false },
    916924            { 68, 92,
    917                 { { 7, false }, { 11, false }, { 15, false }, { 19, false } },
    918                 {
     925                { { 7, false }, { 11, false }, { 15, false } },
     926                {
     927                    { { "", 0 }, SSAInfo(0, SIZE_MAX, 0, 0, 0, true) },
     928                    { { "", 1 }, SSAInfo(0, SIZE_MAX, 0, 0, 0, true) },
    919929                }, false, false, false },
    920             // 4-8:
     930            // 4-7:
     931            { 96, 108,
     932                { },
     933                { }, false, false, false },
     934            { 108, 112,
     935                { },
     936                { }, false, false, false },
     937            { 112, 116,
     938                { },
     939                { }, false, false, false },
     940            { 116, 124,
     941                { },
     942                { }, false, false, true },
     943            // 8-11
     944            { 128, 140,
     945                { },
     946                { }, false, false, false },
     947            { 140, 148,
     948                { },
     949                { }, false, false, false },
     950            { 148, 152,
     951                { },
     952                { }, false, false, false },
     953            { 152, 160,
     954                { },
     955                { }, false, false, true },
     956            // 12-15
     957            { 160, 172,
     958                { },
     959                { }, false, false, false },
     960            { 172, 176,
     961                { },
     962                { }, false, false, false },
     963            { 176, 180,
     964                { },
     965                { }, false, false, false },
     966            { 180, 188,
     967                { },
     968                { }, false, false, true }
    921969        },
    922970        { },
Note: See TracChangeset for help on using the changeset viewer.