diff options
Diffstat (limited to 'dynamic-layers/clang-layer')
31 files changed, 549 insertions, 881 deletions
diff --git a/dynamic-layers/clang-layer/recipes-core/dnn/onednn_1.6.4.bb b/dynamic-layers/clang-layer/recipes-core/dnn/onednn_3.4.1.bb index 56b10114..2fa3f627 100644 --- a/dynamic-layers/clang-layer/recipes-core/dnn/onednn_1.6.4.bb +++ b/dynamic-layers/clang-layer/recipes-core/dnn/onednn_3.4.1.bb | |||
@@ -3,20 +3,20 @@ SUMMARY = "Deep Neural Network Library" | |||
3 | DESCRIPTION = "This software is a user mode library that accelerates\ | 3 | DESCRIPTION = "This software is a user mode library that accelerates\ |
4 | deep-learning applications and frameworks on Intel architecture." | 4 | deep-learning applications and frameworks on Intel architecture." |
5 | LICENSE = "Apache-2.0 & BSD-3-Clause & BSL-1.0" | 5 | LICENSE = "Apache-2.0 & BSD-3-Clause & BSL-1.0" |
6 | LIC_FILES_CHKSUM = "file://LICENSE;md5=3c6ff4426dbd618bcfd552ac4a7c1c56 \ | 6 | LIC_FILES_CHKSUM = "file://LICENSE;md5=3b64000f6e7d52516017622a37a94ce9 \ |
7 | file://tests/gtests/gtest/LICENSE;md5=cbbd27594afd089daa160d3a16dd515a \ | 7 | file://tests/gtests/gtest/LICENSE;md5=cbbd27594afd089daa160d3a16dd515a \ |
8 | file://src/cpu/x64/xbyak/COPYRIGHT;md5=3b9bf048d063d54cdb28964db558bcc7 \ | 8 | file://src/cpu/x64/xbyak/COPYRIGHT;md5=3b9bf048d063d54cdb28964db558bcc7 \ |
9 | file://src/cpu/x64/jit_utils/jitprofiling/LICENSE.BSD;md5=e671ff178b24a95a382ba670503c66fb \ | 9 | file://src/common/ittnotify/LICENSE.BSD;md5=e671ff178b24a95a382ba670503c66fb \ |
10 | file://doc/assets/mathjax/MathJax.js;endline=17;md5=25a014ad78c3d72a0e15d15f1d007c20 \ | ||
11 | file://src/common/primitive_hashing.hpp;beginline=243;endline=246;md5=f56de33cb6ec02de60006b10e027b300 \ | ||
12 | " | 10 | " |
13 | SECTION = "lib" | 11 | SECTION = "lib" |
14 | 12 | ||
15 | inherit pkgconfig cmake ptest | 13 | inherit pkgconfig cmake ptest |
16 | 14 | ||
15 | DNN_BRANCH = "rls-v${@'.'.join(d.getVar('PV').split('.')[0:2])}" | ||
16 | |||
17 | S = "${WORKDIR}/git" | 17 | S = "${WORKDIR}/git" |
18 | SRCREV = "570ab9c2ea0915b048279438aebb063b8769149c" | 18 | SRCREV = "f5ff0a6de16c130053bec1a1aec3a9b826c66f78" |
19 | SRC_URI = "git://github.com/oneapi-src/oneDNN.git;branch=rls-v1.6 \ | 19 | SRC_URI = "git://github.com/oneapi-src/oneDNN.git;branch=${DNN_BRANCH};protocol=https \ |
20 | file://run-ptest \ | 20 | file://run-ptest \ |
21 | " | 21 | " |
22 | 22 | ||
@@ -25,7 +25,7 @@ UPSTREAM_CHECK_GITTAGREGEX = "^v(?P<pver>(\d+(\.\d+)+))$" | |||
25 | CVE_PRODUCT = "intel:math_kernel_library" | 25 | CVE_PRODUCT = "intel:math_kernel_library" |
26 | 26 | ||
27 | COMPATIBLE_HOST = '(x86_64).*-linux' | 27 | COMPATIBLE_HOST = '(x86_64).*-linux' |
28 | COMPATIBLE_HOST_libc-musl = 'null' | 28 | COMPATIBLE_HOST:libc-musl = 'null' |
29 | 29 | ||
30 | EXTRA_OECMAKE += " \ | 30 | EXTRA_OECMAKE += " \ |
31 | -DDNNL_LIBRARY_TYPE=SHARED \ | 31 | -DDNNL_LIBRARY_TYPE=SHARED \ |
@@ -34,12 +34,13 @@ EXTRA_OECMAKE += " \ | |||
34 | -DDNNL_CPU_RUNTIME=OMP \ | 34 | -DDNNL_CPU_RUNTIME=OMP \ |
35 | -DDNNL_ARCH_OPT_FLAGS="" \ | 35 | -DDNNL_ARCH_OPT_FLAGS="" \ |
36 | -DCMAKE_SKIP_RPATH=ON \ | 36 | -DCMAKE_SKIP_RPATH=ON \ |
37 | -DONEDNN_BUILD_GRAPH=OFF \ | ||
37 | " | 38 | " |
38 | 39 | ||
39 | PACKAGECONFIG ??= "" | 40 | PACKAGECONFIG ??= "gpu" |
40 | PACKAGECONFIG[gpu] = "-DDNNL_GPU_RUNTIME=OCL, , opencl-headers ocl-icd, intel-compute-runtime" | 41 | PACKAGECONFIG[gpu] = "-DDNNL_GPU_RUNTIME=OCL, , opencl-headers virtual/opencl-icd, intel-compute-runtime" |
41 | 42 | ||
42 | do_install_append () { | 43 | do_install:append () { |
43 | install -d ${D}${bindir}/mkl-dnn/tests/benchdnn/inputs | 44 | install -d ${D}${bindir}/mkl-dnn/tests/benchdnn/inputs |
44 | install -m 0755 ${B}/tests/benchdnn/benchdnn ${D}${bindir}/mkl-dnn/tests/benchdnn | 45 | install -m 0755 ${B}/tests/benchdnn/benchdnn ${D}${bindir}/mkl-dnn/tests/benchdnn |
45 | cp -r ${B}/tests/benchdnn/inputs/* ${D}${bindir}/mkl-dnn/tests/benchdnn/inputs | 46 | cp -r ${B}/tests/benchdnn/inputs/* ${D}${bindir}/mkl-dnn/tests/benchdnn/inputs |
@@ -53,4 +54,4 @@ do_install_ptest () { | |||
53 | 54 | ||
54 | PACKAGES =+ "${PN}-test" | 55 | PACKAGES =+ "${PN}-test" |
55 | 56 | ||
56 | FILES_${PN}-test = "${bindir}/mkl-dnn/*" | 57 | FILES:${PN}-test = "${bindir}/mkl-dnn/*" |
diff --git a/dynamic-layers/clang-layer/recipes-devtools/clang/files/BasicBlockUtils-Add-metadata-fixing-in-SplitBlockPre.patch b/dynamic-layers/clang-layer/recipes-devtools/clang/files/BasicBlockUtils-Add-metadata-fixing-in-SplitBlockPre.patch deleted file mode 100644 index cd519971..00000000 --- a/dynamic-layers/clang-layer/recipes-devtools/clang/files/BasicBlockUtils-Add-metadata-fixing-in-SplitBlockPre.patch +++ /dev/null | |||
@@ -1,111 +0,0 @@ | |||
1 | From eeb816d95f0910bd246e37bb2bb3923acf0edf6b Mon Sep 17 00:00:00 2001 | ||
2 | From: Aleksander Us <aleksander.us@intel.com> | ||
3 | Date: Mon, 26 Aug 2019 15:47:41 +0300 | ||
4 | Subject: [PATCH] [BasicBlockUtils] Add metadata fixing in | ||
5 | SplitBlockPredecessors. | ||
6 | |||
7 | In case when BB is header of some loop and predecessor is latch of | ||
8 | this loop, metadata was not attached to newly created basic block. | ||
9 | This led to loss of loop metadata for other passes. | ||
10 | |||
11 | Upstream-Status: Submitted [https://reviews.llvm.org/D66892] | ||
12 | |||
13 | https://github.com/intel/llvm-patches/commit/8af4449e2d201707f7f2f832b473a0439e255f32 | ||
14 | |||
15 | Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com> | ||
16 | --- | ||
17 | lib/Transforms/Utils/BasicBlockUtils.cpp | 23 ++++++++---- | ||
18 | test/Transforms/LoopSimplify/loop_metadata.ll | 36 +++++++++++++++++++ | ||
19 | 2 files changed, 52 insertions(+), 7 deletions(-) | ||
20 | create mode 100644 test/Transforms/LoopSimplify/loop_metadata.ll | ||
21 | |||
22 | diff --git a/lib/Transforms/Utils/BasicBlockUtils.cpp b/lib/Transforms/Utils/BasicBlockUtils.cpp | ||
23 | index 5fa371377c8..3a90ae061fb 100644 | ||
24 | --- a/lib/Transforms/Utils/BasicBlockUtils.cpp | ||
25 | +++ b/lib/Transforms/Utils/BasicBlockUtils.cpp | ||
26 | @@ -579,24 +579,33 @@ BasicBlock *llvm::SplitBlockPredecessors(BasicBlock *BB, | ||
27 | |||
28 | // The new block unconditionally branches to the old block. | ||
29 | BranchInst *BI = BranchInst::Create(BB, NewBB); | ||
30 | + bool IsBBHeader = LI && LI->isLoopHeader(BB); | ||
31 | + Loop *BBLoop = LI ? LI->getLoopFor(BB) : nullptr; | ||
32 | // Splitting the predecessors of a loop header creates a preheader block. | ||
33 | - if (LI && LI->isLoopHeader(BB)) | ||
34 | + if (IsBBHeader) | ||
35 | // Using the loop start line number prevents debuggers stepping into the | ||
36 | // loop body for this instruction. | ||
37 | - BI->setDebugLoc(LI->getLoopFor(BB)->getStartLoc()); | ||
38 | + BI->setDebugLoc(BBLoop->getStartLoc()); | ||
39 | else | ||
40 | BI->setDebugLoc(BB->getFirstNonPHIOrDbg()->getDebugLoc()); | ||
41 | |||
42 | // Move the edges from Preds to point to NewBB instead of BB. | ||
43 | - for (unsigned i = 0, e = Preds.size(); i != e; ++i) { | ||
44 | + for (BasicBlock *Pred : Preds) { | ||
45 | + Instruction *PI = Pred->getTerminator(); | ||
46 | // This is slightly more strict than necessary; the minimum requirement | ||
47 | // is that there be no more than one indirectbr branching to BB. And | ||
48 | // all BlockAddress uses would need to be updated. | ||
49 | - assert(!isa<IndirectBrInst>(Preds[i]->getTerminator()) && | ||
50 | + assert(!isa<IndirectBrInst>(PI) && | ||
51 | "Cannot split an edge from an IndirectBrInst"); | ||
52 | - assert(!isa<CallBrInst>(Preds[i]->getTerminator()) && | ||
53 | - "Cannot split an edge from a CallBrInst"); | ||
54 | - Preds[i]->getTerminator()->replaceUsesOfWith(BB, NewBB); | ||
55 | + assert(!isa<CallBrInst>(PI) && "Cannot split an edge from a CallBrInst"); | ||
56 | + if (IsBBHeader && BBLoop->contains(Pred) && BBLoop->isLoopLatch(Pred)) { | ||
57 | + // Update loop metadata if it exists. | ||
58 | + if (MDNode *LoopMD = PI->getMetadata(LLVMContext::MD_loop)) { | ||
59 | + BI->setMetadata(LLVMContext::MD_loop, LoopMD); | ||
60 | + PI->setMetadata(LLVMContext::MD_loop, nullptr); | ||
61 | + } | ||
62 | + } | ||
63 | + PI->replaceUsesOfWith(BB, NewBB); | ||
64 | } | ||
65 | |||
66 | // Insert a new PHI node into NewBB for every PHI node in BB and that new PHI | ||
67 | diff --git a/test/Transforms/LoopSimplify/loop_metadata.ll b/test/Transforms/LoopSimplify/loop_metadata.ll | ||
68 | new file mode 100644 | ||
69 | index 00000000000..c15c92fe3ae | ||
70 | --- /dev/null | ||
71 | +++ b/test/Transforms/LoopSimplify/loop_metadata.ll | ||
72 | @@ -0,0 +1,36 @@ | ||
73 | +; RUN: opt -S -loop-simplify < %s | FileCheck %s | ||
74 | + | ||
75 | +; CHECK: for.cond.loopexit: | ||
76 | +; CHECK: br label %for.cond, !llvm.loop !0 | ||
77 | +; CHECK: br i1 %cmp1, label %for.body1, label %for.cond.loopexit | ||
78 | + | ||
79 | +define void @foo() { | ||
80 | +entry: | ||
81 | + br label %for.cond | ||
82 | + | ||
83 | +for.cond: ; preds = %for.cond1, %entry | ||
84 | + %j = phi i32 [ 0, %entry ], [ %add, %for.cond1 ] | ||
85 | + %cmp = icmp ult i32 %j, 8 | ||
86 | + br i1 %cmp, label %for.body, label %for.end | ||
87 | + | ||
88 | +for.body: ; preds = %for.cond | ||
89 | + %dummy1 = add i32 1, 1 | ||
90 | + %add = add nuw nsw i32 %j, 1 | ||
91 | + br label %for.cond1 | ||
92 | + | ||
93 | +for.cond1: ; preds = %for.body1, %for.body | ||
94 | + %i.0 = phi i32 [ 1, %for.body ], [ %inc, %for.body1 ] | ||
95 | + %cmp1 = icmp ult i32 %i.0, 8 | ||
96 | + br i1 %cmp1, label %for.body1, label %for.cond, !llvm.loop !0 | ||
97 | + | ||
98 | +for.body1: ; preds = %for.cond1 | ||
99 | + %dummy2 = add i32 1, 1 | ||
100 | + %inc = add nuw nsw i32 %i.0, 1 | ||
101 | + br label %for.cond1 | ||
102 | + | ||
103 | +for.end: ; preds = %for.cond | ||
104 | + ret void | ||
105 | +} | ||
106 | + | ||
107 | +!0 = distinct !{!0, !1} | ||
108 | +!1 = !{!"llvm.loop.unroll.full"} | ||
109 | -- | ||
110 | 2.18.0 | ||
111 | |||
diff --git a/dynamic-layers/clang-layer/recipes-devtools/clang/files/IndVarSimplify-Do-not-use-SCEV-expander-for-IVCount-.patch b/dynamic-layers/clang-layer/recipes-devtools/clang/files/IndVarSimplify-Do-not-use-SCEV-expander-for-IVCount-.patch deleted file mode 100644 index 48307deb..00000000 --- a/dynamic-layers/clang-layer/recipes-devtools/clang/files/IndVarSimplify-Do-not-use-SCEV-expander-for-IVCount-.patch +++ /dev/null | |||
@@ -1,146 +0,0 @@ | |||
1 | From 35e218a886f4c066eabd18685240d55270bd5a6d Mon Sep 17 00:00:00 2001 | ||
2 | From: Aleksander Us <aleksander.us@intel.com> | ||
3 | Date: Mon, 26 Aug 2019 15:45:47 +0300 | ||
4 | Subject: [PATCH] [IndVarSimplify] Do not use SCEV expander for IVCount in | ||
5 | LFTR when possible. | ||
6 | |||
7 | SCEV analysis cannot properly cache instruction with poison flags | ||
8 | (for example, add nsw outside of loop will not be reused by expander). | ||
9 | This can lead to generating of additional instructions by SCEV expander. | ||
10 | |||
11 | Example IR: | ||
12 | |||
13 | ... | ||
14 | %maxval = add nuw nsw i32 %a1, %a2 | ||
15 | ... | ||
16 | for.body: | ||
17 | ... | ||
18 | %cmp22 = icmp ult i32 %ivadd, %maxval | ||
19 | br i1 %cmp22, label %for.body, label %for.end | ||
20 | ... | ||
21 | |||
22 | SCEV expander will generate copy of %maxval in preheader but without | ||
23 | nuw/nsw flags. This can be avoided by explicit check that iv count | ||
24 | value gives the same SCEV expressions as calculated by LFTR. | ||
25 | |||
26 | Upstream-Status: Submitted [https://reviews.llvm.org/D66890] | ||
27 | |||
28 | https://github.com/intel/llvm-patches/commit/fd6a6c97341a56fd21bc32bc940afea751312e8f | ||
29 | |||
30 | Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com> | ||
31 | --- | ||
32 | lib/Transforms/Scalar/IndVarSimplify.cpp | 12 +++++++++- | ||
33 | test/Transforms/IndVarSimplify/add_nsw.ll | 23 ++++++++++++++++++++ | ||
34 | test/Transforms/IndVarSimplify/lftr-reuse.ll | 9 +++----- | ||
35 | test/Transforms/IndVarSimplify/udiv.ll | 1 + | ||
36 | 4 files changed, 38 insertions(+), 7 deletions(-) | ||
37 | create mode 100644 test/Transforms/IndVarSimplify/add_nsw.ll | ||
38 | |||
39 | diff --git a/lib/Transforms/Scalar/IndVarSimplify.cpp b/lib/Transforms/Scalar/IndVarSimplify.cpp | ||
40 | index f9fc698a4a9..5e04dac8aa6 100644 | ||
41 | --- a/lib/Transforms/Scalar/IndVarSimplify.cpp | ||
42 | +++ b/lib/Transforms/Scalar/IndVarSimplify.cpp | ||
43 | @@ -2375,6 +2375,17 @@ static Value *genLoopLimit(PHINode *IndVar, BasicBlock *ExitingBB, | ||
44 | if (UsePostInc) | ||
45 | IVLimit = SE->getAddExpr(IVLimit, SE->getOne(IVLimit->getType())); | ||
46 | |||
47 | + // If computed limit is equal to old limit then do not use SCEV expander | ||
48 | + // because it can lost NUW/NSW flags and create extra instructions. | ||
49 | + BranchInst *BI = cast<BranchInst>(ExitingBB->getTerminator()); | ||
50 | + if (ICmpInst *Cmp = dyn_cast<ICmpInst>(BI->getOperand(0))) { | ||
51 | + Value *Limit = Cmp->getOperand(0); | ||
52 | + if (!L->isLoopInvariant(Limit)) | ||
53 | + Limit = Cmp->getOperand(1); | ||
54 | + if (SE->getSCEV(Limit) == IVLimit) | ||
55 | + return Limit; | ||
56 | + } | ||
57 | + | ||
58 | // Expand the code for the iteration count. | ||
59 | assert(SE->isLoopInvariant(IVLimit, L) && | ||
60 | "Computed iteration count is not loop invariant!"); | ||
61 | @@ -2383,7 +2394,6 @@ static Value *genLoopLimit(PHINode *IndVar, BasicBlock *ExitingBB, | ||
62 | // SCEV expression (IVInit) for a pointer type IV value (IndVar). | ||
63 | Type *LimitTy = ExitCount->getType()->isPointerTy() ? | ||
64 | IndVar->getType() : ExitCount->getType(); | ||
65 | - BranchInst *BI = cast<BranchInst>(ExitingBB->getTerminator()); | ||
66 | return Rewriter.expandCodeFor(IVLimit, LimitTy, BI); | ||
67 | } | ||
68 | } | ||
69 | diff --git a/test/Transforms/IndVarSimplify/add_nsw.ll b/test/Transforms/IndVarSimplify/add_nsw.ll | ||
70 | new file mode 100644 | ||
71 | index 00000000000..abd1cbb6c51 | ||
72 | --- /dev/null | ||
73 | +++ b/test/Transforms/IndVarSimplify/add_nsw.ll | ||
74 | @@ -0,0 +1,23 @@ | ||
75 | +; RUN: opt -indvars -S %s | FileCheck %s | ||
76 | + | ||
77 | +target datalayout = "e-p:32:32-i64:64-n8:16:32" | ||
78 | + | ||
79 | +; CHECK: for.body.preheader: | ||
80 | +; CHECK-NOT: add | ||
81 | +; CHECK: for.body: | ||
82 | + | ||
83 | +define void @foo(i32 %a1, i32 %a2) { | ||
84 | +entry: | ||
85 | + %maxval = add nuw nsw i32 %a1, %a2 | ||
86 | + %cmp = icmp slt i32 %maxval, 1 | ||
87 | + br i1 %cmp, label %for.end, label %for.body | ||
88 | + | ||
89 | +for.body: ; preds = %entry, %for.body | ||
90 | + %j.02 = phi i32 [ 0, %entry ], [ %add31, %for.body ] | ||
91 | + %add31 = add nuw nsw i32 %j.02, 1 | ||
92 | + %cmp22 = icmp slt i32 %add31, %maxval | ||
93 | + br i1 %cmp22, label %for.body, label %for.end | ||
94 | + | ||
95 | +for.end: ; preds = %for.body | ||
96 | + ret void | ||
97 | +} | ||
98 | diff --git a/test/Transforms/IndVarSimplify/lftr-reuse.ll b/test/Transforms/IndVarSimplify/lftr-reuse.ll | ||
99 | index 14ae9738696..509d662b767 100644 | ||
100 | --- a/test/Transforms/IndVarSimplify/lftr-reuse.ll | ||
101 | +++ b/test/Transforms/IndVarSimplify/lftr-reuse.ll | ||
102 | @@ -67,11 +67,9 @@ define void @expandOuterRecurrence(i32 %arg) nounwind { | ||
103 | ; CHECK-NEXT: [[CMP1:%.*]] = icmp slt i32 0, [[SUB1]] | ||
104 | ; CHECK-NEXT: br i1 [[CMP1]], label [[OUTER_PREHEADER:%.*]], label [[EXIT:%.*]] | ||
105 | ; CHECK: outer.preheader: | ||
106 | -; CHECK-NEXT: [[TMP0:%.*]] = add i32 [[ARG]], -1 | ||
107 | ; CHECK-NEXT: br label [[OUTER:%.*]] | ||
108 | ; CHECK: outer: | ||
109 | -; CHECK-NEXT: [[INDVARS_IV:%.*]] = phi i32 [ [[TMP0]], [[OUTER_PREHEADER]] ], [ [[INDVARS_IV_NEXT:%.*]], [[OUTER_INC:%.*]] ] | ||
110 | -; CHECK-NEXT: [[I:%.*]] = phi i32 [ [[I_INC:%.*]], [[OUTER_INC]] ], [ 0, [[OUTER_PREHEADER]] ] | ||
111 | +; CHECK-NEXT: [[I:%.*]] = phi i32 [ [[I_INC:%.*]], [[OUTER_INC:%.*]] ], [ 0, [[OUTER_PREHEADER]] ] | ||
112 | ; CHECK-NEXT: [[SUB2:%.*]] = sub nsw i32 [[ARG]], [[I]] | ||
113 | ; CHECK-NEXT: [[SUB3:%.*]] = sub nsw i32 [[SUB2]], 1 | ||
114 | ; CHECK-NEXT: [[CMP2:%.*]] = icmp slt i32 0, [[SUB3]] | ||
115 | @@ -81,14 +79,13 @@ define void @expandOuterRecurrence(i32 %arg) nounwind { | ||
116 | ; CHECK: inner: | ||
117 | ; CHECK-NEXT: [[J:%.*]] = phi i32 [ 0, [[INNER_PH]] ], [ [[J_INC:%.*]], [[INNER]] ] | ||
118 | ; CHECK-NEXT: [[J_INC]] = add nuw nsw i32 [[J]], 1 | ||
119 | -; CHECK-NEXT: [[EXITCOND:%.*]] = icmp ne i32 [[J_INC]], [[INDVARS_IV]] | ||
120 | +; CHECK-NEXT: [[EXITCOND:%.*]] = icmp ne i32 [[J_INC]], [[SUB3]] | ||
121 | ; CHECK-NEXT: br i1 [[EXITCOND]], label [[INNER]], label [[OUTER_INC_LOOPEXIT:%.*]] | ||
122 | ; CHECK: outer.inc.loopexit: | ||
123 | ; CHECK-NEXT: br label [[OUTER_INC]] | ||
124 | ; CHECK: outer.inc: | ||
125 | ; CHECK-NEXT: [[I_INC]] = add nuw nsw i32 [[I]], 1 | ||
126 | -; CHECK-NEXT: [[INDVARS_IV_NEXT]] = add i32 [[INDVARS_IV]], -1 | ||
127 | -; CHECK-NEXT: [[EXITCOND1:%.*]] = icmp ne i32 [[I_INC]], [[TMP0]] | ||
128 | +; CHECK-NEXT: [[EXITCOND1:%.*]] = icmp ne i32 [[I_INC]], [[SUB1]] | ||
129 | ; CHECK-NEXT: br i1 [[EXITCOND1]], label [[OUTER]], label [[EXIT_LOOPEXIT:%.*]] | ||
130 | ; CHECK: exit.loopexit: | ||
131 | ; CHECK-NEXT: br label [[EXIT]] | ||
132 | diff --git a/test/Transforms/IndVarSimplify/udiv.ll b/test/Transforms/IndVarSimplify/udiv.ll | ||
133 | index b3f2c2a6a66..3530343ef4a 100644 | ||
134 | --- a/test/Transforms/IndVarSimplify/udiv.ll | ||
135 | +++ b/test/Transforms/IndVarSimplify/udiv.ll | ||
136 | @@ -133,6 +133,7 @@ declare i32 @printf(i8* nocapture, ...) nounwind | ||
137 | ; CHECK-LABEL: @foo( | ||
138 | ; CHECK: for.body.preheader: | ||
139 | ; CHECK-NOT: udiv | ||
140 | +; CHECK: for.body: | ||
141 | |||
142 | define void @foo(double* %p, i64 %n) nounwind { | ||
143 | entry: | ||
144 | -- | ||
145 | 2.18.0 | ||
146 | |||
diff --git a/dynamic-layers/clang-layer/recipes-devtools/clang/files/fix-shared-libs.patch b/dynamic-layers/clang-layer/recipes-devtools/clang/files/fix-shared-libs.patch deleted file mode 100644 index d69d2a97..00000000 --- a/dynamic-layers/clang-layer/recipes-devtools/clang/files/fix-shared-libs.patch +++ /dev/null | |||
@@ -1,30 +0,0 @@ | |||
1 | From a6d4ccf082858e63e139ca06c02a071c343d2657 Mon Sep 17 00:00:00 2001 | ||
2 | From: Andrea Bocci <andrea.bocci@cern.ch> | ||
3 | Date: Sun, 15 Mar 2020 17:35:44 +0100 | ||
4 | Subject: [PATCH] Fix building in-tree with cmake -DLLVM_LINK_LLVM_DYLIB=ON | ||
5 | |||
6 | Building in-tree with LLVM 11.0 master with the LLVM_LINK_LLVM_DYLIB | ||
7 | cmake flag fails to link with the LLVMSPIRVLib library. | ||
8 | |||
9 | Add an explicit dependency to force the correct build order and linking. | ||
10 | |||
11 | Signed-off-by: Andrea Bocci <andrea.bocci@cern.ch> | ||
12 | Upstream-Status: Backport | ||
13 | Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> | ||
14 | --- | ||
15 | tools/llvm-spirv/CMakeLists.txt | 2 +- | ||
16 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
17 | |||
18 | diff --git a/tools/llvm-spirv/CMakeLists.txt b/tools/llvm-spirv/CMakeLists.txt | ||
19 | index 9aa96d9c..501c0daf 100644 | ||
20 | --- a/tools/llvm-spirv/CMakeLists.txt | ||
21 | +++ b/tools/llvm-spirv/CMakeLists.txt | ||
22 | @@ -14,7 +14,7 @@ add_llvm_tool(llvm-spirv | ||
23 | NO_INSTALL_RPATH | ||
24 | ) | ||
25 | |||
26 | -if (LLVM_SPIRV_BUILD_EXTERNAL) | ||
27 | +if (LLVM_SPIRV_BUILD_EXTERNAL OR LLVM_LINK_LLVM_DYLIB) | ||
28 | target_link_libraries(llvm-spirv PRIVATE LLVMSPIRVLib) | ||
29 | endif() | ||
30 | |||
diff --git a/dynamic-layers/clang-layer/recipes-devtools/clang/files/llvm10-skip-building-tests.patch b/dynamic-layers/clang-layer/recipes-devtools/clang/files/llvm10-skip-building-tests.patch deleted file mode 100644 index 8e58ec25..00000000 --- a/dynamic-layers/clang-layer/recipes-devtools/clang/files/llvm10-skip-building-tests.patch +++ /dev/null | |||
@@ -1,51 +0,0 @@ | |||
1 | From 455ce9c25df5313f4a6649cc27075bdfbe25af18 Mon Sep 17 00:00:00 2001 | ||
2 | From: Naveen Saini <naveen.kumar.saini@intel.com> | ||
3 | Date: Wed, 21 Aug 2019 14:35:31 +0800 | ||
4 | Subject: [PATCH] llvm-spirv: skip building tests | ||
5 | |||
6 | Some of these need clang to be built and since we're building this in-tree, | ||
7 | that leads to problems when compiling libcxx, compiler-rt which aren't built | ||
8 | in-tree. | ||
9 | |||
10 | Instead of using SPIRV_SKIP_CLANG_BUILD to skip clang build and adding this to | ||
11 | all components, disable the building of tests altogether. | ||
12 | |||
13 | Upstream-Status: Inappropriate | ||
14 | |||
15 | Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> | ||
16 | Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com> | ||
17 | --- | ||
18 | CMakeLists.txt | 10 ---------- | ||
19 | 1 file changed, 10 deletions(-) | ||
20 | |||
21 | diff --git a/CMakeLists.txt b/CMakeLists.txt | ||
22 | index b718c00..9805140 100644 | ||
23 | --- a/CMakeLists.txt | ||
24 | +++ b/CMakeLists.txt | ||
25 | @@ -24,13 +24,6 @@ if(LLVM_SPIRV_BUILD_EXTERNAL) | ||
26 | set(CMAKE_CXX_STANDARD 14) | ||
27 | set(CMAKE_CXX_STANDARD_REQUIRED ON) | ||
28 | |||
29 | - if(LLVM_SPIRV_INCLUDE_TESTS) | ||
30 | - set(LLVM_TEST_COMPONENTS | ||
31 | - llvm-as | ||
32 | - llvm-dis | ||
33 | - ) | ||
34 | - endif(LLVM_SPIRV_INCLUDE_TESTS) | ||
35 | - | ||
36 | find_package(LLVM 10.0.0 REQUIRED | ||
37 | COMPONENTS | ||
38 | Analysis | ||
39 | @@ -61,9 +54,6 @@ set(LLVM_SPIRV_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/include) | ||
40 | |||
41 | add_subdirectory(lib/SPIRV) | ||
42 | add_subdirectory(tools/llvm-spirv) | ||
43 | -if(LLVM_SPIRV_INCLUDE_TESTS) | ||
44 | - add_subdirectory(test) | ||
45 | -endif(LLVM_SPIRV_INCLUDE_TESTS) | ||
46 | |||
47 | install( | ||
48 | FILES | ||
49 | -- | ||
50 | 2.7.4 | ||
51 | |||
diff --git a/dynamic-layers/clang-layer/recipes-devtools/clang/files/llvm11-skip-building-tests.patch b/dynamic-layers/clang-layer/recipes-devtools/clang/files/llvm11-skip-building-tests.patch deleted file mode 100644 index 011c09ee..00000000 --- a/dynamic-layers/clang-layer/recipes-devtools/clang/files/llvm11-skip-building-tests.patch +++ /dev/null | |||
@@ -1,51 +0,0 @@ | |||
1 | From d362652617c5e840089273df0c6623a9745c92a2 Mon Sep 17 00:00:00 2001 | ||
2 | From: Naveen Saini <naveen.kumar.saini@intel.com> | ||
3 | Date: Wed, 21 Aug 2019 14:35:31 +0800 | ||
4 | Subject: [PATCH] llvm-spirv: skip building tests | ||
5 | |||
6 | Some of these need clang to be built and since we're building this in-tree, | ||
7 | that leads to problems when compiling libcxx, compiler-rt which aren't built | ||
8 | in-tree. | ||
9 | |||
10 | Instead of using SPIRV_SKIP_CLANG_BUILD to skip clang build and adding this to | ||
11 | all components, disable the building of tests altogether. | ||
12 | |||
13 | Upstream-Status: Inappropriate | ||
14 | |||
15 | Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> | ||
16 | Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com> | ||
17 | --- | ||
18 | CMakeLists.txt | 10 ---------- | ||
19 | 1 file changed, 10 deletions(-) | ||
20 | |||
21 | diff --git a/CMakeLists.txt b/CMakeLists.txt | ||
22 | index ecebb4cb..578ca602 100644 | ||
23 | --- a/CMakeLists.txt | ||
24 | +++ b/CMakeLists.txt | ||
25 | @@ -25,13 +25,6 @@ if(LLVM_SPIRV_BUILD_EXTERNAL) | ||
26 | set(CMAKE_CXX_STANDARD 14) | ||
27 | set(CMAKE_CXX_STANDARD_REQUIRED ON) | ||
28 | |||
29 | - if(LLVM_SPIRV_INCLUDE_TESTS) | ||
30 | - set(LLVM_TEST_COMPONENTS | ||
31 | - llvm-as | ||
32 | - llvm-dis | ||
33 | - ) | ||
34 | - endif(LLVM_SPIRV_INCLUDE_TESTS) | ||
35 | - | ||
36 | find_package(LLVM ${BASE_LLVM_VERSION} REQUIRED | ||
37 | COMPONENTS | ||
38 | Analysis | ||
39 | @@ -62,9 +55,6 @@ set(LLVM_SPIRV_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/include) | ||
40 | |||
41 | add_subdirectory(lib/SPIRV) | ||
42 | add_subdirectory(tools/llvm-spirv) | ||
43 | -if(LLVM_SPIRV_INCLUDE_TESTS) | ||
44 | - add_subdirectory(test) | ||
45 | -endif(LLVM_SPIRV_INCLUDE_TESTS) | ||
46 | |||
47 | install( | ||
48 | FILES | ||
49 | -- | ||
50 | 2.26.2 | ||
51 | |||
diff --git a/dynamic-layers/clang-layer/recipes-devtools/clang/llvm-project-source.bbappend b/dynamic-layers/clang-layer/recipes-devtools/clang/llvm-project-source.bbappend deleted file mode 100644 index 8a6f6c70..00000000 --- a/dynamic-layers/clang-layer/recipes-devtools/clang/llvm-project-source.bbappend +++ /dev/null | |||
@@ -1,27 +0,0 @@ | |||
1 | FILESEXTRAPATHS_prepend_intel-x86-common := "${THISDIR}/files:" | ||
2 | |||
3 | SPIRV_BRANCH = "${@bb.utils.contains('LLVMVERSION', '10.0.1', 'llvm_release_100', 'llvm_release_110', d)}" | ||
4 | |||
5 | SPIRV10_SRCREV = "4d43f68a30a510b4e7607351caab3df8e7426a6b" | ||
6 | SPIRV11_SRCREV = "61a10b27604bc4a9f6840f8fad82b779e708a279" | ||
7 | |||
8 | SPIRV_SRCREV = "${@bb.utils.contains('LLVMVERSION', '10.0.1', '${SPIRV10_SRCREV}', '${SPIRV11_SRCREV}', d)}" | ||
9 | |||
10 | SRC_URI_LLVM10 = " \ | ||
11 | file://llvm10-skip-building-tests.patch;patchdir=llvm/projects/llvm-spirv \ | ||
12 | file://fix-shared-libs.patch;patchdir=llvm/projects/llvm-spirv \ | ||
13 | file://BasicBlockUtils-Add-metadata-fixing-in-SplitBlockPre.patch;patchdir=llvm \ | ||
14 | file://IndVarSimplify-Do-not-use-SCEV-expander-for-IVCount-.patch;patchdir=llvm \ | ||
15 | " | ||
16 | |||
17 | SRC_URI_LLVM11 = " \ | ||
18 | file://llvm11-skip-building-tests.patch;patchdir=llvm/projects/llvm-spirv \ | ||
19 | " | ||
20 | |||
21 | SRC_URI_append_intel-x86-common = " \ | ||
22 | git://github.com/KhronosGroup/SPIRV-LLVM-Translator.git;protocol=https;branch=${SPIRV_BRANCH};destsuffix=git/llvm/projects/llvm-spirv;name=spirv \ | ||
23 | " | ||
24 | |||
25 | SRC_URI_append_intel-x86-common = "${@bb.utils.contains('LLVMVERSION', '10.0.1', '${SRC_URI_LLVM10}', '${SRC_URI_LLVM11}', d)}" | ||
26 | |||
27 | SRCREV_spirv = "${SPIRV_SRCREV}" | ||
diff --git a/dynamic-layers/clang-layer/recipes-opencl/compute-runtime/intel-compute-runtime/allow-to-find-cpp-generation-tool.patch b/dynamic-layers/clang-layer/recipes-opencl/compute-runtime/intel-compute-runtime/allow-to-find-cpp-generation-tool.patch index 881359c8..265fcfa2 100644 --- a/dynamic-layers/clang-layer/recipes-opencl/compute-runtime/intel-compute-runtime/allow-to-find-cpp-generation-tool.patch +++ b/dynamic-layers/clang-layer/recipes-opencl/compute-runtime/intel-compute-runtime/allow-to-find-cpp-generation-tool.patch | |||
@@ -1,44 +1,51 @@ | |||
1 | From bde2a2b58d7f7b3063406db600e5b988fbcf01aa Mon Sep 17 00:00:00 2001 | 1 | From a6361d635e5f3046853883f3ac06fb175116933c Mon Sep 17 00:00:00 2001 |
2 | From: Naveen Saini <naveen.kumar.saini@intel.com> | 2 | From: Dongwon Kim <dongwon.kim@intel.com> |
3 | Date: Wed, 27 May 2020 11:12:09 +0000 | 3 | Date: Sat, 21 Aug 2021 16:09:39 -0700 |
4 | Subject: [PATCH] intel-compute-runtime: allow to find cpp_generation_tool | 4 | Subject: [PATCH] Build not able to locate cpp_generation_tool. |
5 | |||
6 | Build not able to locate cpp_generation_tool. | ||
7 | 5 | ||
8 | Upstream-Status: Inappropriate [oe specific] | 6 | Upstream-Status: Inappropriate [oe specific] |
7 | |||
9 | Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com> | 8 | Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com> |
9 | Signed-off-by: Dongwon Kim <dongwon.kim@intel.com> | ||
10 | --- | 10 | --- |
11 | shared/source/built_ins/kernels/CMakeLists.txt | 8 ++++---- | 11 | shared/source/built_ins/kernels/CMakeLists.txt | 10 +++++----- |
12 | 1 file changed, 4 insertions(+), 4 deletions(-) | 12 | 1 file changed, 5 insertions(+), 5 deletions(-) |
13 | 13 | ||
14 | diff --git a/shared/source/built_ins/kernels/CMakeLists.txt b/shared/source/built_ins/kernels/CMakeLists.txt | 14 | diff --git a/shared/source/built_ins/kernels/CMakeLists.txt b/shared/source/built_ins/kernels/CMakeLists.txt |
15 | index 84935be2d..150c450d7 100644 | 15 | index ed85a37c52..f7c9e79137 100644 |
16 | --- a/shared/source/built_ins/kernels/CMakeLists.txt | 16 | --- a/shared/source/built_ins/kernels/CMakeLists.txt |
17 | +++ b/shared/source/built_ins/kernels/CMakeLists.txt | 17 | +++ b/shared/source/built_ins/kernels/CMakeLists.txt |
18 | @@ -84,9 +84,9 @@ function(compile_builtin gen_type platform_type builtin bits builtin_options) | 18 | @@ -107,9 +107,9 @@ function(compile_builtin core_type platform_it builtin bits builtin_options mode |
19 | ) | 19 | ) |
20 | add_custom_command( | 20 | add_custom_command( |
21 | OUTPUT ${OUTPUT_FILE_CPP} | 21 | OUTPUT ${OUTPUT_FILE_CPP} |
22 | - COMMAND $<TARGET_FILE:cpp_generate_tool> --file ${OUTPUTPATH_BASE}.gen --output ${OUTPUT_FILE_CPP} --array ${BASENAME} --platform ${family_name_with_type} | 22 | - COMMAND $<TARGET_FILE:cpp_generate_tool> --file ${BINARY_OUTPUT}.bin --output ${OUTPUT_FILE_CPP} --array ${mode}_${BASENAME} --device ${RELEASE_FILENAME} |
23 | + COMMAND cpp_generate_tool --file ${OUTPUTPATH_BASE}.gen --output ${OUTPUT_FILE_CPP} --array ${BASENAME} --platform ${family_name_with_type} | 23 | + COMMAND cpp_generate_tool --file ${BINARY_OUTPUT}.bin --output ${OUTPUT_FILE_CPP} --array ${mode}_${BASENAME} --device ${RELEASE_FILENAME} |
24 | WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} | 24 | WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} |
25 | - DEPENDS ${OUTPUTPATH_BASE}.gen $<TARGET_FILE:cpp_generate_tool> | 25 | - DEPENDS ${OUTPUT_FILES_BINARIES} $<TARGET_FILE:cpp_generate_tool> |
26 | + DEPENDS ${OUTPUTPATH_BASE}.gen cpp_generate_tool | 26 | + DEPENDS ${OUTPUT_FILES_BINARIES} cpp_generate_tool |
27 | ) | 27 | ) |
28 | endfunction() | 28 | list(APPEND BUILTINS_COMMANDS "${OUTPUT_FILE_CPP}") |
29 | 29 | else() | |
30 | @@ -127,9 +127,9 @@ function(generate_cpp_spirv builtin) | 30 | @@ -159,9 +159,9 @@ function(generate_cpp_spirv builtin) |
31 | ) | 31 | ) |
32 | add_custom_command( | 32 | add_custom_command( |
33 | OUTPUT ${OUTPUT_FILE_CPP} | 33 | OUTPUT ${OUTPUT_FILE_CPP} |
34 | - COMMAND $<TARGET_FILE:cpp_generate_tool> --file ${GENERATED_SPV_INPUT} --output ${OUTPUT_FILE_CPP} --array ${BASENAME} | 34 | - COMMAND $<TARGET_FILE:cpp_generate_tool> --file ${GENERATED_SPV_INPUT} --output ${OUTPUT_FILE_CPP} --array ${BASENAME} |
35 | + COMMAND cpp_generate_tool --file ${GENERATED_SPV_INPUT} --output ${OUTPUT_FILE_CPP} --array ${BASENAME} | 35 | + COMMAND cpp_generate_tool --file ${GENERATED_SPV_INPUT} --output ${OUTPUT_FILE_CPP} --array ${BASENAME} |
36 | WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} | 36 | WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} |
37 | - DEPENDS ${GENERATED_SPV_INPUT} $<TARGET_FILE:cpp_generate_tool> | 37 | - DEPENDS ${GENERATED_SPV_INPUT} $<TARGET_FILE:cpp_generate_tool> |
38 | + DEPENDS ${GENERATED_SPV_INPUT} cpp_generate_tool | 38 | + DEPENDS ${GENERATED_SPV_INPUT} cpp_generate_tool |
39 | ) | ||
40 | set(OUTPUT_LIST_CPP_FILES ${OUTPUT_LIST_CPP_FILES} ${OUTPUT_FILE_CPP} PARENT_SCOPE) | ||
41 | else() | ||
42 | @@ -277,4 +277,4 @@ if(NOT "${OUTPUT_LIST_CPP_FILES}" STREQUAL "") | ||
39 | ) | 43 | ) |
40 | endfunction() | 44 | endif() |
41 | 45 | ||
46 | -apply_macro_for_each_core_type("SUPPORTED") | ||
47 | \ No newline at end of file | ||
48 | +apply_macro_for_each_core_type("SUPPORTED") | ||
42 | -- | 49 | -- |
43 | 2.26.2 | 50 | 2.43.2 |
44 | 51 | ||
diff --git a/dynamic-layers/clang-layer/recipes-opencl/compute-runtime/intel-compute-runtime/disable-werror.patch b/dynamic-layers/clang-layer/recipes-opencl/compute-runtime/intel-compute-runtime/disable-werror.patch new file mode 100644 index 00000000..20d9b847 --- /dev/null +++ b/dynamic-layers/clang-layer/recipes-opencl/compute-runtime/intel-compute-runtime/disable-werror.patch | |||
@@ -0,0 +1,16 @@ | |||
1 | Upstream-Status: Inappropriate | ||
2 | Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> | ||
3 | |||
4 | diff --git a/CMakeLists.txt b/CMakeLists.txt | ||
5 | index d52e089778..bc0cf35014 100644 | ||
6 | --- a/CMakeLists.txt | ||
7 | +++ b/CMakeLists.txt | ||
8 | @@ -727,7 +727,7 @@ if(NOT MSVC) | ||
9 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-noexcept-type") # Added for gtest | ||
10 | endif() | ||
11 | endif() | ||
12 | - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror -Werror=vla") | ||
13 | + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror=vla") | ||
14 | |||
15 | if(USE_SANITIZE_UB) | ||
16 | check_cxx_compiler_flag(-fsanitize=undefined COMPILER_SUPPORTS_UNDEFINED_BEHAVIOR_SANITIZER) | ||
diff --git a/dynamic-layers/clang-layer/recipes-opencl/compute-runtime/intel-compute-runtime/external-ocloc.patch b/dynamic-layers/clang-layer/recipes-opencl/compute-runtime/intel-compute-runtime/external-ocloc.patch new file mode 100644 index 00000000..5f93b7b6 --- /dev/null +++ b/dynamic-layers/clang-layer/recipes-opencl/compute-runtime/intel-compute-runtime/external-ocloc.patch | |||
@@ -0,0 +1,40 @@ | |||
1 | From 1f58c22992ddea4167b01b44448528de427f50d5 Mon Sep 17 00:00:00 2001 | ||
2 | From: Dongwon Kim <dongwon.kim@intel.com> | ||
3 | Date: Wed, 2 Mar 2022 15:52:45 -0800 | ||
4 | Subject: [PATCH] external ocloc | ||
5 | |||
6 | Upstream-Status: Inappropriate | ||
7 | |||
8 | Signed-off-by: Dongwon Kim <dongwon.kim@intel.com> | ||
9 | --- | ||
10 | cmake/ocloc_cmd_prefix.cmake | 14 ++++++++------ | ||
11 | 1 file changed, 8 insertions(+), 6 deletions(-) | ||
12 | |||
13 | diff --git a/cmake/ocloc_cmd_prefix.cmake b/cmake/ocloc_cmd_prefix.cmake | ||
14 | index 2b44330831..03067c9df0 100644 | ||
15 | --- a/cmake/ocloc_cmd_prefix.cmake | ||
16 | +++ b/cmake/ocloc_cmd_prefix.cmake | ||
17 | @@ -4,12 +4,14 @@ | ||
18 | # SPDX-License-Identifier: MIT | ||
19 | # | ||
20 | |||
21 | -if(WIN32) | ||
22 | - set(ocloc_cmd_prefix ocloc) | ||
23 | -else() | ||
24 | - if(DEFINED NEO__IGC_LIBRARY_PATH) | ||
25 | - set(ocloc_cmd_prefix ${CMAKE_COMMAND} -E env "LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${NEO__IGC_LIBRARY_PATH}:$<TARGET_FILE_DIR:ocloc_lib>" $<TARGET_FILE:ocloc>) | ||
26 | +if(NOT DEFINED ocloc_cmd_prefix) | ||
27 | + if(WIN32) | ||
28 | + set(ocloc_cmd_prefix ocloc) | ||
29 | else() | ||
30 | - set(ocloc_cmd_prefix ${CMAKE_COMMAND} -E env "LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$<TARGET_FILE_DIR:ocloc_lib>" $<TARGET_FILE:ocloc>) | ||
31 | + if(DEFINED NEO__IGC_LIBRARY_PATH) | ||
32 | + set(ocloc_cmd_prefix LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${NEO__IGC_LIBRARY_PATH}:$<TARGET_FILE_DIR:ocloc_lib> $<TARGET_FILE:ocloc>) | ||
33 | + else() | ||
34 | + set(ocloc_cmd_prefix LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$<TARGET_FILE_DIR:ocloc_lib> $<TARGET_FILE:ocloc>) | ||
35 | + endif() | ||
36 | endif() | ||
37 | endif() | ||
38 | -- | ||
39 | 2.37.3 | ||
40 | |||
diff --git a/dynamic-layers/clang-layer/recipes-opencl/compute-runtime/intel-compute-runtime/f10439aea214984a060566831f63d3aa198ef1b8.patch b/dynamic-layers/clang-layer/recipes-opencl/compute-runtime/intel-compute-runtime/f10439aea214984a060566831f63d3aa198ef1b8.patch new file mode 100644 index 00000000..b7fcb3d1 --- /dev/null +++ b/dynamic-layers/clang-layer/recipes-opencl/compute-runtime/intel-compute-runtime/f10439aea214984a060566831f63d3aa198ef1b8.patch | |||
@@ -0,0 +1,54 @@ | |||
1 | From f10439aea214984a060566831f63d3aa198ef1b8 Mon Sep 17 00:00:00 2001 | ||
2 | From: Pawel Cieslak <pawel.cieslak@intel.com> | ||
3 | Date: Tue, 14 May 2024 14:20:24 +0000 | ||
4 | Subject: [PATCH] fix: include <algorithm> where std::find is used | ||
5 | |||
6 | Related-To: NEO-11375 | ||
7 | Signed-off-by: Pawel Cieslak <pawel.cieslak@intel.com> | ||
8 | |||
9 | Upstream-Status: Backport [https://github.com/intel/compute-runtime/commit/f10439aea214984a060566831f63d3aa198ef1b8] | ||
10 | Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> | ||
11 | --- | ||
12 | .../sources/linux/nl_api/test_sysman_iaf_nl_api_prelim.cpp | 3 ++- | ||
13 | shared/test/unit_test/gmm_helper/gmm_resource_info_tests.cpp | 4 +++- | ||
14 | 2 files changed, 5 insertions(+), 2 deletions(-) | ||
15 | |||
16 | diff --git a/level_zero/sysman/test/unit_tests/sources/linux/nl_api/test_sysman_iaf_nl_api_prelim.cpp b/level_zero/sysman/test/unit_tests/sources/linux/nl_api/test_sysman_iaf_nl_api_prelim.cpp | ||
17 | index 6ab1b751d866..8a224752c8fc 100644 | ||
18 | --- a/level_zero/sysman/test/unit_tests/sources/linux/nl_api/test_sysman_iaf_nl_api_prelim.cpp | ||
19 | +++ b/level_zero/sysman/test/unit_tests/sources/linux/nl_api/test_sysman_iaf_nl_api_prelim.cpp | ||
20 | @@ -1,5 +1,5 @@ | ||
21 | /* | ||
22 | - * Copyright (C) 2021-2023 Intel Corporation | ||
23 | + * Copyright (C) 2021-2024 Intel Corporation | ||
24 | * | ||
25 | * SPDX-License-Identifier: MIT | ||
26 | * | ||
27 | @@ -13,6 +13,7 @@ | ||
28 | |||
29 | #include "gtest/gtest.h" | ||
30 | |||
31 | +#include <algorithm> | ||
32 | #include <limits> | ||
33 | #include <netlink/handlers.h> | ||
34 | |||
35 | diff --git a/shared/test/unit_test/gmm_helper/gmm_resource_info_tests.cpp b/shared/test/unit_test/gmm_helper/gmm_resource_info_tests.cpp | ||
36 | index 206c272c5bb2..e961248e73a3 100644 | ||
37 | --- a/shared/test/unit_test/gmm_helper/gmm_resource_info_tests.cpp | ||
38 | +++ b/shared/test/unit_test/gmm_helper/gmm_resource_info_tests.cpp | ||
39 | @@ -1,5 +1,5 @@ | ||
40 | /* | ||
41 | - * Copyright (C) 2021-2023 Intel Corporation | ||
42 | + * Copyright (C) 2021-2024 Intel Corporation | ||
43 | * | ||
44 | * SPDX-License-Identifier: MIT | ||
45 | * | ||
46 | @@ -17,6 +17,8 @@ | ||
47 | |||
48 | #include "gtest/gtest.h" | ||
49 | |||
50 | +#include <algorithm> | ||
51 | + | ||
52 | using namespace NEO; | ||
53 | |||
54 | struct MockGmmHandleAllocator : NEO::GmmHandleAllocator { | ||
diff --git a/dynamic-layers/clang-layer/recipes-opencl/compute-runtime/intel-compute-runtime_20.40.18075.bb b/dynamic-layers/clang-layer/recipes-opencl/compute-runtime/intel-compute-runtime_20.40.18075.bb deleted file mode 100644 index c0c289c8..00000000 --- a/dynamic-layers/clang-layer/recipes-opencl/compute-runtime/intel-compute-runtime_20.40.18075.bb +++ /dev/null | |||
@@ -1,56 +0,0 @@ | |||
1 | SUMMARY = "The Intel(R) Graphics Compute Runtime for OpenCL(TM)" | ||
2 | DESCRIPTION = "The Intel(R) Graphics Compute Runtime for OpenCL(TM) \ | ||
3 | is an open source project to converge Intel's development efforts \ | ||
4 | on OpenCL(TM) compute stacks supporting the GEN graphics hardware \ | ||
5 | architecture." | ||
6 | |||
7 | LICENSE = "MIT" | ||
8 | LIC_FILES_CHKSUM = "file://LICENSE;md5=ae27f47fd6755510247c19e547e4c804 \ | ||
9 | file://third_party/opencl_headers/LICENSE;md5=dcefc90f4c3c689ec0c2489064e7273b" | ||
10 | |||
11 | SRC_URI = "git://github.com/intel/compute-runtime.git;protocol=https \ | ||
12 | " | ||
13 | SRC_URI_append_class-target = " file://allow-to-find-cpp-generation-tool.patch" | ||
14 | |||
15 | SRCREV = "7e31ec37d78693c08a1fcb2ec31801e64cb497d3" | ||
16 | |||
17 | S = "${WORKDIR}/git" | ||
18 | |||
19 | DEPENDS += " intel-graphics-compiler gmmlib clang" | ||
20 | DEPENDS_append_class-target = " intel-compute-runtime-native" | ||
21 | |||
22 | RDEPENDS_${PN} += " intel-graphics-compiler gmmlib" | ||
23 | |||
24 | inherit cmake pkgconfig | ||
25 | |||
26 | COMPATIBLE_HOST = '(x86_64).*-linux' | ||
27 | COMPATIBLE_HOST_libc-musl = "null" | ||
28 | |||
29 | EXTRA_OECMAKE = " \ | ||
30 | -DIGC_DIR=${STAGING_INCDIR}/igc \ | ||
31 | -DBUILD_TYPE=Release \ | ||
32 | -DSKIP_UNIT_TESTS=1 \ | ||
33 | -DCCACHE_ALLOWED=FALSE \ | ||
34 | " | ||
35 | EXTRA_OECMAKE_append_class-target = " \ | ||
36 | -Dcloc_cmd_prefix=ocloc \ | ||
37 | " | ||
38 | |||
39 | PACKAGECONFIG ??= "" | ||
40 | PACKAGECONFIG[levelzero] = "-DBUILD_WITH_L0=ON, -DBUILD_WITH_L0=OFF, level-zero" | ||
41 | |||
42 | do_install_append_class-native() { | ||
43 | install -d ${D}${bindir} | ||
44 | install ${B}/bin/cpp_generate_tool ${D}${bindir}/ | ||
45 | } | ||
46 | |||
47 | FILES_${PN} += " \ | ||
48 | ${libdir}/intel-opencl/libigdrcl.so \ | ||
49 | ${libdir}/libocloc.so \ | ||
50 | " | ||
51 | |||
52 | FILES_${PN}-dev = "${includedir}" | ||
53 | |||
54 | BBCLASSEXTEND = "native nativesdk" | ||
55 | |||
56 | UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+(\.\d+)+)" | ||
diff --git a/dynamic-layers/clang-layer/recipes-opencl/compute-runtime/intel-compute-runtime_24.13.29138.7.bb b/dynamic-layers/clang-layer/recipes-opencl/compute-runtime/intel-compute-runtime_24.13.29138.7.bb new file mode 100644 index 00000000..7280ed03 --- /dev/null +++ b/dynamic-layers/clang-layer/recipes-opencl/compute-runtime/intel-compute-runtime_24.13.29138.7.bb | |||
@@ -0,0 +1,65 @@ | |||
1 | SUMMARY = "The Intel(R) Graphics Compute Runtime for OpenCL(TM)" | ||
2 | DESCRIPTION = "The Intel(R) Graphics Compute Runtime for OpenCL(TM) \ | ||
3 | is an open source project to converge Intel's development efforts \ | ||
4 | on OpenCL(TM) compute stacks supporting the GEN graphics hardware \ | ||
5 | architecture." | ||
6 | |||
7 | LICENSE = "MIT & Apache-2.0" | ||
8 | LIC_FILES_CHKSUM = "file://LICENSE.md;md5=eca6ec6997e18db166db7109cdbe611c \ | ||
9 | file://third_party/opencl_headers/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" | ||
10 | |||
11 | SRC_URI = "git://github.com/intel/compute-runtime.git;protocol=https;branch=releases/24.13 \ | ||
12 | file://disable-werror.patch \ | ||
13 | file://allow-to-find-cpp-generation-tool.patch \ | ||
14 | file://external-ocloc.patch \ | ||
15 | file://f10439aea214984a060566831f63d3aa198ef1b8.patch \ | ||
16 | " | ||
17 | |||
18 | SRCREV = "7131387cdbb02d480a225c70daef913a6c024a6e" | ||
19 | |||
20 | S = "${WORKDIR}/git" | ||
21 | |||
22 | DEPENDS += " intel-graphics-compiler gmmlib libva qemu-native" | ||
23 | |||
24 | RDEPENDS:${PN} += " intel-graphics-compiler gmmlib" | ||
25 | |||
26 | inherit cmake pkgconfig qemu | ||
27 | |||
28 | COMPATIBLE_HOST = '(x86_64).*-linux' | ||
29 | COMPATIBLE_HOST:libc-musl = "null" | ||
30 | |||
31 | EXTRA_OECMAKE = " \ | ||
32 | -DIGC_DIR=${STAGING_INCDIR}/igc \ | ||
33 | -DBUILD_TYPE=Release \ | ||
34 | -DSKIP_UNIT_TESTS=1 \ | ||
35 | -DCCACHE_ALLOWED=FALSE \ | ||
36 | -DNEO_DISABLE_LD_LLD=ON \ | ||
37 | -DNEO_DISABLE_LD_GOLD=ON \ | ||
38 | " | ||
39 | |||
40 | EXTRA_OECMAKE:append:class-target = " \ | ||
41 | -Docloc_cmd_prefix=ocloc \ | ||
42 | -DCMAKE_CROSSCOMPILING_EMULATOR=${WORKDIR}/qemuwrapper \ | ||
43 | " | ||
44 | |||
45 | PACKAGECONFIG ??= "" | ||
46 | PACKAGECONFIG[levelzero] = "-DBUILD_WITH_L0=ON, -DBUILD_WITH_L0=OFF, level-zero" | ||
47 | |||
48 | do_configure:prepend:class-target () { | ||
49 | # Write out a qemu wrapper that will be used by cmake. | ||
50 | qemu_binary="${@qemu_wrapper_cmdline(d, d.getVar('STAGING_DIR_HOST'), [d.expand('${B}/bin'),d.expand('${STAGING_DIR_HOST}${libdir}'),d.expand('${STAGING_DIR_HOST}${base_libdir}')])}" | ||
51 | cat > ${WORKDIR}/qemuwrapper << EOF | ||
52 | #!/bin/sh | ||
53 | $qemu_binary "\$@" | ||
54 | EOF | ||
55 | chmod +x ${WORKDIR}/qemuwrapper | ||
56 | } | ||
57 | |||
58 | FILES:${PN} += " \ | ||
59 | ${libdir}/intel-opencl/libigdrcl.so \ | ||
60 | ${libdir}/libocloc.so \ | ||
61 | " | ||
62 | |||
63 | FILES:${PN}-dev = "${includedir}" | ||
64 | |||
65 | UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+(\.\d+)+)" | ||
diff --git a/dynamic-layers/clang-layer/recipes-opencl/igc/files/0001-BiF-CMakeLists.txt-remove-opt-from-DEPENDS.patch b/dynamic-layers/clang-layer/recipes-opencl/igc/files/0001-BiF-CMakeLists.txt-remove-opt-from-DEPENDS.patch new file mode 100644 index 00000000..377081fd --- /dev/null +++ b/dynamic-layers/clang-layer/recipes-opencl/igc/files/0001-BiF-CMakeLists.txt-remove-opt-from-DEPENDS.patch | |||
@@ -0,0 +1,35 @@ | |||
1 | From 3d71670f8ad5b54d434c2f5f71713bb1d5433ae4 Mon Sep 17 00:00:00 2001 | ||
2 | From: Anuj Mittal <anuj.mittal@intel.com> | ||
3 | Date: Tue, 12 Oct 2021 23:46:42 +0800 | ||
4 | Subject: [PATCH] BiF/CMakeLists.txt: remove opt from DEPENDS | ||
5 | |||
6 | Otherwise it starts failing with: | ||
7 | |||
8 | | ninja: error: 'IGC/VectorCompiler/lib/BiF/opt', needed by 'IGC/VectorCompiler/lib/BiF/VCBiFPrintfOCL32.opt.bc', missing and no known rule to make it | ||
9 | |||
10 | We don't need to explicitly make sure opt is built when | ||
11 | using prebuilt binaries. | ||
12 | |||
13 | Upstream-Status: Inappropriate | ||
14 | |||
15 | Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> | ||
16 | --- | ||
17 | IGC/VectorCompiler/lib/BiF/cmake/Functions.cmake | 2 +- | ||
18 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
19 | |||
20 | diff --git a/IGC/VectorCompiler/lib/BiF/cmake/Functions.cmake b/IGC/VectorCompiler/lib/BiF/cmake/Functions.cmake | ||
21 | index d20d7f887..882e09fea 100644 | ||
22 | --- a/IGC/VectorCompiler/lib/BiF/cmake/Functions.cmake | ||
23 | +++ b/IGC/VectorCompiler/lib/BiF/cmake/Functions.cmake | ||
24 | @@ -109,7 +109,7 @@ function(vc_build_bif TARGET RES_FILE CMCL_SRC_PATH BIF_NAME PTR_BIT_SIZE) | ||
25 | COMMENT "vc_build_bif: Translating CMCL builtins: ${BIF_CLANG_BC_NAME_FINAL} -> ${BIF_OPT_BC_NAME}" | ||
26 | COMMAND CMCLTranslatorTool -o ${BIF_CMCL_BC_NAME} ${BIF_CLANG_BC_NAME_FINAL} | ||
27 | COMMAND ${LLVM_OPT_EXE} ${IGC_LLVM_DEPENDENT_OPT_FLAGS} --O2 -o ${BIF_OPT_BC_NAME} ${BIF_CMCL_BC_NAME} | ||
28 | - DEPENDS CMCLTranslatorTool ${LLVM_OPT_EXE} ${BIF_CLANG_BC_PATH_FINAL} | ||
29 | + DEPENDS CMCLTranslatorTool ${BIF_CLANG_BC_PATH_FINAL} | ||
30 | BYPRODUCTS ${BIF_OPT_BC_PATH} | ||
31 | SOURCES ${CMCL_SRC_PATH}) | ||
32 | set(${RES_FILE} ${BIF_OPT_BC_NAME} PARENT_SCOPE) | ||
33 | -- | ||
34 | 2.43.2 | ||
35 | |||
diff --git a/dynamic-layers/clang-layer/recipes-opencl/igc/files/0001-external-SPIRV-Tools-change-path-to-tools-and-header.patch b/dynamic-layers/clang-layer/recipes-opencl/igc/files/0001-external-SPIRV-Tools-change-path-to-tools-and-header.patch new file mode 100644 index 00000000..dca75e22 --- /dev/null +++ b/dynamic-layers/clang-layer/recipes-opencl/igc/files/0001-external-SPIRV-Tools-change-path-to-tools-and-header.patch | |||
@@ -0,0 +1,31 @@ | |||
1 | From e69a3181482e5f442756a61c7b683914072884f1 Mon Sep 17 00:00:00 2001 | ||
2 | From: Anuj Mittal <anuj.mittal@intel.com> | ||
3 | Date: Mon, 9 Jan 2023 11:43:05 +0800 | ||
4 | Subject: [PATCH] external/SPIRV-Tools: change path to tools and headers | ||
5 | |||
6 | We clone the SPIRV headers and tools in a different directory to ensure | ||
7 | file path substitutions take place. | ||
8 | |||
9 | Upstream-Status: Inappropriate | ||
10 | |||
11 | Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> | ||
12 | |||
13 | --- | ||
14 | external/SPIRV-Tools/CMakeLists.txt | 4 ++-- | ||
15 | 1 file changed, 2 insertions(+), 2 deletions(-) | ||
16 | |||
17 | diff --git a/external/SPIRV-Tools/CMakeLists.txt b/external/SPIRV-Tools/CMakeLists.txt | ||
18 | index 9afa5746c..7ca24d5dc 100644 | ||
19 | --- a/external/SPIRV-Tools/CMakeLists.txt | ||
20 | +++ b/external/SPIRV-Tools/CMakeLists.txt | ||
21 | @@ -43,8 +43,8 @@ else() #By default use build from sources | ||
22 | message(STATUS "[SPIRV-Tools] : Building from source") | ||
23 | message(STATUS "[SPIRV-Tools] : Current source dir: ${CMAKE_CURRENT_SOURCE_DIR}") | ||
24 | |||
25 | - set(SPIRV-Headers_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../../SPIRV-Headers") # used in subdirectory | ||
26 | - set(SPIRV-Tools_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../../SPIRV-Tools") | ||
27 | + set(SPIRV-Headers_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../SPIRV-Headers") # used in subdirectory | ||
28 | + set(SPIRV-Tools_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../SPIRV-Tools") | ||
29 | |||
30 | set(SPIRV-Tools_OUTPUT_DIR "${IGC_OPTION__OUTPUT_DIR}/external/SPIRV-Tools/build") | ||
31 | set(IGC_BUILD__SPIRV-Headers_DIR "${SPIRV-Headers_SOURCE_DIR}") | ||
diff --git a/dynamic-layers/clang-layer/recipes-opencl/igc/files/0001-fix-tblgen.patch b/dynamic-layers/clang-layer/recipes-opencl/igc/files/0001-fix-tblgen.patch new file mode 100644 index 00000000..39443931 --- /dev/null +++ b/dynamic-layers/clang-layer/recipes-opencl/igc/files/0001-fix-tblgen.patch | |||
@@ -0,0 +1,24 @@ | |||
1 | From 5648568e597acd0fed82aac3e6aef0f95a1b78d1 Mon Sep 17 00:00:00 2001 | ||
2 | From: Anuj Mittal <anuj.mittal@intel.com> | ||
3 | Date: Thu, 19 May 2022 22:50:09 +0800 | ||
4 | Subject: [PATCH] fix tblgen | ||
5 | |||
6 | Upstream-Status: Inappropriate [OE specific] | ||
7 | |||
8 | --- | ||
9 | IGC/cmake/igc_llvm.cmake | 2 +- | ||
10 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
11 | |||
12 | diff --git a/IGC/cmake/igc_llvm.cmake b/IGC/cmake/igc_llvm.cmake | ||
13 | index 10322533c..9020cb3c8 100644 | ||
14 | --- a/IGC/cmake/igc_llvm.cmake | ||
15 | +++ b/IGC/cmake/igc_llvm.cmake | ||
16 | @@ -52,7 +52,7 @@ else() | ||
17 | set(LLVM_OPT_EXE "opt" CACHE STRING "") | ||
18 | |||
19 | set(LLVM_TABLEGEN_EXE "llvm-tblgen") | ||
20 | - if(CMAKE_CROSSCOMPILING) | ||
21 | + if(TRUE) | ||
22 | if(DEFINED LLVM_TABLEGEN) | ||
23 | set(LLVM_TABLEGEN_EXE ${LLVM_TABLEGEN}) | ||
24 | else() | ||
diff --git a/dynamic-layers/clang-layer/recipes-opencl/igc/files/0001-skip-execution-of-ElfPackager.patch b/dynamic-layers/clang-layer/recipes-opencl/igc/files/0001-skip-execution-of-ElfPackager.patch deleted file mode 100644 index 65342d9c..00000000 --- a/dynamic-layers/clang-layer/recipes-opencl/igc/files/0001-skip-execution-of-ElfPackager.patch +++ /dev/null | |||
@@ -1,43 +0,0 @@ | |||
1 | From 5501fab763aa2b11437fbdb19e07a11157a7d3e6 Mon Sep 17 00:00:00 2001 | ||
2 | From: Naveen Saini <naveen.kumar.saini@intel.com> | ||
3 | Date: Thu, 6 Feb 2020 14:56:56 +0800 | ||
4 | Subject: [PATCH] skip execution of ElfPackager | ||
5 | |||
6 | ElfPackager adds the ability to convert llvm bitcode into elf files for | ||
7 | easier partitioning. Skip for now until we start building a native | ||
8 | version for this. | ||
9 | |||
10 | Upstream-Status: Inappropriate [configuration specific] | ||
11 | |||
12 | Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> | ||
13 | Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com> | ||
14 | --- | ||
15 | IGC/ElfPackager/CMakeLists.txt | 12 ++++++------ | ||
16 | 1 file changed, 6 insertions(+), 6 deletions(-) | ||
17 | |||
18 | diff --git a/IGC/ElfPackager/CMakeLists.txt b/IGC/ElfPackager/CMakeLists.txt | ||
19 | index 563ac9d6..c6c74ce9 100644 | ||
20 | --- a/IGC/ElfPackager/CMakeLists.txt | ||
21 | +++ b/IGC/ElfPackager/CMakeLists.txt | ||
22 | @@ -71,12 +71,12 @@ include_directories ( | ||
23 | ${IGC_SOURCE_DIR}/AdaptorOCL/CLElfLib/ | ||
24 | ) | ||
25 | |||
26 | -if(NOT ANDROID) | ||
27 | - add_custom_command(TARGET ${IGC_BUILD__PROJ__ElfPackager} | ||
28 | - POST_BUILD | ||
29 | - COMMAND $<TARGET_FILE:${IGC_BUILD__PROJ__ElfPackager}> -includeSizet -funcList ${CMAKE_CURRENT_SOURCE_DIR}/function_bin.txt ${IGC_BUILD__BIF_DIR}/OCLBiFImpl.bc ${IGC_BUILD__BIF_DIR}/igdclbif.bin | ||
30 | - ) | ||
31 | -endif() | ||
32 | +#if(NOT ANDROID) | ||
33 | +# add_custom_command(TARGET ${IGC_BUILD__PROJ__ElfPackager} | ||
34 | +# POST_BUILD | ||
35 | +# COMMAND $<TARGET_FILE:${IGC_BUILD__PROJ__ElfPackager}> -includeSizet -funcList ${CMAKE_CURRENT_SOURCE_DIR}/function_bin.txt ${IGC_BUILD__BIF_DIR}/OCLBiFImpl.bc ${IGC_BUILD__BIF_DIR}/igdclbif.bin | ||
36 | +# ) | ||
37 | +#endif() | ||
38 | |||
39 | |||
40 | add_dependencies("${IGC_BUILD__PROJ__ElfPackager}" "${IGC_BUILD__PROJ__BiFModule_OCL}") | ||
41 | -- | ||
42 | 2.17.1 | ||
43 | |||
diff --git a/dynamic-layers/clang-layer/recipes-opencl/igc/files/0003-Improve-Reproducibility-for-src-package.patch b/dynamic-layers/clang-layer/recipes-opencl/igc/files/0003-Improve-Reproducibility-for-src-package.patch new file mode 100644 index 00000000..650130a8 --- /dev/null +++ b/dynamic-layers/clang-layer/recipes-opencl/igc/files/0003-Improve-Reproducibility-for-src-package.patch | |||
@@ -0,0 +1,34 @@ | |||
1 | From 0559332abd04b6c8bc70171d201f43d2e4735336 Mon Sep 17 00:00:00 2001 | ||
2 | From: Lee Chee Yang <chee.yang.lee@intel.com> | ||
3 | Date: Wed, 2 Sep 2020 08:28:35 +0800 | ||
4 | Subject: [PATCH] Improve Reproducibility for src package | ||
5 | |||
6 | Improve reproducibility for intel-graphics-compiler-src package. | ||
7 | needs to pass build path as environment variable to the build. | ||
8 | this only works on bison 3.7 onward, hence check for bison version | ||
9 | before adding the flags. | ||
10 | Upstream-Status: Inappropriate [applying --file-prefix-map in such way does not work for upstream] | ||
11 | Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com> | ||
12 | |||
13 | --- | ||
14 | visa/CMakeLists.txt | 7 +++++-- | ||
15 | 1 file changed, 5 insertions(+), 2 deletions(-) | ||
16 | |||
17 | diff --git a/visa/CMakeLists.txt b/visa/CMakeLists.txt | ||
18 | index 6be467587..930c386a6 100644 | ||
19 | --- a/visa/CMakeLists.txt | ||
20 | +++ b/visa/CMakeLists.txt | ||
21 | @@ -123,8 +123,11 @@ endif() | ||
22 | set(bison_output_file ${CMAKE_CURRENT_BINARY_DIR}/CISA.tab.cpp) | ||
23 | set(flex_output_file ${CMAKE_CURRENT_BINARY_DIR}/lex.CISA.cpp) | ||
24 | |||
25 | -BISON_TARGET(CISAParser CISA.y ${bison_output_file} COMPILE_FLAGS "-vt -p CISA") | ||
26 | -FLEX_TARGET(CISAScanner CISA.l ${flex_output_file} COMPILE_FLAGS "-PCISA ${WIN_FLEX_FLAG}") | ||
27 | +if(BISON_VERSION VERSION_GREATER_EQUAL "3.7.0") | ||
28 | + set(BISON_EXTRA_FLAGS " --file-prefix-map=$ENV{B}=/igc/ ") | ||
29 | +endif() | ||
30 | +BISON_TARGET(CISAParser CISA.y ${bison_output_file} COMPILE_FLAGS "-l -vt -p CISA ${BISON_EXTRA_FLAGS} ") | ||
31 | +FLEX_TARGET(CISAScanner CISA.l ${flex_output_file} COMPILE_FLAGS "-PCISA -L ${WIN_FLEX_FLAG} ") | ||
32 | ADD_FLEX_BISON_DEPENDENCY(CISAScanner CISAParser) | ||
33 | set(CISAScanner_dependencies) | ||
34 | |||
diff --git a/dynamic-layers/clang-layer/recipes-opencl/igc/files/improve_src_package_reproducibility.patch b/dynamic-layers/clang-layer/recipes-opencl/igc/files/improve_src_package_reproducibility.patch deleted file mode 100644 index 7612b181..00000000 --- a/dynamic-layers/clang-layer/recipes-opencl/igc/files/improve_src_package_reproducibility.patch +++ /dev/null | |||
@@ -1,35 +0,0 @@ | |||
1 | From 88b961ce4e2c9744631c51d13fa638e8a8a6c2a9 Mon Sep 17 00:00:00 2001 | ||
2 | From: Lee Chee Yang <chee.yang.lee@intel.com> | ||
3 | Date: Wed, 2 Sep 2020 08:28:35 +0800 | ||
4 | Subject: [PATCH] Improve Reproducibility for src package | ||
5 | |||
6 | Improve reproducibility for intel-graphics-compiler-src package. | ||
7 | needs to pass build path as environment variable to the build. | ||
8 | this only works on bison 3.7 onward, hence check for bison version | ||
9 | before adding the flags. | ||
10 | Upstream-Status: Inappropriate [applying --file-prefix-map in such way does not work for upstream] | ||
11 | Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com> | ||
12 | --- | ||
13 | visa/CMakeLists.txt | 7 +++-- | ||
14 | 1 file changed, 5 insertions(+), 2 deletions(-) | ||
15 | |||
16 | diff --git a/visa/CMakeLists.txt b/visa/CMakeLists.txt | ||
17 | index 9c169592..ecea91db 100644 | ||
18 | --- a/visa/CMakeLists.txt | ||
19 | +++ b/visa/CMakeLists.txt | ||
20 | @@ -105,8 +108,11 @@ endif() | ||
21 | # Set up the bison and flex targets. These commands will set up commands to generate the appropriate | ||
22 | # source files from the input grammars. It will also set up the dependencies correctly for any | ||
23 | # library or executable that uses the generated source | ||
24 | -BISON_TARGET(CISAParser CISA.y ${CMAKE_CURRENT_BINARY_DIR}/CISA.tab.cpp COMPILE_FLAGS "-vt -p CISA") | ||
25 | -FLEX_TARGET(CISAScanner CISA.l ${CMAKE_CURRENT_BINARY_DIR}/lex.CISA.cpp COMPILE_FLAGS "-PCISA ${WIN_FLEX_FLAG}") | ||
26 | +if(BISON_VERSION VERSION_GREATER_EQUAL "3.7.0") | ||
27 | + set(BISON_EXTRA_FLAGS " --file-prefix-map=$ENV{B}=/igc/ ") | ||
28 | +endif() | ||
29 | +BISON_TARGET(CISAParser CISA.y ${CMAKE_CURRENT_BINARY_DIR}/CISA.tab.cpp COMPILE_FLAGS "-l -vt -p CISA ${BISON_EXTRA_FLAGS} ") | ||
30 | +FLEX_TARGET(CISAScanner CISA.l ${CMAKE_CURRENT_BINARY_DIR}/lex.CISA.cpp COMPILE_FLAGS "-PCISA -L ${WIN_FLEX_FLAG} ") | ||
31 | ADD_FLEX_BISON_DEPENDENCY(CISAScanner CISAParser) | ||
32 | |||
33 | add_custom_target(CISAScanner_target DEPENDS ${FLEX_CISAScanner_OUTPUTS} ${BISON_CISAParser_OUTPUTS}) | ||
34 | -- | ||
35 | 2.25.1 | ||
diff --git a/dynamic-layers/clang-layer/recipes-opencl/igc/files/link-to-LLVMGenXIntrinsics.patch b/dynamic-layers/clang-layer/recipes-opencl/igc/files/link-to-LLVMGenXIntrinsics.patch deleted file mode 100644 index 89a28097..00000000 --- a/dynamic-layers/clang-layer/recipes-opencl/igc/files/link-to-LLVMGenXIntrinsics.patch +++ /dev/null | |||
@@ -1,62 +0,0 @@ | |||
1 | From 483154871f72590b81c036b000be09627376b5a9 Mon Sep 17 00:00:00 2001 | ||
2 | From: Naveen Saini <naveen.kumar.saini@intel.com> | ||
3 | Date: Thu, 27 Aug 2020 12:17:12 +0800 | ||
4 | Subject: [PATCH] IGC/VectorCompiler/CMakeLists.txt: link to external | ||
5 | LLVMGenXIntrinsics | ||
6 | |||
7 | By default LLVMGenXIntrinsics is to be build In-tree, but we want to | ||
8 | link externally. | ||
9 | |||
10 | Fix llvm-tblgen path. | ||
11 | |||
12 | Upstream-Status: Inappropriate [configuration specific] | ||
13 | |||
14 | Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com> | ||
15 | --- | ||
16 | IGC/VectorCompiler/CMakeLists.txt | 23 ++--------------------- | ||
17 | 1 file changed, 2 insertions(+), 21 deletions(-) | ||
18 | |||
19 | diff --git a/IGC/VectorCompiler/CMakeLists.txt b/IGC/VectorCompiler/CMakeLists.txt | ||
20 | index 3592e0b4..ae754b8b 100644 | ||
21 | --- a/IGC/VectorCompiler/CMakeLists.txt | ||
22 | +++ b/IGC/VectorCompiler/CMakeLists.txt | ||
23 | @@ -50,10 +50,7 @@ if(IGC_BUILD__USING_SYSTEM_LLVM OR (WIN32 AND LLVM_USE_PREBUILT)) | ||
24 | message(STATUS "[VC] Using system llvm") | ||
25 | |||
26 | # Need to search for llvm-tblgen | ||
27 | - find_program(LLVM_TABLEGEN_EXE "llvm-tblgen" | ||
28 | - ${LLVM_TOOLS_BINARY_DIR} | ||
29 | - NO_DEFAULT_PATH | ||
30 | - ) | ||
31 | + find_program(LLVM_TABLEGEN_EXE "llvm-tblgen") | ||
32 | if(LLVM_TABLEGEN_EXE-NOTFOUND) | ||
33 | message(FATAL_ERROR "[VC] llvm-tblgen is not found") | ||
34 | endif() | ||
35 | @@ -131,23 +128,7 @@ if(LLVM_ON_WIN32) | ||
36 | add_compile_options(/wd4624) | ||
37 | endif() | ||
38 | |||
39 | -if(DEFINED VC_INTRINSICS_SRC) | ||
40 | - set(INTRSRC "${VC_INTRINSICS_SRC}/GenXIntrinsics") | ||
41 | -endif() | ||
42 | - | ||
43 | -if(NOT DEFINED INTRSRC) | ||
44 | - set(INTRSRC "${CMAKE_CURRENT_SOURCE_DIR}/../../../vc-intrinsics/GenXIntrinsics") | ||
45 | -endif() | ||
46 | - | ||
47 | -message(STATUS "[VC] Using vc-intrinsics source from: ${INTRSRC}") | ||
48 | - | ||
49 | -# We are using prebuilt SPIRV and building intrinsics. | ||
50 | -set(INTRBUILD "${CMAKE_CURRENT_BINARY_DIR}/intrbuild") | ||
51 | - | ||
52 | - | ||
53 | -# Do not copy anything from prebuilts. libSPIRVDLL.so will be dynamically loaded at runtime. | ||
54 | -add_subdirectory(${INTRSRC} ${INTRBUILD}) | ||
55 | -include_directories(${INTRSRC}/include ${INTRBUILD}/include) | ||
56 | +find_package(LLVMGenXIntrinsics REQUIRED) | ||
57 | |||
58 | include(cmake/spirv.cmake) | ||
59 | include(${IGC_SOURCE_DIR}/cmake/utils.cmake) | ||
60 | -- | ||
61 | 2.17.1 | ||
62 | |||
diff --git a/dynamic-layers/clang-layer/recipes-opencl/igc/intel-graphics-compiler_1.0.16510.2.bb b/dynamic-layers/clang-layer/recipes-opencl/igc/intel-graphics-compiler_1.0.16510.2.bb new file mode 100644 index 00000000..24eb97bd --- /dev/null +++ b/dynamic-layers/clang-layer/recipes-opencl/igc/intel-graphics-compiler_1.0.16510.2.bb | |||
@@ -0,0 +1,75 @@ | |||
1 | SUMMARY = "The Intel(R) Graphics Compiler for OpenCL(TM)" | ||
2 | DESCRIPTION = "The Intel(R) Graphics Compiler for OpenCL(TM) is an \ | ||
3 | llvm based compiler for OpenCL(TM) targeting Intel Gen graphics \ | ||
4 | hardware architecture." | ||
5 | |||
6 | LICENSE = "MIT & Apache-2.0" | ||
7 | LIC_FILES_CHKSUM = "file://IGC/BiFModule/Implementation/ExternalLibraries/libclc/LICENSE.TXT;md5=311cfc1a5b54bab8ed34a0b5fba4373e \ | ||
8 | file://LICENSE.md;md5=488d74376edf2765f6e78d271543dde3 \ | ||
9 | file://NOTICES.txt;md5=b81a52411c84df3419f20bad4d755880" | ||
10 | |||
11 | SRC_URI = "git://github.com/intel/intel-graphics-compiler.git;protocol=https;name=igc;branch=releases/igc-1.0.16510 \ | ||
12 | git://github.com/intel/vc-intrinsics.git;protocol=https;destsuffix=git/vc-intrinsics;name=vc;nobranch=1 \ | ||
13 | git://github.com/KhronosGroup/SPIRV-Tools.git;protocol=https;destsuffix=git/SPIRV-Tools;name=spirv-tools;branch=main \ | ||
14 | git://github.com/KhronosGroup/SPIRV-Headers.git;protocol=https;destsuffix=git/SPIRV-Headers;name=spirv-headers;branch=main \ | ||
15 | file://0003-Improve-Reproducibility-for-src-package.patch \ | ||
16 | file://0001-BiF-CMakeLists.txt-remove-opt-from-DEPENDS.patch \ | ||
17 | file://0001-external-SPIRV-Tools-change-path-to-tools-and-header.patch \ | ||
18 | " | ||
19 | |||
20 | SRC_URI:append:class-native = " file://0001-fix-tblgen.patch" | ||
21 | |||
22 | SRCREV_igc = "c2495d45f37fadd963ad22eb0cc1a8235a306775" | ||
23 | SRCREV_vc = "f9c34404d0ea9abad83875a10bd48d88cea90ebd" | ||
24 | SRCREV_spirv-tools = "f0cc85efdbbe3a46eae90e0f915dc1509836d0fc" | ||
25 | SRCREV_spirv-headers = "1c6bb2743599e6eb6f37b2969acc0aef812e32e3" | ||
26 | |||
27 | SRCREV_FORMAT = "igc_vc_spirv-tools_spirv-headers" | ||
28 | |||
29 | # Used to replace with relative path in reproducibility patch | ||
30 | export B | ||
31 | |||
32 | S = "${WORKDIR}/git" | ||
33 | |||
34 | inherit cmake pkgconfig qemu python3native | ||
35 | |||
36 | CXXFLAGS:append = " -Wno-error=nonnull" | ||
37 | |||
38 | COMPATIBLE_HOST = '(x86_64).*-linux' | ||
39 | COMPATIBLE_HOST:libc-musl = "null" | ||
40 | |||
41 | DEPENDS += " flex-native bison-native clang clang-cross-x86_64 opencl-clang qemu-native python3-mako-native" | ||
42 | |||
43 | RDEPENDS:${PN} += "opencl-clang" | ||
44 | |||
45 | PACKAGECONFIG ??= "vc" | ||
46 | PACKAGECONFIG[vc] = "-DIGC_BUILD__VC_ENABLED=ON -DIGC_OPTION__LINK_KHRONOS_SPIRV_TRANSLATOR=ON -DIGC_OPTION__SPIRV_TRANSLATOR_MODE=Prebuilds,-DIGC_BUILD__VC_ENABLED=OFF," | ||
47 | |||
48 | EXTRA_OECMAKE = " \ | ||
49 | -DIGC_OPTION__LLVM_PREFERRED_VERSION=${LLVMVERSION} \ | ||
50 | -DVC_INTRINSICS_SRC="${S}/vc-intrinsics" \ | ||
51 | -DIGC_OPTION__LLVM_MODE=Prebuilds \ | ||
52 | -DLLVM_TABLEGEN=${STAGING_BINDIR_NATIVE}/llvm-tblgen \ | ||
53 | -DLLVM_LINK_EXE=${STAGING_BINDIR_NATIVE}/llvm-link \ | ||
54 | -DCLANG_EXE=${STAGING_BINDIR_NATIVE}/clang \ | ||
55 | -DCMAKE_CROSSCOMPILING_EMULATOR=${WORKDIR}/qemuwrapper \ | ||
56 | " | ||
57 | |||
58 | do_configure:prepend:class-target () { | ||
59 | # Write out a qemu wrapper that will be used by cmake. | ||
60 | qemu_binary="${@qemu_wrapper_cmdline(d, d.getVar('STAGING_DIR_HOST'), [d.expand('${STAGING_DIR_HOST}${libdir}'),d.expand('${STAGING_DIR_HOST}${base_libdir}')])}" | ||
61 | cat > ${WORKDIR}/qemuwrapper << EOF | ||
62 | #!/bin/sh | ||
63 | $qemu_binary "\$@" | ||
64 | EOF | ||
65 | chmod +x ${WORKDIR}/qemuwrapper | ||
66 | } | ||
67 | |||
68 | UPSTREAM_CHECK_GITTAGREGEX = "^igc-(?P<pver>(?!19\..*)\d+(\.\d+)+)$" | ||
69 | |||
70 | FILES:${PN} += " \ | ||
71 | ${libdir}/igc/NOTICES.txt \ | ||
72 | " | ||
73 | |||
74 | # libigc.so contains buildpaths | ||
75 | INSANE_SKIP:${PN} += "buildpaths" | ||
diff --git a/dynamic-layers/clang-layer/recipes-opencl/igc/intel-graphics-compiler_1.0.5176.bb b/dynamic-layers/clang-layer/recipes-opencl/igc/intel-graphics-compiler_1.0.5176.bb deleted file mode 100644 index d55e2c61..00000000 --- a/dynamic-layers/clang-layer/recipes-opencl/igc/intel-graphics-compiler_1.0.5176.bb +++ /dev/null | |||
@@ -1,47 +0,0 @@ | |||
1 | SUMMARY = "The Intel(R) Graphics Compiler for OpenCL(TM)" | ||
2 | DESCRIPTION = "The Intel(R) Graphics Compiler for OpenCL(TM) is an \ | ||
3 | llvm based compiler for OpenCL(TM) targeting Intel Gen graphics \ | ||
4 | hardware architecture." | ||
5 | |||
6 | LICENSE = "MIT & BSD-3-Clause" | ||
7 | LIC_FILES_CHKSUM = "file://IGC/BiFModule/Implementation/ExternalLibraries/libclc/LICENSE.TXT;md5=311cfc1a5b54bab8ed34a0b5fba4373e \ | ||
8 | file://IGC/Compiler/LegalizationPass.cpp;beginline=1;endline=25;md5=4abf1738ff96b18e34186eb763e28eeb \ | ||
9 | file://NOTICES.txt;md5=b12e73994de4fbe0f688cf0bc91512a0" | ||
10 | |||
11 | SRC_URI = "git://github.com/intel/intel-graphics-compiler.git;protocol=https; \ | ||
12 | file://0001-skip-execution-of-ElfPackager.patch \ | ||
13 | file://link-to-LLVMGenXIntrinsics.patch \ | ||
14 | file://improve_src_package_reproducibility.patch \ | ||
15 | " | ||
16 | |||
17 | SRCREV = "3e7c8e95b48a4eb6637077c52ff253a37b5ea085" | ||
18 | |||
19 | # Used to replace with relative path in reproducibility patch | ||
20 | export B | ||
21 | |||
22 | S = "${WORKDIR}/git" | ||
23 | |||
24 | inherit cmake | ||
25 | |||
26 | COMPATIBLE_HOST = '(x86_64).*-linux' | ||
27 | COMPATIBLE_HOST_libc-musl = "null" | ||
28 | |||
29 | DEPENDS += " flex-native bison-native clang opencl-clang vc-intrinsics" | ||
30 | DEPENDS_append_class-target = " clang-cross-x86_64" | ||
31 | |||
32 | RDEPENDS_${PN} += "opencl-clang" | ||
33 | |||
34 | LLVM_COMPAT_VERSION = "${@bb.utils.contains('LLVMVERSION', '10.0.1', '10.0.0', '11.0.0', d)}" | ||
35 | EXTRA_OECMAKE = "-DIGC_PREFERRED_LLVM_VERSION=${LLVM_COMPAT_VERSION} -DPYTHON_EXECUTABLE=${HOSTTOOLS_DIR}/python3 -DINSTALL_SPIRVDLL=0" | ||
36 | |||
37 | # VectorCompiler doesn't build with LLVM11 as of this release. | ||
38 | # Re-enable after those issues have been fixed. | ||
39 | EXTRA_OECMAKE_append = " ${@bb.utils.contains('LLVMVERSION', '11.0.0', "-DIGC_BUILD__VC_ENABLED=OFF", "", d)}" | ||
40 | |||
41 | BBCLASSEXTEND = "native nativesdk" | ||
42 | |||
43 | UPSTREAM_CHECK_GITTAGREGEX = "^igc-(?P<pver>(?!19\..*)\d+(\.\d+)+)$" | ||
44 | |||
45 | FILES_${PN} += " \ | ||
46 | ${libdir}/igc/NOTICES.txt \ | ||
47 | " | ||
diff --git a/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/files/0001-Building-in-tree-with-LLVM-10.0-with-the-LLVM_LINK_L.patch b/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/files/0001-Building-in-tree-with-LLVM-10.0-with-the-LLVM_LINK_L.patch deleted file mode 100644 index 8ffa853b..00000000 --- a/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/files/0001-Building-in-tree-with-LLVM-10.0-with-the-LLVM_LINK_L.patch +++ /dev/null | |||
@@ -1,35 +0,0 @@ | |||
1 | From 7fc05c52dd91902fa324a7aac9b90715cfca4717 Mon Sep 17 00:00:00 2001 | ||
2 | From: Naveen Saini <naveen.kumar.saini@intel.com> | ||
3 | Date: Wed, 15 Apr 2020 17:55:32 +0800 | ||
4 | Subject: [PATCH] Building in-tree with LLVM 10.0 with the LLVM_LINK_LLVM_DYLIB | ||
5 | |||
6 | Failed to link with the LLVMSPIRVLib library. | ||
7 | |||
8 | Add an explicit dependency to force the correct build order and linking. | ||
9 | |||
10 | Reference: | ||
11 | https://github.com/KhronosGroup/SPIRV-LLVM-Translator/commit/a6d4ccf082858e63e139ca06c02a071c343d2657 | ||
12 | |||
13 | Upstream-Status: Submitted [https://github.com/intel/opencl-clang/pull/118] | ||
14 | |||
15 | Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com> | ||
16 | --- | ||
17 | CMakeLists.txt | 2 +- | ||
18 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
19 | |||
20 | diff --git a/CMakeLists.txt b/CMakeLists.txt | ||
21 | index 51c140d..b8b514e 100644 | ||
22 | --- a/CMakeLists.txt | ||
23 | +++ b/CMakeLists.txt | ||
24 | @@ -208,7 +208,7 @@ link_directories( | ||
25 | |||
26 | set(OPENCL_CLANG_LINK_LIBS ${CMAKE_DL_LIBS}) | ||
27 | |||
28 | -if(NOT LLVMSPIRVLib IN_LIST LLVM_AVAILABLE_LIBS) | ||
29 | +if(NOT LLVMSPIRVLib IN_LIST LLVM_AVAILABLE_LIBS OR (USE_PREBUILT_LLVM AND LLVM_LINK_LLVM_DYLIB)) | ||
30 | # SPIRV-LLVM-Translator is not included into LLVM as a component. | ||
31 | # So, we need to list it here explicitly as an external library | ||
32 | list(APPEND OPENCL_CLANG_LINK_LIBS LLVMSPIRVLib) | ||
33 | -- | ||
34 | 2.17.1 | ||
35 | |||
diff --git a/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/files/0001-cl_headers-CMakeLists.txt-use-clang-from-native-sysr.patch b/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/files/0001-cl_headers-CMakeLists.txt-use-clang-from-native-sysr.patch new file mode 100644 index 00000000..031a77c7 --- /dev/null +++ b/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/files/0001-cl_headers-CMakeLists.txt-use-clang-from-native-sysr.patch | |||
@@ -0,0 +1,49 @@ | |||
1 | From 5aea653e611b59c70e529a1bd71885a509831557 Mon Sep 17 00:00:00 2001 | ||
2 | From: Anuj Mittal <anuj.mittal@intel.com> | ||
3 | Date: Tue, 1 Aug 2023 11:15:31 +0800 | ||
4 | Subject: [PATCH] cl_headers/CMakeLists.txt: use clang from native sysroot | ||
5 | |||
6 | Allow clang to be found in target sysroot for target builds and dont try | ||
7 | to compile cross binaries, we do that ourselves. | ||
8 | |||
9 | Upstream-Status: Inappropriate [oe-specific] | ||
10 | Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> | ||
11 | --- | ||
12 | CMakeLists.txt | 8 ++++---- | ||
13 | cl_headers/CMakeLists.txt | 2 +- | ||
14 | 2 files changed, 5 insertions(+), 5 deletions(-) | ||
15 | |||
16 | diff --git a/CMakeLists.txt b/CMakeLists.txt | ||
17 | index 5864009..60ba39e 100644 | ||
18 | --- a/CMakeLists.txt | ||
19 | +++ b/CMakeLists.txt | ||
20 | @@ -35,10 +35,10 @@ set(CMAKE_MODULE_PATH | ||
21 | |||
22 | include(CMakeFunctions) | ||
23 | |||
24 | -if(CMAKE_CROSSCOMPILING AND OPENCL_CLANG_BUILD_EXTERNAL) | ||
25 | - include(CrossCompile) | ||
26 | - llvm_create_cross_target(${PROJECT_NAME} NATIVE "" Release) | ||
27 | -endif() | ||
28 | +#if(CMAKE_CROSSCOMPILING AND OPENCL_CLANG_BUILD_EXTERNAL) | ||
29 | +# include(CrossCompile) | ||
30 | +# llvm_create_cross_target(${PROJECT_NAME} NATIVE "" Release) | ||
31 | +#endif() | ||
32 | |||
33 | if(CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR) | ||
34 | set(USE_PREBUILT_LLVM ON) | ||
35 | diff --git a/cl_headers/CMakeLists.txt b/cl_headers/CMakeLists.txt | ||
36 | index 16cabb7..4423536 100644 | ||
37 | --- a/cl_headers/CMakeLists.txt | ||
38 | +++ b/cl_headers/CMakeLists.txt | ||
39 | @@ -1,6 +1,6 @@ | ||
40 | set(CL_HEADERS_LIB cl_headers) | ||
41 | if(USE_PREBUILT_LLVM) | ||
42 | - find_program(CLANG_COMMAND clang PATHS ${LLVM_TOOLS_BINARY_DIR} NO_DEFAULT_PATH) | ||
43 | + find_program(CLANG_COMMAND clang PATHS ${LLVM_TOOLS_BINARY_DIR}) | ||
44 | else() | ||
45 | set(CLANG_COMMAND $<TARGET_FILE:clang>) | ||
46 | endif() | ||
47 | -- | ||
48 | 2.37.3 | ||
49 | |||
diff --git a/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/files/0001-don-t-redefine-LLVM_TABLEGEN_EXE.patch b/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/files/0001-don-t-redefine-LLVM_TABLEGEN_EXE.patch deleted file mode 100644 index 8df7e3ab..00000000 --- a/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/files/0001-don-t-redefine-LLVM_TABLEGEN_EXE.patch +++ /dev/null | |||
@@ -1,32 +0,0 @@ | |||
1 | From f3ef79a6301bab0b3a447f07ceb94c39a95009df Mon Sep 17 00:00:00 2001 | ||
2 | From: Anuj Mittal <anuj.mittal@intel.com> | ||
3 | Date: Thu, 2 Apr 2020 08:59:20 +0800 | ||
4 | Subject: [PATCH] don't redefine LLVM_TABLEGEN_EXE | ||
5 | |||
6 | Use the value that has been passed by the user. | ||
7 | |||
8 | Upstream-Status: Submitted | ||
9 | Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> | ||
10 | --- | ||
11 | CMakeLists.txt | 5 ++++- | ||
12 | 1 file changed, 4 insertions(+), 1 deletion(-) | ||
13 | |||
14 | diff --git a/CMakeLists.txt b/CMakeLists.txt | ||
15 | index 6893e97..941b0ae 100644 | ||
16 | --- a/CMakeLists.txt | ||
17 | +++ b/CMakeLists.txt | ||
18 | @@ -137,7 +137,10 @@ endif(NOT USE_PREBUILT_LLVM) | ||
19 | set (COMPILE_OPTIONS_TD opencl_clang_options.td) | ||
20 | set (COMPILE_OPTIONS_INC opencl_clang_options.inc) | ||
21 | |||
22 | -set(LLVM_TABLEGEN_EXE "llvm-tblgen") | ||
23 | +if(NOT DEFINED LLVM_TABLEGEN_EXE) | ||
24 | + set(LLVM_TABLEGEN_EXE "llvm-tblgen") | ||
25 | +endif() | ||
26 | + | ||
27 | set(LLVM_TARGET_DEFINITIONS ${COMPILE_OPTIONS_TD}) | ||
28 | if(USE_PREBUILT_LLVM) | ||
29 | set(TABLEGEN_ADDITIONAL -I ${LLVM_INCLUDE_DIRS}) | ||
30 | -- | ||
31 | 2.25.1 | ||
32 | |||
diff --git a/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/files/0002-Request-native-clang-only-when-cross-compiling-464.patch b/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/files/0002-Request-native-clang-only-when-cross-compiling-464.patch new file mode 100644 index 00000000..2f1814f8 --- /dev/null +++ b/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/files/0002-Request-native-clang-only-when-cross-compiling-464.patch | |||
@@ -0,0 +1,60 @@ | |||
1 | From 43c806ef321b1f677a49d28c89fb7ffecf539c2d Mon Sep 17 00:00:00 2001 | ||
2 | From: Tim Creech <timothy.m.creech@intel.com> | ||
3 | Date: Wed, 28 Jun 2023 03:45:51 -0400 | ||
4 | Subject: [PATCH 2/2] Request native clang only when cross-compiling (#464) | ||
5 | |||
6 | * Request native clang only when cross-compiling | ||
7 | |||
8 | LLVM_USE_HOST_TOOLS may be set if LLVM is configured with | ||
9 | LLVM_OPTIMIZED_TABLEGEN, which does not necessarily indicate | ||
10 | cross-compilation or that clang will only execute on the target. | ||
11 | |||
12 | By checking that CMAKE_CROSSCOMPILING is set, we ensure that we only | ||
13 | build/use clang again if necessary for host execution. | ||
14 | |||
15 | * fixup: CMAKE_CROSSCOMPILING implies LLVM_USE_HOST_TOOLS | ||
16 | |||
17 | Co-authored-by: Wenju He <wenju.he@intel.com> | ||
18 | |||
19 | * fixup: also use CMAKE_CROSSCOMPILING in top-level CMakeLists.txt | ||
20 | |||
21 | --------- | ||
22 | |||
23 | Co-authored-by: Wenju He <wenju.he@intel.com> | ||
24 | |||
25 | Upstream-Status: Backport [https://github.com/intel/opencl-clang/commit/53843eee13cfb2357919ee02714a43bef1af0f86] | ||
26 | Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> | ||
27 | --- | ||
28 | CMakeLists.txt | 2 +- | ||
29 | cl_headers/CMakeLists.txt | 2 +- | ||
30 | 2 files changed, 2 insertions(+), 2 deletions(-) | ||
31 | |||
32 | diff --git a/CMakeLists.txt b/CMakeLists.txt | ||
33 | index e772de9..5864009 100644 | ||
34 | --- a/CMakeLists.txt | ||
35 | +++ b/CMakeLists.txt | ||
36 | @@ -35,7 +35,7 @@ set(CMAKE_MODULE_PATH | ||
37 | |||
38 | include(CMakeFunctions) | ||
39 | |||
40 | -if(LLVM_USE_HOST_TOOLS AND OPENCL_CLANG_BUILD_EXTERNAL) | ||
41 | +if(CMAKE_CROSSCOMPILING AND OPENCL_CLANG_BUILD_EXTERNAL) | ||
42 | include(CrossCompile) | ||
43 | llvm_create_cross_target(${PROJECT_NAME} NATIVE "" Release) | ||
44 | endif() | ||
45 | diff --git a/cl_headers/CMakeLists.txt b/cl_headers/CMakeLists.txt | ||
46 | index 18296c2..16cabb7 100644 | ||
47 | --- a/cl_headers/CMakeLists.txt | ||
48 | +++ b/cl_headers/CMakeLists.txt | ||
49 | @@ -4,7 +4,7 @@ if(USE_PREBUILT_LLVM) | ||
50 | else() | ||
51 | set(CLANG_COMMAND $<TARGET_FILE:clang>) | ||
52 | endif() | ||
53 | -if(LLVM_USE_HOST_TOOLS AND NOT OPENCL_CLANG_BUILD_EXTERNAL) | ||
54 | +if(CMAKE_CROSSCOMPILING AND NOT OPENCL_CLANG_BUILD_EXTERNAL) | ||
55 | build_native_tool(clang CLANG_COMMAND) | ||
56 | endif() | ||
57 | |||
58 | -- | ||
59 | 2.37.3 | ||
60 | |||
diff --git a/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/files/0002-make-sure-only-static-libraries-linked-for-native-bu.patch b/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/files/0002-make-sure-only-static-libraries-linked-for-native-bu.patch deleted file mode 100644 index 473f4d24..00000000 --- a/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/files/0002-make-sure-only-static-libraries-linked-for-native-bu.patch +++ /dev/null | |||
@@ -1,42 +0,0 @@ | |||
1 | From b29e00e6fe428a031cf577dfb703cf13eff837f6 Mon Sep 17 00:00:00 2001 | ||
2 | From: Naveen Saini <naveen.kumar.saini@intel.com> | ||
3 | Date: Wed, 15 Apr 2020 18:05:14 +0800 | ||
4 | Subject: [PATCH 2/2] make sure only static libraries linked for native build | ||
5 | |||
6 | LINK_COMPONENTS=all isn't working for static libs for out of tree builds. Use | ||
7 | LLVM_AVAILABLE_LIBS instead. Reported: | ||
8 | |||
9 | https://github.com/intel/opencl-clang/issues/114 | ||
10 | |||
11 | Upstream-Status: Pending | ||
12 | |||
13 | Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> | ||
14 | Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com> | ||
15 | --- | ||
16 | CMakeLists.txt | 3 ++- | ||
17 | 1 file changed, 2 insertions(+), 1 deletion(-) | ||
18 | |||
19 | diff --git a/CMakeLists.txt b/CMakeLists.txt | ||
20 | index 8707487..ad2dbda 100644 | ||
21 | --- a/CMakeLists.txt | ||
22 | +++ b/CMakeLists.txt | ||
23 | @@ -218,7 +218,7 @@ add_subdirectory(cl_headers) | ||
24 | |||
25 | set(LLVM_REQUIRES_EH ON) | ||
26 | |||
27 | -if(USE_PREBUILT_LLVM OR CLANG_LINK_CLANG_DYLIB) | ||
28 | +if(false) | ||
29 | list(APPEND OPENCL_CLANG_LINK_LIBS clang-cpp) | ||
30 | else() | ||
31 | list(APPEND OPENCL_CLANG_LINK_LIBS | ||
32 | @@ -266,6 +266,7 @@ add_llvm_library(${TARGET_NAME} SHARED | ||
33 | all | ||
34 | LINK_LIBS | ||
35 | ${OPENCL_CLANG_LINK_LIBS} | ||
36 | + ${LLVM_AVAILABLE_LIBS} | ||
37 | ) | ||
38 | |||
39 | # Configure resource file on Windows | ||
40 | -- | ||
41 | 2.17.1 | ||
42 | |||
diff --git a/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/opencl-clang_11.0.0.bb b/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/opencl-clang.inc index 4e38bb03..31a3fb21 100644 --- a/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/opencl-clang_11.0.0.bb +++ b/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/opencl-clang.inc | |||
@@ -5,30 +5,30 @@ DESCRIPTION = "Common clang has OpenCL-oriented API and is capable \ | |||
5 | LICENSE = "NCSA" | 5 | LICENSE = "NCSA" |
6 | LIC_FILES_CHKSUM = "file://LICENSE;md5=e8a15bf1416762a09ece07e44c79118c" | 6 | LIC_FILES_CHKSUM = "file://LICENSE;md5=e8a15bf1416762a09ece07e44c79118c" |
7 | 7 | ||
8 | SRC_URI = "git://github.com/intel/opencl-clang.git;branch=ocl-open-110;protocol=https \ | 8 | SRC_URI = "git://github.com/intel/opencl-clang.git;branch=${BRANCH};protocol=https \ |
9 | file://0001-don-t-redefine-LLVM_TABLEGEN_EXE.patch \ | 9 | file://0002-Request-native-clang-only-when-cross-compiling-464.patch \ |
10 | file://0001-cl_headers-CMakeLists.txt-use-clang-from-native-sysr.patch \ | ||
10 | " | 11 | " |
11 | SRC_URI_append_class-native = " file://0002-make-sure-only-static-libraries-linked-for-native-bu.patch" | ||
12 | |||
13 | SRCREV = "7fa38fff412e6fbfa5385a3c135e4d5216b9ab17" | ||
14 | |||
15 | S = "${WORKDIR}/git" | 12 | S = "${WORKDIR}/git" |
16 | 13 | ||
17 | inherit cmake | 14 | inherit cmake |
18 | DEPENDS += "clang" | 15 | DEPENDS += "clang" |
19 | DEPENDS_append_class-target = " opencl-clang-native" | 16 | DEPENDS:append:class-target = " opencl-clang-native" |
20 | 17 | ||
21 | COMPATIBLE_HOST = '(x86_64).*-linux' | 18 | COMPATIBLE_HOST = '(x86_64).*-linux' |
22 | COMPATIBLE_HOST_libc-musl = "null" | 19 | COMPATIBLE_HOST:libc-musl = "null" |
20 | |||
21 | DEPENDS += " spirv-llvm-translator" | ||
23 | 22 | ||
24 | EXTRA_OECMAKE += "\ | 23 | EXTRA_OECMAKE += "\ |
25 | -DLLVM_TABLEGEN_EXE=${STAGING_BINDIR_NATIVE}/llvm-tblgen \ | 24 | -DLLVM_TABLEGEN_EXE=${STAGING_BINDIR_NATIVE}/llvm-tblgen \ |
26 | -DCMAKE_SKIP_RPATH=TRUE \ | 25 | -DCMAKE_SKIP_RPATH=TRUE \ |
26 | -DPREFERRED_LLVM_VERSION=${LLVMVERSION} \ | ||
27 | " | 27 | " |
28 | 28 | ||
29 | do_install_append_class-native() { | 29 | do_install:append:class-native() { |
30 | install -d ${D}${bindir} | 30 | install -d ${D}${bindir} |
31 | install -m 0755 ${B}/linux_linker/linux_resource_linker ${D}${bindir}/ | 31 | install -m 0755 ${B}/bin/linux_resource_linker ${D}${bindir}/ |
32 | } | 32 | } |
33 | 33 | ||
34 | BBCLASSEXTEND = "native nativesdk" | 34 | BBCLASSEXTEND = "native nativesdk" |
diff --git a/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/opencl-clang_10.0.0.bb b/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/opencl-clang_10.0.0.bb deleted file mode 100644 index c5ba96c1..00000000 --- a/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/opencl-clang_10.0.0.bb +++ /dev/null | |||
@@ -1,35 +0,0 @@ | |||
1 | SUMMARY = "Common clang is a thin wrapper library around clang" | ||
2 | DESCRIPTION = "Common clang has OpenCL-oriented API and is capable \ | ||
3 | to compile OpenCL C kernels to SPIR-V modules." | ||
4 | |||
5 | LICENSE = "NCSA" | ||
6 | LIC_FILES_CHKSUM = "file://LICENSE;md5=e8a15bf1416762a09ece07e44c79118c" | ||
7 | |||
8 | SRC_URI = "git://github.com/intel/opencl-clang.git;branch=ocl-open-100;protocol=https \ | ||
9 | file://0001-don-t-redefine-LLVM_TABLEGEN_EXE.patch \ | ||
10 | file://0001-Building-in-tree-with-LLVM-10.0-with-the-LLVM_LINK_L.patch \ | ||
11 | " | ||
12 | SRC_URI_append_class-native = " file://0002-make-sure-only-static-libraries-linked-for-native-bu.patch" | ||
13 | |||
14 | SRCREV = "92f3f7f1a06f25fb13708f87c26b0fbf50924c96" | ||
15 | |||
16 | S = "${WORKDIR}/git" | ||
17 | |||
18 | inherit cmake | ||
19 | DEPENDS += "clang" | ||
20 | DEPENDS_append_class-target = " opencl-clang-native" | ||
21 | |||
22 | COMPATIBLE_HOST = '(x86_64).*-linux' | ||
23 | COMPATIBLE_HOST_libc-musl = "null" | ||
24 | |||
25 | EXTRA_OECMAKE += "\ | ||
26 | -DLLVM_TABLEGEN_EXE=${STAGING_BINDIR_NATIVE}/llvm-tblgen \ | ||
27 | -DCMAKE_SKIP_RPATH=TRUE \ | ||
28 | " | ||
29 | |||
30 | do_install_append_class-native() { | ||
31 | install -d ${D}${bindir} | ||
32 | install -m 0755 ${B}/linux_linker/linux_resource_linker ${D}${bindir}/ | ||
33 | } | ||
34 | |||
35 | BBCLASSEXTEND = "native nativesdk" | ||
diff --git a/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/opencl-clang_15.0.0.bb b/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/opencl-clang_15.0.0.bb new file mode 100644 index 00000000..e946c31c --- /dev/null +++ b/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/opencl-clang_15.0.0.bb | |||
@@ -0,0 +1,5 @@ | |||
1 | require opencl-clang.inc | ||
2 | |||
3 | SRCREV = "60fd799cc58755c16d951f9ebfde6d0f9b8554dd" | ||
4 | |||
5 | BRANCH = "ocl-open-150" | ||
diff --git a/dynamic-layers/clang-layer/recipes-opencl/vc-intrinsics/vc-intrinsics_1.0.bb b/dynamic-layers/clang-layer/recipes-opencl/vc-intrinsics/vc-intrinsics_1.0.bb deleted file mode 100644 index 806189b0..00000000 --- a/dynamic-layers/clang-layer/recipes-opencl/vc-intrinsics/vc-intrinsics_1.0.bb +++ /dev/null | |||
@@ -1,25 +0,0 @@ | |||
1 | SUMMARY = "VC Intrinsics" | ||
2 | DESCRIPTION = "VC Intrinsics project contains a set of new intrinsics on \ | ||
3 | top of core LLVM IR instructions that represent SIMD semantics of a program \ | ||
4 | targeting GPU" | ||
5 | |||
6 | LICENSE = "MIT" | ||
7 | LIC_FILES_CHKSUM = "file://License.md;md5=c18ea6bb4786a26bf4eee88a7424a408" | ||
8 | |||
9 | SRC_URI = "git://github.com/intel/vc-intrinsics.git;protocol=https; \ | ||
10 | " | ||
11 | |||
12 | SRCREV = "c8c52b5fb14b33e32de9df573b7de186a0c97c94" | ||
13 | |||
14 | S = "${WORKDIR}/git" | ||
15 | |||
16 | inherit cmake | ||
17 | |||
18 | COMPATIBLE_HOST = '(x86_64).*-linux' | ||
19 | COMPATIBLE_HOST_libc-musl = "null" | ||
20 | |||
21 | DEPENDS += " clang" | ||
22 | |||
23 | EXTRA_OECMAKE = "-DLLVM_DIR=${STAGING_LIBDIR}" | ||
24 | |||
25 | BBCLASSEXTEND = "native nativesdk" | ||