Changeset 3998 in CLRX


Ignore:
Timestamp:
Apr 14, 2018, 4:07:11 PM (3 months ago)
Author:
matszpk
Message:

CLRadeonExtender: AsmRegAlloc?: Add second testcase (SSAReplaces).

File:
1 edited

Legend:

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

    r3997 r3998  
    4343{
    4444    {   // 0 - first testcase
     45        // 16 - trick - SSA replaces beyond visited point
    4546        {
    4647            // block 0 - start
     
    120121                {
    121122                    { { "sa", 3 }, SSAInfo(1, 3, 3, 3, 1, true) },
     123                    { { "sa", 4 }, SSAInfo(0, SIZE_MAX, 1, SIZE_MAX, 0, true) }
     124                }, false, false, true }
     125        }
     126    },
     127    {   // 1 - second testcase
     128        // 13 - yet another branch example
     129        {
     130            // block 0
     131            { 0, 12,
     132                { { 1, false }, { 2, false }, { 4, false }, { 6, false } },
     133                {
     134                    { { "", 0 }, SSAInfo(0, 0, 0, 0, 0, true) },
     135                    { { "", 1 }, SSAInfo(0, 0, 0, 0, 0, true) },
     136                    { { "", 4 }, SSAInfo(0, 0, 0, 0, 0, true) },
     137                    { { "", 5 }, SSAInfo(0, 0, 0, 0, 0, true) },
     138                    { { "sa", 2 }, SSAInfo(0, 1, 1, 1, 1, false) },
     139                    { { "sa", 3 }, SSAInfo(0, 1, 1, 1, 1, false) }
     140                }, false, false, false },
     141            // block 1 - b0
     142            { 12, 24,
     143                { },
     144                {
     145                    { { "sa", 2 }, SSAInfo(1, 2, 2, 2, 1, true) },
     146                    { { "sa", 3 }, SSAInfo(1, 2, 2, 2, 1, true) },
     147                    { { "sa", 4 }, SSAInfo(0, SIZE_MAX, 1, SIZE_MAX, 0, true) }
     148                }, false, false, true },
     149            // block 2 - b1
     150            { 24, 32,
     151                { },
     152                {
     153                    { { "sa", 2 }, SSAInfo(1, 3, 3, 3, 1, true) },
     154                    { { "sa", 3 }, SSAInfo(1, 3, 3, 3, 1, true) },
     155                    { { "sa", 4 }, SSAInfo(0, SIZE_MAX, 1, SIZE_MAX, 0, true) }
     156                }, false, false, false },
     157            // block 3 - b1x
     158            { 32, 40,
     159                { { 1, false } },
     160                {
     161                    { { "sa", 2 }, SSAInfo(3, 4, 4, 4, 1, true) },
     162                    { { "sa", 4 }, SSAInfo(0, SIZE_MAX, 1, SIZE_MAX, 0, true) }
     163                }, false, false, true },
     164            // block 4 - b2
     165            { 40, 48,
     166                { },
     167                {
     168                    { { "sa", 2 }, SSAInfo(1, 5, 5, 5, 1, true) },
     169                    { { "sa", 3 }, SSAInfo(1, 4, 4, 4, 1, true) },
     170                    { { "sa", 4 }, SSAInfo(0, SIZE_MAX, 1, SIZE_MAX, 0, true) }
     171                }, false, false, false },
     172            // block 5 - b2x
     173            { 48, 56,
     174                { { 3, false } },
     175                {
     176                    { { "sa", 2 }, SSAInfo(5, 6, 6, 6, 1, true) },
     177                    { { "sa", 4 }, SSAInfo(0, SIZE_MAX, 1, SIZE_MAX, 0, true) }
     178                }, false, false, true },
     179            // block 6 - b3
     180            { 56, 68,
     181                { { 5, false } },
     182                {
     183                    { { "sa", 2 }, SSAInfo(1, 7, 7, 7, 1, true) },
     184                    { { "sa", 3 }, SSAInfo(1, 5, 5, 5, 1, true) },
     185                    { { "sa", 4 }, SSAInfo(0, SIZE_MAX, 1, SIZE_MAX, 0, true) }
     186                }, false, false, true }
     187        },
     188        {   // SSA replaces
     189            { { "sa", 2 }, { { 4, 1 }, { 6, 3 }, { 7, 5 } } },
     190            { { "sa", 3 }, { { 3, 1 }, { 4, 1 }, { 5, 1 } } }
     191        },
     192        // expected blocks
     193        {
     194            // block 0
     195            { 0, 12,
     196                { { 1, false }, { 2, false }, { 4, false }, { 6, false } },
     197                {
     198                    { { "", 0 }, SSAInfo(0, 0, 0, 0, 0, true) },
     199                    { { "", 1 }, SSAInfo(0, 0, 0, 0, 0, true) },
     200                    { { "", 4 }, SSAInfo(0, 0, 0, 0, 0, true) },
     201                    { { "", 5 }, SSAInfo(0, 0, 0, 0, 0, true) },
     202                    { { "sa", 2 }, SSAInfo(0, 1, 1, 1, 1, false) },
     203                    { { "sa", 3 }, SSAInfo(0, 1, 1, 1, 1, false) }
     204                }, false, false, false },
     205            // block 1 - b0
     206            { 12, 24,
     207                { },
     208                {
     209                    { { "sa", 2 }, SSAInfo(1, 2, 2, 2, 1, true) },
     210                    { { "sa", 3 }, SSAInfo(1, 2, 2, 2, 1, true) },
     211                    { { "sa", 4 }, SSAInfo(0, SIZE_MAX, 1, SIZE_MAX, 0, true) }
     212                }, false, false, true },
     213            // block 2 - b1
     214            { 24, 32,
     215                { },
     216                {
     217                    { { "sa", 2 }, SSAInfo(1, 3, 3, 3, 1, true) },
     218                    { { "sa", 3 }, SSAInfo(1, 1, 3, 1, 1, true) },
     219                    { { "sa", 4 }, SSAInfo(0, SIZE_MAX, 1, SIZE_MAX, 0, true) }
     220                }, false, false, false },
     221            // block 3 - b1x
     222            { 32, 40,
     223                { { 1, false } },
     224                {
     225                    { { "sa", 2 }, SSAInfo(3, 1, 4, 1, 1, true) },
     226                    { { "sa", 4 }, SSAInfo(0, SIZE_MAX, 1, SIZE_MAX, 0, true) }
     227                }, false, false, true },
     228            // block 4 - b2
     229            { 40, 48,
     230                { },
     231                {
     232                    { { "sa", 2 }, SSAInfo(1, 5, 5, 5, 1, true) },
     233                    { { "sa", 3 }, SSAInfo(1, 1, 4, 1, 1, true) },
     234                    { { "sa", 4 }, SSAInfo(0, SIZE_MAX, 1, SIZE_MAX, 0, true) }
     235                }, false, false, false },
     236            // block 5 - b2x
     237            { 48, 56,
     238                { { 3, false } },
     239                {
     240                    { { "sa", 2 }, SSAInfo(5, 3, 6, 3, 1, true) },
     241                    { { "sa", 4 }, SSAInfo(0, SIZE_MAX, 1, SIZE_MAX, 0, true) }
     242                }, false, false, true },
     243            // block 6 - b3
     244            { 56, 68,
     245                { { 5, false } },
     246                {
     247                    { { "sa", 2 }, SSAInfo(1, 5, 7, 5, 1, true) },
     248                    { { "sa", 3 }, SSAInfo(1, 1, 5, 1, 1, true) },
    122249                    { { "sa", 4 }, SSAInfo(0, SIZE_MAX, 1, SIZE_MAX, 0, true) }
    123250                }, false, false, true }
Note: See TracChangeset for help on using the changeset viewer.