diff options
Diffstat (limited to 'dev-util/spirv-llvm-translator')
15 files changed, 751 insertions, 145 deletions
diff --git a/dev-util/spirv-llvm-translator/Manifest b/dev-util/spirv-llvm-translator/Manifest index 5fbe71352606..6ad673895b5a 100644 --- a/dev-util/spirv-llvm-translator/Manifest +++ b/dev-util/spirv-llvm-translator/Manifest @@ -1,2 +1,5 @@ -DIST spirv-llvm-translator-10.0.0.tar.gz 535828 BLAKE2B 0bce2f663b2f70a2db2b1ef0665d627716d63baa6cb47ced532ac2e30e8b0424934d273135581655445ea87f5c84c9df876da0490d7a302a6d00c86b78e05c22 SHA512 d6400bb3e4df780358b5d6d0af889e7654b7dfd472c8d41b77ff98e7ff1bd017c289ecacb59a3dd7bfddb1a5108e21028aa770bf645e06178610bb322de905be -DIST spirv-llvm-translator-9.0.1.1.tar.gz 498803 BLAKE2B dbc1a3a51671102e13ac265c5de744ec7ddbb74ff1a58971e18bfd7cbc7a0497cbb86d099681ac153d8e104577c93b66eec597b6c646d422eb701ea7c96a57c9 SHA512 a84494c49cc16148301cc468fdc20b9ef41a4532477b69468e32551d2132a9be68346369d5f4c07cbefd7f0f63b3e7ddf11e5c40088f74d8e3379a95c3cff251 +DIST spirv-llvm-translator-15.0.0.tar.gz 1515145 BLAKE2B 1f93b55f8934ce7dbc9416b82f7bd544d16e95be795047e914d0c303ec90965eae03ab3522b3c92d6cffb1fe00bed78a4bb74085d3da21c14b68ad3fbe53113c SHA512 8a6ddddf326dad96c1c5749ebf03e63e6be60592dccd307f7a35be668cec2b4f58c2f089854aeefa37398c3a97dad6bf92a6ceb892da27b5cf9d4ae1aa41dd06 +DIST spirv-llvm-translator-16.0.0.tar.gz 1542060 BLAKE2B bee72a776062266e60c5237396434ecba4e4da959ed52292ad08388bdd08d7749fd86cfac5c25af424032a1ba19f59b2d8c7eac0eaf50db6a4945841abe0836f SHA512 0bacacb89aa2b03d1173d1bfbcdd83fdce7441ebc3fff65e14dc5e901fc983861365a54c029b2a65075b6fa45046c30aa7bbad4e6150cf3382e7d050c598de98 +DIST spirv-llvm-translator-17.0.0.tar.gz 1601166 BLAKE2B c3e7a78fa55cd13ba61c024e2d3d82c47ac9dbf8c11bcbcf4ddc34a6838fb948885a263fd9af2d0f404b31f4c6e9226c9582e0f65b3220770e1af07cf85f4dac SHA512 ee54e597c678755cb48d677f81184d66616c7be934b570e04f0106e64c15f1cab124177b757f08a7713fa7fce981c74d61304d4554e6d198e6c14c53abf1e81c +DIST spirv-llvm-translator-18.1.0.tar.gz 1689216 BLAKE2B 944463e64cf9ab8e90df7f599b979aa2b807340e41f94192b4581df836722e829169bf3fd301aeabbab3b70b046a3fbbc010a8ca600f65ec9466e807ea442c46 SHA512 ee124ae536a3fc1f25d0e4f9f553efb1755c5dba39d669d24a4acadb5a99938ce6018f82a8925181f3f05c86ae4bebf9e1bbaa0846fd611cace770f4d9baa984 +DIST spirv-llvm-translator-18.1.1.tar.gz 1694904 BLAKE2B 7e39a3592e02d3253b6e3c2583a9d0a38584e7e4ce91560dd9ec66c1fe4170fd486e5b7422afdae5da375bc878f33ce1852d2bc4c7ea426e8fd872391802ed70 SHA512 65aad3102d7484ac8a9ce8fdbaef3a0324540683a43e41fb03d8f21a9a58abebc4dfac7932d8fce7054d407b614e239370cda868a1afb15d0f16984116b3cbcb diff --git a/dev-util/spirv-llvm-translator/files/spirv-llvm-translator-15.0.0-intel-capability.patch b/dev-util/spirv-llvm-translator/files/spirv-llvm-translator-15.0.0-intel-capability.patch new file mode 100644 index 000000000000..612a493fbed6 --- /dev/null +++ b/dev-util/spirv-llvm-translator/files/spirv-llvm-translator-15.0.0-intel-capability.patch @@ -0,0 +1,77 @@ +diff --git a/include/LLVMSPIRVExtensions.inc b/include/LLVMSPIRVExtensions.inc +index 8eaf24de..695a5d85 100644 +--- a/include/LLVMSPIRVExtensions.inc ++++ b/include/LLVMSPIRVExtensions.inc +@@ -38,6 +38,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_composites) + EXT(SPV_INTEL_long_constant_composite) + EXT(SPV_INTEL_optnone) + EXT(SPV_INTEL_fpga_dsp_control) +diff --git a/lib/SPIRV/libSPIRV/SPIRVEntry.h b/lib/SPIRV/libSPIRV/SPIRVEntry.h +index b43cd892..8be8d1b9 100644 +--- a/lib/SPIRV/libSPIRV/SPIRVEntry.h ++++ b/lib/SPIRV/libSPIRV/SPIRVEntry.h +@@ -901,7 +901,7 @@ public: + } + + SPIRVCapVec getRequiredCapability() const override { +- return getVec(CapabilityLongConstantCompositeINTEL); ++ return getVec(CapabilityLongCompositesINTEL); + } + + llvm::Optional<ExtensionID> getRequiredExtension() const override { +diff --git a/lib/SPIRV/libSPIRV/SPIRVNameMapEnum.h b/lib/SPIRV/libSPIRV/SPIRVNameMapEnum.h +index 88071dd7..3ba1cc38 100644 +--- a/lib/SPIRV/libSPIRV/SPIRVNameMapEnum.h ++++ b/lib/SPIRV/libSPIRV/SPIRVNameMapEnum.h +@@ -591,7 +591,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 974a0776..4510a1e6 100644 +--- a/test/SpecConstants/long-spec-const-composite.ll ++++ b/test/SpecConstants/long-spec-const-composite.ll +@@ -11,7 +11,7 @@ + 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: Capability LongCompositesINTEL + ; CHECK-SPIRV: Extension "SPV_INTEL_long_constant_composite" + ; CHECK-SPIRV-DAG: Decorate [[First:[0-9]+]] SpecId 0 + ; CHECK-SPIRV-DAG: Decorate [[Last:[0-9]+]] SpecId 65548 +diff --git a/test/long-constant-array.ll b/test/long-constant-array.ll +index 03b33771..d0b4c3b3 100644 +--- a/test/long-constant-array.ll ++++ b/test/long-constant-array.ll +@@ -9,7 +9,7 @@ + ; TODO: run validator once it supports the extension + ; RUNx: spirv-val %t.spv + +-; CHECK-SPIRV: Capability LongConstantCompositeINTEL ++; CHECK-SPIRV: Capability LongCompositesINTEL + ; CHECK-SPIRV: Extension "SPV_INTEL_long_constant_composite" + ; CHECK-SPIRV: TypeInt [[TInt:[0-9]+]] 8 + ; CHECK-SPIRV: Constant {{[0-9]+}} [[ArrSize:[0-9]+]] 78000 +diff --git a/test/long-type-struct.ll b/test/long-type-struct.ll +index b9478f0f..a1cdfc6b 100644 +--- a/test/long-type-struct.ll ++++ b/test/long-type-struct.ll +@@ -10,7 +10,7 @@ + + ; RUN: not llvm-spirv %t.bc -o %t.spv 2>&1 | FileCheck %s --check-prefix=CHECK-ERROR + +-; CHECK-SPIRV: Capability LongConstantCompositeINTEL ++; CHECK-SPIRV: Capability LongCompositesINTEL + ; CHECK-SPIRV: Extension "SPV_INTEL_long_constant_composite" + ; CHECK-SPIRV: TypeForwardPointer [[TFwdPtr:[0-9]+]] + ; CHECK-SPIRV: TypeInt [[TInt:[0-9]+]] diff --git a/dev-util/spirv-llvm-translator/files/spirv-llvm-translator-16.0.0-ld_library_path.patch b/dev-util/spirv-llvm-translator/files/spirv-llvm-translator-16.0.0-ld_library_path.patch new file mode 100644 index 000000000000..3068cd535005 --- /dev/null +++ b/dev-util/spirv-llvm-translator/files/spirv-llvm-translator-16.0.0-ld_library_path.patch @@ -0,0 +1,63 @@ +From c2133b18cb48b9bb9c47897b16d64c5f0547cde6 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org> +Date: Thu, 4 May 2023 08:44:25 +0200 +Subject: [PATCH] [test] Use LD_LIBRARY_PATH to ensure that a new lib is used + (#1989) +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Add the library `BINARY_DIR` to `LD_LIBRARY_PATH` to ensure that +the freshly built `libLLVMSPIRVLib.so` is tested. Otherwise, llvm-spirv +spawned by the test suite may use the previously installed +`libLLVMSPIRVLib.so`. + +I have noticed the problem after rebuilding LLVM with +`-DLLVM_ENABLE_ASSSERTIONS=ON`. This meant that the previous version +of `libLLVMSPIRVLib.so` now crashed, effectively causing the test suite +to fail incorrectly. + +Signed-off-by: Michał Górny <mgorny@gentoo.org> +--- + test/CMakeLists.txt | 1 + + test/lit.cfg.py | 3 ++- + test/lit.site.cfg.py.in | 1 + + 3 files changed, 4 insertions(+), 1 deletion(-) + +diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt +index 235f6d0a0..355baffb8 100644 +--- a/test/CMakeLists.txt ++++ b/test/CMakeLists.txt +@@ -3,6 +3,7 @@ llvm_canonicalize_cmake_booleans(SPIRV_SKIP_DEBUG_INFO_TESTS) + + # required by lit.site.cfg.py.in + get_target_property(LLVM_SPIRV_DIR llvm-spirv BINARY_DIR) ++get_target_property(LLVM_SPIRV_LIB_DIR LLVMSPIRVLib BINARY_DIR) + set(LLVM_SPIRV_TEST_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}) + + if(SPIRV_TOOLS_FOUND AND NOT SPIRV-Tools-tools_FOUND) +diff --git a/test/lit.cfg.py b/test/lit.cfg.py +index 4b66412c3..fd8d3f94c 100644 +--- a/test/lit.cfg.py ++++ b/test/lit.cfg.py +@@ -76,6 +76,7 @@ + else: + config.substitutions.append(('spirv-val', ':')) + ++llvm_config.with_system_environment('LD_LIBRARY_PATH') + if using_spirv_tools: +- llvm_config.with_system_environment('LD_LIBRARY_PATH') + llvm_config.with_environment('LD_LIBRARY_PATH', config.spirv_tools_lib_dir, append_path=True) ++llvm_config.with_environment('LD_LIBRARY_PATH', config.llvm_spirv_lib_dir, append_path=True) +diff --git a/test/lit.site.cfg.py.in b/test/lit.site.cfg.py.in +index a01f2bb34..fdc4f4319 100644 +--- a/test/lit.site.cfg.py.in ++++ b/test/lit.site.cfg.py.in +@@ -6,6 +6,7 @@ config.llvm_src_root = "@LLVM_SOURCE_DIR@" + config.llvm_obj_root = "@LLVM_BINARY_DIR@" + config.llvm_tools_dir = "@LLVM_TOOLS_DIR@" + config.llvm_spirv_dir = "@LLVM_SPIRV_DIR@" ++config.llvm_spirv_lib_dir = "@LLVM_SPIRV_LIB_DIR@" + config.llvm_libs_dir = "@LLVM_LIBS_DIR@" + config.llvm_shlib_dir = "@SHLIBDIR@" + config.llvm_plugin_ext = "@LLVM_PLUGIN_EXT@" diff --git a/dev-util/spirv-llvm-translator/files/spirv-llvm-translator-16.0.0-llvm-link-llvm-dylib.patch b/dev-util/spirv-llvm-translator/files/spirv-llvm-translator-16.0.0-llvm-link-llvm-dylib.patch new file mode 100644 index 000000000000..5cd90086f1e2 --- /dev/null +++ b/dev-util/spirv-llvm-translator/files/spirv-llvm-translator-16.0.0-llvm-link-llvm-dylib.patch @@ -0,0 +1,73 @@ +From 98fadafeae0204defedd89f015f7fb88f2888b2f Mon Sep 17 00:00:00 2001 +From: Tulio Magno Quites Machado Filho <tuliom@redhat.com> +Date: Fri, 17 Mar 2023 14:27:10 -0300 +Subject: [PATCH] Fix standalone builds with LLVM_LINK_LLVM_DYLIB=ON + +Move the LLVM components to LINK_COMPONENTS because the DEPENDS list has +the same semantics as add_dependencies(). In this +case it doesn't include the LLVM components when calling the linker. +--- + lib/SPIRV/CMakeLists.txt | 47 ++++++++++++---------------------------- + 1 file changed, 14 insertions(+), 33 deletions(-) + +diff --git a/lib/SPIRV/CMakeLists.txt b/lib/SPIRV/CMakeLists.txt +index bbef00528..2810c6b2c 100644 +--- a/lib/SPIRV/CMakeLists.txt ++++ b/lib/SPIRV/CMakeLists.txt +@@ -38,42 +38,23 @@ set(SRC_LIST + libSPIRV/SPIRVType.cpp + libSPIRV/SPIRVValue.cpp + ) +-if(LLVM_LINK_LLVM_DYLIB) +- add_llvm_library(LLVMSPIRVLib STATIC DISABLE_LLVM_LINK_LLVM_DYLIB +- ${SRC_LIST} +- DEPENDS +- intrinsics_gen +- LLVMAnalysis +- LLVMBitWriter +- LLVMCodeGen +- LLVMCore +- LLVMDemangle +- LLVMIRReader +- LLVMLinker +- LLVMPasses +- LLVMSupport +- LLVMTargetParser +- LLVMTransformUtils +- ) +-else() +- add_llvm_library(LLVMSPIRVLib +- ${SRC_LIST} +- LINK_COMPONENTS +- Analysis +- BitWriter +- CodeGen +- Core +- Demangle +- IRReader +- Linker +- Passes +- Support +- TargetParser +- TransformUtils ++add_llvm_library(LLVMSPIRVLib ++ ${SRC_LIST} ++ LINK_COMPONENTS ++ Analysis ++ BitWriter ++ CodeGen ++ Core ++ Demangle ++ IRReader ++ Linker ++ Passes ++ Support ++ TargetParser ++ TransformUtils + DEPENDS + intrinsics_gen + ) +-endif() + + target_include_directories(LLVMSPIRVLib + PRIVATE 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/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/files/spirv-llvm-translator-8.0.0.1-no_pkgconfig_files.patch b/dev-util/spirv-llvm-translator/files/spirv-llvm-translator-8.0.0.1-no_pkgconfig_files.patch deleted file mode 100644 index 66e81dc3b20d..000000000000 --- a/dev-util/spirv-llvm-translator/files/spirv-llvm-translator-8.0.0.1-no_pkgconfig_files.patch +++ /dev/null @@ -1,18 +0,0 @@ -Do not install pkgconfig data files, pkg-config does not presently look at -/usr/lib/llvm/.../pkgconfig and putting them in /usr/lib*/pkgconfig would -cause collisions between slots. - ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -66,11 +66,3 @@ - DESTINATION - ${CMAKE_INSTALL_PREFIX}/include/LLVMSPIRVLib - ) -- --configure_file(LLVMSPIRVLib.pc.in ${CMAKE_BINARY_DIR}/LLVMSPIRVLib.pc @ONLY) --install( -- FILES -- ${CMAKE_BINARY_DIR}/LLVMSPIRVLib.pc -- DESTINATION -- ${CMAKE_INSTALL_PREFIX}/lib${LLVM_LIBDIR_SUFFIX}/pkgconfig --) diff --git a/dev-util/spirv-llvm-translator/metadata.xml b/dev-util/spirv-llvm-translator/metadata.xml index f5e348c67b5f..73175b2ae00b 100644 --- a/dev-util/spirv-llvm-translator/metadata.xml +++ b/dev-util/spirv-llvm-translator/metadata.xml @@ -1,17 +1,15 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> <maintainer type="person"> - <email>marecki@gentoo.org</email> - <name>Marek Szuba</name> + <email>conikost@gentoo.org</email> + <name>Conrad Kostecki</name> + </maintainer> + <maintainer type="project"> + <email>x11@gentoo.org</email> + <name>X11</name> </maintainer> - <use> - <flag name="tools"> - Install the command-line translator llvm-spirv - </flag> - </use> <upstream> <remote-id type="github">KhronosGroup/SPIRV-LLVM-Translator</remote-id> </upstream> </pkgmetadata> - diff --git a/dev-util/spirv-llvm-translator/spirv-llvm-translator-10.0.0.ebuild b/dev-util/spirv-llvm-translator/spirv-llvm-translator-10.0.0.ebuild deleted file mode 100644 index 787306f0e0b5..000000000000 --- a/dev-util/spirv-llvm-translator/spirv-llvm-translator-10.0.0.ebuild +++ /dev/null @@ -1,58 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -CMAKE_ECLASS=cmake - -inherit cmake-multilib flag-o-matic llvm - -MY_PN="SPIRV-LLVM-Translator" -MY_P="${MY_PN}-${PV}" - -DESCRIPTION="Bi-directional translator between SPIR-V and LLVM IR" -HOMEPAGE="https://github.com/KhronosGroup/SPIRV-LLVM-Translator" -SRC_URI="https://github.com/KhronosGroup/${MY_PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" - -LICENSE="UoI-NCSA" -SLOT="10" -KEYWORDS="~amd64" -IUSE="test tools" - -RESTRICT="!test? ( test )" - -S="${WORKDIR}/${MY_P}" - -COMMON="sys-devel/clang:10=[${MULTILIB_USEDEP}]" -DEPEND="${COMMON}" -RDEPEND="${COMMON}" -BDEPEND="test? ( dev-python/lit )" - -REQUIRED_USE="test? ( tools )" - -LLVM_MAX_SLOT=10 - -PATCHES=( - "${FILESDIR}"/${PN}-8.0.0.1-no_pkgconfig_files.patch -) - -src_prepare() { - append-flags -fPIC - cmake_src_prepare -} - -multilib_src_configure() { - local mycmakeargs=( - -DCMAKE_INSTALL_PREFIX="$(get_llvm_prefix ${LLVM_MAX_SLOT})" - -DLLVM_BUILD_TOOLS=$(usex tools "ON" "OFF") - $(usex test "-DLLVM_INCLUDE_TESTS=ON" "") - ) - cmake_src_configure -} - -multilib_src_test() { - # Some tests fail on amd64 when ABI==x86 - if multilib_is_native_abi; then - lit "${BUILD_DIR}/test" || die "Error running tests for ABI ${ABI}" - fi -} diff --git a/dev-util/spirv-llvm-translator/spirv-llvm-translator-15.0.0-r1.ebuild b/dev-util/spirv-llvm-translator/spirv-llvm-translator-15.0.0-r1.ebuild new file mode 100644 index 000000000000..29e6a6ab500f --- /dev/null +++ b/dev-util/spirv-llvm-translator/spirv-llvm-translator-15.0.0-r1.ebuild @@ -0,0 +1,62 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_MAX_SLOT="15" +MY_PN="SPIRV-LLVM-Translator" +MY_P="${MY_PN}-${PV}" + +inherit cmake flag-o-matic llvm + +DESCRIPTION="Bi-directional translator between SPIR-V and LLVM IR" +HOMEPAGE="https://github.com/KhronosGroup/SPIRV-LLVM-Translator" +SRC_URI="https://github.com/KhronosGroup/${MY_PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" +S="${WORKDIR}/${MY_P}" + +LICENSE="UoI-NCSA" +SLOT="$(ver_cut 1)" +KEYWORDS="amd64 ~riscv ~x86" +IUSE="test" +RESTRICT="!test? ( test )" + +RDEPEND=" + dev-util/spirv-tools + sys-devel/llvm:${SLOT}= +" +DEPEND="${RDEPEND} + dev-util/spirv-headers +" +BDEPEND=" + virtual/pkgconfig + test? ( + dev-python/lit + sys-devel/clang:${SLOT} + ) +" + +PATCHES=( "${FILESDIR}"/${PN}-15.0.0-intel-capability.patch ) + +src_prepare() { + append-flags -fPIC + cmake_src_prepare + + # https://github.com/KhronosGroup/SPIRV-LLVM-Translator/pull/2555 + sed -i -e 's/%triple/x86_64-unknown-linux-gnu/' test/DebugInfo/X86/*.ll || die +} + +src_configure() { + local mycmakeargs=( + -DCCACHE_ALLOWED="OFF" + -DCMAKE_INSTALL_PREFIX="$(get_llvm_prefix ${LLVM_MAX_SLOT})" + -DLLVM_EXTERNAL_SPIRV_HEADERS_SOURCE_DIR="${ESYSROOT}/usr/include/spirv" + -DLLVM_SPIRV_INCLUDE_TESTS=$(usex test "ON" "OFF") + -Wno-dev + ) + + cmake_src_configure +} + +src_test() { + lit "${BUILD_DIR}/test" || die +} diff --git a/dev-util/spirv-llvm-translator/spirv-llvm-translator-16.0.0-r1.ebuild b/dev-util/spirv-llvm-translator/spirv-llvm-translator-16.0.0-r1.ebuild new file mode 100644 index 000000000000..fb3e58b930a6 --- /dev/null +++ b/dev-util/spirv-llvm-translator/spirv-llvm-translator-16.0.0-r1.ebuild @@ -0,0 +1,66 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_MAX_SLOT="16" +MY_PN="SPIRV-LLVM-Translator" +MY_P="${MY_PN}-${PV}" + +inherit cmake flag-o-matic llvm multiprocessing + +DESCRIPTION="Bi-directional translator between SPIR-V and LLVM IR" +HOMEPAGE="https://github.com/KhronosGroup/SPIRV-LLVM-Translator" +SRC_URI="https://github.com/KhronosGroup/${MY_PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" +S="${WORKDIR}/${MY_P}" + +LICENSE="UoI-NCSA" +SLOT="$(ver_cut 1)" +KEYWORDS="amd64 ~riscv ~x86" +IUSE="test" +RESTRICT="!test? ( test )" + +RDEPEND=" + dev-util/spirv-tools + sys-devel/llvm:${SLOT}= +" +DEPEND="${RDEPEND} + dev-util/spirv-headers +" +BDEPEND=" + virtual/pkgconfig + test? ( + dev-python/lit + sys-devel/clang:${SLOT} + ) +" + +PATCHES=( + "${FILESDIR}/${PN}-17.0.0-intel-capability.patch" + "${FILESDIR}/${PN}-16.0.0-llvm-link-llvm-dylib.patch" + "${FILESDIR}/${PN}-16.0.0-ld_library_path.patch" +) + +src_prepare() { + append-flags -fPIC + cmake_src_prepare + + # https://github.com/KhronosGroup/SPIRV-LLVM-Translator/pull/2555 + sed -i -e 's/%triple/x86_64-unknown-linux-gnu/' test/DebugInfo/X86/*.ll || die +} + +src_configure() { + local mycmakeargs=( + -DCCACHE_ALLOWED="OFF" + -DCMAKE_INSTALL_PREFIX="$(get_llvm_prefix ${LLVM_MAX_SLOT})" + -DLLVM_EXTERNAL_SPIRV_HEADERS_SOURCE_DIR="${ESYSROOT}/usr/include/spirv" + -DLLVM_SPIRV_INCLUDE_TESTS=$(usex test "ON" "OFF") + -Wno-dev + ) + + cmake_src_configure +} + +src_test() { + lit -vv "-j${LIT_JOBS:-$(makeopts_jobs)}" "${BUILD_DIR}/test" || die +} 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 new file mode 100644 index 000000000000..844d7cf8bac3 --- /dev/null +++ b/dev-util/spirv-llvm-translator/spirv-llvm-translator-17.0.0-r2.ebuild @@ -0,0 +1,65 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_MAX_SLOT="17" +MY_PN="SPIRV-LLVM-Translator" +MY_P="${MY_PN}-${PV}" + +inherit cmake flag-o-matic llvm multiprocessing + +DESCRIPTION="Bi-directional translator between SPIR-V and LLVM IR" +HOMEPAGE="https://github.com/KhronosGroup/SPIRV-LLVM-Translator" +SRC_URI="https://github.com/KhronosGroup/${MY_PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" +S="${WORKDIR}/${MY_P}" + +LICENSE="UoI-NCSA" +SLOT="$(ver_cut 1)" +KEYWORDS="amd64 arm64 ~riscv x86" +IUSE="test" +RESTRICT="!test? ( test )" + +RDEPEND=" + dev-util/spirv-tools + sys-devel/llvm:${SLOT}= +" +DEPEND="${RDEPEND} + >=dev-util/spirv-headers-1.3.275 +" +BDEPEND=" + virtual/pkgconfig + test? ( + dev-python/lit + sys-devel/clang:${SLOT} + ) +" + +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 + cmake_src_prepare + + # https://github.com/KhronosGroup/SPIRV-LLVM-Translator/pull/2555 + sed -i -e 's/%triple/x86_64-unknown-linux-gnu/' test/DebugInfo/X86/*.ll || die +} + +src_configure() { + local mycmakeargs=( + -DCCACHE_ALLOWED="OFF" + -DCMAKE_INSTALL_PREFIX="$(get_llvm_prefix ${LLVM_MAX_SLOT})" + -DLLVM_EXTERNAL_SPIRV_HEADERS_SOURCE_DIR="${ESYSROOT}/usr/include/spirv" + -DLLVM_SPIRV_INCLUDE_TESTS=$(usex test "ON" "OFF") + -Wno-dev + ) + + cmake_src_configure +} + +src_test() { + lit -vv "-j${LIT_JOBS:-$(makeopts_jobs)}" "${BUILD_DIR}/test" || die +} diff --git a/dev-util/spirv-llvm-translator/spirv-llvm-translator-18.1.0.ebuild b/dev-util/spirv-llvm-translator/spirv-llvm-translator-18.1.0.ebuild new file mode 100644 index 000000000000..63f846f23177 --- /dev/null +++ b/dev-util/spirv-llvm-translator/spirv-llvm-translator-18.1.0.ebuild @@ -0,0 +1,63 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_MAX_SLOT="18" +MY_PN="SPIRV-LLVM-Translator" +MY_P="${MY_PN}-${PV}" + +inherit cmake flag-o-matic llvm multiprocessing + +DESCRIPTION="Bi-directional translator between SPIR-V and LLVM IR" +HOMEPAGE="https://github.com/KhronosGroup/SPIRV-LLVM-Translator" +SRC_URI="https://github.com/KhronosGroup/${MY_PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" +S="${WORKDIR}/${MY_P}" + +LICENSE="UoI-NCSA" +SLOT="$(ver_cut 1)" +KEYWORDS="~amd64 ~arm64 ~riscv ~x86" +IUSE="test" +RESTRICT="!test? ( test )" + +RDEPEND=" + dev-util/spirv-tools + sys-devel/llvm:${SLOT}= +" +DEPEND="${RDEPEND} + >=dev-util/spirv-headers-1.3.280 +" +BDEPEND=" + virtual/pkgconfig + test? ( + dev-python/lit + sys-devel/clang:${SLOT} + ) +" + +PATCHES=( +) + +src_prepare() { + append-flags -fPIC + cmake_src_prepare + + # https://github.com/KhronosGroup/SPIRV-LLVM-Translator/pull/2555 + sed -i -e 's/%triple/x86_64-unknown-linux-gnu/' test/DebugInfo/X86/*.ll || die +} + +src_configure() { + local mycmakeargs=( + -DCCACHE_ALLOWED="OFF" + -DCMAKE_INSTALL_PREFIX="$(get_llvm_prefix ${LLVM_MAX_SLOT})" + -DLLVM_EXTERNAL_SPIRV_HEADERS_SOURCE_DIR="${ESYSROOT}/usr/include/spirv" + -DLLVM_SPIRV_INCLUDE_TESTS=$(usex test "ON" "OFF") + -Wno-dev + ) + + cmake_src_configure +} + +src_test() { + lit -vv "-j${LIT_JOBS:-$(makeopts_jobs)}" "${BUILD_DIR}/test" || die +} diff --git a/dev-util/spirv-llvm-translator/spirv-llvm-translator-18.1.1.ebuild b/dev-util/spirv-llvm-translator/spirv-llvm-translator-18.1.1.ebuild new file mode 100644 index 000000000000..63f846f23177 --- /dev/null +++ b/dev-util/spirv-llvm-translator/spirv-llvm-translator-18.1.1.ebuild @@ -0,0 +1,63 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_MAX_SLOT="18" +MY_PN="SPIRV-LLVM-Translator" +MY_P="${MY_PN}-${PV}" + +inherit cmake flag-o-matic llvm multiprocessing + +DESCRIPTION="Bi-directional translator between SPIR-V and LLVM IR" +HOMEPAGE="https://github.com/KhronosGroup/SPIRV-LLVM-Translator" +SRC_URI="https://github.com/KhronosGroup/${MY_PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" +S="${WORKDIR}/${MY_P}" + +LICENSE="UoI-NCSA" +SLOT="$(ver_cut 1)" +KEYWORDS="~amd64 ~arm64 ~riscv ~x86" +IUSE="test" +RESTRICT="!test? ( test )" + +RDEPEND=" + dev-util/spirv-tools + sys-devel/llvm:${SLOT}= +" +DEPEND="${RDEPEND} + >=dev-util/spirv-headers-1.3.280 +" +BDEPEND=" + virtual/pkgconfig + test? ( + dev-python/lit + sys-devel/clang:${SLOT} + ) +" + +PATCHES=( +) + +src_prepare() { + append-flags -fPIC + cmake_src_prepare + + # https://github.com/KhronosGroup/SPIRV-LLVM-Translator/pull/2555 + sed -i -e 's/%triple/x86_64-unknown-linux-gnu/' test/DebugInfo/X86/*.ll || die +} + +src_configure() { + local mycmakeargs=( + -DCCACHE_ALLOWED="OFF" + -DCMAKE_INSTALL_PREFIX="$(get_llvm_prefix ${LLVM_MAX_SLOT})" + -DLLVM_EXTERNAL_SPIRV_HEADERS_SOURCE_DIR="${ESYSROOT}/usr/include/spirv" + -DLLVM_SPIRV_INCLUDE_TESTS=$(usex test "ON" "OFF") + -Wno-dev + ) + + cmake_src_configure +} + +src_test() { + lit -vv "-j${LIT_JOBS:-$(makeopts_jobs)}" "${BUILD_DIR}/test" || die +} diff --git a/dev-util/spirv-llvm-translator/spirv-llvm-translator-9.0.1.1.ebuild b/dev-util/spirv-llvm-translator/spirv-llvm-translator-9.0.1.1.ebuild deleted file mode 100644 index 4feef376c920..000000000000 --- a/dev-util/spirv-llvm-translator/spirv-llvm-translator-9.0.1.1.ebuild +++ /dev/null @@ -1,58 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -CMAKE_ECLASS=cmake -inherit cmake-multilib flag-o-matic llvm - -MY_PN="SPIRV-LLVM-Translator" -MY_PV="$(ver_rs 3 -)" -MY_P="${MY_PN}-${MY_PV}" - -DESCRIPTION="Bi-directional translator between SPIR-V and LLVM IR" -HOMEPAGE="https://github.com/KhronosGroup/SPIRV-LLVM-Translator" -SRC_URI="https://github.com/KhronosGroup/${MY_PN}/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz" - -LICENSE="UoI-NCSA" -SLOT="9" -KEYWORDS="~amd64" -IUSE="test tools" - -RESTRICT="!test? ( test )" - -S="${WORKDIR}/${MY_P}" - -COMMON="sys-devel/clang:9=[${MULTILIB_USEDEP}]" -DEPEND="${COMMON}" -RDEPEND="${COMMON}" -BDEPEND="test? ( dev-python/lit )" - -REQUIRED_USE="test? ( tools )" - -LLVM_MAX_SLOT=9 - -PATCHES=( - "${FILESDIR}"/${PN}-8.0.0.1-no_pkgconfig_files.patch -) - -src_prepare() { - append-flags -fPIC - cmake_src_prepare -} - -multilib_src_configure() { - local mycmakeargs=( - -DCMAKE_INSTALL_PREFIX="$(get_llvm_prefix ${LLVM_MAX_SLOT})" - -DLLVM_BUILD_TOOLS=$(usex tools "ON" "OFF") - $(usex test "-DLLVM_INCLUDE_TESTS=ON" "") - ) - cmake_src_configure -} - -multilib_src_test() { - # Some tests fail on amd64 when ABI==x86 - if multilib_is_native_abi; then - lit "${BUILD_DIR}/test" || die "Error running tests for ABI ${ABI}" - fi -} |