Changeset 4146 in CLRX


Ignore:
Timestamp:
May 11, 2018, 5:26:18 PM (9 days ago)
Author:
matszpk
Message:

CLRadeonExtender: AsmRegAlloc?: Add next testcase with join inside routines (shared regvar in next routine3).

File:
1 edited

Legend:

Unmodified
Added
Removed
  • CLRadeonExtender/trunk/tests/amdasm/AsmRegAlloc3.cpp

    r4145 r4146  
    18431843        true, ""
    18441844    },
    1845     {   // 29 - two routines with var sharing (output-input) 2
     1845    {   // 30 - two routines with var sharing (output-input) 3
     1846        // (shared var in called routine3)
    18461847        R"ffDXD(.regvar sa:s:8, va:v:8, xa:s:8
    18471848        s_mov_b32 sa[2], s4             # 0
     
    18721873routine2:
    18731874        s_cbranch_vccz r2_1             # 48
    1874 r2_0:   s_and_b32 sa[2], sa[2], sa[1]   # 52
     1875r2_0:   .cf_call routine3
     1876        s_swappc_b64 s[6:7], s[0:1]     # 52
    18751877        .cf_ret
    18761878        s_setpc_b64 s[0:1]              # 56
    1877 r2_1:   s_and_b32 sa[2], sa[2], sa[1]   # 60
     1879r2_1:   .cf_call routine3
     1880        s_swappc_b64 s[6:7], s[0:1]     # 60
    18781881        s_xor_b32 sa[3], sa[3], sa[1]   # 64
    18791882        .cf_ret
    18801883        s_setpc_b64 s[0:1]              # 68
    1881 )ffDXD",
    1882         {   // livenesses
    1883             {   // for SGPRs
    1884                 { { 5, 8 }, { 29, 32 }, { 40, 45 }, { 48, 57 }, { 60, 69 } }, // 0: S0
    1885                 { { 5, 8 }, { 29, 32 }, { 40, 45 }, { 48, 57 }, { 60, 69 } }, // 1: S1
     1884routine3:
     1885        s_and_b32 sa[2], sa[2], sa[1]   # 72
     1886        .cf_ret
     1887        s_setpc_b64 s[0:1]              # 76
     1888)ffDXD",
     1889        {   // livenesses
     1890            {   // for SGPRs
     1891                { { 5, 8 }, { 29, 32 }, { 40, 45 },
     1892                    { 48, 57 }, { 60, 69 }, { 72, 80 } }, // 0: S0
     1893                { { 5, 8 }, { 29, 32 }, { 40, 45 },
     1894                    { 48, 57 }, { 60, 69 }, { 72, 80 } }, // 1: S1
    18861895                { { 0, 29 } }, // 2: S2
    18871896                { { 0, 29 } }, // 3: S3
    18881897                { { 0, 1 } }, // 4: S4
    1889                 { { 0, 33 } }, // 5: sa[0]'0
    1890                 { { 0, 32 }, { 40, 53 }, { 60, 65 } }, // 6: sa[1]'0
    1891                 { { 1, 8 }, { 40, 41 } }, // 7: sa[2]'0
    1892                 { { 8, 32 }, { 41, 53 }, { 60, 61 } }, // 8: sa[2]'1
    1893                 { { 32, 33 }, { 53, 60 }, { 61, 72 } }, // 9: sa[2]'2
    1894                 { { 33, 34 } }, // 10: sa[2]'3
    1895                 { { 9, 32 }, { 48, 52 }, { 60, 65 } }, // 11: sa[3]'0
    1896                 { { 65, 66 } }  // 12: sa[3]'1
     1898                { { 53, 54 }, { 61, 62 } }, // 5: S6
     1899                { { 53, 54 }, { 61, 62 } }, // 6: S7
     1900                { { 0, 33 } }, // 7: sa[0]'0
     1901                { { 0, 32 }, { 40, 56 }, { 60, 65 }, { 72, 80 } }, // 8: sa[1]'0
     1902                { { 1, 8 }, { 40, 41 } }, // 9: sa[2]'0
     1903                { { 8, 32 }, { 41, 56 }, { 60, 64 }, { 72, 73 } }, // 10: sa[2]'1
     1904                { { 32, 33 }, { 56, 60 }, { 64, 72 }, { 73, 80 } }, // 11: sa[2]'2
     1905                { { 33, 34 } }, // 12: sa[2]'3
     1906                { { 9, 32 }, { 48, 52 }, { 60, 65 } }, // 13: sa[3]'0
     1907                { { 65, 66 } }  // 14: sa[3]'1
    18971908            },
    18981909            { },
     
    19021913        { }, // linearDepMaps
    19031914        {   // vidxRoutineMap
    1904             { 7, { { { 0, 1, 6, 7, 8 }, { }, { }, { } } } },
    1905             { 8, { { { 0, 1, 6, 8, 9, 11, 12 }, { }, { }, { } } } }
     1915            { 7, { { { 0, 1, 8, 9, 10 }, { }, { }, { } } } },
     1916            { 8, { { { 0, 1, 8, 10, 11, 13, 14 }, { }, { }, { } } } },
     1917            { 13, { { { 0, 1, 8, 10, 11 }, { }, { }, { } } } }
    19061918        },
    19071919        {   // vidxCallMap
    1908             { 0, { { { 2, 3, 5 }, { }, { }, { } } } },
    1909             { 5, { { { 5 }, { }, { }, { } } } }
     1920            { 0, { { { 2, 3, 7 }, { }, { }, { } } } },
     1921            { 5, { { { 7 }, { }, { }, { } } } },
     1922            { 11, { { { 13 }, { }, { }, { } } } }
    19101923        },
    19111924        true, ""
     
    19311944{
    19321945    assertValue("testAsmLivenesses", testCaseName + vvarSetName + ".size",
    1933             vidxRoutineMap.size(), expVIdxRoutineMap.size());
     1946            expVIdxRoutineMap.size(), vidxRoutineMap.size());
    19341947   
    19351948    for (size_t j = 0; j < vidxRoutineMap.size(); j++)
Note: See TracChangeset for help on using the changeset viewer.