[llvm] [AMDGPU] Pass sret pointers in SGPRs (PR #203486)

Matt Arsenault via llvm-commits llvm-commits at lists.llvm.org
Fri Jun 12 03:51:32 PDT 2026


arsenm wrote:

> The sret pointer is a constant offset from the wave-uniform stack pointer,

You don't know that. sret is not required to directly reference a uniform alloca. Consider something like this:

```

define void @sret_func(ptr addrspace(5) sret(i32) %sret) {
  store i32 0, ptr addrspace(5) %sret
  ret void
}

define i32 @call_func(ptr addrspace(1) %indirect) {
  %ptr = load ptr addrspace(5), ptr addrspace(1) %indirect
  call void @sret_func(ptr addrspace(5) %ptr)
  %ld = load i32, ptr addrspace(5) %ptr
  ret i32 %ld
}

```

https://github.com/llvm/llvm-project/pull/203486


More information about the llvm-commits mailing list