================
@@ -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
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits