Changeset 3960 in CLRX


Ignore:
Timestamp:
Apr 2, 2018, 8:47:27 PM (6 months ago)
Author:
matszpk
Message:

CLRadeonExtender: AsmRegAlloc?: Add new testcase (recursion support).

File:
1 edited

Legend:

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

    r3959 r3960  
    12431243                    { { "sa", 3 }, SSAInfo(3, 5, 5, 5, 1, true) },
    12441244                    { { "sa", 6 }, SSAInfo(2, 4, 4, 4, 1, true) }
    1245                     //{ { "sa", 3 }, SSAInfo(2, 5, 5, 5, 1, true) },
    1246                     //{ { "sa", 6 }, SSAInfo(1, 4, 4, 4, 1, true) }
    12471245                }, false, false, true },
    12481246            {   // block 2 - routine
     
    12881286        {   // SSA replaces
    12891287            { { "sa", 2 }, { { 3, 2 }, { 2, 1 } } },
    1290             //{ { "sa", 3 }, { { 3, 2 }, { 4, 3 }, { 2, 1 } } },
    12911288            { { "sa", 3 }, { { 3, 2 }, { 4, 2 }, { 4, 3 }, { 2, 1 } } },
    1292             //{ { "sa", 6 }, { { 2, 1 }, { 3, 2 } } }
    12931289            { { "sa", 6 }, { { 2, 1 }, { 3, 1 }, { 3, 2 } } }
    12941290        },
    12951291        true, ""
    12961292    },
    1297 #if 0
    1298     {   // 8 - first recursion testcase
     1293    {   // 8 - second recursion testcase
    12991294        R"ffDXD(.regvar sa:s:8, va:v:8
    13001295        s_mov_b32 sa[2], s4
     
    13091304        s_add_u32 sa[2], sa[2], sa[0]
    13101305        s_add_u32 sa[3], sa[3], sa[0]
    1311         s_add_u32 sa[6], sa[6], sa[0]
     1306        s_add_u32 sa[4], sa[4], sa[1]
     1307        s_add_u32 sa[5], sa[5], sa[1]
     1308        s_add_u32 sa[6], sa[6], sa[1]
    13121309        s_endpgm
    13131310       
     
    13541351        {
    13551352            {   // block 0 - start
    1356             },
     1353                0, 24,
     1354                { { 2, true } },
     1355                {
     1356                    { { "", 0 }, SSAInfo(0, 0, 0, 0, 0, false) },
     1357                    { { "", 1 }, SSAInfo(0, 0, 0, 0, 0, false) },
     1358                    { { "", 2 }, SSAInfo(0, 0, 0, 0, 0, true) },
     1359                    { { "", 3 }, SSAInfo(0, 0, 0, 0, 0, true) },
     1360                    { { "", 4 }, SSAInfo(0, 0, 0, 0, 0, true) },
     1361                    { { "", 5 }, SSAInfo(0, 0, 0, 0, 0, true) },
     1362                    { { "", 6 }, SSAInfo(0, 0, 0, 0, 0, true) },
     1363                    { { "", 7 }, SSAInfo(0, 0, 0, 0, 0, true) },
     1364                    { { "sa", 2 }, SSAInfo(0, 1, 1, 1, 1, false) },
     1365                    { { "sa", 3 }, SSAInfo(0, 1, 1, 1, 1, false) },
     1366                    { { "sa", 4 }, SSAInfo(0, 1, 1, 1, 1, false) },
     1367                    { { "sa", 5 }, SSAInfo(0, 1, 1, 1, 1, false) },
     1368                    { { "sa", 6 }, SSAInfo(0, 1, 1, 1, 1, false) }
     1369                }, true, false, false },
    13571370            {   // block 1 - end
    1358             },
     1371                24, 48,
     1372                { },
     1373                {
     1374                    { { "sa", 0 }, SSAInfo(0, SIZE_MAX, 1, SIZE_MAX, 0, true) },
     1375                    { { "sa", 1 }, SSAInfo(0, SIZE_MAX, 1, SIZE_MAX, 0, true) },
     1376                    { { "sa", 2 }, SSAInfo(3, 6, 6, 6, 1, true) },
     1377                    { { "sa", 3 }, SSAInfo(4, 8, 8, 8, 1, true) },
     1378                    { { "sa", 4 }, SSAInfo(1, 3, 3, 3, 1, true) },
     1379                    { { "sa", 5 }, SSAInfo(1, 3, 3, 3, 1, true) },
     1380                    { { "sa", 6 }, SSAInfo(2, 6, 6, 6, 1, true) }
     1381                }, false, false, true },
    13591382            {   // block 2 - routine
    1360             },
     1383                48, 60,
     1384                { { 3, false }, { 5, false } },
     1385                {
     1386                    { { "sa", 0 }, SSAInfo(0, SIZE_MAX, 1, SIZE_MAX, 0, true) },
     1387                    { { "sa", 1 }, SSAInfo(0, SIZE_MAX, 1, SIZE_MAX, 0, true) },
     1388                    { { "sa", 2 }, SSAInfo(1, 2, 2, 2, 1, true) },
     1389                    { { "sa", 3 }, SSAInfo(1, 2, 2, 2, 1, true) }
     1390                }, false, false, false },
    13611391            {   // block 3 - call routine2
    1362             },
     1392                60, 64,
     1393                { { 6, true } },
     1394                {
     1395                    { { "", 0 }, SSAInfo(0, 0, 0, 0, 0, false) },
     1396                    { { "", 1 }, SSAInfo(0, 0, 0, 0, 0, false) },
     1397                    { { "", 2 }, SSAInfo(0, 0, 0, 0, 0, true) },
     1398                    { { "", 3 }, SSAInfo(0, 0, 0, 0, 0, true) }
     1399                }, true, false, false },
    13631400            {   // block 4 - routine end
    1364             },
     1401                64, 80,
     1402                { },
     1403                {
     1404                    { { "", 0 }, SSAInfo(0, 0, 0, 0, 0, true) },
     1405                    { { "", 1 }, SSAInfo(0, 0, 0, 0, 0, true) },
     1406                    { { "sa", 0 }, SSAInfo(0, SIZE_MAX, 1, SIZE_MAX, 0, true) },
     1407                    { { "sa", 1 }, SSAInfo(0, SIZE_MAX, 1, SIZE_MAX, 0, true) },
     1408                    { { "sa", 3 }, SSAInfo(4, 6, 6, 6, 1, true) },
     1409                    { { "sa", 5 }, SSAInfo(1, 2, 2, 2, 1, true) },
     1410                    { { "sa", 6 }, SSAInfo(2, 4, 4, 4, 1, true) }
     1411                }, false, true, true },
    13651412            {   // block 5 - routine end2
    1366             },
     1413                80, 96,
     1414                { },
     1415                {
     1416                    { { "", 0 }, SSAInfo(0, 0, 0, 0, 0, true) },
     1417                    { { "", 1 }, SSAInfo(0, 0, 0, 0, 0, true) },
     1418                    { { "sa", 0 }, SSAInfo(0, SIZE_MAX, 1, SIZE_MAX, 0, true) },
     1419                    { { "sa", 2 }, SSAInfo(2, 5, 5, 5, 1, true) },
     1420                    { { "sa", 3 }, SSAInfo(2, 7, 7, 7, 1, true) },
     1421                    { { "sa", 6 }, SSAInfo(1, 5, 5, 5, 1, true) }
     1422                }, false, true, true },
    13671423            {   // block 6 - routine2
    1368             },
     1424                96, 108,
     1425                { { 7, false }, { 9, false } },
     1426                {
     1427                    { { "sa", 0 }, SSAInfo(0, SIZE_MAX, 1, SIZE_MAX, 0, true) },
     1428                    { { "sa", 1 }, SSAInfo(0, SIZE_MAX, 1, SIZE_MAX, 0, true) },
     1429                    { { "sa", 2 }, SSAInfo(2, 3, 3, 3, 1, true) },
     1430                    { { "sa", 3 }, SSAInfo(2, 3, 3, 3, 1, true) }
     1431                }, false, false, false },
    13691432            {   // block 7 - call routine
    1370             },
     1433                108, 112,
     1434                { { 2, true } },
     1435                {
     1436                    { { "", 0 }, SSAInfo(0, 0, 0, 0, 0, false) },
     1437                    { { "", 1 }, SSAInfo(0, 0, 0, 0, 0, false) },
     1438                    { { "", 2 }, SSAInfo(0, 0, 0, 0, 0, true) },
     1439                    { { "", 3 }, SSAInfo(0, 0, 0, 0, 0, true) }
     1440                }, true, false, false },
    13711441            {   // block 8 - routine2 end
    1372             },
     1442                112, 128,
     1443                { },
     1444                {
     1445                    { { "", 0 }, SSAInfo(0, 0, 0, 0, 0, true) },
     1446                    { { "", 1 }, SSAInfo(0, 0, 0, 0, 0, true) },
     1447                    { { "sa", 0 }, SSAInfo(0, SIZE_MAX, 1, SIZE_MAX, 0, true) },
     1448                    { { "sa", 1 }, SSAInfo(0, SIZE_MAX, 1, SIZE_MAX, 0, true) },
     1449                    { { "sa", 3 }, SSAInfo(3, 4, 4, 4, 1, true) },
     1450                    { { "sa", 4 }, SSAInfo(1, 2, 2, 2, 1, true) },
     1451                    { { "sa", 6 }, SSAInfo(1, 2, 2, 2, 1, true) }
     1452                }, false, true, true },
    13731453            {   // block 9 - routine2 end2
    1374             }
     1454                128, 144,
     1455                { },
     1456                {
     1457                    { { "", 0 }, SSAInfo(0, 0, 0, 0, 0, true) },
     1458                    { { "", 1 }, SSAInfo(0, 0, 0, 0, 0, true) },
     1459                    { { "sa", 0 }, SSAInfo(0, SIZE_MAX, 1, SIZE_MAX, 0, true) },
     1460                    { { "sa", 2 }, SSAInfo(3, 4, 4, 4, 1, true) },
     1461                    { { "sa", 3 }, SSAInfo(3, 5, 5, 5, 1, true) },
     1462                    { { "sa", 6 }, SSAInfo(1, 3, 3, 3, 1, true) }
     1463                }, false, true, true }
    13751464        },
    13761465        {   // SSA replaces
     1466            // TODO: very likely incorrect and redudant (by wrong retssaId lists)
     1467            { { "sa", 2 }, { { 4, 3 }, { 5, 3 }, { 3, 1 } } },
     1468            { { "sa", 3 }, { { 5, 4 }, { 4, 3 }, { 6, 3 }, { 7, 3 }, { 4, 2 },
     1469                        { 5, 2 }, { 6, 4 }, { 7, 4 }, { 3, 1 } } },
     1470            { { "sa", 4 }, { { 2, 1 } } },
     1471            { { "sa", 5 }, { { 2, 1 } } },
     1472            { { "sa", 6 }, { { 3, 2 }, { 2, 1 }, { 4, 1 }, { 5, 1 }, { 3, 1 },
     1473                        { 4, 2 }, { 5, 2 } } }
    13771474        },
    13781475        true, ""
    13791476    },
    1380 #endif
    13811477    { nullptr }
    13821478};
Note: See TracChangeset for help on using the changeset viewer.