[llvm] r226970 - R600/SI: Emit .hsa.version section for amdhsa OS
Tom Stellard
tom at stellard.net
Mon Jan 26 07:56:02 PST 2015
Hi Hans,
Is this patch OK to merge to the 3.6? It adds missing version
information required by the HSA run-time.
I am the code owner and I approve this patch.
-Tom
On Fri, Jan 23, 2015 at 11:59:08PM -0000, Tom Stellard wrote:
> Author: tstellar
> Date: Fri Jan 23 17:59:08 2015
> New Revision: 226970
>
> URL: http://llvm.org/viewvc/llvm-project?rev=226970&view=rev
> Log:
> R600/SI: Emit .hsa.version section for amdhsa OS
>
> Modified:
> llvm/trunk/lib/Target/R600/AMDGPUAsmPrinter.cpp
> llvm/trunk/test/CodeGen/R600/hsa.ll
>
> Modified: llvm/trunk/lib/Target/R600/AMDGPUAsmPrinter.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/R600/AMDGPUAsmPrinter.cpp?rev=226970&r1=226969&r2=226970&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Target/R600/AMDGPUAsmPrinter.cpp (original)
> +++ llvm/trunk/lib/Target/R600/AMDGPUAsmPrinter.cpp Fri Jan 23 17:59:08 2015
> @@ -118,7 +118,6 @@ bool AMDGPUAsmPrinter::runOnMachineFunct
> 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::EmitAmdKernelCode
>
> 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);
>
> Modified: llvm/trunk/test/CodeGen/R600/hsa.ll
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/R600/hsa.ll?rev=226970&r1=226969&r2=226970&view=diff
> ==============================================================================
> --- llvm/trunk/test/CodeGen/R600/hsa.ll (original)
> +++ llvm/trunk/test/CodeGen/R600/hsa.ll Fri Jan 23 17:59:08 2015
> @@ -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
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
More information about the llvm-commits
mailing list