summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen/AMDGPU/call-preserved-registers.ll
diff options
context:
space:
mode:
authorMatt Arsenault <Matthew.Arsenault@amd.com>2019-07-03 00:30:47 +0000
committerMatt Arsenault <Matthew.Arsenault@amd.com>2019-07-03 00:30:47 +0000
commit4f3472deb28b772c82323a849eddd9b67f1cdc31 (patch)
tree9cc550a990022c170d44535e9fa379ba4f344bc0 /llvm/test/CodeGen/AMDGPU/call-preserved-registers.ll
parentc04aab9c0646461bc187808920b3d5ee7f5cc5ab (diff)
downloadbcm5719-llvm-4f3472deb28b772c82323a849eddd9b67f1cdc31.tar.gz
bcm5719-llvm-4f3472deb28b772c82323a849eddd9b67f1cdc31.zip
CodeGen: Set hasSideEffects = 0 on BUNDLE
The BUNDLE itself should not have side effects, and this is a property of instructions inside the bundle. The hasProperty check already searches for any member instructions, which was pointless since it was overridden by this bit. Allows me to distinguish bundles that have side effects vs. do not in a future patch. Also fixes an unnecessary scheduling barrier in the bundle AMDGPU uses to get PC relative addresses. llvm-svn: 364984
Diffstat (limited to 'llvm/test/CodeGen/AMDGPU/call-preserved-registers.ll')
-rw-r--r--llvm/test/CodeGen/AMDGPU/call-preserved-registers.ll23
1 files changed, 12 insertions, 11 deletions
diff --git a/llvm/test/CodeGen/AMDGPU/call-preserved-registers.ll b/llvm/test/CodeGen/AMDGPU/call-preserved-registers.ll
index 05af715eb78..da3accea969 100644
--- a/llvm/test/CodeGen/AMDGPU/call-preserved-registers.ll
+++ b/llvm/test/CodeGen/AMDGPU/call-preserved-registers.ll
@@ -130,12 +130,12 @@ define amdgpu_kernel void @test_call_void_func_void_mayclobber_v31(i32 addrspace
; GCN-LABEL: {{^}}test_call_void_func_void_preserves_s33:
; GCN: s_mov_b32 s33, s9
; GCN: s_mov_b32 s32, s33
-; GCN: #ASMSTART
-; GCN-NEXT: ; def s33
-; GCN-NEXT: #ASMEND
; GCN: s_getpc_b64 s[4:5]
; GCN-NEXT: s_add_u32 s4, s4, external_void_func_void@rel32@lo+4
; GCN-NEXT: s_addc_u32 s5, s5, external_void_func_void@rel32@hi+4
+; GCN: #ASMSTART
+; GCN-NEXT: ; def s33
+; GCN-NEXT: #ASMEND
; GCN: s_swappc_b64 s[30:31], s[4:5]
; GCN: ;;#ASMSTART
; GCN-NEXT: ; use s33
@@ -152,10 +152,6 @@ define amdgpu_kernel void @test_call_void_func_void_preserves_s33(i32 addrspace(
; GCN-LABEL: {{^}}test_call_void_func_void_preserves_s34:
; GCN: s_mov_b32 s33, s9
; GCN-NOT: s34
-; GCN: ;;#ASMSTART
-; GCN-NEXT: ; def s34
-; GCN-NEXT: ;;#ASMEND
-
; GCN-NOT: s34
; GCN: s_getpc_b64 s[4:5]
@@ -163,6 +159,11 @@ define amdgpu_kernel void @test_call_void_func_void_preserves_s33(i32 addrspace(
; GCN-NEXT: s_addc_u32 s5, s5, external_void_func_void@rel32@hi+4
; GCN-NOT: s34
+; GCN: ;;#ASMSTART
+; GCN-NEXT: ; def s34
+; GCN-NEXT: ;;#ASMEND
+
+; GCN-NOT: s34
; GCN: s_swappc_b64 s[30:31], s[4:5]
; GCN-NOT: s34
@@ -181,10 +182,6 @@ define amdgpu_kernel void @test_call_void_func_void_preserves_s34(i32 addrspace(
; GCN-LABEL: {{^}}test_call_void_func_void_preserves_v32:
; GCN: s_mov_b32 s33, s9
-; GCN: ;;#ASMSTART
-; GCN-NEXT: ; def v32
-; GCN-NEXT: ;;#ASMEND
-
; GCN-NOT: v32
; GCN: s_getpc_b64 s[4:5]
; GCN-NEXT: s_add_u32 s4, s4, external_void_func_void@rel32@lo+4
@@ -192,6 +189,10 @@ define amdgpu_kernel void @test_call_void_func_void_preserves_s34(i32 addrspace(
; GCN-NOT: v32
; GCN-DAG: s_mov_b32 s32, s33
+; GCN: ;;#ASMSTART
+; GCN-NEXT: ; def v32
+; GCN-NEXT: ;;#ASMEND
+
; GCN: s_swappc_b64 s[30:31], s[4:5]
; GCN-NOT: v32
OpenPOWER on IntegriCloud