public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: dev-util/spirv-llvm-translator/files/, dev-util/spirv-llvm-translator/
@ 2024-01-20 21:13 Conrad Kostecki
  0 siblings, 0 replies; 2+ messages in thread
From: Conrad Kostecki @ 2024-01-20 21:13 UTC (permalink / raw
  To: gentoo-commits

commit:     f14418d3a1e63ad1eca29cb8a2ad0cb165987a06
Author:     Conrad Kostecki <conikost <AT> gentoo <DOT> org>
AuthorDate: Sat Jan 20 21:07:01 2024 +0000
Commit:     Conrad Kostecki <conikost <AT> gentoo <DOT> org>
CommitDate: Sat Jan 20 21:13:16 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f14418d3

dev-util/spirv-llvm-translator: support new spirv headers

Closes: https://bugs.gentoo.org/922435
Signed-off-by: Conrad Kostecki <conikost <AT> gentoo.org>

 ...v-llvm-translator-17.0.0-intel-capability.patch | 181 +++++++++++++++++++++
 ...uild => spirv-llvm-translator-17.0.0-r1.ebuild} |   4 +-
 2 files changed, 184 insertions(+), 1 deletion(-)

diff --git a/dev-util/spirv-llvm-translator/files/spirv-llvm-translator-17.0.0-intel-capability.patch b/dev-util/spirv-llvm-translator/files/spirv-llvm-translator-17.0.0-intel-capability.patch
new file mode 100644
index 000000000000..d7839367a2a1
--- /dev/null
+++ b/dev-util/spirv-llvm-translator/files/spirv-llvm-translator-17.0.0-intel-capability.patch
@@ -0,0 +1,181 @@
+diff --git a/include/LLVMSPIRVExtensions.inc b/include/LLVMSPIRVExtensions.inc
+index eb98c7f..4e2eb0b 100644
+--- a/include/LLVMSPIRVExtensions.inc
++++ b/include/LLVMSPIRVExtensions.inc
+@@ -41,7 +41,7 @@ EXT(SPV_INTEL_variable_length_array)
+ EXT(SPV_INTEL_fp_fast_math_mode)
+ EXT(SPV_INTEL_fpga_cluster_attributes)
+ EXT(SPV_INTEL_loop_fuse)
+-EXT(SPV_INTEL_long_constant_composite)
++EXT(SPV_INTEL_long_composites)
+ EXT(SPV_INTEL_optnone)
+ EXT(SPV_INTEL_fpga_dsp_control)
+ EXT(SPV_INTEL_memory_access_aliasing)
+diff --git a/lib/SPIRV/SPIRVWriter.cpp b/lib/SPIRV/SPIRVWriter.cpp
+index 807aa0c..0946dbe 100644
+--- a/lib/SPIRV/SPIRVWriter.cpp
++++ b/lib/SPIRV/SPIRVWriter.cpp
+@@ -409,11 +409,10 @@ SPIRVType *LLVMToSPIRVBase::transType(Type *T) {
+     const size_t NumElements = ST->getNumElements();
+     size_t SPIRVStructNumElements = NumElements;
+     // In case number of elements is greater than maximum WordCount and
+-    // SPV_INTEL_long_constant_composite is not enabled, the error will be
++    // SPV_INTEL_long_composites is not enabled, the error will be
+     // emitted by validate functionality of SPIRVTypeStruct class.
+     if (NumElements > MaxNumElements &&
+-        BM->isAllowedToUseExtension(
+-            ExtensionID::SPV_INTEL_long_constant_composite)) {
++        BM->isAllowedToUseExtension(ExtensionID::SPV_INTEL_long_composites)) {
+       SPIRVStructNumElements = MaxNumElements;
+     }
+ 
+@@ -421,8 +420,7 @@ SPIRVType *LLVMToSPIRVBase::transType(Type *T) {
+     mapType(T, Struct);
+ 
+     if (NumElements > MaxNumElements &&
+-        BM->isAllowedToUseExtension(
+-            ExtensionID::SPV_INTEL_long_constant_composite)) {
++        BM->isAllowedToUseExtension(ExtensionID::SPV_INTEL_long_composites)) {
+       uint64_t NumOfContinuedInstructions = NumElements / MaxNumElements - 1;
+       for (uint64_t J = 0; J < NumOfContinuedInstructions; J++) {
+         auto *Continued = BM->addTypeStructContinuedINTEL(MaxNumElements);
+@@ -1832,8 +1830,7 @@ LLVMToSPIRVBase::transValueWithoutDecoration(Value *V, SPIRVBasicBlock *BB,
+       } else
+         BVarInit = I->second;
+     } else if (Init && !isa<UndefValue>(Init)) {
+-      if (!BM->isAllowedToUseExtension(
+-              ExtensionID::SPV_INTEL_long_constant_composite)) {
++      if (!BM->isAllowedToUseExtension(ExtensionID::SPV_INTEL_long_composites)) {
+         if (auto ArrTy = dyn_cast_or_null<ArrayType>(Init->getType())) {
+           // First 3 words of OpConstantComposite encode: 1) word count &
+           // opcode, 2) Result Type and 3) Result Id. Max length of SPIRV
+diff --git a/lib/SPIRV/libSPIRV/SPIRVEntry.h b/lib/SPIRV/libSPIRV/SPIRVEntry.h
+index a3c9441..e188099 100644
+--- a/lib/SPIRV/libSPIRV/SPIRVEntry.h
++++ b/lib/SPIRV/libSPIRV/SPIRVEntry.h
+@@ -908,11 +908,11 @@ public:
+   }
+ 
+   SPIRVCapVec getRequiredCapability() const override {
+-    return getVec(CapabilityLongConstantCompositeINTEL);
++    return getVec(CapabilityLongCompositesINTEL);
+   }
+ 
+   std::optional<ExtensionID> getRequiredExtension() const override {
+-    return ExtensionID::SPV_INTEL_long_constant_composite;
++    return ExtensionID::SPV_INTEL_long_composites;
+   }
+ 
+   SPIRVWord getNumElements() const { return Elements.size(); }
+diff --git a/lib/SPIRV/libSPIRV/SPIRVModule.cpp b/lib/SPIRV/libSPIRV/SPIRVModule.cpp
+index 5ac7275..d8d06f6 100644
+--- a/lib/SPIRV/libSPIRV/SPIRVModule.cpp
++++ b/lib/SPIRV/libSPIRV/SPIRVModule.cpp
+@@ -1175,10 +1175,10 @@ SPIRVValue *SPIRVModuleImpl::addCompositeConstant(
+   const int NumElements = Elements.size();
+ 
+   // In case number of elements is greater than maximum WordCount and
+-  // SPV_INTEL_long_constant_composite is not enabled, the error will be emitted
++  // SPV_INTEL_long_composites is not enabled, the error will be emitted
+   // by validate functionality of SPIRVCompositeConstant class.
+   if (NumElements <= MaxNumElements ||
+-      !isAllowedToUseExtension(ExtensionID::SPV_INTEL_long_constant_composite))
++      !isAllowedToUseExtension(ExtensionID::SPV_INTEL_long_composites))
+     return addConstant(new SPIRVConstantComposite(this, Ty, getId(), Elements));
+ 
+   auto Start = Elements.begin();
+@@ -1213,7 +1213,7 @@ SPIRVValue *SPIRVModuleImpl::addSpecConstantComposite(
+   // SPV_INTEL_long_constant_composite is not enabled, the error will be emitted
+   // by validate functionality of SPIRVSpecConstantComposite class.
+   if (NumElements <= MaxNumElements ||
+-      !isAllowedToUseExtension(ExtensionID::SPV_INTEL_long_constant_composite))
++      !isAllowedToUseExtension(ExtensionID::SPV_INTEL_long_composites))
+     return addConstant(
+         new SPIRVSpecConstantComposite(this, Ty, getId(), Elements));
+ 
+diff --git a/lib/SPIRV/libSPIRV/SPIRVNameMapEnum.h b/lib/SPIRV/libSPIRV/SPIRVNameMapEnum.h
+index d450a43..a2a0ddb 100644
+--- a/lib/SPIRV/libSPIRV/SPIRVNameMapEnum.h
++++ b/lib/SPIRV/libSPIRV/SPIRVNameMapEnum.h
+@@ -610,7 +610,7 @@ template <> inline void SPIRVMap<Capability, std::string>::init() {
+   add(CapabilityGroupNonUniformRotateKHR, "GroupNonUniformRotateKHR");
+   add(CapabilityAtomicFloat32AddEXT, "AtomicFloat32AddEXT");
+   add(CapabilityAtomicFloat64AddEXT, "AtomicFloat64AddEXT");
+-  add(CapabilityLongConstantCompositeINTEL, "LongConstantCompositeINTEL");
++  add(CapabilityLongCompositesINTEL, "LongCompositesINTEL");
+   add(CapabilityOptNoneINTEL, "OptNoneINTEL");
+   add(CapabilityAtomicFloat16AddEXT, "AtomicFloat16AddEXT");
+   add(CapabilityDebugInfoModuleINTEL, "DebugInfoModuleINTEL");
+diff --git a/test/SpecConstants/long-spec-const-composite.ll b/test/SpecConstants/long-spec-const-composite.ll
+index a45c895..e943296 100644
+--- a/test/SpecConstants/long-spec-const-composite.ll
++++ b/test/SpecConstants/long-spec-const-composite.ll
+@@ -1,5 +1,5 @@
+ ; RUN: llvm-as %s -o %t.bc
+-; RUN: llvm-spirv --spirv-ext=+SPV_INTEL_long_constant_composite %t.bc -o %t.spv
++; RUN: llvm-spirv --spirv-ext=+SPV_INTEL_long_composites %t.bc -o %t.spv
+ ; RUN: llvm-spirv %t.spv --to-text -o - | FileCheck %s --check-prefix=CHECK-SPIRV
+ ; RUN: llvm-spirv -r -emit-opaque-pointers %t.spv -o %t.rev.bc
+ ; RUN: llvm-dis < %t.rev.bc | FileCheck %s --check-prefix=CHECK-LLVM
+@@ -11,8 +11,8 @@
+ target datalayout = "e-i64:64-v16:16-v24:32-v32:32-v48:64-v96:128-v192:256-v256:256-v512:512-v1024:1024-n8:16:32:64"
+ target triple = "spir64-unknown-unknown"
+ 
+-; CHECK-SPIRV: Capability LongConstantCompositeINTEL 
+-; CHECK-SPIRV: Extension "SPV_INTEL_long_constant_composite"
++; CHECK-SPIRV: Capability LongCompositesINTEL
++; CHECK-SPIRV: Extension "SPV_INTEL_long_composites"
+ ; CHECK-SPIRV-DAG: Decorate [[First:[0-9]+]] SpecId  0
+ ; CHECK-SPIRV-DAG: Decorate [[Last:[0-9]+]] SpecId 65548
+ ; CHECK-SPIRV: TypeInt [[TInt:[0-9]+]] 8
+diff --git a/test/long-constant-array.ll b/test/long-constant-array.ll
+index 415a723..cfef59d 100644
+--- a/test/long-constant-array.ll
++++ b/test/long-constant-array.ll
+@@ -1,16 +1,16 @@
+ ; RUN: llvm-as %s -o %t.bc
+ ; RUN: not llvm-spirv %t.bc -o %t.spv 2>&1 | FileCheck %s --check-prefix=CHECK-ERROR
+ 
+-; Check that everything is fine if SPV_INTEL_long_constant_composite is enabled
+-; RUN: llvm-spirv --spirv-ext=+SPV_INTEL_long_constant_composite %t.bc -o %t.spv
++; Check that everything is fine if SPV_INTEL_long_composites is enabled
++; RUN: llvm-spirv --spirv-ext=+SPV_INTEL_long_composites %t.bc -o %t.spv
+ ; RUN: llvm-spirv %t.spv --to-text -o - | FileCheck %s --check-prefix=CHECK-SPIRV
+ ; RUN: llvm-spirv -r -emit-opaque-pointers %t.spv -o %t.rev.bc
+ ; RUN: llvm-dis < %t.rev.bc | FileCheck %s --check-prefix=CHECK-LLVM
+ ; TODO: run validator once it supports the extension
+ ; RUNx: spirv-val %t.spv
+ 
+-; CHECK-SPIRV: Capability LongConstantCompositeINTEL 
+-; CHECK-SPIRV: Extension "SPV_INTEL_long_constant_composite"
++; CHECK-SPIRV: Capability LongCompositesINTEL
++; CHECK-SPIRV: Extension "SPV_INTEL_long_composites"
+ ; CHECK-SPIRV: TypeInt [[TInt:[0-9]+]] 8
+ ; CHECK-SPIRV: Constant {{[0-9]+}} [[ArrSize:[0-9]+]] 78000
+ ; CHECK-SPIRV: TypeArray [[TArr:[0-9]+]] [[TInt]] [[ArrSize]]
+diff --git a/test/long-type-struct.ll b/test/long-type-struct.ll
+index 9b83f62..de6352a 100644
+--- a/test/long-type-struct.ll
++++ b/test/long-type-struct.ll
+@@ -1,8 +1,8 @@
+ ; RUN: llvm-as %s -o %t.bc
+-; RUN: llvm-spirv --spirv-ext=+SPV_INTEL_long_constant_composite %t.bc -o %t.spv
++; RUN: llvm-spirv --spirv-ext=+SPV_INTEL_long_composites %t.bc -o %t.spv
+ ; RUN: llvm-spirv %t.spv --to-text -o - | FileCheck %s --check-prefix=CHECK-SPIRV
+ ; RUN: llvm-spirv -r -emit-opaque-pointers %t.spv -o %t.rev.bc
+-; RUN: llvm-spirv --spirv-ext=+SPV_INTEL_long_constant_composite -spirv-text %t.rev.bc -o %t2.spt
++; RUN: llvm-spirv --spirv-ext=+SPV_INTEL_long_composites -spirv-text %t.rev.bc -o %t2.spt
+ ; RUN: FileCheck --input-file=%t2.spt %s --check-prefix=CHECK-SPIRV
+ ; RUN: llvm-dis < %t.rev.bc | FileCheck %s --check-prefix=CHECK-LLVM
+ ; TODO: run validator once it supports the extension
+@@ -10,8 +10,8 @@
+ 
+ ; RUN: not llvm-spirv %t.bc -o %t.spv 2>&1 | FileCheck %s --check-prefix=CHECK-ERROR
+ 
+-; CHECK-SPIRV: Capability LongConstantCompositeINTEL 
+-; CHECK-SPIRV: Extension "SPV_INTEL_long_constant_composite"
++; CHECK-SPIRV: Capability LongCompositesINTEL
++; CHECK-SPIRV: Extension "SPV_INTEL_long_composites"
+ ; CHECK-SPIRV: TypeInt [[TInt:[0-9]+]] 8
+ ; CHECK-SPIRV: TypePointer [[TIntPtr:[0-9]+]] 8 [[TInt]]
+ ; CHECK-SPIRV: TypeArray [[TArr:[0-9]+]]

diff --git a/dev-util/spirv-llvm-translator/spirv-llvm-translator-17.0.0.ebuild b/dev-util/spirv-llvm-translator/spirv-llvm-translator-17.0.0-r1.ebuild
similarity index 92%
rename from dev-util/spirv-llvm-translator/spirv-llvm-translator-17.0.0.ebuild
rename to dev-util/spirv-llvm-translator/spirv-llvm-translator-17.0.0-r1.ebuild
index 5f258190d543..31e879a61af7 100644
--- a/dev-util/spirv-llvm-translator/spirv-llvm-translator-17.0.0.ebuild
+++ b/dev-util/spirv-llvm-translator/spirv-llvm-translator-17.0.0-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=8
@@ -35,6 +35,8 @@ BDEPEND="
 	)
 "
 
+PATCHES=( "${FILESDIR}/${PN}-17.0.0-intel-capability.patch" )
+
 src_prepare() {
 	append-flags -fPIC
 	cmake_src_prepare


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-util/spirv-llvm-translator/files/, dev-util/spirv-llvm-translator/
@ 2024-02-25  0:33 Matt Turner
  0 siblings, 0 replies; 2+ messages in thread
From: Matt Turner @ 2024-02-25  0:33 UTC (permalink / raw
  To: gentoo-commits

commit:     9044c33b339a9523761166cc9994cccb9d2df697
Author:     Matt Turner <mattst88 <AT> gentoo <DOT> org>
AuthorDate: Sun Feb 25 00:32:37 2024 +0000
Commit:     Matt Turner <mattst88 <AT> gentoo <DOT> org>
CommitDate: Sun Feb 25 00:33:00 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9044c33b

dev-util/spirv-llvm-translator: Add patch to fix test failure

Bug: https://bugs.gentoo.org/920053
Signed-off-by: Matt Turner <mattst88 <AT> gentoo.org>

 ...-on-version-of-compiler-being-VER.0.0-219.patch | 26 ++++++++++++++++++++++
 .../spirv-llvm-translator-17.0.0-r2.ebuild         |  5 ++++-
 2 files changed, 30 insertions(+), 1 deletion(-)

diff --git a/dev-util/spirv-llvm-translator/files/spirv-llvm-translator-17.0.0-do-not-rely-on-version-of-compiler-being-VER.0.0-219.patch b/dev-util/spirv-llvm-translator/files/spirv-llvm-translator-17.0.0-do-not-rely-on-version-of-compiler-being-VER.0.0-219.patch
new file mode 100644
index 000000000000..e2a575600c44
--- /dev/null
+++ b/dev-util/spirv-llvm-translator/files/spirv-llvm-translator-17.0.0-do-not-rely-on-version-of-compiler-being-VER.0.0-219.patch
@@ -0,0 +1,26 @@
+From 587443c9e9094f37ac4e185fb4f889913c6992a9 Mon Sep 17 00:00:00 2001
+From: Dmitry Sidorov <dmitry.sidorov@intel.com>
+Date: Thu, 26 Oct 2023 04:36:07 -0700
+Subject: [PATCH] do not rely on version of compiler being $VER.0.0 (#2194)
+
+Co-authored-by: Stanley Gambarin <stanley.gambarin@intel.com>
+---
+ test/DebugInfo/NonSemantic/DebugFunction.cl | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/test/DebugInfo/NonSemantic/DebugFunction.cl b/test/DebugInfo/NonSemantic/DebugFunction.cl
+index 43294916..f84b303a 100644
+--- a/test/DebugInfo/NonSemantic/DebugFunction.cl
++++ b/test/DebugInfo/NonSemantic/DebugFunction.cl
+@@ -25,7 +25,7 @@ void kernel k() {
+ // CHECK-SPIRV-DAG: String [[foo:[0-9]+]] "foo"
+ // CHECK-SPIRV-DAG: String [[#EmptyStr:]] ""
+ // CHECK-SPIRV-DAG: String [[k:[0-9]+]] "k"
+-// CHECK-SPIRV-DAG: String [[#CV:]] "{{.*}}clang version [[#]].0.0
++// CHECK-SPIRV-DAG: String [[#CV:]] "{{.*}}clang version [[#]].[[#]].[[#]]
+ // CHECK-SPIRV: [[#CU:]] [[#]] DebugCompilationUnit
+ // CHECK-SPIRV: [[#FuncFoo:]] [[#]] DebugFunction [[foo]] {{.*}} [[#CU]]
+ // CHECK-SPIRV: [[#FuncK:]] [[#]] DebugFunction [[k]] {{.*}} [[#CU]]
+-- 
+2.43.0
+

diff --git a/dev-util/spirv-llvm-translator/spirv-llvm-translator-17.0.0-r2.ebuild b/dev-util/spirv-llvm-translator/spirv-llvm-translator-17.0.0-r2.ebuild
index 8805557f442f..d0887f26c351 100644
--- a/dev-util/spirv-llvm-translator/spirv-llvm-translator-17.0.0-r2.ebuild
+++ b/dev-util/spirv-llvm-translator/spirv-llvm-translator-17.0.0-r2.ebuild
@@ -35,7 +35,10 @@ BDEPEND="
 	)
 "
 
-PATCHES=( "${FILESDIR}/${PN}-17.0.0-intel-capability.patch" )
+PATCHES=(
+	"${FILESDIR}"/${P}-intel-capability.patch
+	"${FILESDIR}"/${P}-do-not-rely-on-version-of-compiler-being-VER.0.0-219.patch
+)
 
 src_prepare() {
 	append-flags -fPIC


^ permalink raw reply related	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2024-02-25  0:33 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-01-20 21:13 [gentoo-commits] repo/gentoo:master commit in: dev-util/spirv-llvm-translator/files/, dev-util/spirv-llvm-translator/ Conrad Kostecki
  -- strict thread matches above, loose matches on Subject: below --
2024-02-25  0:33 Matt Turner

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox