Changeset 4114 in CLRX


Ignore:
Timestamp:
May 8, 2018, 12:39:50 PM (6 months ago)
Author:
matszpk
Message:

CLRadeonExtender: AsmRegAlloc?: Do not emit linear dependencies for normal registers.
Update testcases for createLivenesses (remove obsolete linear deps).

Location:
CLRadeonExtender/trunk
Files:
2 edited

Legend:

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

    r4085 r4114  
    319319    for (cxuint i = 0; i < rvusNum; i++)
    320320    {
     321        if (rvus[i].regVar == nullptr)
     322            continue;
    321323        const AsmRegField rf = rvus[i].regField;
    322324        if (rf == GCNFIELD_M_VDATA || rf == GCNFIELD_M_VDATAH ||
  • CLRadeonExtender/trunk/tests/amdasm/AsmRegAlloc3.cpp

    r4074 r4114  
    147147        {   // linearDepMaps
    148148            {   // for SGPRs
    149                 { 0, { 0, { }, { 1 } } },  // S4
    150                 { 1, { 0, { 0 }, { } } },  // S5
    151149                { 2, { 2, { }, { 3 } } },  // sa[2]'0
    152150                { 3, { 0, { 2 }, { } } },  // sa[3]'0
     
    161159            },
    162160            {   // for VGPRs
    163                 { 0, { 0, { }, { 1 } } },  // V3
    164                 { 1, { 0, { 0 }, { } } },  // V4
    165161                { 2, { 1, { }, { 3 } } }, // rbx4[1]'0
    166162                { 3, { 0, { 2 }, { 4 } } }, // rbx4[2]'0
     
    312308        },
    313309        {   // linearDepMaps
    314             {   // for SGPRs
    315                 { 0, { 0, { }, { 1 } } },
    316                 { 1, { 0, { 0 }, { } } }
    317             },
     310            { },
    318311            { },
    319312            { },
     
    393386        },
    394387        {   // linearDepMaps
    395             {   // for SGPRs
    396                 { 0, { 0, { }, { 1 } } },
    397                 { 1, { 0, { 0 }, { } } }
    398             },
     388            { },
    399389            { },
    400390            { },
     
    508498        },
    509499        {   // linearDepMaps
    510             {   // for SGPRs
    511                 { 0, { 0, { }, { 1 } } },
    512                 { 1, { 0, { 0 }, { } } }
    513             },
     500            { },
    514501            { },
    515502            { },
     
    589576        },
    590577        {   // linearDepMaps
    591             {   // for SGPRs
    592                 { 0, { 0, { }, { 1 } } },
    593                 { 1, { 0, { 0 }, { } } }
    594             },
     578            { },
    595579            { },
    596580            { },
     
    639623        },
    640624        {   // linearDepMaps
    641             { // for SGPRs
    642                 { 0, { 0, { }, { 1 } } },
    643                 { 1, { 0, { 0 }, { } } }
    644             },
     625            { },
    645626            { },
    646627            { },
     
    703684        },
    704685        {   // linearDepMaps
    705             { // for SGPRs
    706                 { 0, { 0, { }, { 1 } } },
    707                 { 1, { 0, { 0 }, { } } }
    708             },
     686            { },
    709687            { },
    710688            { },
     
    997975        },
    998976        true, ""
     977    },
     978#if 0
     979    {   // 17 - simple call
     980        R"ffDXD(.regvar sa:s:8, va:v:8
     981        s_mov_b32 sa[2], s4
     982        s_mov_b32 sa[3], s5
     983       
     984        s_getpc_b64 s[2:3]
     985        s_add_u32 s2, s2, routine-.
     986        s_add_u32 s3, s3, routine-.+4
     987        /*
     988        .cf_call routine
     989        s_swappc_b64 s[0:1], s[2:3]
     990        */
     991        s_lshl_b32 sa[2], sa[2], 3
     992        s_lshl_b32 sa[3], sa[3], 4
     993        s_endpgm
     994routine:
     995        /*
     996        s_xor_b32 sa[2], sa[2], sa[4]
     997        s_xor_b32 sa[3], sa[3], sa[4]
     998        .cf_ret
     999        s_setpc_b64 s[0:1]
     1000        */
     1001)ffDXD",
     1002        {
     1003        },
     1004        {
     1005        },
     1006        true, ""
    9991007    }
     1008#endif
    10001009};
    10011010
Note: See TracChangeset for help on using the changeset viewer.