Changeset 3611 in CLRX


Ignore:
Timestamp:
Jan 11, 2018, 8:14:40 PM (8 months ago)
Author:
matszpk
Message:

CLRadeonExtender: AsmRegAlloc?: Revert previous changes: add next block to nexts if have calls.
Last jump to direct next block after calls is to resolving conflicts with returns vars SSAIds from calls.

Location:
CLRadeonExtender/trunk
Files:
2 edited

Legend:

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

    r3610 r3611  
    407407            {
    408408                curIt->haveEnd = false; // revert haveEnd if block have cond jump or call
    409                 if (it2 != codeBlocks.end() && entry.type == AsmCodeFlowType::CJUMP)
     409                if (it2 != codeBlocks.end())
    410410                    // add next next block (only for cond jump)
    411411                    curIt->nexts.push_back({ size_t(it2 - codeBlocks.begin()), false });
  • CLRadeonExtender/trunk/tests/amdasm/AsmRegAlloc.cpp

    r3610 r3611  
    226226        {
    227227            { 0, 12,
    228                 { { 3, true }, { 4, true }, { 5, true } },
     228                { { 1, false }, { 3, true }, { 4, true }, { 5, true } },
    229229                true, false, false },
    230230            { 12, 20, { { 6, false } }, false, false, true },
     
    290290            { 0, 8, { }, false, false, false },
    291291            { 8, 16,
    292                 { { 5, true }, { 6, true }, { 9, true } },
     292                { { 2, false }, { 5, true }, { 6, true }, { 9, true } },
    293293                true, false, false },
    294294            // 2
    295295            { 16, 32,
    296                 { { 7, true }, { 11, true } },
     296                { { 3, false }, { 7, true }, { 11, true } },
    297297                true, false, false },
    298298            { 32, 48,
     
    305305            // 6 - c2 subroutine
    306306            { 80, 88, { }, false, false, false },
    307             { 88, 96, { { 10, true } },
     307            { 88, 96, { { 8, false }, { 10, true } },
    308308                true, false, false },
    309309            { 96, 104, { }, false, true, true },
     
    495495            { 56, 64, { }, false, false, true },
    496496            { 64, 76,
    497                 { { 9, true } },
     497                { { 7, false }, { 9, true } },
    498498                true, false, false },
    499499            { 76, 84,
    500                 { { 9, true } },
     500                { { 8, false }, { 9, true } },
    501501                true, false, false },
    502502            { 84, 92, { }, false, false, true },
     
    544544        {
    545545            { 0, 12,
    546                 { { 5, false }, { 3, true }, { 4, true } },
     546                { { 1, false }, { 5, false }, { 3, true }, { 4, true } },
    547547                true, false, true },
    548548            { 12, 20, { { 6, false } }, false, false, true },
     
    598598        },
    599599        true, ""
    600     },
     600    }
    601601};
    602602
     
    19651965        },
    19661966        true, ""
    1967     }
    1968 #if 0
    1969     ,
     1967    },
    19701968    {   // 13 - simple call
    19711969        R"ffDXD(.regvar sa:s:8, va:v:8
     
    19911989        {
    19921990            { 0, 32,
    1993                 { { 2, true } },
     1991                { {1, false }, { 2, true } },
    19941992                {
    19951993                    { { "", 0 }, SSAInfo(0, 0, 0, 0, 0, false) },
     
    20052003                { },
    20062004                {
    2007                     { { "sa", 2 }, SSAInfo(2, 3, 3, 3, 1, true) },
    2008                     { { "sa", 3 }, SSAInfo(2, 3, 3, 3, 1, true) }
     2005                    { { "sa", 2 }, SSAInfo(1, 2, 2, 2, 1, true) },
     2006                    { { "sa", 3 }, SSAInfo(1, 2, 2, 2, 1, true) }
    20092007                }, false, false, true },
    20102008            { 44, 56,
     
    20132011                    { { "", 0 }, SSAInfo(0, 0, 0, 0, 0, true) },
    20142012                    { { "", 1 }, SSAInfo(0, 0, 0, 0, 0, true) },
    2015                     { { "sa", 2 }, SSAInfo(1, 2, 2, 2, 1, true) },
    2016                     { { "sa", 3 }, SSAInfo(1, 2, 2, 2, 1, true) },
     2013                    { { "sa", 2 }, SSAInfo(1, 3, 3, 3, 1, true) },
     2014                    { { "sa", 3 }, SSAInfo(1, 3, 3, 3, 1, true) },
    20172015                    { { "sa", 4 }, SSAInfo(0, SIZE_MAX, 1, SIZE_MAX, 0, true) }
    20182016                }, false, true, true }
    20192017        },
    2020         { },
     2018        {
     2019            { { "sa", 2 }, { { 3, 1 } } },
     2020            { { "sa", 3 }, { { 3, 1 } } }
     2021        },
    20212022        true, ""
    20222023    }
    2023 #endif
    20242024};
    20252025
Note: See TracChangeset for help on using the changeset viewer.