Changeset 4131 in CLRX


Ignore:
Timestamp:
May 9, 2018, 10:58:22 PM (5 months ago)
Author:
matszpk
Message:

CLRadeonExtender: AsmRegAlloc?: Add new testcase (many routines and calls) - not fully verified.

Location:
CLRadeonExtender/trunk
Files:
2 edited

Legend:

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

    r4130 r4131  
    923923    }
    924924   
    925     if (flitEnd != flowStack.begin())
     925    /*if (flitEnd != flowStack.begin())
    926926    {
    927927        const CodeBlock& cbLast = codeBlocks[(flitEnd-1)->blockIndex];
     
    929929            // if already filled up
    930930            return;
    931     }
     931    }*/
    932932   
    933933    auto flit = flowStack.begin() + flowStkStart.stackPos + (flowStkStart.inSubroutines);
  • CLRadeonExtender/trunk/tests/amdasm/AsmRegAlloc3.cpp

    r4130 r4131  
    12271227        true, ""
    12281228    },
    1229 #if 0
    12301229    {   // 21 - many nested routines - path penetration
    12311230        R"ffDXD(.regvar sa:s:8, va:v:8
     
    13041303                { { 0, 13 }, { 48, 112 } }, // 8: sa[3]'0
    13051304                { { 0, 17 }, { 48, 88 }, { 112, 152 } }, // 9: sa[4]'0  // ???
    1306                 { }, // 10: sa[5]'0
    1307                 { }, // 11: sa[6]'0
    1308                 { }, // 12: sa[7]'0
    1309                 { }, // 13: sa[7]'1
    1310                 { }, // 14: sa[7]'2
    1311                 { }, // 15: sa[7]'3
    1312                 { }, // 16: sa[7]'4
    1313                 { }, // 17: sa[7]'5
    1314                 { }  // 18: sa[7]'6
     1305                { { 0, 21 }, { 48, 88 }, { 112, 152 } }, // 10: sa[5]'0
     1306                { { 0, 25 }, { 48, 88 } }, // 11: sa[6]'0
     1307                { { 0, 5 } }, // 12: sa[7]'0
     1308                { { 5, 9 } }, // 13: sa[7]'1
     1309                { { 9, 13 } }, // 14: sa[7]'2
     1310                { { 13, 17 } }, // 15: sa[7]'3
     1311                { { 17, 21 } }, // 16: sa[7]'4
     1312                { { 21, 25 } }, // 17: sa[7]'5
     1313                { { 25, 26 } }  // 18: sa[7]'6
    13151314            },
    13161315            {   // for VGPs
     1316                { { 0, 29 }, { 48, 88 }, { 112, 152 } }, // 0: va[0]'0
     1317                { { 0, 33 }, { 48, 88 }, { 112, 152 } }, // 1: va[1]'0
     1318                { { 0, 37 }, { 48, 88 } }, // 2: va[2]'0
     1319                { { 0, 4 }, { 48, 49 } }, // 3: va[3]'0
     1320                { { 4, 41 }, { 49, 88 } }, // 4: va[3]'1
     1321                { { 0, 29 } }, // 5: va[7]'0
     1322                { { 29, 33 } }, // 6: va[7]'1
     1323                { { 33, 37 } }, // 7: va[7]'2
     1324                { { 37, 41 } }, // 8: va[7]'3
     1325                { { 41, 42 } }  // 9: va[7]'4
    13171326            },
    13181327            { },
     
    13201329        },
    13211330        { }, // linearDepMaps
    1322         { }, // vidxRoutineMap
    1323         { }, // vidxCallMap
     1331        {
     1332            { 2, { {
     1333                // SGPRs
     1334                { 0, 1, 2, 3, 4, 6, 7, 8, 9, 10, 11 },
     1335                // VGPRs
     1336                { 0, 1, 2, 3, 4 }, { }, { } } } },
     1337            { 7, { { { 0, 1, 4, 6, 7, 8 }, { }, { }, { } } } },
     1338            { 10, { {
     1339                // SGPRs
     1340                { 0, 1, 4, 9, 10 },
     1341                // VGPRs
     1342                { 0, 1 }, { }, { } } } }
     1343        }, // vidxRoutineMap
     1344        {
     1345            // TODO: check!
     1346            { 0, { { { 5, 12 }, { 5 }, { }, { } } } },
     1347            { 3, { { { 9, 10, 11 }, { 0, 1, 2, 4 }, { }, { } } } },
     1348            { 5, { { { 6, 8, 11 }, { 2, 4 }, { }, { } } } }
     1349        }, // vidxCallMap
    13241350        true, ""
    13251351    }
    1326 #endif
    13271352};
    13281353
Note: See TracChangeset for help on using the changeset viewer.