[PATCH] D25746: [AMDGPU] Make note record name a static const member of target streamer.

Konstantin Zhuravlyov via llvm-commits llvm-commits at lists.llvm.org
Thu Oct 20 11:31:59 PDT 2016


This revision was automatically updated to reflect the committed changes.
Closed by commit rL284760: [AMDGPU] Make note record name a static const member of target streamer (authored by kzhuravl).

Changed prior to commit:
  https://reviews.llvm.org/D25746?vs=75193&id=75325#toc

Repository:
  rL LLVM

https://reviews.llvm.org/D25746

Files:
  llvm/trunk/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp
  llvm/trunk/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.h


Index: llvm/trunk/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.h
===================================================================
--- llvm/trunk/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.h
+++ llvm/trunk/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.h
@@ -71,6 +71,7 @@
     NT_AMDGPU_HSA_HLDEBUG_TARGET = 102
   };
 
+  static const char *NoteName;
   MCStreamer &Streamer;
 
 public:
Index: llvm/trunk/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp
===================================================================
--- llvm/trunk/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp
+++ llvm/trunk/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp
@@ -86,6 +86,8 @@
 // AMDGPUTargetELFStreamer
 //===----------------------------------------------------------------------===//
 
+const char *AMDGPUTargetELFStreamer::NoteName = "AMD";
+
 AMDGPUTargetELFStreamer::AMDGPUTargetELFStreamer(MCStreamer &S)
     : AMDGPUTargetStreamer(S), Streamer(S) { }
 
@@ -100,15 +102,14 @@
   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,20 +125,20 @@
   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) +
                     sizeof(Major) + sizeof(Minor) + sizeof(Stepping) +
                     VendorNameSize + ArchNameSize;
 
   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);


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D25746.75325.patch
Type: text/x-patch
Size: 3286 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20161020/46d5afda/attachment.bin>


More information about the llvm-commits mailing list