================
@@ -216,24 +214,23 @@ define dso_local ptx_kernel void @escape_ptr_store(ptr 
nocapture noundef writeon
 ;
 ; PTX-LABEL: escape_ptr_store(
 ; PTX:       {
-; PTX-NEXT:    .local .align 4 .b8 __local_depot4[8];
+; PTX-NEXT:    .local .align 8 .b8 __local_depot4[8];
----------------
thetheodor wrote:

Maybe it's due to my change in `nvptx-lower-args`, I spotted this IR diff:

Before:
```
define dso_local ptx_kernel void @escape_ptr_store(ptr noundef writeonly 
captures(none) %out, ptr noundef byval(%struct.S) align 4 %s) 
local_unnamed_addr #0 {
entry:
  %s1 = alloca %struct.S, align 4
  %s2 = call ptr addrspace(101) @llvm.nvvm.internal.addrspace.wrap.p101.p0(ptr 
%s)
  call void @llvm.memcpy.p0.p101.i64(ptr align 4 %s1, ptr addrspace(101) align 
4 %s2, i64 8, i1 false)
  store ptr %s1, ptr %out, align 8
  ret void
}
```
After:
```
define dso_local ptx_kernel void @escape_ptr_store(ptr noundef writeonly 
captures(none) %out, ptr noundef byval(%struct.S) align 4 %s) 
local_unnamed_addr #0 {
entry:
  %s1 = alloca %struct.S, align 4
  %s.param = call align 4 ptr addrspace(101) 
@llvm.nvvm.internal.addrspace.wrap.p101.p0(ptr %s)
  call void @llvm.memcpy.p0.p101.i64(ptr align 4 %s1, ptr addrspace(101) align 
4 %s.param, i64 8, i1 false)
  store ptr %s1, ptr %out, align 8
  ret void
}
```

specifically:
`%s2 = call ptr addrspace(101) @llvm.nvvm.internal.addrspace.wrap.p101.p0(ptr 
%s)` vs `%s.param = call align 4 ptr addrspace(101) 
@llvm.nvvm.internal.addrspace.wrap.p101.p0(ptr %s)` an additional alignment 
annotation appeared. 

I'll investigate

https://github.com/llvm/llvm-project/pull/154814
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to