[llvm] r226970 - R600/SI: Emit .hsa.version section for amdhsa OS
Hans Wennborg
hans at chromium.org
Mon Jan 26 09:26:57 PST 2015
On Mon, Jan 26, 2015 at 7:56 AM, Tom Stellard <tom at stellard.net> wrote:
> 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.
Yes, go ahead.
Thanks,
Hans
> 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