You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
AMDGPU: Don't add emergency stack slot if all spills are SGPR->VGPR
This should avoid reporting any stack needs to be allocated in the
case where no stack is truly used. An unused stack slot is still
left around in other cases where there are real stack objects
but no spilling occurs.
llvm-svn: 295891
Copy file name to clipboardExpand all lines: llvm/test/CodeGen/AMDGPU/si-sgpr-spill.ll
+2-3Lines changed: 2 additions & 3 deletions
Original file line number
Diff line number
Diff line change
@@ -18,13 +18,12 @@
18
18
; GCN: s_mov_b32 m0
19
19
20
20
; Make sure scratch space isn't being used for SGPR->VGPR spills
21
-
; FIXME: Seem to be leaving behind unused emergency slot.
22
21
23
22
; Writing to M0 from an SMRD instruction will hang the GPU.
24
23
; GCN-NOT: s_buffer_load_dword m0
25
24
; GCN: s_endpgm
26
25
27
-
; TOVGPR: ScratchSize: 4{{$}}
26
+
; TOVGPR: ScratchSize: 0{{$}}
28
27
define amdgpu_ps void@main([17 x <16 x i8>] addrspace(2)* byval%arg, [32 x <16 x i8>] addrspace(2)* byval%arg1, [16 x <8 x i32>] addrspace(2)* byval%arg2, floatinreg%arg3, i32inreg%arg4, <2 x i32> %arg5, <2 x i32> %arg6, <2 x i32> %arg7, <3 x i32> %arg8, <2 x i32> %arg9, <2 x i32> %arg10, <2 x i32> %arg11, float%arg12, float%arg13, float%arg14, float%arg15, float%arg16, float%arg17, float%arg18, float%arg19, float%arg20) {
29
28
main_body:
30
29
%tmp = getelementptr [17 x <16 x i8>], [17 x <16 x i8>] addrspace(2)* %arg, i640, i320
@@ -768,7 +767,7 @@ ENDIF66: ; preds = %LOOP65
768
767
769
768
; GCN-LABEL: {{^}}main1:
770
769
; GCN: s_endpgm
771
-
; TOVGPR: ScratchSize: 4{{$}}
770
+
; TOVGPR: ScratchSize: 0{{$}}
772
771
define amdgpu_ps void@main1([17 x <16 x i8>] addrspace(2)* byval%arg, [32 x <16 x i8>] addrspace(2)* byval%arg1, [16 x <8 x i32>] addrspace(2)* byval%arg2, floatinreg%arg3, i32inreg%arg4, <2 x i32> %arg5, <2 x i32> %arg6, <2 x i32> %arg7, <3 x i32> %arg8, <2 x i32> %arg9, <2 x i32> %arg10, <2 x i32> %arg11, float%arg12, float%arg13, float%arg14, float%arg15, float%arg16, float%arg17, float%arg18, float%arg19, float%arg20) {
773
772
main_body:
774
773
%tmp = getelementptr [17 x <16 x i8>], [17 x <16 x i8>] addrspace(2)* %arg, i640, i320
0 commit comments