[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