[llvm] [NVPTX] Lower allocas to the local address space (PR #204346)
Tim Besard via llvm-commits
llvm-commits at lists.llvm.org
Fri Jul 17 06:46:32 PDT 2026
================
@@ -21,18 +21,17 @@ define internal i32 @foo() {
; CHECK-NEXT: prototype_0 : .callprototype (.param .b32 _) _ (.param .align 1 .b8 _[1], .param .b64 _);
; CHECK-NEXT: // %bb.0: // %entry
; CHECK-NEXT: mov.b64 %SPL, __local_depot0;
-; CHECK-NEXT: cvta.local.u64 %SP, %SPL;
-; CHECK-NEXT: ld.global.b64 %rd1, [ptr];
+; CHECK-NEXT: add.u64 %rd1, %SPL, 0;
+; CHECK-NEXT: cvta.local.u64 %rd2, %rd1;
+; CHECK-NEXT: ld.global.b64 %rd3, [ptr];
; CHECK-NEXT: { // callseq 0, 0
; CHECK-NEXT: .param .align 1 .b8 param0[1];
; CHECK-NEXT: .param .b64 param1;
; CHECK-NEXT: .param .b32 retval0;
-; CHECK-NEXT: add.u64 %rd2, %SP, 0;
; CHECK-NEXT: st.param.b64 [param1], %rd2;
-; CHECK-NEXT: add.u64 %rd3, %SPL, 1;
-; CHECK-NEXT: ld.local.b8 %rs1, [%rd3];
+; CHECK-NEXT: ld.b8 %rs1, [%SPL+1];
----------------
maleadt wrote:
> It may be interesting to add an optimized llc run to verify that AS inference still can do its job in the optimized build.
Doesn't `llc` in here default to `-O2` already? I'll make it explicit though.
https://github.com/llvm/llvm-project/pull/204346
More information about the llvm-commits
mailing list