forked from OSchip/llvm-project
R600/SI: Emit .hsa.version section for amdhsa OS
llvm-svn: 226970
This commit is contained in:
parent
3d4638b391
commit
edd188c459
|
@ -118,7 +118,6 @@ bool AMDGPUAsmPrinter::runOnMachineFunction(MachineFunction &MF) {
|
|||
const AMDGPUSubtarget &STM = TM.getSubtarget<AMDGPUSubtarget>();
|
||||
SIProgramInfo KernelInfo;
|
||||
if (STM.isAmdHsaOS()) {
|
||||
OutStreamer.SwitchSection(getObjFileLowering().getTextSection());
|
||||
getSIProgramInfo(KernelInfo, MF);
|
||||
EmitAmdKernelCodeT(MF, KernelInfo);
|
||||
OutStreamer.EmitCodeAlignment(2 << (MF.getAlignment() - 1));
|
||||
|
@ -511,6 +510,19 @@ void AMDGPUAsmPrinter::EmitAmdKernelCodeT(const MachineFunction &MF,
|
|||
|
||||
header.wavefront_size = STM.getWavefrontSize();
|
||||
|
||||
const MCSectionELF *VersionSection = OutContext.getELFSection(".hsa.version",
|
||||
ELF::SHT_PROGBITS, 0, SectionKind::getReadOnly());
|
||||
OutStreamer.SwitchSection(VersionSection);
|
||||
OutStreamer.EmitBytes(Twine("HSA Code Unit:" +
|
||||
Twine(header.hsail_version_major) + "." +
|
||||
Twine(header.hsail_version_minor) + ":" +
|
||||
"AMD:" +
|
||||
Twine(header.amd_code_version_major) + "." +
|
||||
Twine(header.amd_code_version_minor) + ":" +
|
||||
"GFX8.1:0").str());
|
||||
|
||||
OutStreamer.SwitchSection(getObjFileLowering().getTextSection());
|
||||
|
||||
if (isVerbose()) {
|
||||
OutStreamer.emitRawComment("amd_code_version_major = " +
|
||||
Twine(header.amd_code_version_major), false);
|
||||
|
|
|
@ -1,6 +1,8 @@
|
|||
; RUN: llc < %s -mtriple=r600--amdhsa -mcpu=kaveri | FileCheck --check-prefix=HSA %s
|
||||
|
||||
; HSA: {{^}}simple:
|
||||
; HSA: .section .hsa.version
|
||||
; HSA-NEXT: .ascii "HSA Code Unit:0.0:AMD:0.1:GFX8.1:0"
|
||||
; Make sure we are setting the ATC bit:
|
||||
; HSA: s_mov_b32 s[[HI:[0-9]]], 0x100f000
|
||||
; HSA: buffer_store_dword v{{[0-9]+}}, s[0:[[HI]]], 0
|
||||
|
|
Loading…
Reference in New Issue