AMDGPU/AMDHSA: Set COMPUTE_PGM_RSRC2:LDS_SIZE to 0

This field is populated by the CP

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

llvm-svn: 302277
This commit is contained in:
Konstantin Zhuravlyov 2017-05-05 20:13:55 +00:00
parent 391a2ac09b
commit 6ccb076aeb
2 changed files with 6 additions and 1 deletions

View File

@ -713,7 +713,8 @@ void AMDGPUAsmPrinter::getSIProgramInfo(SIProgramInfo &ProgInfo,
S_00B84C_TG_SIZE_EN(MFI->hasWorkGroupInfo()) |
S_00B84C_TIDIG_COMP_CNT(TIDIGCompCnt) |
S_00B84C_EXCP_EN_MSB(0) |
S_00B84C_LDS_SIZE(ProgInfo.LDSBlocks) |
// For AMDHSA, LDS_SIZE must be zero, as it is populated by the CP.
S_00B84C_LDS_SIZE(STM.isAmdHsaOS() ? 0 : ProgInfo.LDSBlocks) |
S_00B84C_EXCP_EN(0);
}

View File

@ -1,4 +1,5 @@
; RUN: llc -march=amdgcn < %s | FileCheck -check-prefix=ALL -check-prefix=GCN %s
; RUN: llc -mtriple=amdgcn-amd-amdhsa < %s | FileCheck -check-prefix=ALL -check-prefix=HSA %s
; RUN: llc -march=r600 -mcpu=redwood < %s | FileCheck -check-prefix=ALL -check-prefix=EG %s
; This test makes sure we do not double count global values when they are
@ -11,6 +12,9 @@
; EG-NEXT: .long 1
; ALL: {{^}}test:
; HSA: granulated_lds_size = 0
; HSA: workgroup_group_segment_byte_size = 4
; GCN: ; LDSByteSize: 4 bytes/workgroup (compile time only)
@lds = internal unnamed_addr addrspace(3) global i32 undef, align 4