From 761eb43f891fa44c69e452ba768afc3e16f47375 Mon Sep 17 00:00:00 2001 From: Leah Neukirchen Date: Mon, 8 May 2017 15:12:55 +0200 Subject: [PATCH] llvm: add AMDGPU patch. --- .../llvm/0001-AMDGPU-Fix-bug-31610.patch | 74 +++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 srcpkgs/llvm/files/patches/llvm/0001-AMDGPU-Fix-bug-31610.patch diff --git a/srcpkgs/llvm/files/patches/llvm/0001-AMDGPU-Fix-bug-31610.patch b/srcpkgs/llvm/files/patches/llvm/0001-AMDGPU-Fix-bug-31610.patch new file mode 100644 index 00000000000..d19885883fb --- /dev/null +++ b/srcpkgs/llvm/files/patches/llvm/0001-AMDGPU-Fix-bug-31610.patch @@ -0,0 +1,74 @@ +From bc72a21666a9efc78e71b0296313f6e1449649fa Mon Sep 17 00:00:00 2001 +From: Konstantin Zhuravlyov +Date: Wed, 22 Mar 2017 21:48:18 +0000 +Subject: [PATCH] [AMDGPU] Fix bug 31610 + +Differential Revision: https://reviews.llvm.org/D31258 + + +git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@298551 91177308-0d34-0410-b5e6-96231b3b80d8 +--- + lib/Target/AMDGPU/AMDGPURuntimeMetadata.h | 8 ++++---- + lib/Target/AMDGPU/MCTargetDesc/AMDGPURuntimeMD.cpp | 5 ++--- + 2 files changed, 6 insertions(+), 7 deletions(-) + +diff --git a/lib/Target/AMDGPU/AMDGPURuntimeMetadata.h b/lib/Target/AMDGPU/AMDGPURuntimeMetadata.h +index ed147ff4c43..36e7a0c42a9 100644 +--- a/lib/Target/AMDGPU/AMDGPURuntimeMetadata.h ++++ b/lib/Target/AMDGPU/AMDGPURuntimeMetadata.h +@@ -40,8 +40,8 @@ namespace AMDGPU { + namespace RuntimeMD { + + // Version and revision of runtime metadata +- const unsigned char MDVersion = 2; +- const unsigned char MDRevision = 0; ++ const uint32_t MDVersion = 2; ++ const uint32_t MDRevision = 0; + + // Name of keys for runtime metadata. + namespace KeyName { +@@ -215,7 +215,7 @@ namespace RuntimeMD { + struct Metadata { + std::string Name; + std::string Language; +- std::vector LanguageVersion; ++ std::vector LanguageVersion; + std::vector ReqdWorkGroupSize; + std::vector WorkGroupSizeHint; + std::string VecTypeHint; +@@ -265,7 +265,7 @@ namespace RuntimeMD { + namespace Program { + // In-memory representation of program information. + struct Metadata { +- std::vector MDVersionSeq; ++ std::vector MDVersionSeq; + std::vector PrintfInfo; + std::vector Kernels; + +diff --git a/lib/Target/AMDGPU/MCTargetDesc/AMDGPURuntimeMD.cpp b/lib/Target/AMDGPU/MCTargetDesc/AMDGPURuntimeMD.cpp +index 0e87d750f5d..7c96898297c 100644 +--- a/lib/Target/AMDGPU/MCTargetDesc/AMDGPURuntimeMD.cpp ++++ b/lib/Target/AMDGPU/MCTargetDesc/AMDGPURuntimeMD.cpp +@@ -49,7 +49,6 @@ static cl::opt + 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 @@ static Kernel::Metadata getRuntimeMDForKernel(const Function &F) { + auto Node = MD->getOperand(0); + if (Node->getNumOperands() > 1) { + Kernel.Language = "OpenCL C"; +- uint16_t Major = mdconst::extract(Node->getOperand(0)) ++ uint32_t Major = mdconst::extract(Node->getOperand(0)) + ->getZExtValue(); +- uint16_t Minor = mdconst::extract(Node->getOperand(1)) ++ uint32_t Minor = mdconst::extract(Node->getOperand(1)) + ->getZExtValue(); + Kernel.LanguageVersion.push_back(Major); + Kernel.LanguageVersion.push_back(Minor); +-- +2.12.2 +