AMDGPU: Remove amdgpu-max-work-group-size attribute

This has been deprecated for a long time, and mesa recently switched
to amdgpu-flat-work-group-size.

llvm-svn: 362641
This commit is contained in:
Matt Arsenault 2019-06-05 20:32:32 +00:00
parent 0f8a764e8f
commit 4fb580c314
4 changed files with 3 additions and 14 deletions

View File

@ -424,8 +424,6 @@ The AMDGPU backend supports the following LLVM IR attributes.
argument block size for the implicit arguments. This argument block size for the implicit arguments. This
varies by OS and language (for OpenCL see varies by OS and language (for OpenCL see
:ref:`opencl-kernel-implicit-arguments-appended-for-amdhsa-os-table`). :ref:`opencl-kernel-implicit-arguments-appended-for-amdhsa-os-table`).
"amdgpu-max-work-group-size"="n" Specify the maximum work-group size that will be specifed
when the kernel is dispatched.
"amdgpu-num-sgpr"="n" Specifies the number of SGPRs to use. Generated by "amdgpu-num-sgpr"="n" Specifies the number of SGPRs to use. Generated by
the ``amdgpu_num_sgpr`` CLANG attribute [CLANG-ATTR]_. the ``amdgpu_num_sgpr`` CLANG attribute [CLANG-ATTR]_.
"amdgpu-num-vgpr"="n" Specifies the number of VGPRs to use. Generated by the "amdgpu-num-vgpr"="n" Specifies the number of VGPRs to use. Generated by the

View File

@ -340,12 +340,6 @@ std::pair<unsigned, unsigned> AMDGPUSubtarget::getFlatWorkGroupSizes(
std::pair<unsigned, unsigned> Default = std::pair<unsigned, unsigned> Default =
getDefaultFlatWorkGroupSize(F.getCallingConv()); getDefaultFlatWorkGroupSize(F.getCallingConv());
// TODO: Do not process "amdgpu-max-work-group-size" attribute once mesa
// starts using "amdgpu-flat-work-group-size" attribute.
Default.second = AMDGPU::getIntegerAttribute(
F, "amdgpu-max-work-group-size", Default.second);
Default.first = std::min(Default.first, Default.second);
// Requested minimum/maximum flat work group sizes. // Requested minimum/maximum flat work group sizes.
std::pair<unsigned, unsigned> Requested = AMDGPU::getIntegerPairAttribute( std::pair<unsigned, unsigned> Requested = AMDGPU::getIntegerPairAttribute(
F, "amdgpu-flat-work-group-size", Default); F, "amdgpu-flat-work-group-size", Default);
@ -379,10 +373,7 @@ std::pair<unsigned, unsigned> AMDGPUSubtarget::getWavesPerEU(
getMaxWavesPerEU(FlatWorkGroupSizes.second); getMaxWavesPerEU(FlatWorkGroupSizes.second);
bool RequestedFlatWorkGroupSize = false; bool RequestedFlatWorkGroupSize = false;
// TODO: Do not process "amdgpu-max-work-group-size" attribute once mesa if (F.hasFnAttribute("amdgpu-flat-work-group-size")) {
// starts using "amdgpu-flat-work-group-size" attribute.
if (F.hasFnAttribute("amdgpu-max-work-group-size") ||
F.hasFnAttribute("amdgpu-flat-work-group-size")) {
Default.first = MinImpliedByFlatWorkGroupSize; Default.first = MinImpliedByFlatWorkGroupSize;
RequestedFlatWorkGroupSize = true; RequestedFlatWorkGroupSize = true;
} }

View File

@ -264,7 +264,7 @@ entry:
ret void ret void
} }
attributes #0 = { nounwind "amdgpu-max-work-group-size"="63" } attributes #0 = { nounwind "amdgpu-flat-work-group-size"="63,63" }
attributes #1 = { nounwind "amdgpu-waves-per-eu"="1,3" "amdgpu-flat-work-group-size"="256,256" } attributes #1 = { nounwind "amdgpu-waves-per-eu"="1,3" "amdgpu-flat-work-group-size"="256,256" }
attributes #2 = { nounwind "amdgpu-waves-per-eu"="1,1" "amdgpu-flat-work-group-size"="1600,1600" } attributes #2 = { nounwind "amdgpu-waves-per-eu"="1,1" "amdgpu-flat-work-group-size"="1600,1600" }
attributes #3 = { nounwind "amdgpu-waves-per-eu"="1,10" } attributes #3 = { nounwind "amdgpu-waves-per-eu"="1,10" }

View File

@ -96,5 +96,5 @@ entry:
declare i32 @llvm.amdgcn.workitem.id.x() #1 declare i32 @llvm.amdgcn.workitem.id.x() #1
attributes #0 = { nounwind "amdgpu-max-work-group-size"="64" } attributes #0 = { nounwind "amdgpu-flat-work-group-size"="64,64" }
attributes #1 = { nounwind readnone } attributes #1 = { nounwind readnone }