[llvm] [AMDGPU] Propagate alias information in AMDGPULowerKernelArguments. (PR #144714)

Sirish Pande via llvm-commits llvm-commits at lists.llvm.org
Mon Jul 21 09:15:12 PDT 2025


================
@@ -7,26 +7,44 @@ define amdgpu_kernel void @buffers_dont_alias(ptr addrspace(8) noalias %a, ptr a
 ; SDAG:       ; %bb.0:
 ; SDAG-NEXT:    s_load_dwordx8 s[8:15], s[4:5], 0x24
 ; SDAG-NEXT:    s_waitcnt lgkmcnt(0)
-; SDAG-NEXT:    buffer_load_dwordx4 v[0:3], off, s[8:11], 0
+; SDAG-NEXT:    buffer_load_dword v0, off, s[8:11], 0
+; SDAG-NEXT:    s_waitcnt vmcnt(0)
+; SDAG-NEXT:    v_mul_f32_e32 v0, v0, v0
+; SDAG-NEXT:    buffer_store_dword v0, off, s[12:15], 0
+; SDAG-NEXT:    buffer_load_dword v0, off, s[8:11], 0 offset:4
+; SDAG-NEXT:    s_waitcnt vmcnt(0)
+; SDAG-NEXT:    v_mul_f32_e32 v0, v0, v0
+; SDAG-NEXT:    buffer_store_dword v0, off, s[12:15], 0 offset:4
+; SDAG-NEXT:    buffer_load_dword v0, off, s[8:11], 0 offset:8
+; SDAG-NEXT:    s_waitcnt vmcnt(0)
+; SDAG-NEXT:    v_mul_f32_e32 v0, v0, v0
+; SDAG-NEXT:    buffer_store_dword v0, off, s[12:15], 0 offset:8
+; SDAG-NEXT:    buffer_load_dword v0, off, s[8:11], 0 offset:12
 ; SDAG-NEXT:    s_waitcnt vmcnt(0)
 ; SDAG-NEXT:    v_mul_f32_e32 v0, v0, v0
-; SDAG-NEXT:    v_mul_f32_e32 v1, v1, v1
-; SDAG-NEXT:    v_mul_f32_e32 v2, v2, v2
-; SDAG-NEXT:    v_mul_f32_e32 v3, v3, v3
-; SDAG-NEXT:    buffer_store_dwordx4 v[0:3], off, s[12:15], 0
+; SDAG-NEXT:    buffer_store_dword v0, off, s[12:15], 0 offset:12
----------------
srpande wrote:

same with store unvectorizing.

https://github.com/llvm/llvm-project/pull/144714


More information about the llvm-commits mailing list