<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Exchange Server">
<!-- converted from text --><style><!-- .EmailQuote { margin-left: 1pt; padding-left: 4pt; border-left: #800000 2px solid; } --></style>
</head>
<body>
<meta content="text/html; charset=UTF-8">
<style type="text/css" style="">
<!--
p
{margin-top:0;
margin-bottom:0}
-->
</style>
<div dir="ltr">
<div style="font-family:Calibri,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
ok</div>
<hr tabindex="-1" style="display:inline-block; width:98%">
<div id="x_divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" color="#000000" style="font-size:11pt"><b>From:</b> Bruno Cardoso Lopes <bruno.cardoso@gmail.com><br>
<b>Sent:</b> Saturday, October 14, 2017 6:16 PM<br>
<b>To:</b> Konstantin Zhuravlyov<br>
<b>Cc:</b> Konstantin Zhuravlyov; llvm-commits<br>
<b>Subject:</b> Re: [llvm] r315808 - AMDGPU: Add support for isa version note</font>
<div> </div>
</div>
</div>
<font size="2"><span style="font-size:10pt;">
<div class="PlainText">The list of your AMDGPU commits is too long to revert, I temporarily<br>
disabled the test for darwin in r315829. Can you please revert r315829<br>
once you get this fixed?<br>
<br>
Thanks,<br>
<br>
On Sat, Oct 14, 2017 at 12:36 PM, Bruno Cardoso Lopes<br>
<bruno.cardoso@gmail.com> wrote:<br>
> Thanks!<br>
><br>
> On Sat, Oct 14, 2017 at 12:36 PM, Konstantin Zhuravlyov<br>
> <kzhuravl@outlook.com> wrote:<br>
>> Taking a look. Thanks.<br>
>> ________________________________<br>
>> From: Bruno Cardoso Lopes <bruno.cardoso@gmail.com><br>
>> Sent: Saturday, October 14, 2017 3:11 PM<br>
>> To: Konstantin Zhuravlyov<br>
>> Cc: llvm-commits<br>
>> Subject: Re: [llvm] r315808 - AMDGPU: Add support for isa version note<br>
>><br>
>> Hi,<br>
>><br>
>> There's a test failing because of this:<br>
>> <a href="http://green.lab.llvm.org/green/job/clang-stage1-cmake-RA-incremental/43381/">
http://green.lab.llvm.org/green/job/clang-stage1-cmake-RA-incremental/43381/</a><br>
>><br>
>> Can you take a look?<br>
>><br>
>> On Sat, Oct 14, 2017 at 8:40 AM, Konstantin Zhuravlyov via<br>
>> llvm-commits <llvm-commits@lists.llvm.org> wrote:<br>
>>> Author: kzhuravl<br>
>>> Date: Sat Oct 14 08:40:33 2017<br>
>>> New Revision: 315808<br>
>>><br>
>>> URL: <a href="http://llvm.org/viewvc/llvm-project?rev=315808&view=rev">http://llvm.org/viewvc/llvm-project?rev=315808&view=rev</a><br>
>>> Log:<br>
>>> AMDGPU: Add support for isa version note<br>
>>><br>
>>> - Emit NT_AMD_AMDGPU_ISA<br>
>>> - Add assembler parsing for isa version directive<br>
>>> - If isa version directive does not match command line arguments, then<br>
>>> return error<br>
>>><br>
>>> Differential Revision: <a href="https://reviews.llvm.org/D38748">https://reviews.llvm.org/D38748</a><br>
>>><br>
>>> Added:<br>
>>> llvm/trunk/test/CodeGen/AMDGPU/elf-notes.ll<br>
>>> llvm/trunk/test/MC/AMDGPU/isa-version-hsa.s<br>
>>> llvm/trunk/test/MC/AMDGPU/isa-version-pal.s<br>
>>> llvm/trunk/test/MC/AMDGPU/isa-version-unk.s<br>
>>> Modified:<br>
>>> llvm/trunk/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp<br>
>>> llvm/trunk/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp<br>
>>> llvm/trunk/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp<br>
>>> llvm/trunk/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.h<br>
>>> llvm/trunk/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp<br>
>>> llvm/trunk/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h<br>
>>><br>
>>> Modified: llvm/trunk/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp<br>
>>> URL:<br>
>>> <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp?rev=315808&r1=315807&r2=315808&view=diff">
http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp?rev=315808&r1=315807&r2=315808&view=diff</a><br>
>>><br>
>>> ==============================================================================<br>
>>> --- llvm/trunk/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp (original)<br>
>>> +++ llvm/trunk/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp Sat Oct 14 08:40:33<br>
>>> 2017<br>
>>> @@ -132,6 +132,22 @@ void AMDGPUAsmPrinter::EmitStartOfAsmFil<br>
>>> }<br>
>>><br>
>>> void AMDGPUAsmPrinter::EmitEndOfAsmFile(Module &M) {<br>
>>> + if (TM.getTargetTriple().getArch() != Triple::amdgcn)<br>
>>> + return;<br>
>>> +<br>
>>> + // Emit ISA Version (NT_AMD_AMDGPU_ISA).<br>
>>> + std::string ISAVersionString;<br>
>>> + raw_string_ostream ISAVersionStream(ISAVersionString);<br>
>>> + IsaInfo::streamIsaVersion(getSTI(), ISAVersionStream);<br>
>>> + getTargetStreamer().EmitISAVersion(ISAVersionStream.str());<br>
>>> +<br>
>>> + // Emit HSA Metadata (NT_AMD_AMDGPU_HSA_METADATA).<br>
>>> + if (TM.getTargetTriple().getOS() == Triple::AMDHSA) {<br>
>>> + HSAMetadataStream.end();<br>
>>> +<br>
>>> getTargetStreamer().EmitHSAMetadata(HSAMetadataStream.getHSAMetadata());<br>
>>> + }<br>
>>> +<br>
>>> + // Emit PAL Metadata (NT_AMD_AMDGPU_PAL_METADATA).<br>
>>> if (TM.getTargetTriple().getOS() == Triple::AMDPAL) {<br>
>>> // Copy the PAL metadata from the map where we collected it into a<br>
>>> vector,<br>
>>> // then write it as a .note.<br>
>>> @@ -142,12 +158,6 @@ void AMDGPUAsmPrinter::EmitEndOfAsmFile(<br>
>>> }<br>
>>> getTargetStreamer().EmitPALMetadata(PALMetadataVector);<br>
>>> }<br>
>>> -<br>
>>> - if (TM.getTargetTriple().getOS() != Triple::AMDHSA)<br>
>>> - return;<br>
>>> -<br>
>>> - HSAMetadataStream.end();<br>
>>> -<br>
>>> getTargetStreamer().EmitHSAMetadata(HSAMetadataStream.getHSAMetadata());<br>
>>> }<br>
>>><br>
>>> bool AMDGPUAsmPrinter::isBlockOnlyReachableByFallthrough(<br>
>>><br>
>>> Modified: llvm/trunk/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp<br>
>>> URL:<br>
>>> <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp?rev=315808&r1=315807&r2=315808&view=diff">
http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp?rev=315808&r1=315807&r2=315808&view=diff</a><br>
>>><br>
>>> ==============================================================================<br>
>>> --- llvm/trunk/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp (original)<br>
>>> +++ llvm/trunk/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp Sat Oct 14<br>
>>> 08:40:33 2017<br>
>>> @@ -832,6 +832,7 @@ private:<br>
>>> bool subtargetHasRegister(const MCRegisterInfo &MRI, unsigned RegNo)<br>
>>> const;<br>
>>> bool ParseDirectiveAMDGPUHsaKernel();<br>
>>><br>
>>> + bool ParseDirectiveISAVersion();<br>
>>> bool ParseDirectiveHSAMetadata();<br>
>>> bool ParseDirectivePALMetadata();<br>
>>><br>
>>> @@ -2452,6 +2453,25 @@ bool AMDGPUAsmParser::ParseDirectiveAMDG<br>
>>> return false;<br>
>>> }<br>
>>><br>
>>> +bool AMDGPUAsmParser::ParseDirectiveISAVersion() {<br>
>>> + auto ISAVersionStringFromASM = getLexer().getTok().getStringContents();<br>
>>> +<br>
>>> + std::string ISAVersionStringFromSTI;<br>
>>> + raw_string_ostream ISAVersionStreamFromSTI(ISAVersionStringFromSTI);<br>
>>> + IsaInfo::streamIsaVersion(&getSTI(), ISAVersionStreamFromSTI);<br>
>>> +<br>
>>> + if (ISAVersionStringFromASM != ISAVersionStreamFromSTI.str()) {<br>
>>> + return Error(getParser().getTok().getLoc(),<br>
>>> + ".amd_amdgpu_isa directive does not match triple and/or<br>
>>> mcpu "<br>
>>> + "arguments specified through the command line");<br>
>>> + }<br>
>>> +<br>
>>> + getTargetStreamer().EmitISAVersion(ISAVersionStreamFromSTI.str());<br>
>>> + Lex();<br>
>>> +<br>
>>> + return false;<br>
>>> +}<br>
>>> +<br>
>>> bool AMDGPUAsmParser::ParseDirectiveHSAMetadata() {<br>
>>> std::string HSAMetadataString;<br>
>>> raw_string_ostream YamlStream(HSAMetadataString);<br>
>>> @@ -2527,6 +2547,9 @@ bool AMDGPUAsmParser::ParseDirective(Asm<br>
>>> if (IDVal == ".amdgpu_hsa_kernel")<br>
>>> return ParseDirectiveAMDGPUHsaKernel();<br>
>>><br>
>>> + if (IDVal == ".amd_amdgpu_isa")<br>
>>> + return ParseDirectiveISAVersion();<br>
>>> +<br>
>>> if (IDVal == AMDGPU::HSAMD::AssemblerDirectiveBegin)<br>
>>> return ParseDirectiveHSAMetadata();<br>
>>><br>
>>><br>
>>> Modified:<br>
>>> llvm/trunk/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp<br>
>>> URL:<br>
>>> <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp?rev=315808&r1=315807&r2=315808&view=diff">
http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp?rev=315808&r1=315807&r2=315808&view=diff</a><br>
>>><br>
>>> ==============================================================================<br>
>>> --- llvm/trunk/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp<br>
>>> (original)<br>
>>> +++ llvm/trunk/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp Sat<br>
>>> Oct 14 08:40:33 2017<br>
>>> @@ -39,9 +39,6 @@ using namespace llvm::AMDGPU;<br>
>>> // AMDGPUTargetStreamer<br>
>>><br>
>>> //===----------------------------------------------------------------------===//<br>
>>><br>
>>> -AMDGPUTargetStreamer::AMDGPUTargetStreamer(MCStreamer &S)<br>
>>> - : MCTargetStreamer(S) {}<br>
>>> -<br>
>>> bool AMDGPUTargetStreamer::EmitHSAMetadata(StringRef HSAMetadataString) {<br>
>>> HSAMD::Metadata HSAMetadata;<br>
>>> if (HSAMD::fromString(HSAMetadataString, HSAMetadata))<br>
>>> @@ -94,6 +91,11 @@ void AMDGPUTargetAsmStreamer::EmitAMDGPU<br>
>>> }<br>
>>> }<br>
>>><br>
>>> +bool AMDGPUTargetAsmStreamer::EmitISAVersion(StringRef IsaVersionString)<br>
>>> {<br>
>>> + OS << "\t.amd_amdgpu_isa \"" << IsaVersionString << "\"\n";<br>
>>> + return true;<br>
>>> +}<br>
>>> +<br>
>>> bool AMDGPUTargetAsmStreamer::EmitHSAMetadata(<br>
>>> const AMDGPU::HSAMD::Metadata &HSAMetadata) {<br>
>>> std::string HSAMetadataString;<br>
>>> @@ -208,6 +210,28 @@ void AMDGPUTargetELFStreamer::EmitAMDGPU<br>
>>> Symbol->setType(ELF::STT_AMDGPU_HSA_KERNEL);<br>
>>> }<br>
>>><br>
>>> +bool AMDGPUTargetELFStreamer::EmitISAVersion(StringRef IsaVersionString)<br>
>>> {<br>
>>> + // Create two labels to mark the beginning and end of the desc field<br>
>>> + // and a MCExpr to calculate the size of the desc field.<br>
>>> + auto &Context = getContext();<br>
>>> + auto *DescBegin = Context.createTempSymbol();<br>
>>> + auto *DescEnd = Context.createTempSymbol();<br>
>>> + auto *DescSZ = MCBinaryExpr::createSub(<br>
>>> + MCSymbolRefExpr::create(DescEnd, Context),<br>
>>> + MCSymbolRefExpr::create(DescBegin, Context), Context);<br>
>>> +<br>
>>> + EmitAMDGPUNote(<br>
>>> + DescSZ,<br>
>>> + ELF::NT_AMD_AMDGPU_ISA,<br>
>>> + [&](MCELFStreamer &OS) {<br>
>>> + OS.EmitLabel(DescBegin);<br>
>>> + OS.EmitBytes(IsaVersionString);<br>
>>> + OS.EmitLabel(DescEnd);<br>
>>> + }<br>
>>> + );<br>
>>> + return true;<br>
>>> +}<br>
>>> +<br>
>>> bool AMDGPUTargetELFStreamer::EmitHSAMetadata(<br>
>>> const AMDGPU::HSAMD::Metadata &HSAMetadata) {<br>
>>> std::string HSAMetadataString;<br>
>>><br>
>>> Modified: llvm/trunk/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.h<br>
>>> URL:<br>
>>> <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.h?rev=315808&r1=315807&r2=315808&view=diff">
http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.h?rev=315808&r1=315807&r2=315808&view=diff</a><br>
>>><br>
>>> ==============================================================================<br>
>>> --- llvm/trunk/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.h<br>
>>> (original)<br>
>>> +++ llvm/trunk/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.h Sat<br>
>>> Oct 14 08:40:33 2017<br>
>>> @@ -12,6 +12,7 @@<br>
>>><br>
>>> #include "AMDKernelCodeT.h"<br>
>>> #include "llvm/MC/MCStreamer.h"<br>
>>> +#include "llvm/MC/MCSubtargetInfo.h"<br>
>>> #include "llvm/Support/AMDGPUMetadata.h"<br>
>>><br>
>>> namespace llvm {<br>
>>> @@ -30,7 +31,8 @@ protected:<br>
>>> MCContext &getContext() const { return Streamer.getContext(); }<br>
>>><br>
>>> public:<br>
>>> - AMDGPUTargetStreamer(MCStreamer &S);<br>
>>> + AMDGPUTargetStreamer(MCStreamer &S) : MCTargetStreamer(S) {}<br>
>>> +<br>
>>> virtual void EmitDirectiveHSACodeObjectVersion(uint32_t Major,<br>
>>> uint32_t Minor) = 0;<br>
>>><br>
>>> @@ -44,6 +46,9 @@ public:<br>
>>> virtual void EmitAMDGPUSymbolType(StringRef SymbolName, unsigned Type)<br>
>>> = 0;<br>
>>><br>
>>> /// \returns True on success, false on failure.<br>
>>> + virtual bool EmitISAVersion(StringRef IsaVersionString) = 0;<br>
>>> +<br>
>>> + /// \returns True on success, false on failure.<br>
>>> virtual bool EmitHSAMetadata(StringRef HSAMetadataString);<br>
>>><br>
>>> /// \returns True on success, false on failure.<br>
>>> @@ -69,6 +74,9 @@ public:<br>
>>> void EmitAMDGPUSymbolType(StringRef SymbolName, unsigned Type)<br>
>>> override;<br>
>>><br>
>>> /// \returns True on success, false on failure.<br>
>>> + bool EmitISAVersion(StringRef IsaVersionString) override;<br>
>>> +<br>
>>> + /// \returns True on success, false on failure.<br>
>>> bool EmitHSAMetadata(const AMDGPU::HSAMD::Metadata &HSAMetadata)<br>
>>> override;<br>
>>><br>
>>> /// \returns True on success, false on failure.<br>
>>> @@ -98,6 +106,9 @@ public:<br>
>>> void EmitAMDGPUSymbolType(StringRef SymbolName, unsigned Type)<br>
>>> override;<br>
>>><br>
>>> /// \returns True on success, false on failure.<br>
>>> + bool EmitISAVersion(StringRef IsaVersionString) override;<br>
>>> +<br>
>>> + /// \returns True on success, false on failure.<br>
>>> bool EmitHSAMetadata(const AMDGPU::HSAMD::Metadata &HSAMetadata)<br>
>>> override;<br>
>>><br>
>>> /// \returns True on success, false on failure.<br>
>>><br>
>>> Modified: llvm/trunk/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp<br>
>>> URL:<br>
>>> <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp?rev=315808&r1=315807&r2=315808&view=diff">
http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp?rev=315808&r1=315807&r2=315808&view=diff</a><br>
>>><br>
>>> ==============================================================================<br>
>>> --- llvm/trunk/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp (original)<br>
>>> +++ llvm/trunk/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp Sat Oct 14<br>
>>> 08:40:33 2017<br>
>>> @@ -147,6 +147,21 @@ IsaVersion getIsaVersion(const FeatureBi<br>
>>> return {7, 0, 0};<br>
>>> }<br>
>>><br>
>>> +void streamIsaVersion(const MCSubtargetInfo *STI, raw_ostream &Stream) {<br>
>>> + auto TargetTriple = STI->getTargetTriple();<br>
>>> + auto ISAVersion = IsaInfo::getIsaVersion(STI->getFeatureBits());<br>
>>> +<br>
>>> + Stream << TargetTriple.getArchName() << '-'<br>
>>> + << TargetTriple.getVendorName() << '-'<br>
>>> + << TargetTriple.getOSName() << '-'<br>
>>> + << TargetTriple.getEnvironmentName() << '-'<br>
>>> + << "gfx"<br>
>>> + << ISAVersion.Major<br>
>>> + << ISAVersion.Minor<br>
>>> + << ISAVersion.Stepping;<br>
>>> + Stream.flush();<br>
>>> +}<br>
>>> +<br>
>>> unsigned getWavefrontSize(const FeatureBitset &Features) {<br>
>>> if (Features.test(FeatureWavefrontSize16))<br>
>>> return 16;<br>
>>><br>
>>> Modified: llvm/trunk/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h<br>
>>> URL:<br>
>>> <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h?rev=315808&r1=315807&r2=315808&view=diff">
http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h?rev=315808&r1=315807&r2=315808&view=diff</a><br>
>>><br>
>>> ==============================================================================<br>
>>> --- llvm/trunk/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h (original)<br>
>>> +++ llvm/trunk/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h Sat Oct 14<br>
>>> 08:40:33 2017<br>
>>> @@ -19,6 +19,7 @@<br>
>>> #include "llvm/Support/Compiler.h"<br>
>>> #include "llvm/Support/ErrorHandling.h"<br>
>>> #include <cstdint><br>
>>> +#include <string><br>
>>> #include <utility><br>
>>><br>
>>> namespace llvm {<br>
>>> @@ -54,6 +55,9 @@ struct IsaVersion {<br>
>>> /// \returns Isa version for given subtarget \p Features.<br>
>>> IsaVersion getIsaVersion(const FeatureBitset &Features);<br>
>>><br>
>>> +/// \brief Streams isa version string for given subtarget \p STI into \p<br>
>>> Stream.<br>
>>> +void streamIsaVersion(const MCSubtargetInfo *STI, raw_ostream &Stream);<br>
>>> +<br>
>>> /// \returns Wavefront size for given subtarget \p Features.<br>
>>> unsigned getWavefrontSize(const FeatureBitset &Features);<br>
>>><br>
>>><br>
>>> Added: llvm/trunk/test/CodeGen/AMDGPU/elf-notes.ll<br>
>>> URL:<br>
>>> <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/AMDGPU/elf-notes.ll?rev=315808&view=auto">
http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/AMDGPU/elf-notes.ll?rev=315808&view=auto</a><br>
>>><br>
>>> ==============================================================================<br>
>>> --- llvm/trunk/test/CodeGen/AMDGPU/elf-notes.ll (added)<br>
>>> +++ llvm/trunk/test/CodeGen/AMDGPU/elf-notes.ll Sat Oct 14 08:40:33 2017<br>
>>> @@ -0,0 +1,25 @@<br>
>>> +; RUN: llc -mtriple=amdgcn-amd-unknown -mcpu=gfx800 < %s | FileCheck<br>
>>> --check-prefix=GCN --check-prefix=OSABI-UNK --check-prefix=GFX800 %s<br>
>>> +; RUN: llc -mtriple=amdgcn-amd-unknown -mcpu=iceland < %s | FileCheck<br>
>>> --check-prefix=GCN --check-prefix=OSABI-UNK --check-prefix=GFX800 %s<br>
>>> +; RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx800 < %s | FileCheck<br>
>>> --check-prefix=GCN --check-prefix=OSABI-HSA --check-prefix=GFX800 %s<br>
>>> +; RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=iceland < %s | FileCheck<br>
>>> --check-prefix=GCN --check-prefix=OSABI-HSA --check-prefix=GFX800 %s<br>
>>> +; RUN: llc -mtriple=amdgcn-amd-amdpal -mcpu=gfx800 < %s | FileCheck<br>
>>> --check-prefix=GCN --check-prefix=OSABI-PAL --check-prefix=GFX800 %s<br>
>>> +; RUN: llc -mtriple=amdgcn-amd-amdpal -mcpu=iceland < %s | FileCheck<br>
>>> --check-prefix=GCN --check-prefix=OSABI-PAL --check-prefix=GFX800 %s<br>
>>> +; RUN: llc -march=r600 < %s | FileCheck --check-prefix=R600 %s<br>
>>> +<br>
>>> +; OSABI-UNK: .amd_amdgpu_isa "amdgcn-amd-unknown--gfx800"<br>
>>> +; OSABI-UNK-NOT: .amd_amdgpu_hsa_metadata<br>
>>> +; OSABI-UNK-NOT: .amd_amdgpu_pal_metadata<br>
>>> +<br>
>>> +; OSABI-HSA: .amd_amdgpu_isa "amdgcn-amd-amdhsa--gfx800"<br>
>>> +; OSABI-HSA: .amd_amdgpu_hsa_metadata<br>
>>> +<br>
>>> +; OSABI-PAL: .amd_amdgpu_isa "amdgcn-amd-amdpal--gfx800"<br>
>>> +; OSABI-PAL: .amd_amdgpu_pal_metadata<br>
>>> +<br>
>>> +; R600-NOT: .amd_amdgpu_isa<br>
>>> +; R600-NOT: .amd_amdgpu_hsa_metadata<br>
>>> +; R600-NOT: .amd_amdgpu_hsa_metadata<br>
>>> +<br>
>>> +define amdgpu_kernel void @elf_notes() {<br>
>>> + ret void<br>
>>> +}<br>
>>><br>
>>> Added: llvm/trunk/test/MC/AMDGPU/isa-version-hsa.s<br>
>>> URL:<br>
>>> <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/AMDGPU/isa-version-hsa.s?rev=315808&view=auto">
http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/AMDGPU/isa-version-hsa.s?rev=315808&view=auto</a><br>
>>><br>
>>> ==============================================================================<br>
>>> --- llvm/trunk/test/MC/AMDGPU/isa-version-hsa.s (added)<br>
>>> +++ llvm/trunk/test/MC/AMDGPU/isa-version-hsa.s Sat Oct 14 08:40:33 2017<br>
>>> @@ -0,0 +1,14 @@<br>
>>> +// RUN: not llvm-mc -triple amdgcn-amd-unknown -mcpu=gfx800 %s 2>&1 |<br>
>>> FileCheck --check-prefix=GCN --check-prefix=OSABI-UNK-ERR<br>
>>> --check-prefix=GFX800 %s<br>
>>> +// RUN: not llvm-mc -triple amdgcn-amd-unknown -mcpu=iceland %s 2>&1 |<br>
>>> FileCheck --check-prefix=GCN --check-prefix=OSABI-UNK-ERR<br>
>>> --check-prefix=GFX800 %s<br>
>>> +// RUN: llvm-mc -triple amdgcn-amd-amdhsa -mcpu=gfx800 %s | FileCheck<br>
>>> --check-prefix=GCN --check-prefix=OSABI-HSA --check-prefix=GFX800 %s<br>
>>> +// RUN: llvm-mc -triple amdgcn-amd-amdhsa -mcpu=iceland %s | FileCheck<br>
>>> --check-prefix=GCN --check-prefix=OSABI-HSA --check-prefix=GFX800 %s<br>
>>> +// RUN: not llvm-mc -triple amdgcn-amd-amdhsa -mcpu=gfx803 %s 2>&1 |<br>
>>> FileCheck --check-prefix=GCN --check-prefix=OSABI-HSA-ERR<br>
>>> --check-prefix=GFX800 %s<br>
>>> +// RUN: not llvm-mc -triple amdgcn-amd-amdpal -mcpu=gfx800 %s 2>&1 |<br>
>>> FileCheck --check-prefix=GCN --check-prefix=OSABI-PAL-ERR<br>
>>> --check-prefix=GFX800 %s<br>
>>> +// RUN: not llvm-mc -triple amdgcn-amd-amdpal -mcpu=iceland %s 2>&1 |<br>
>>> FileCheck --check-prefix=GCN --check-prefix=OSABI-PAL-ERR<br>
>>> --check-prefix=GFX800 %s<br>
>>> +<br>
>>> +<br>
>>> +// OSABI-HSA: .amd_amdgpu_isa "amdgcn-amd-amdhsa--gfx800"<br>
>>> +// OSABI-UNK-ERR: error: .amd_amdgpu_isa directive does not match triple<br>
>>> and/or mcpu arguments specified through the command line<br>
>>> +// OSABI-HSA-ERR: error: .amd_amdgpu_isa directive does not match triple<br>
>>> and/or mcpu arguments specified through the command line<br>
>>> +// OSABI-PAL-ERR: error: .amd_amdgpu_isa directive does not match triple<br>
>>> and/or mcpu arguments specified through the command line<br>
>>> +.amd_amdgpu_isa "amdgcn-amd-amdhsa--gfx800"<br>
>>><br>
>>> Added: llvm/trunk/test/MC/AMDGPU/isa-version-pal.s<br>
>>> URL:<br>
>>> <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/AMDGPU/isa-version-pal.s?rev=315808&view=auto">
http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/AMDGPU/isa-version-pal.s?rev=315808&view=auto</a><br>
>>><br>
>>> ==============================================================================<br>
>>> --- llvm/trunk/test/MC/AMDGPU/isa-version-pal.s (added)<br>
>>> +++ llvm/trunk/test/MC/AMDGPU/isa-version-pal.s Sat Oct 14 08:40:33 2017<br>
>>> @@ -0,0 +1,13 @@<br>
>>> +// RUN: not llvm-mc -triple amdgcn-amd-unknown -mcpu=gfx800 %s 2>&1 |<br>
>>> FileCheck --check-prefix=GCN --check-prefix=OSABI-UNK-ERR<br>
>>> --check-prefix=GFX800 %s<br>
>>> +// RUN: not llvm-mc -triple amdgcn-amd-unknown -mcpu=iceland %s 2>&1 |<br>
>>> FileCheck --check-prefix=GCN --check-prefix=OSABI-UNK-ERR<br>
>>> --check-prefix=GFX800 %s<br>
>>> +// RUN: not llvm-mc -triple amdgcn-amd-amdhsa -mcpu=gfx800 %s 2>&1 |<br>
>>> FileCheck --check-prefix=GCN --check-prefix=OSABI-HSA-ERR<br>
>>> --check-prefix=GFX800 %s<br>
>>> +// RUN: not llvm-mc -triple amdgcn-amd-amdhsa -mcpu=iceland %s 2>&1 |<br>
>>> FileCheck --check-prefix=GCN --check-prefix=OSABI-HSA-ERR<br>
>>> --check-prefix=GFX800 %s<br>
>>> +// RUN: llvm-mc -triple amdgcn-amd-amdpal -mcpu=gfx800 %s | FileCheck<br>
>>> --check-prefix=GCN --check-prefix=OSABI-PAL --check-prefix=GFX800 %s<br>
>>> +// RUN: llvm-mc -triple amdgcn-amd-amdpal -mcpu=iceland %s | FileCheck<br>
>>> --check-prefix=GCN --check-prefix=OSABI-PAL --check-prefix=GFX800 %s<br>
>>> +// RUN: not llvm-mc -triple amdgcn-amd-unknown -mcpu=gfx803 %s 2>&1 |<br>
>>> FileCheck --check-prefix=GCN --check-prefix=OSABI-UNK-ERR<br>
>>> --check-prefix=GFX800 %s<br>
>>> +<br>
>>> +// OSABI-PAL: .amd_amdgpu_isa "amdgcn-amd-amdpal--gfx800"<br>
>>> +// OSABI-UNK-ERR: error: .amd_amdgpu_isa directive does not match triple<br>
>>> and/or mcpu arguments specified through the command line<br>
>>> +// OSABI-HSA-ERR: error: .amd_amdgpu_isa directive does not match triple<br>
>>> and/or mcpu arguments specified through the command line<br>
>>> +// OSABI-PAL-ERR: error: .amd_amdgpu_isa directive does not match triple<br>
>>> and/or mcpu arguments specified through the command line<br>
>>> +.amd_amdgpu_isa "amdgcn-amd-amdpal--gfx800"<br>
>>><br>
>>> Added: llvm/trunk/test/MC/AMDGPU/isa-version-unk.s<br>
>>> URL:<br>
>>> <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/AMDGPU/isa-version-unk.s?rev=315808&view=auto">
http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/AMDGPU/isa-version-unk.s?rev=315808&view=auto</a><br>
>>><br>
>>> ==============================================================================<br>
>>> --- llvm/trunk/test/MC/AMDGPU/isa-version-unk.s (added)<br>
>>> +++ llvm/trunk/test/MC/AMDGPU/isa-version-unk.s Sat Oct 14 08:40:33 2017<br>
>>> @@ -0,0 +1,14 @@<br>
>>> +// RUN: llvm-mc -triple amdgcn-amd-unknown -mcpu=gfx800 %s | FileCheck<br>
>>> --check-prefix=GCN --check-prefix=OSABI-UNK --check-prefix=GFX800 %s<br>
>>> +// RUN: llvm-mc -triple amdgcn-amd-unknown -mcpu=iceland %s | FileCheck<br>
>>> --check-prefix=GCN --check-prefix=OSABI-UNK --check-prefix=GFX800 %s<br>
>>> +// RUN: not llvm-mc -triple amdgcn-amd-unknown -mcpu=gfx803 %s 2>&1 |<br>
>>> FileCheck --check-prefix=GCN --check-prefix=OSABI-UNK-ERR<br>
>>> --check-prefix=GFX800 %s<br>
>>> +// RUN: not llvm-mc -triple amdgcn-amd-amdhsa -mcpu=gfx800 %s 2>&1 |<br>
>>> FileCheck --check-prefix=GCN --check-prefix=OSABI-HSA-ERR<br>
>>> --check-prefix=GFX800 %s<br>
>>> +// RUN: not llvm-mc -triple amdgcn-amd-amdhsa -mcpu=iceland %s 2>&1 |<br>
>>> FileCheck --check-prefix=GCN --check-prefix=OSABI-HSA-ERR<br>
>>> --check-prefix=GFX800 %s<br>
>>> +// RUN: not llvm-mc -triple amdgcn-amd-amdpal -mcpu=gfx800 %s 2>&1 |<br>
>>> FileCheck --check-prefix=GCN --check-prefix=OSABI-PAL-ERR<br>
>>> --check-prefix=GFX800 %s<br>
>>> +// RUN: not llvm-mc -triple amdgcn-amd-amdpal -mcpu=iceland %s 2>&1 |<br>
>>> FileCheck --check-prefix=GCN --check-prefix=OSABI-PAL-ERR<br>
>>> --check-prefix=GFX800 %s<br>
>>> +<br>
>>> +<br>
>>> +// OSABI-UNK: .amd_amdgpu_isa "amdgcn-amd-unknown--gfx800"<br>
>>> +// OSABI-UNK-ERR: error: .amd_amdgpu_isa directive does not match triple<br>
>>> and/or mcpu arguments specified through the command line<br>
>>> +// OSABI-HSA-ERR: error: .amd_amdgpu_isa directive does not match triple<br>
>>> and/or mcpu arguments specified through the command line<br>
>>> +// OSABI-PAL-ERR: error: .amd_amdgpu_isa directive does not match triple<br>
>>> and/or mcpu arguments specified through the command line<br>
>>> +.amd_amdgpu_isa "amdgcn-amd-unknown--gfx800"<br>
>>><br>
>>><br>
>>> _______________________________________________<br>
>>> llvm-commits mailing list<br>
>>> llvm-commits@lists.llvm.org<br>
>>> <a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits</a><br>
>><br>
>><br>
>><br>
>> --<br>
>> Bruno Cardoso Lopes<br>
>> <a href="http://www.brunocardoso.cc">http://www.brunocardoso.cc</a><br>
><br>
><br>
><br>
> --<br>
> Bruno Cardoso Lopes<br>
> <a href="http://www.brunocardoso.cc">http://www.brunocardoso.cc</a><br>
<br>
<br>
<br>
-- <br>
Bruno Cardoso Lopes<br>
<a href="http://www.brunocardoso.cc">http://www.brunocardoso.cc</a><br>
</div>
</span></font>
</body>
</html>