Skip to content

Commit 1affadb

Browse files
authored
AMDGPU: Drop legacy r600.read.global.size intrinsics from amdgcn (llvm#128700)
These ancient intrinsics were still consumed by the backend for libclc, which no longer uses them.
1 parent a12ca57 commit 1affadb

File tree

3 files changed

+2
-77
lines changed

3 files changed

+2
-77
lines changed

llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7400,13 +7400,8 @@ bool AMDGPULegalizerInfo::legalizeIntrinsic(LegalizerHelper &Helper,
74007400
return legalizeKernargMemParameter(MI, B, SI::KernelInputOffsets::LOCAL_SIZE_Y);
74017401
// TODO: Could insert G_ASSERT_ZEXT from s16
74027402
case Intrinsic::r600_read_local_size_z:
7403-
return legalizeKernargMemParameter(MI, B, SI::KernelInputOffsets::LOCAL_SIZE_Z);
7404-
case Intrinsic::r600_read_global_size_x:
7405-
return legalizeKernargMemParameter(MI, B, SI::KernelInputOffsets::GLOBAL_SIZE_X);
7406-
case Intrinsic::r600_read_global_size_y:
7407-
return legalizeKernargMemParameter(MI, B, SI::KernelInputOffsets::GLOBAL_SIZE_Y);
7408-
case Intrinsic::r600_read_global_size_z:
7409-
return legalizeKernargMemParameter(MI, B, SI::KernelInputOffsets::GLOBAL_SIZE_Z);
7403+
return legalizeKernargMemParameter(MI, B,
7404+
SI::KernelInputOffsets::LOCAL_SIZE_Z);
74107405
case Intrinsic::amdgcn_fdiv_fast:
74117406
return legalizeFDIVFastIntrin(MI, MRI, B);
74127407
case Intrinsic::amdgcn_is_shared:

llvm/lib/Target/AMDGPU/SIISelLowering.cpp

Lines changed: 0 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -8770,27 +8770,6 @@ SDValue SITargetLowering::LowerINTRINSIC_WO_CHAIN(SDValue Op,
87708770
return lowerKernargMemParameter(DAG, VT, VT, DL, DAG.getEntryNode(),
87718771
SI::KernelInputOffsets::NGROUPS_Z, Align(4),
87728772
false);
8773-
case Intrinsic::r600_read_global_size_x:
8774-
if (Subtarget->isAmdHsaOS())
8775-
return emitNonHSAIntrinsicError(DAG, DL, VT);
8776-
8777-
return lowerKernargMemParameter(DAG, VT, VT, DL, DAG.getEntryNode(),
8778-
SI::KernelInputOffsets::GLOBAL_SIZE_X,
8779-
Align(4), false);
8780-
case Intrinsic::r600_read_global_size_y:
8781-
if (Subtarget->isAmdHsaOS())
8782-
return emitNonHSAIntrinsicError(DAG, DL, VT);
8783-
8784-
return lowerKernargMemParameter(DAG, VT, VT, DL, DAG.getEntryNode(),
8785-
SI::KernelInputOffsets::GLOBAL_SIZE_Y,
8786-
Align(4), false);
8787-
case Intrinsic::r600_read_global_size_z:
8788-
if (Subtarget->isAmdHsaOS())
8789-
return emitNonHSAIntrinsicError(DAG, DL, VT);
8790-
8791-
return lowerKernargMemParameter(DAG, VT, VT, DL, DAG.getEntryNode(),
8792-
SI::KernelInputOffsets::GLOBAL_SIZE_Z,
8793-
Align(4), false);
87948773
case Intrinsic::r600_read_local_size_x:
87958774
if (Subtarget->isAmdHsaOS())
87968775
return emitNonHSAIntrinsicError(DAG, DL, VT);

llvm/test/CodeGen/AMDGPU/amdgpu.work-item-intrinsics.deprecated.ll

Lines changed: 0 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -53,51 +53,6 @@ entry:
5353
ret void
5454
}
5555

56-
; FUNC-LABEL: {{^}}global_size_x:
57-
; SI-NOHSA: s_load_dword [[VAL:s[0-9]+]], s[4:5], 0x3
58-
; VI-NOHSA: s_load_dword [[VAL:s[0-9]+]], s[4:5], 0xc
59-
; GCN-NOHSA: v_mov_b32_e32 [[VVAL:v[0-9]+]], [[VAL]]
60-
; GCN-NOHSA: buffer_store_dword [[VVAL]]
61-
62-
; EG: MEM_RAT_CACHELESS STORE_RAW [[VAL:T[0-9]+\.X]]
63-
; EG: MOV {{\*? *}}[[VAL]], KC0[0].W
64-
define amdgpu_kernel void @global_size_x (ptr addrspace(1) %out) {
65-
entry:
66-
%0 = call i32 @llvm.r600.read.global.size.x() #0
67-
store i32 %0, ptr addrspace(1) %out
68-
ret void
69-
}
70-
71-
; FUNC-LABEL: {{^}}global_size_y:
72-
; SI-NOHSA: s_load_dword [[VAL:s[0-9]+]], s[4:5], 0x4
73-
; VI-NOHSA: s_load_dword [[VAL:s[0-9]+]], s[4:5], 0x10
74-
; GCN-NOHSA: v_mov_b32_e32 [[VVAL:v[0-9]+]], [[VAL]]
75-
; GCN-NOHSA: buffer_store_dword [[VVAL]]
76-
77-
; EG: MEM_RAT_CACHELESS STORE_RAW [[VAL:T[0-9]+\.X]]
78-
; EG: MOV {{\*? *}}[[VAL]], KC0[1].X
79-
define amdgpu_kernel void @global_size_y (ptr addrspace(1) %out) {
80-
entry:
81-
%0 = call i32 @llvm.r600.read.global.size.y() #0
82-
store i32 %0, ptr addrspace(1) %out
83-
ret void
84-
}
85-
86-
; FUNC-LABEL: {{^}}global_size_z:
87-
; SI-NOHSA: s_load_dword [[VAL:s[0-9]+]], s[4:5], 0x5
88-
; VI-NOHSA: s_load_dword [[VAL:s[0-9]+]], s[4:5], 0x14
89-
; GCN-NOHSA: v_mov_b32_e32 [[VVAL:v[0-9]+]], [[VAL]]
90-
; GCN-NOHSA: buffer_store_dword [[VVAL]]
91-
92-
; EG: MEM_RAT_CACHELESS STORE_RAW [[VAL:T[0-9]+\.X]]
93-
; EG: MOV {{\*? *}}[[VAL]], KC0[1].Y
94-
define amdgpu_kernel void @global_size_z (ptr addrspace(1) %out) {
95-
entry:
96-
%0 = call i32 @llvm.r600.read.global.size.z() #0
97-
store i32 %0, ptr addrspace(1) %out
98-
ret void
99-
}
100-
10156
; FUNC-LABEL: {{^}}local_size_x:
10257
; SI-NOHSA: s_load_dword [[VAL:s[0-9]+]], s[4:5], 0x6
10358
; VI-NOHSA: s_load_dword [[VAL:s[0-9]+]], s[4:5], 0x18
@@ -147,10 +102,6 @@ declare i32 @llvm.r600.read.ngroups.x() #0
147102
declare i32 @llvm.r600.read.ngroups.y() #0
148103
declare i32 @llvm.r600.read.ngroups.z() #0
149104

150-
declare i32 @llvm.r600.read.global.size.x() #0
151-
declare i32 @llvm.r600.read.global.size.y() #0
152-
declare i32 @llvm.r600.read.global.size.z() #0
153-
154105
declare i32 @llvm.r600.read.local.size.x() #0
155106
declare i32 @llvm.r600.read.local.size.y() #0
156107
declare i32 @llvm.r600.read.local.size.z() #0

0 commit comments

Comments
 (0)