Commit 25a335d8 authored by Tom Stellard's avatar Tom Stellard
Browse files

Merging r226970:

------------------------------------------------------------------------
r226970 | thomas.stellard | 2015-01-23 18:59:08 -0500 (Fri, 23 Jan 2015) | 2 lines

R600/SI: Emit .hsa.version section for amdhsa OS

------------------------------------------------------------------------

llvm-svn: 227365
parent 2df27232
Loading
Loading
Loading
Loading
+13 −1
Original line number Diff line number Diff line
@@ -116,7 +116,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));
@@ -509,6 +508,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);
+2 −0
Original line number Diff line number Diff line
; 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