Skip to content

Commit ecbd37d

Browse files
committed
[AMDGPU] Port no-hsa-graphic-shaders.ll to code object V4
Split from D146023 Reviewed By: arsenm Differential Revision: https://reviews.llvm.org/D152432
1 parent 1c6fd98 commit ecbd37d

File tree

3 files changed

+9
-4
lines changed

3 files changed

+9
-4
lines changed

llvm/lib/Target/AMDGPU/AMDGPUHSAMetadataStreamer.cpp

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -943,12 +943,13 @@ void MetadataStreamerMsgPackV3::end() {
943943
void MetadataStreamerMsgPackV3::emitKernel(const MachineFunction &MF,
944944
const SIProgramInfo &ProgramInfo) {
945945
auto &Func = MF.getFunction();
946+
if (Func.getCallingConv() != CallingConv::AMDGPU_KERNEL &&
947+
Func.getCallingConv() != CallingConv::SPIR_KERNEL)
948+
return;
949+
946950
auto CodeObjectVersion = AMDGPU::getCodeObjectVersion(*Func.getParent());
947951
auto Kern = getHSAKernelProps(MF, ProgramInfo, CodeObjectVersion);
948952

949-
assert(Func.getCallingConv() == CallingConv::AMDGPU_KERNEL ||
950-
Func.getCallingConv() == CallingConv::SPIR_KERNEL);
951-
952953
auto Kernels =
953954
getRootMetadata("amdhsa.kernels").getArray(/*Convert=*/true);
954955

llvm/lib/Target/AMDGPU/AMDGPUSubtarget.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -574,6 +574,10 @@ uint64_t AMDGPUSubtarget::getExplicitKernArgSize(const Function &F,
574574

575575
unsigned AMDGPUSubtarget::getKernArgSegmentSize(const Function &F,
576576
Align &MaxAlign) const {
577+
if (F.getCallingConv() != CallingConv::AMDGPU_KERNEL &&
578+
F.getCallingConv() != CallingConv::SPIR_KERNEL)
579+
return 0;
580+
577581
uint64_t ExplicitArgBytes = getExplicitKernArgSize(F, MaxAlign);
578582

579583
unsigned ExplicitOffset = getExplicitKernelArgOffset();

llvm/test/CodeGen/AMDGPU/no-hsa-graphics-shaders.ll

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,4 +16,4 @@ define amdgpu_gs void @geometry_shader() #0 {
1616
}
1717

1818
!llvm.module.flags = !{!0}
19-
!0 = !{i32 1, !"amdgpu_code_object_version", i32 200}
19+
!0 = !{i32 1, !"amdgpu_code_object_version", i32 400}

0 commit comments

Comments
 (0)