Changeset 3980 in CLRX
- Timestamp:
- Apr 10, 2018, 9:30:46 AM (9 days ago)
- Location:
- CLRadeonExtender/trunk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
CLRadeonExtender/trunk/amdasm/AsmRegAlloc.cpp
r3978 r3980 2378 2378 } 2379 2379 const bool prevHaveReturn = entry.haveReturn; 2380 std::cout << "collect regvars: " << entry.blockIndex << ": " << 2381 int(prevHaveReturn) << std::endl; 2380 2382 2381 2383 flowStack.pop_back(); -
CLRadeonExtender/trunk/tests/amdasm/AsmRegAllocCase3.cpp
r3979 r3980 1985 1985 true, "" 1986 1986 }, 1987 { // 14 - simple routine with loop (without end) 1988 R"ffDXD(.regvar sa:s:10, va:v:8 1989 s_mov_b32 sa[2], s4 1990 s_mov_b32 sa[3], s5 1991 s_mov_b32 sa[4], s6 1992 .cf_call routine 1993 s_swappc_b64 s[0:1], s[2:3] 1994 1995 s_xor_b32 sa[2], sa[2], sa[0] 1996 s_xor_b32 sa[3], sa[3], sa[0] 1997 s_xor_b32 sa[4], sa[4], sa[1] 1998 1999 .cf_call routine 2000 s_swappc_b64 s[0:1], s[2:3] 2001 2002 s_xor_b32 sa[2], sa[2], sa[0] 2003 s_xor_b32 sa[3], sa[3], sa[0] 2004 s_xor_b32 sa[4], sa[4], sa[1] 2005 s_endpgm 2006 2007 routine: 2008 s_xor_b32 sa[2], sa[2], sa[0] 2009 s_xor_b32 sa[3], sa[3], sa[0] 2010 2011 loop0: s_xor_b32 sa[2], sa[2], sa[0] 2012 s_xor_b32 sa[3], sa[3], sa[0] 2013 s_xor_b32 sa[4], sa[4], sa[1] 2014 s_cbranch_scc0 loop0 2015 2016 s_xor_b32 sa[4], sa[4], sa[1] 2017 s_xor_b32 sa[2], sa[2], sa[0] 2018 s_endpgm 2019 )ffDXD", 2020 { 2021 { // block 0 - start 2022 0, 16, 2023 { { 3, true } }, 2024 { 2025 { { "", 0 }, SSAInfo(0, 0, 0, 0, 0, false) }, 2026 { { "", 1 }, SSAInfo(0, 0, 0, 0, 0, false) }, 2027 { { "", 2 }, SSAInfo(0, 0, 0, 0, 0, true) }, 2028 { { "", 3 }, SSAInfo(0, 0, 0, 0, 0, true) }, 2029 { { "", 4 }, SSAInfo(0, 0, 0, 0, 0, true) }, 2030 { { "", 5 }, SSAInfo(0, 0, 0, 0, 0, true) }, 2031 { { "", 6 }, SSAInfo(0, 0, 0, 0, 0, true) }, 2032 { { "sa", 2 }, SSAInfo(0, 1, 1, 1, 1, false) }, 2033 { { "sa", 3 }, SSAInfo(0, 1, 1, 1, 1, false) }, 2034 { { "sa", 4 }, SSAInfo(0, 1, 1, 1, 1, false) } 2035 }, true, false, false }, 2036 { // block 1 - after routine call 2037 16, 32, 2038 { { 3, true } }, 2039 { 2040 { { "", 0 }, SSAInfo(0, 0, 0, 0, 0, false) }, 2041 { { "", 1 }, SSAInfo(0, 0, 0, 0, 0, false) }, 2042 { { "", 2 }, SSAInfo(0, 0, 0, 0, 0, true) }, 2043 { { "", 3 }, SSAInfo(0, 0, 0, 0, 0, true) }, 2044 { { "sa", 0 }, SSAInfo(0, SIZE_MAX, 1, SIZE_MAX, 0, true) }, 2045 { { "sa", 1 }, SSAInfo(0, SIZE_MAX, 1, SIZE_MAX, 0, true) }, 2046 { { "sa", 2 }, SSAInfo(3, 5, 5, 5, 1, true) }, 2047 { { "sa", 3 }, SSAInfo(3, 4, 4, 4, 1, true) }, 2048 { { "sa", 4 }, SSAInfo(2, 4, 4, 4, 1, true) } 2049 }, true, false, false }, 2050 { // block 2 - end 2051 32, 48, 2052 { }, 2053 { 2054 { { "sa", 0 }, SSAInfo(0, SIZE_MAX, 1, SIZE_MAX, 0, true) }, 2055 { { "sa", 1 }, SSAInfo(0, SIZE_MAX, 1, SIZE_MAX, 0, true) }, 2056 { { "sa", 2 }, SSAInfo(3, 6, 6, 6, 1, true) }, 2057 { { "sa", 3 }, SSAInfo(3, 5, 5, 5, 1, true) }, 2058 { { "sa", 4 }, SSAInfo(2, 5, 5, 5, 1, true) } 2059 }, false, false, true }, 2060 { // block 3 - routine 2061 48, 56, 2062 { }, 2063 { 2064 { { "sa", 0 }, SSAInfo(0, SIZE_MAX, 1, SIZE_MAX, 0, true) }, 2065 { { "sa", 2 }, SSAInfo(1, 2, 2, 2, 1, true) }, 2066 { { "sa", 3 }, SSAInfo(1, 2, 2, 2, 1, true) } 2067 }, false, false, false }, 2068 { // block 4 - loop0 2069 56, 72, 2070 { { 4, false }, { 5, false } }, 2071 { 2072 { { "sa", 0 }, SSAInfo(0, SIZE_MAX, 1, SIZE_MAX, 0, true) }, 2073 { { "sa", 1 }, SSAInfo(0, SIZE_MAX, 1, SIZE_MAX, 0, true) }, 2074 { { "sa", 2 }, SSAInfo(2, 3, 3, 3, 1, true) }, 2075 { { "sa", 3 }, SSAInfo(2, 3, 3, 3, 1, true) }, 2076 { { "sa", 4 }, SSAInfo(1, 2, 2, 2, 1, true) } 2077 }, false, false, false }, 2078 { // block 5 - routine end 2079 72, 84, 2080 { }, 2081 { 2082 { { "sa", 0 }, SSAInfo(0, SIZE_MAX, 1, SIZE_MAX, 0, true) }, 2083 { { "sa", 1 }, SSAInfo(0, SIZE_MAX, 1, SIZE_MAX, 0, true) }, 2084 { { "sa", 2 }, SSAInfo(3, 4, 4, 4, 1, true) }, 2085 { { "sa", 4 }, SSAInfo(2, 3, 3, 3, 1, true) } 2086 }, false, false, true } 2087 }, 2088 { // SSA replaces 2089 { { "sa", 2 }, { { 3, 2 }, { 5, 1 } } }, 2090 { { "sa", 3 }, { { 3, 2 }, { 4, 1 } } }, 2091 { { "sa", 4 }, { { 2, 1 }, { 4, 1 } } } 2092 }, 2093 true, "" 2094 }, 1987 2095 { nullptr } 1988 2096 };
Note: See TracChangeset
for help on using the changeset viewer.