AMDGPU: Fix amdgpu-flat-work-group-size/amdgpu-waves-per-eu check

Differential Revision: https://reviews.llvm.org/D35433

llvm-svn: 308147
This commit is contained in:
Konstantin Zhuravlyov 2017-07-16 19:38:47 +00:00
parent 2899ec88fc
commit 2ec725c9d8
2 changed files with 13 additions and 1 deletions

View File

@ -277,7 +277,7 @@ std::pair<unsigned, unsigned> AMDGPUSubtarget::getWavesPerEU(
// Make sure requested values are compatible with values implied by requested
// minimum/maximum flat work group sizes.
if (RequestedFlatWorkGroupSize &&
Requested.first > MinImpliedByFlatWorkGroupSize)
Requested.first < MinImpliedByFlatWorkGroupSize)
return Default;
return Requested;

View File

@ -188,3 +188,15 @@ define amdgpu_kernel void @exactly_10() #9 {
ret void
}
attributes #9 = {"amdgpu-waves-per-eu"="10,10"}
; Exactly 256 workitems and exactly 2 waves.
; CHECK-LABEL: {{^}}empty_workitems_exactly_256_waves_exactly_2:
; CHECK: SGPRBlocks: 12
; CHECK: VGPRBlocks: 21
; CHECK: NumSGPRsForWavesPerEU: 102
; CHECK: NumVGPRsForWavesPerEU: 85
define amdgpu_kernel void @empty_workitems_exactly_256_waves_exactly_2() #10 {
entry:
ret void
}
attributes #10 = {"amdgpu-flat-work-group-size"="256,256" "amdgpu-waves-per-eu"="2,2"}