[PATCH] D31258: [AMDGPU] Fix bug 31610

Konstantin Zhuravlyov via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Mar 22 13:35:22 PDT 2017


kzhuravl created this revision.
Herald added subscribers: tpr, dstuttard, tony-tye, yaxunl, nhaehnle, wdng, arsenm.

Was able to reproduce and verify on base/archlinux:latest with gcc (GCC) 6.3.1 20170306 with:
cmake -G 'Unix Makefiles'         -DCMAKE_BUILD_TYPE:STRING=Release         -DCMAKE_INSTALL_PREFIX:PATH=/usr         -DLLVM_APPEND_VC_REV:BOOL=ON         -DLLVM_ENABLE_RTTI:BOOL=ON         -DLLVM_ENABLE_FFI:BOOL=ON         -DFFI_INCLUDE_DIR:PATH="$(pkg-config --variable=includedir libffi)"         -DFFI_LIBRARY_DIR:PATH="$(pkg-config --variable=libdir libffi)"         -DLLVM_BUILD_DOCS:BOOL=ON         -DLLVM_ENABLE_SPHINX:BOOL=ON         -DSPHINX_OUTPUT_HTML:BOOL=ON         -DSPHINX_OUTPUT_MAN:BOOL=ON         -DSPHINX_WARNINGS_AS_ERRORS:BOOL=OFF         -DLLVM_BUILD_LLVM_DYLIB:BOOL=ON         -DLLVM_LINK_LLVM_DYLIB:BOOL=ON         -DLLVM_BINUTILS_INCDIR:PATH=/usr/include         "../${_pkgname}"


https://reviews.llvm.org/D31258

Files:
  lib/Target/AMDGPU/AMDGPURuntimeMetadata.h
  lib/Target/AMDGPU/MCTargetDesc/AMDGPURuntimeMD.cpp


Index: lib/Target/AMDGPU/MCTargetDesc/AMDGPURuntimeMD.cpp
===================================================================
--- lib/Target/AMDGPU/MCTargetDesc/AMDGPURuntimeMD.cpp
+++ lib/Target/AMDGPU/MCTargetDesc/AMDGPURuntimeMD.cpp
@@ -49,7 +49,6 @@
 CheckRuntimeMDParser("amdgpu-check-rtmd-parser", cl::Hidden,
                      cl::desc("Check AMDGPU runtime metadata YAML parser"));
 
-LLVM_YAML_IS_FLOW_SEQUENCE_VECTOR(uint8_t)
 LLVM_YAML_IS_FLOW_SEQUENCE_VECTOR(uint32_t)
 LLVM_YAML_IS_FLOW_SEQUENCE_VECTOR(std::string)
 LLVM_YAML_IS_SEQUENCE_VECTOR(Kernel::Metadata)
@@ -297,9 +296,9 @@
       auto Node = MD->getOperand(0);
       if (Node->getNumOperands() > 1) {
         Kernel.Language = "OpenCL C";
-        uint16_t Major = mdconst::extract<ConstantInt>(Node->getOperand(0))
+        uint32_t Major = mdconst::extract<ConstantInt>(Node->getOperand(0))
                          ->getZExtValue();
-        uint16_t Minor = mdconst::extract<ConstantInt>(Node->getOperand(1))
+        uint32_t Minor = mdconst::extract<ConstantInt>(Node->getOperand(1))
                          ->getZExtValue();
         Kernel.LanguageVersion.push_back(Major);
         Kernel.LanguageVersion.push_back(Minor);
Index: lib/Target/AMDGPU/AMDGPURuntimeMetadata.h
===================================================================
--- lib/Target/AMDGPU/AMDGPURuntimeMetadata.h
+++ lib/Target/AMDGPU/AMDGPURuntimeMetadata.h
@@ -40,8 +40,8 @@
 namespace RuntimeMD {
 
   // Version and revision of runtime metadata
-  const unsigned char MDVersion   = 2;
-  const unsigned char MDRevision  = 1;
+  const uint32_t MDVersion   = 2;
+  const uint32_t MDRevision  = 1;
 
   // Name of keys for runtime metadata.
   namespace KeyName {
@@ -215,7 +215,7 @@
     struct Metadata {
       std::string Name;
       std::string Language;
-      std::vector<uint8_t> LanguageVersion;
+      std::vector<uint32_t> LanguageVersion;
       std::vector<uint32_t> ReqdWorkGroupSize;
       std::vector<uint32_t> WorkGroupSizeHint;
       std::string VecTypeHint;
@@ -265,7 +265,7 @@
 
     // In-memory representation of program information.
     struct Metadata {
-      std::vector<uint8_t> MDVersionSeq;
+      std::vector<uint32_t> MDVersionSeq;
       IsaInfo::Metadata IsaInfo;
       std::vector<std::string> PrintfInfo;
       std::vector<Kernel::Metadata> Kernels;


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D31258.92699.patch
Type: text/x-patch
Size: 2357 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170322/b67ee307/attachment.bin>


More information about the llvm-commits mailing list