1 |
commit: 94cf195ebe7b78124863237f8452a6cc983a1778 |
2 |
Author: Conrad Kostecki <conikost <AT> gentoo <DOT> org> |
3 |
AuthorDate: Sun Sep 25 22:29:54 2022 +0000 |
4 |
Commit: Conrad Kostecki <conikost <AT> gentoo <DOT> org> |
5 |
CommitDate: Sun Sep 25 23:11:45 2022 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=94cf195e |
7 |
|
8 |
dev-util/intel-graphics-compiler: drop 1.0.11485-r2 |
9 |
|
10 |
Signed-off-by: Conrad Kostecki <conikost <AT> gentoo.org> |
11 |
|
12 |
dev-util/intel-graphics-compiler/Manifest | 1 - |
13 |
...aphics-compiler-1.0.11485-fix-BiF-caching.patch | 49 ------ |
14 |
...mpiler-1.0.11485-update-raytracing-llvm14.patch | 186 --------------------- |
15 |
...compiler-1.0.11485-wrap-getNumArgOperands.patch | 24 --- |
16 |
.../intel-graphics-compiler-1.0.11485-r2.ebuild | 88 ---------- |
17 |
5 files changed, 348 deletions(-) |
18 |
|
19 |
diff --git a/dev-util/intel-graphics-compiler/Manifest b/dev-util/intel-graphics-compiler/Manifest |
20 |
index e8fdf2d8233b..d191cf9cf1d5 100644 |
21 |
--- a/dev-util/intel-graphics-compiler/Manifest |
22 |
+++ b/dev-util/intel-graphics-compiler/Manifest |
23 |
@@ -1,2 +1 @@ |
24 |
-DIST intel-graphics-compiler-1.0.11485.tar.gz 8831925 BLAKE2B 7e2bcb37b4c34bb01788a8d75fc42498223b6193421cb726c21ce7949181757a10d112ae151736cd9283ba6ed8f0625597fb1f2a61229a7352e7f1f5ec34d1d0 SHA512 03fb571fdd61daea3a5c61ff75a146bd98b9b92dfd8bc1957143fe127977f5111df680ac86769d3c1fa1801ba2012b600b1ff844b318ce64460f2d042c4ae65b |
25 |
DIST intel-graphics-compiler-1.0.11702.1.tar.gz 8734601 BLAKE2B 7cc8a4f9fc820d822c3b435d172ca27145d916fd25fedf20d13b2d7041cba36fc4416e17307ab0cbf6b9785f5958a53c58486fb6fb4776025b696f5dfb195161 SHA512 cd7d27a3a13462517c3e75c43d7d951afa53ef77875f479304da43b93fd40ae19680c11dc5bcf2ec3fecf6dbe56daa954ccb88b9f99f3af4c53d3141ef0b93f5 |
26 |
|
27 |
diff --git a/dev-util/intel-graphics-compiler/files/intel-graphics-compiler-1.0.11485-fix-BiF-caching.patch b/dev-util/intel-graphics-compiler/files/intel-graphics-compiler-1.0.11485-fix-BiF-caching.patch |
28 |
deleted file mode 100644 |
29 |
index 7ad261e0aa6c..000000000000 |
30 |
--- a/dev-util/intel-graphics-compiler/files/intel-graphics-compiler-1.0.11485-fix-BiF-caching.patch |
31 |
+++ /dev/null |
32 |
@@ -1,49 +0,0 @@ |
33 |
-From 12c99343388eba6e6275856b25e0fa8978585dfb Mon Sep 17 00:00:00 2001 |
34 |
-From: Marcin Naczk <marcin.naczk@×××××.com> |
35 |
-Date: Mon, 13 Jun 2022 08:28:24 +0000 |
36 |
-Subject: [PATCH] Find OpenCl-c.h when clang is take from system. |
37 |
- |
38 |
-Find OpenCl-c.h when clang is take from system. |
39 |
---- |
40 |
- IGC/cmake/igc_find_opencl_clang.cmake | 24 +++++++++++++++--------- |
41 |
- 1 file changed, 15 insertions(+), 9 deletions(-) |
42 |
- |
43 |
-diff --git a/IGC/cmake/igc_find_opencl_clang.cmake b/IGC/cmake/igc_find_opencl_clang.cmake |
44 |
-index dc8924fb7ee..0a54ac68249 100644 |
45 |
---- a/IGC/cmake/igc_find_opencl_clang.cmake |
46 |
-+++ b/IGC/cmake/igc_find_opencl_clang.cmake |
47 |
-@@ -94,19 +94,25 @@ if(CCLANG_FROM_SYSTEM) |
48 |
- else() |
49 |
- set_property(TARGET opencl-clang-lib PROPERTY "IMPORTED_LOCATION" "${SYSTEM_COMMON_CLANG}") |
50 |
- endif() |
51 |
-- find_program(CLANG_GE7 clang-${LLVM_VERSION_MAJOR}) |
52 |
-- if(CLANG_GE7) |
53 |
-- message(STATUS "[IGC] Found clang-${LLVM_VERSION_MAJOR} executable: ${CLANG_GE7}") |
54 |
-+ find_program(CLANG_EXE clang-${LLVM_VERSION_MAJOR}) |
55 |
-+ if(CLANG_EXE) |
56 |
-+ message(STATUS "[IGC] Found clang-${LLVM_VERSION_MAJOR} executable: ${CLANG_EXE}") |
57 |
- |
58 |
- add_executable(clang-tool IMPORTED GLOBAL) |
59 |
-- set_property(TARGET clang-tool PROPERTY "IMPORTED_LOCATION" "${CLANG_GE7}") |
60 |
-+ set_property(TARGET clang-tool PROPERTY "IMPORTED_LOCATION" "${CLANG_EXE}") |
61 |
- set(CL_OPTIONS "-finclude-default-header") |
62 |
-- if(LLVM_VERSION_MAJOR VERSION_EQUAL 7) |
63 |
-- message(WARNING "[IGC] : clang-7 should be patched with VME patch (https://reviews.llvm.org/D51484). Assuming that it is. If not, please add -DVME_TYPES_DEFINED=FALSE.") |
64 |
-- endif() |
65 |
-- else(CLANG_GE7) |
66 |
-+ |
67 |
-+ # Get parent dir of the location of CLANG_EXE |
68 |
-+ get_filename_component(CLANG_EXE_PARENT_DIR ${CLANG_EXE} DIRECTORY) |
69 |
-+ file(GLOB_RECURSE opencl-header ${CLANG_EXE_PARENT_DIR}/../*opencl-c.h) |
70 |
-+ if(opencl-header) |
71 |
-+ message(STATUS "[IGC] Found opencl-c.h: ${opencl-header}") |
72 |
-+ else(opencl-header) |
73 |
-+ message(FATAL_ERROR "[IGC] : Couldn't find opencl-c.h, please provide it.") |
74 |
-+ endif(opencl-header) |
75 |
-+ else(CLANG_EXE) |
76 |
- message(FATAL_ERROR "[IGC] : Couldn't find clang-${LLVM_VERSION_MAJOR} executable, please install it.") |
77 |
-- endif(CLANG_GE7) |
78 |
-+ endif(CLANG_EXE) |
79 |
- ### |
80 |
- #2. CCLANG_BUILD_PREBUILDS - use prebuilt opencl-clang toolchain |
81 |
- elseif(${CCLANG_BUILD_PREBUILDS}) |
82 |
|
83 |
diff --git a/dev-util/intel-graphics-compiler/files/intel-graphics-compiler-1.0.11485-update-raytracing-llvm14.patch b/dev-util/intel-graphics-compiler/files/intel-graphics-compiler-1.0.11485-update-raytracing-llvm14.patch |
84 |
deleted file mode 100644 |
85 |
index 248f8244e32f..000000000000 |
86 |
--- a/dev-util/intel-graphics-compiler/files/intel-graphics-compiler-1.0.11485-update-raytracing-llvm14.patch |
87 |
+++ /dev/null |
88 |
@@ -1,186 +0,0 @@ |
89 |
-From d9535cc5c3e54b21d56c492d4e21cb13c80b9b7a Mon Sep 17 00:00:00 2001 |
90 |
-From: Artem Gindinson <artem.gindinson@×××××.com> |
91 |
-Date: Wed, 22 Jun 2022 11:53:02 +0000 |
92 |
-Subject: [PATCH] Update RayTracing for full LLVM 14 buildability |
93 |
- |
94 |
-- Address further casting issues |
95 |
-- Use pre-existing LLVM wrappers for function argument manipulations |
96 |
-- Create & use LLVM wrappers for `AAQueryInfo` and |
97 |
- `CallBase::getRetDereferenceableBytes()` |
98 |
---- |
99 |
- IGC/AdaptorCommon/RayTracing/AllocaTracking.cpp | 3 ++- |
100 |
- IGC/AdaptorCommon/RayTracing/InlineDataPass.cpp | 3 ++- |
101 |
- IGC/AdaptorCommon/RayTracing/LowerIntersectionAnyHit.cpp | 2 +- |
102 |
- IGC/AdaptorCommon/RayTracing/RTSpillShrinkPass.cpp | 4 ++-- |
103 |
- IGC/AdaptorCommon/RayTracing/RayTracingFinalizePass.cpp | 4 ++-- |
104 |
- IGC/AdaptorCommon/RayTracing/StackIDSchedulingPass.cpp | 3 ++- |
105 |
- IGC/AdaptorCommon/TypesLegalizationPass.cpp | 2 +- |
106 |
- .../include/llvmWrapper/Analysis/AliasAnalysis.h | 7 +++++++ |
107 |
- IGC/WrapperLLVM/include/llvmWrapper/IR/InstrTypes.h | 9 +++++++++ |
108 |
- 9 files changed, 28 insertions(+), 9 deletions(-) |
109 |
- |
110 |
-diff --git a/IGC/AdaptorCommon/RayTracing/AllocaTracking.cpp b/IGC/AdaptorCommon/RayTracing/AllocaTracking.cpp |
111 |
-index b5ad27e32ca..67cf302495c 100644 |
112 |
---- a/IGC/AdaptorCommon/RayTracing/AllocaTracking.cpp |
113 |
-+++ b/IGC/AdaptorCommon/RayTracing/AllocaTracking.cpp |
114 |
-@@ -19,6 +19,7 @@ SPDX-License-Identifier: MIT |
115 |
- #include "common/LLVMWarningsPush.hpp" |
116 |
- #include <llvm/IR/Instruction.h> |
117 |
- #include <llvm/IR/IntrinsicInst.h> |
118 |
-+#include <llvmWrapper/IR/Instructions.h> |
119 |
- #include "common/LLVMWarningsPop.hpp" |
120 |
- |
121 |
- using namespace llvm; |
122 |
-@@ -129,7 +130,7 @@ void rewriteTypes( |
123 |
- "Only handles void right now!"); |
124 |
- |
125 |
- SmallVector<Type*, 4> Tys; |
126 |
-- for (auto &Op : II->arg_operands()) |
127 |
-+ for (auto &Op : IGCLLVM::args(II)) |
128 |
- Tys.push_back(Op->getType()); |
129 |
- |
130 |
- auto* NewFTy = FunctionType::get( |
131 |
-diff --git a/IGC/AdaptorCommon/RayTracing/InlineDataPass.cpp b/IGC/AdaptorCommon/RayTracing/InlineDataPass.cpp |
132 |
-index 5e4df4e1a86..9433340d259 100644 |
133 |
---- a/IGC/AdaptorCommon/RayTracing/InlineDataPass.cpp |
134 |
-+++ b/IGC/AdaptorCommon/RayTracing/InlineDataPass.cpp |
135 |
-@@ -46,6 +46,7 @@ SPDX-License-Identifier: MIT |
136 |
- #include <vector> |
137 |
- #include "common/LLVMWarningsPush.hpp" |
138 |
- #include <llvm/IR/InstIterator.h> |
139 |
-+#include <llvmWrapper/IR/InstrTypes.h> |
140 |
- #include "common/LLVMWarningsPop.hpp" |
141 |
- |
142 |
- using namespace llvm; |
143 |
-@@ -155,7 +156,7 @@ bool BindlessInlineDataPass::runOnModule(Module &M) |
144 |
- // the size of the Shader Identifier + the size of the Local arguments |
145 |
- const uint64_t dereferenceable_size = |
146 |
- sizeof(ShaderIdentifier) + |
147 |
-- local_buffer_ptr->getDereferenceableBytes(AttributeList::ReturnIndex); |
148 |
-+ IGCLLVM::getRetDereferenceableBytes(local_buffer_ptr); |
149 |
- |
150 |
- // Return a CallInst* representing the InlinedData intrinsic call |
151 |
- // In the shader dumps, |
152 |
-diff --git a/IGC/AdaptorCommon/RayTracing/LowerIntersectionAnyHit.cpp b/IGC/AdaptorCommon/RayTracing/LowerIntersectionAnyHit.cpp |
153 |
-index 8b6bba69f23..2c3a98d04e3 100644 |
154 |
---- a/IGC/AdaptorCommon/RayTracing/LowerIntersectionAnyHit.cpp |
155 |
-+++ b/IGC/AdaptorCommon/RayTracing/LowerIntersectionAnyHit.cpp |
156 |
-@@ -449,7 +449,7 @@ CallInst* LowerIntersectionAnyHit::codeGenReportHit( |
157 |
- CustomHitAttrPtr, |
158 |
- 4, |
159 |
- Attrs, |
160 |
-- std::min(4U, DL.getABITypeAlignment(AttrTy->getPointerElementType())), |
161 |
-+ std::min(4U, (unsigned)DL.getABITypeAlignment(AttrTy->getPointerElementType())), |
162 |
- IRB.getInt64(DL.getTypeAllocSize(AttrTy->getPointerElementType()))); |
163 |
- } |
164 |
- |
165 |
-diff --git a/IGC/AdaptorCommon/RayTracing/RTSpillShrinkPass.cpp b/IGC/AdaptorCommon/RayTracing/RTSpillShrinkPass.cpp |
166 |
-index 4d42b32af36..d8d7ac3c54f 100644 |
167 |
---- a/IGC/AdaptorCommon/RayTracing/RTSpillShrinkPass.cpp |
168 |
-+++ b/IGC/AdaptorCommon/RayTracing/RTSpillShrinkPass.cpp |
169 |
-@@ -61,9 +61,9 @@ class RTSpillShrinkPass : public FunctionPass |
170 |
- |
171 |
- unsigned getAlignment(const DataLayout& DL, StoreInst* ST) const |
172 |
- { |
173 |
-- unsigned Align = ST->getAlignment(); |
174 |
-+ unsigned Align = (unsigned)ST->getAlignment(); |
175 |
- if (Align == 0) |
176 |
-- Align = DL.getABITypeAlignment(ST->getType()); |
177 |
-+ Align = (unsigned)DL.getABITypeAlignment(ST->getType()); |
178 |
- return Align; |
179 |
- } |
180 |
- |
181 |
-diff --git a/IGC/AdaptorCommon/RayTracing/RayTracingFinalizePass.cpp b/IGC/AdaptorCommon/RayTracing/RayTracingFinalizePass.cpp |
182 |
-index 87549a6ce85..797e77a548d 100644 |
183 |
---- a/IGC/AdaptorCommon/RayTracing/RayTracingFinalizePass.cpp |
184 |
-+++ b/IGC/AdaptorCommon/RayTracing/RayTracingFinalizePass.cpp |
185 |
-@@ -114,7 +114,7 @@ bool RayTracingFinalizePass::runOnModule(Module &M) |
186 |
- { |
187 |
- // Temporary WA to ensure we don't page fault on unaligned |
188 |
- // acceses. |
189 |
-- uint32_t Align = LI->getAlignment(); |
190 |
-+ uint32_t Align = (uint32_t)LI->getAlignment(); |
191 |
- if (Align == 0) |
192 |
- Align = (uint32_t)DL.getTypeAllocSize(LI->getType()); |
193 |
- |
194 |
-@@ -125,7 +125,7 @@ bool RayTracingFinalizePass::runOnModule(Module &M) |
195 |
- { |
196 |
- // Temporary WA to ensure we don't page fault on unaligned |
197 |
- // acceses. |
198 |
-- uint32_t Align = SI->getAlignment(); |
199 |
-+ uint32_t Align = (uint32_t)SI->getAlignment(); |
200 |
- if (Align == 0) |
201 |
- Align = (uint32_t)DL.getTypeAllocSize( |
202 |
- SI->getValueOperand()->getType()); |
203 |
-diff --git a/IGC/AdaptorCommon/RayTracing/StackIDSchedulingPass.cpp b/IGC/AdaptorCommon/RayTracing/StackIDSchedulingPass.cpp |
204 |
-index db5490267fd..d352b67a50f 100644 |
205 |
---- a/IGC/AdaptorCommon/RayTracing/StackIDSchedulingPass.cpp |
206 |
-+++ b/IGC/AdaptorCommon/RayTracing/StackIDSchedulingPass.cpp |
207 |
-@@ -49,6 +49,7 @@ SPDX-License-Identifier: MIT |
208 |
- #include <llvm/IR/Dominators.h> |
209 |
- #include <llvm/Analysis/PostDominators.h> |
210 |
- #include <llvm/Analysis/LoopInfo.h> |
211 |
-+#include "llvmWrapper/Analysis/AliasAnalysis.h" |
212 |
- #include "llvmWrapper/Analysis/MemoryLocation.h" |
213 |
- #include "common/LLVMWarningsPop.hpp" |
214 |
- |
215 |
-@@ -175,7 +176,7 @@ BasicBlock* StackIDSchedulingPass::schedule( |
216 |
- ModRefInfo StackIDSchedulingPass::getModRefInfo( |
217 |
- const CallBase* Call, const MemoryLocation& Loc) |
218 |
- { |
219 |
-- AAQueryInfo AAQIP; |
220 |
-+ AAQueryInfo AAQIP = IGCLLVM::makeAAQueryInfo(); |
221 |
- return AA->getModRefInfo(Call, Loc, AAQIP); |
222 |
- } |
223 |
- |
224 |
-diff --git a/IGC/AdaptorCommon/TypesLegalizationPass.cpp b/IGC/AdaptorCommon/TypesLegalizationPass.cpp |
225 |
-index c3570f39d31..10da29ee242 100644 |
226 |
---- a/IGC/AdaptorCommon/TypesLegalizationPass.cpp |
227 |
-+++ b/IGC/AdaptorCommon/TypesLegalizationPass.cpp |
228 |
-@@ -207,7 +207,7 @@ TypesLegalizationPass::ResolveValue( Instruction *ip,Value *val,SmallVector<unsi |
229 |
- { |
230 |
- IGCLLVM::IRBuilder<> builder( ld ); |
231 |
- Value* gep = CreateGEP( builder,ld->getOperand( 0 ),indices ); |
232 |
-- unsigned alignment = ld->getAlignment(); |
233 |
-+ unsigned alignment = (unsigned)ld->getAlignment(); |
234 |
- unsigned pointerTypeSize = gep->getType()->getPointerElementType()->getScalarSizeInBits() / 8; |
235 |
- if ( alignment && pointerTypeSize == alignment ) |
236 |
- return builder.CreateAlignedLoad( gep, IGCLLVM::getAlign(alignment) ); |
237 |
-diff --git a/IGC/WrapperLLVM/include/llvmWrapper/Analysis/AliasAnalysis.h b/IGC/WrapperLLVM/include/llvmWrapper/Analysis/AliasAnalysis.h |
238 |
-index 873886cc860..385c04db970 100644 |
239 |
---- a/IGC/WrapperLLVM/include/llvmWrapper/Analysis/AliasAnalysis.h |
240 |
-+++ b/IGC/WrapperLLVM/include/llvmWrapper/Analysis/AliasAnalysis.h |
241 |
-@@ -19,6 +19,13 @@ namespace IGCLLVM |
242 |
- #else |
243 |
- using AliasResultEnum = llvm::AliasResult::Kind; |
244 |
- #endif |
245 |
-+inline llvm::AAQueryInfo makeAAQueryInfo() { |
246 |
-+#if LLVM_VERSION_MAJOR >= 14 |
247 |
-+ return llvm::AAQueryInfo(new llvm::SimpleCaptureInfo()); |
248 |
-+#else |
249 |
-+ return llvm::AAQueryInfo(); |
250 |
-+#endif |
251 |
-+} |
252 |
- } |
253 |
- |
254 |
- #endif |
255 |
-diff --git a/IGC/WrapperLLVM/include/llvmWrapper/IR/InstrTypes.h b/IGC/WrapperLLVM/include/llvmWrapper/IR/InstrTypes.h |
256 |
-index 569eece3fb5..1050c842271 100644 |
257 |
---- a/IGC/WrapperLLVM/include/llvmWrapper/IR/InstrTypes.h |
258 |
-+++ b/IGC/WrapperLLVM/include/llvmWrapper/IR/InstrTypes.h |
259 |
-@@ -50,6 +50,15 @@ namespace IGCLLVM |
260 |
- CI->addFnAttr(Kind); |
261 |
- #else |
262 |
- CI->addAttribute(llvm::AttributeList::FunctionIndex, Kind); |
263 |
-+#endif |
264 |
-+ } |
265 |
-+ |
266 |
-+ inline uint64_t getRetDereferenceableBytes(llvm::CallBase* Call) |
267 |
-+ { |
268 |
-+#if LLVM_VERSION_MAJOR >= 14 |
269 |
-+ return Call->getRetDereferenceableBytes(); |
270 |
-+#else |
271 |
-+ return Call->getDereferenceableBytes(llvm::AttributeList::ReturnIndex); |
272 |
- #endif |
273 |
- } |
274 |
- } |
275 |
|
276 |
diff --git a/dev-util/intel-graphics-compiler/files/intel-graphics-compiler-1.0.11485-wrap-getNumArgOperands.patch b/dev-util/intel-graphics-compiler/files/intel-graphics-compiler-1.0.11485-wrap-getNumArgOperands.patch |
277 |
deleted file mode 100644 |
278 |
index 23754ccb6b4b..000000000000 |
279 |
--- a/dev-util/intel-graphics-compiler/files/intel-graphics-compiler-1.0.11485-wrap-getNumArgOperands.patch |
280 |
+++ /dev/null |
281 |
@@ -1,24 +0,0 @@ |
282 |
-From 1d5ceafdbc005f3adc58be5af1dc92f068908e16 Mon Sep 17 00:00:00 2001 |
283 |
-From: Artem Gindinson <artem.gindinson@×××××.com> |
284 |
-Date: Mon, 20 Jun 2022 12:38:04 +0000 |
285 |
-Subject: [PATCH] Wrap CallInst::getNumArgOperands calls for LLVM 14 |
286 |
- |
287 |
-Rework all remaining call sites to rely on the already-existing wrapper |
288 |
-function. |
289 |
---- |
290 |
- IGC/Compiler/CISACodeGen/HFpackingOpt.cpp | 2 +- |
291 |
- 1 file changed, 1 insertion(+), 1 deletion(-) |
292 |
- |
293 |
-diff --git a/IGC/Compiler/CISACodeGen/HFpackingOpt.cpp b/IGC/Compiler/CISACodeGen/HFpackingOpt.cpp |
294 |
-index 69d6151f8bf..e24362d7791 100644 |
295 |
---- a/IGC/Compiler/CISACodeGen/HFpackingOpt.cpp |
296 |
-+++ b/IGC/Compiler/CISACodeGen/HFpackingOpt.cpp |
297 |
-@@ -825,7 +825,7 @@ bool HFpackingOpt::findStoreSequence(std::vector<Instruction*>& path, std::vecto |
298 |
- uint srciCount = inst->getNumOperands(); |
299 |
- if (CallInst* cinst = dyn_cast<CallInst>(inst)) |
300 |
- { |
301 |
-- srciCount = cinst->getNumArgOperands(); |
302 |
-+ srciCount = IGCLLVM::getNumArgOperands(cinst); |
303 |
- } |
304 |
- |
305 |
- for (uint srci = 0; srci < srciCount; srci++) |
306 |
|
307 |
diff --git a/dev-util/intel-graphics-compiler/intel-graphics-compiler-1.0.11485-r2.ebuild b/dev-util/intel-graphics-compiler/intel-graphics-compiler-1.0.11485-r2.ebuild |
308 |
deleted file mode 100644 |
309 |
index cbacc91fa4d3..000000000000 |
310 |
--- a/dev-util/intel-graphics-compiler/intel-graphics-compiler-1.0.11485-r2.ebuild |
311 |
+++ /dev/null |
312 |
@@ -1,88 +0,0 @@ |
313 |
-# Copyright 1999-2022 Gentoo Authors |
314 |
-# Distributed under the terms of the GNU General Public License v2 |
315 |
- |
316 |
-EAPI=8 |
317 |
- |
318 |
-CMAKE_BUILD_TYPE="Release" |
319 |
-LLVM_MAX_SLOT="13" |
320 |
-MY_PN="igc" |
321 |
-MY_P="${MY_PN}-${PV}" |
322 |
-PYTHON_COMPAT=( python3_{8..11} ) |
323 |
- |
324 |
-inherit cmake flag-o-matic llvm python-any-r1 |
325 |
- |
326 |
-DESCRIPTION="LLVM-based OpenCL compiler for OpenCL targetting Intel Gen graphics hardware" |
327 |
-HOMEPAGE="https://github.com/intel/intel-graphics-compiler" |
328 |
-SRC_URI="https://github.com/intel/${PN}/archive/${MY_P}.tar.gz -> ${P}.tar.gz" |
329 |
-S="${WORKDIR}/${PN}-${MY_P}" |
330 |
- |
331 |
-LICENSE="MIT" |
332 |
-SLOT="0" |
333 |
-KEYWORDS="amd64" |
334 |
-IUSE="debug" |
335 |
- |
336 |
-DEPEND=" |
337 |
- dev-libs/opencl-clang:${LLVM_MAX_SLOT}= |
338 |
- dev-util/spirv-tools |
339 |
- =sys-devel/lld-${LLVM_MAX_SLOT}* |
340 |
- sys-devel/llvm:${LLVM_MAX_SLOT}= |
341 |
-" |
342 |
- |
343 |
-RDEPEND="${DEPEND}" |
344 |
- |
345 |
-BDEPEND=" |
346 |
- =sys-devel/lld-${LLVM_MAX_SLOT}* |
347 |
- ${PYTHON_DEPS} |
348 |
-" |
349 |
- |
350 |
-PATCHES=( |
351 |
- "${FILESDIR}/${PN}-1.0.9-no_Werror.patch" |
352 |
- "${FILESDIR}/${PN}-1.0.8173-opencl-clang_version.patch" |
353 |
- "${FILESDIR}/${PN}-1.0.8365-disable-git.patch" |
354 |
- "${FILESDIR}/${PN}-1.0.11485-fix-BiF-caching.patch" |
355 |
- "${FILESDIR}/${PN}-1.0.11485-update-raytracing-llvm14.patch" |
356 |
- "${FILESDIR}/${PN}-1.0.11485-wrap-getNumArgOperands.patch" |
357 |
- "${FILESDIR}/${PN}-1.0.11485-include-opencl-c.patch" |
358 |
-) |
359 |
- |
360 |
-pkg_setup() { |
361 |
- llvm_pkg_setup |
362 |
- python-any-r1_pkg_setup |
363 |
-} |
364 |
- |
365 |
-src_configure() { |
366 |
- # Get LLVM version |
367 |
- local llvm_version="$(best_version -d sys-devel/llvm:${LLVM_MAX_SLOT})" |
368 |
- |
369 |
- # See https://github.com/intel/intel-graphics-compiler/issues/212 |
370 |
- append-ldflags -Wl,-z,undefs |
371 |
- |
372 |
- # See https://bugs.gentoo.org/718824 |
373 |
- ! use debug && append-cppflags -DNDEBUG |
374 |
- |
375 |
- local mycmakeargs=( |
376 |
- -DCCLANG_INCLUDE_PREBUILDS_DIR="/usr/lib/clang/${llvm_version##*-}/include" |
377 |
- -DCCLANG_SONAME_VERSION="${LLVM_MAX_SLOT}" |
378 |
- -DCMAKE_LIBRARY_PATH="$(get_llvm_prefix ${LLVM_MAX_SLOT})/$(get_libdir)" |
379 |
- -DIGC_OPTION__ARCHITECTURE_TARGET="Linux64" |
380 |
- -DIGC_OPTION__CLANG_MODE="Prebuilds" |
381 |
- -DIGC_OPTION__LINK_KHRONOS_SPIRV_TRANSLATOR="ON" |
382 |
- -DIGC_OPTION__LLD_MODE="Prebuilds" |
383 |
- -DIGC_OPTION__LLDELF_H_DIR="${EPREFIX}/usr/include/lld/Common" |
384 |
- -DIGC_OPTION__LLVM_MODE="Prebuilds" |
385 |
- -DIGC_OPTION__LLVM_PREFERRED_VERSION="${llvm_version##*-}" |
386 |
- -DIGC_OPTION__SPIRV_TOOLS_MODE="Prebuilds" |
387 |
- -DIGC_OPTION__SPIRV_TRANSLATOR_MODE="Prebuilds" |
388 |
- -DIGC_OPTION__USE_PREINSTALLED_SPRIV_HEADERS="ON" |
389 |
- -DINSTALL_GENX_IR="ON" |
390 |
- -DSPIRVLLVMTranslator_INCLUDE_DIR="${EPREFIX}/usr/lib/llvm/${LLVM_MAX_SLOT}/include/LLVMSPIRVLib" |
391 |
- -Wno-dev |
392 |
- |
393 |
- # Compilation with VectorCompiler causes currently a segfault. |
394 |
- # See https://github.com/intel/intel-graphics-compiler/issues/236 |
395 |
- -DIGC_BUILD__VC_ENABLED="OFF" |
396 |
- # -DIGC_OPTION__VC_INTRINSICS_MODE="Prebuilds" |
397 |
- ) |
398 |
- |
399 |
- cmake_src_configure |
400 |
-} |