================ @@ -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