summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
diff options
context:
space:
mode:
authorKonstantin Zhuravlyov <kzhuravl_dev@outlook.com>2017-10-14 15:59:07 +0000
committerKonstantin Zhuravlyov <kzhuravl_dev@outlook.com>2017-10-14 15:59:07 +0000
commiteda425edd4df482569c8ca42650d98dbf819a47e (patch)
treeaa8a7f08418e94be03ccd93be946cdd5eb11fc40 /llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
parent346bd6a2082416d1e23cd4483c1a36db2ca6d8cf (diff)
downloadbcm5719-llvm-eda425edd4df482569c8ca42650d98dbf819a47e.tar.gz
bcm5719-llvm-eda425edd4df482569c8ca42650d98dbf819a47e.zip
AMDGPU: Do not emit deprecated notes for code object v3
Differential Revision: https://reviews.llvm.org/D38749 llvm-svn: 315810
Diffstat (limited to 'llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp')
-rw-r--r--llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp30
1 files changed, 19 insertions, 11 deletions
diff --git a/llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp b/llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
index bbe0879499e..ca828b45c54 100644
--- a/llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
+++ b/llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
@@ -112,23 +112,31 @@ AMDGPUTargetStreamer& AMDGPUAsmPrinter::getTargetStreamer() const {
}
void AMDGPUAsmPrinter::EmitStartOfAsmFile(Module &M) {
- AMDGPU::IsaInfo::IsaVersion ISA =
- AMDGPU::IsaInfo::getIsaVersion(getSTI()->getFeatureBits());
+ if (TM.getTargetTriple().getArch() != Triple::amdgcn)
+ return;
- if (TM.getTargetTriple().getOS() == Triple::AMDPAL) {
+ if (TM.getTargetTriple().getOS() != Triple::AMDHSA &&
+ TM.getTargetTriple().getOS() != Triple::AMDPAL)
+ return;
+
+ if (TM.getTargetTriple().getOS() == Triple::AMDHSA)
+ HSAMetadataStream.begin(M);
+
+ if (TM.getTargetTriple().getOS() == Triple::AMDPAL)
readPALMetadata(M);
- // AMDPAL wants an HSA_ISA .note.
- getTargetStreamer().EmitDirectiveHSACodeObjectISA(
- ISA.Major, ISA.Minor, ISA.Stepping, "AMD", "AMDGPU");
- }
- if (TM.getTargetTriple().getOS() != Triple::AMDHSA)
+
+ // Deprecated notes are not emitted for code object v3.
+ if (IsaInfo::hasCodeObjectV3(getSTI()->getFeatureBits()))
return;
- getTargetStreamer().EmitDirectiveHSACodeObjectVersion(2, 1);
+ // HSA emits NT_AMDGPU_HSA_CODE_OBJECT_VERSION for code objects v2.
+ if (TM.getTargetTriple().getOS() == Triple::AMDHSA)
+ getTargetStreamer().EmitDirectiveHSACodeObjectVersion(2, 1);
+
+ // HSA and PAL emit NT_AMDGPU_HSA_ISA for code objects v2.
+ IsaInfo::IsaVersion ISA = IsaInfo::getIsaVersion(getSTI()->getFeatureBits());
getTargetStreamer().EmitDirectiveHSACodeObjectISA(
ISA.Major, ISA.Minor, ISA.Stepping, "AMD", "AMDGPU");
-
- HSAMetadataStream.begin(M);
}
void AMDGPUAsmPrinter::EmitEndOfAsmFile(Module &M) {
OpenPOWER on IntegriCloud