summaryrefslogtreecommitdiffstats
path: root/llvm/lib
diff options
context:
space:
mode:
authorKonstantin Zhuravlyov <kzhuravl_dev@outlook.com>2016-10-20 18:22:36 +0000
committerKonstantin Zhuravlyov <kzhuravl_dev@outlook.com>2016-10-20 18:22:36 +0000
commit521e5ef4ceb2f2cf67e44b2dc0442a6c9ca880fb (patch)
tree6ce1b4ccb4bacf1a66086d1d3fbdbd054f2495f2 /llvm/lib
parent08326b6256b9d98d317ba8fc86678f7703480a14 (diff)
downloadbcm5719-llvm-521e5ef4ceb2f2cf67e44b2dc0442a6c9ca880fb.tar.gz
bcm5719-llvm-521e5ef4ceb2f2cf67e44b2dc0442a6c9ca880fb.zip
[AMDGPU] Make note record name a static const member of target streamer
Differential Revision: https://reviews.llvm.org/D25746 llvm-svn: 284760
Diffstat (limited to 'llvm/lib')
-rw-r--r--llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp27
-rw-r--r--llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.h1
2 files changed, 15 insertions, 13 deletions
diff --git a/llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp b/llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp
index c8938648b0e..fe0d10ab797 100644
--- a/llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp
+++ b/llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp
@@ -86,6 +86,8 @@ void AMDGPUTargetAsmStreamer::EmitAMDGPUHsaProgramScopeGlobal(
// AMDGPUTargetELFStreamer
//===----------------------------------------------------------------------===//
+const char *AMDGPUTargetELFStreamer::NoteName = "AMD";
+
AMDGPUTargetELFStreamer::AMDGPUTargetELFStreamer(MCStreamer &S)
: AMDGPUTargetStreamer(S), Streamer(S) { }
@@ -100,15 +102,14 @@ AMDGPUTargetELFStreamer::EmitDirectiveHSACodeObjectVersion(uint32_t Major,
MCSectionELF *Note =
OS.getContext().getELFSection(".note", ELF::SHT_NOTE, ELF::SHF_ALLOC);
- unsigned NameSZ = 4;
-
OS.PushSection();
OS.SwitchSection(Note);
- OS.EmitIntValue(NameSZ, 4); // namesz
- OS.EmitIntValue(8, 4); // descz
- OS.EmitIntValue(NT_AMDGPU_HSA_CODE_OBJECT_VERSION, 4); // type
- OS.EmitBytes(StringRef("AMD", NameSZ)); // name
- OS.EmitIntValue(Major, 4); // desc
+ OS.EmitIntValue(strlen(NoteName) + 1, 4); // namesz
+ OS.EmitIntValue(8, 4); // descz
+ OS.EmitIntValue(NT_AMDGPU_HSA_CODE_OBJECT_VERSION, 4); // type
+ OS.EmitBytes(StringRef(NoteName, strlen(NoteName) + 1)); // name
+ OS.EmitValueToAlignment(4);
+ OS.EmitIntValue(Major, 4); // desc
OS.EmitIntValue(Minor, 4);
OS.EmitValueToAlignment(4);
OS.PopSection();
@@ -124,7 +125,6 @@ AMDGPUTargetELFStreamer::EmitDirectiveHSACodeObjectISA(uint32_t Major,
MCSectionELF *Note =
OS.getContext().getELFSection(".note", ELF::SHT_NOTE, ELF::SHF_ALLOC);
- unsigned NameSZ = 4;
uint16_t VendorNameSize = VendorName.size() + 1;
uint16_t ArchNameSize = ArchName.size() + 1;
unsigned DescSZ = sizeof(VendorNameSize) + sizeof(ArchNameSize) +
@@ -133,11 +133,12 @@ AMDGPUTargetELFStreamer::EmitDirectiveHSACodeObjectISA(uint32_t Major,
OS.PushSection();
OS.SwitchSection(Note);
- OS.EmitIntValue(NameSZ, 4); // namesz
- OS.EmitIntValue(DescSZ, 4); // descsz
- OS.EmitIntValue(NT_AMDGPU_HSA_ISA, 4); // type
- OS.EmitBytes(StringRef("AMD", 4)); // name
- OS.EmitIntValue(VendorNameSize, 2); // desc
+ OS.EmitIntValue(strlen(NoteName) + 1, 4); // namesz
+ OS.EmitIntValue(DescSZ, 4); // descsz
+ OS.EmitIntValue(NT_AMDGPU_HSA_ISA, 4); // type
+ OS.EmitBytes(StringRef(NoteName, strlen(NoteName) + 1)); // name
+ OS.EmitValueToAlignment(4);
+ OS.EmitIntValue(VendorNameSize, 2); // desc
OS.EmitIntValue(ArchNameSize, 2);
OS.EmitIntValue(Major, 4);
OS.EmitIntValue(Minor, 4);
diff --git a/llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.h b/llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.h
index b3d59e8f396..809400d2fe7 100644
--- a/llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.h
+++ b/llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.h
@@ -71,6 +71,7 @@ class AMDGPUTargetELFStreamer : public AMDGPUTargetStreamer {
NT_AMDGPU_HSA_HLDEBUG_TARGET = 102
};
+ static const char *NoteName;
MCStreamer &Streamer;
public:
OpenPOWER on IntegriCloud