[llvm-branch-commits] [llvm] [AMDGPULowerBufferFatPointers] Handle ptrtoaddr by extending the offset (PR #139413)

Alexander Richardson via llvm-branch-commits llvm-branch-commits at lists.llvm.org
Wed Jun 11 11:09:29 PDT 2025


https://github.com/arichardson updated https://github.com/llvm/llvm-project/pull/139413

>From a2dec95d11a68c7911eef777ad78b07aa747bef5 Mon Sep 17 00:00:00 2001
From: Alex Richardson <alexrichardson at google.com>
Date: Sat, 10 May 2025 15:35:50 -0700
Subject: [PATCH 1/2] remove fixme

Created using spr 1.3.6-beta.1
---
 .../test/CodeGen/AMDGPU/lower-buffer-fat-pointers-pointer-ops.ll | 1 -
 1 file changed, 1 deletion(-)

diff --git a/llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-pointer-ops.ll b/llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-pointer-ops.ll
index 074c3cf7f3bbf..538145a11c733 100644
--- a/llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-pointer-ops.ll
+++ b/llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-pointer-ops.ll
@@ -278,7 +278,6 @@ define <2 x i32> @ptrtoaddr_vec(<2 x ptr addrspace(7)> %ptr) {
 }
 
 ;; Check that we extend the offset to i160 instead of reinterpreting all bits.
-;; FIXME: this is not currently correct.
 define i160 @ptrtoaddr_ext(ptr addrspace(7) %ptr) {
 ; CHECK-LABEL: define i160 @ptrtoaddr_ext
 ; CHECK-SAME: ({ ptr addrspace(8), i32 } [[PTR:%.*]]) #[[ATTR0]] {

>From d48e4abb04e112a195f6673e092f05ab964af70b Mon Sep 17 00:00:00 2001
From: Alex Richardson <alexrichardson at google.com>
Date: Wed, 11 Jun 2025 11:09:15 -0700
Subject: [PATCH 2/2] address review comment

Created using spr 1.3.6-beta.1
---
 llvm/lib/Target/AMDGPU/AMDGPULowerBufferFatPointers.cpp | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/llvm/lib/Target/AMDGPU/AMDGPULowerBufferFatPointers.cpp b/llvm/lib/Target/AMDGPU/AMDGPULowerBufferFatPointers.cpp
index 9c7dd7540db7d..26f1703a2f9b1 100644
--- a/llvm/lib/Target/AMDGPU/AMDGPULowerBufferFatPointers.cpp
+++ b/llvm/lib/Target/AMDGPU/AMDGPULowerBufferFatPointers.cpp
@@ -1959,8 +1959,7 @@ PtrParts SplitPtrStructs::visitPtrToAddrInst(PtrToAddrInst &PA) {
   IRB.SetInsertPoint(&PA);
 
   auto [Rsrc, Off] = getPtrParts(Ptr);
-  Value *Res = IRB.CreateIntCast(Off, PA.getType(), /*isSigned=*/false,
-                                 PA.getName() + ".off");
+  Value *Res = IRB.CreateIntCast(Off, PA.getType(), /*isSigned=*/false);
   copyMetadata(Res, &PA);
   Res->takeName(&PA);
   SplitUsers.insert(&PA);



More information about the llvm-branch-commits mailing list