Executable
+28
@@ -0,0 +1,28 @@
|
||||
#!/usr/bin/python
|
||||
# -*- coding: utf-8 -*-
|
||||
#
|
||||
# Copyright 2009 TUBITAK/UEKAE
|
||||
# Licensed under the GNU General Public License, version 2.
|
||||
# See the file http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt
|
||||
|
||||
from pisi.actionsapi import autotools
|
||||
from pisi.actionsapi import pisitools
|
||||
from pisi.actionsapi import cmaketools
|
||||
from pisi.actionsapi import shelltools
|
||||
from pisi.actionsapi import get
|
||||
|
||||
def setup():
|
||||
|
||||
cmaketools.configure("-DCMAKE_INSTALL_LIBDIR=lib \
|
||||
-DOCLICD_COMPAT=1")
|
||||
|
||||
def build():
|
||||
cmaketools.make()
|
||||
|
||||
def install():
|
||||
|
||||
autotools.rawInstall("DESTDIR=%s" %get.installDIR())
|
||||
pisitools.remove("/usr/include/CL/*")
|
||||
pisitools.removeDir("/usr/include")
|
||||
|
||||
|
||||
Executable
+56
@@ -0,0 +1,56 @@
|
||||
From 75c152599a7c1739e6dadcdb9b377acf7e44d9cf Mon Sep 17 00:00:00 2001
|
||||
From: Jan Beich <jbeich@FreeBSD.org>
|
||||
Date: Wed, 30 Jan 2019 12:42:34 +0000
|
||||
Subject: [PATCH] lang/beignet: unbreak with llvm80
|
||||
|
||||
Regressed by https://github.com/llvm/llvm-project/commit/721d95713a9e
|
||||
|
||||
unable to load /usr/local/lib/beignet//libgbeinterp.so which is part of the driver, please check!
|
||||
ld-elf.so.1: /usr/local/lib/beignet//libgbeinterp.so: Undefined symbol "_ZN4llvm24DisableABIBreakingChecksE"
|
||||
|
||||
Regressed by https://github.com/llvm/llvm-project/commit/4a2d58e16acc
|
||||
|
||||
backend/src/llvm/llvm_gen_backend.cpp:3076:5: error:
|
||||
unknown type name 'TerminatorInst'
|
||||
TerminatorInst *term = bb->getTerminator();
|
||||
^
|
||||
backend/src/llvm/llvm_gen_backend.cpp:3083:5: error:
|
||||
unknown type name 'TerminatorInst'
|
||||
TerminatorInst *term = bb->getTerminator();
|
||||
^
|
||||
|
||||
--- backend/src/CMakeLists.txt.orig 2017-09-22 08:05:22 UTC
|
||||
+++ backend/src/CMakeLists.txt
|
||||
@@ -168,6 +168,7 @@ add_dependencies(gbe beignet_bitcode)
|
||||
endif (NOT (USE_STANDALONE_GBE_COMPILER STREQUAL "true"))
|
||||
|
||||
add_library(gbeinterp SHARED gbe_bin_interpreter.cpp)
|
||||
+target_link_libraries(gbeinterp ${LLVM_MODULE_LIBS})
|
||||
|
||||
if (LLVM_VERSION_NODOT VERSION_EQUAL 34)
|
||||
find_library(TERMINFO NAMES tinfo ncurses)
|
||||
--- backend/src/llvm/llvm_gen_backend.cpp.orig 2017-10-24 06:04:48 UTC
|
||||
+++ backend/src/llvm/llvm_gen_backend.cpp
|
||||
@@ -3073,14 +3073,22 @@ namespace gbe
|
||||
|
||||
|
||||
static unsigned getChildNo(BasicBlock *bb) {
|
||||
+#if LLVM_VERSION_MAJOR < 8
|
||||
TerminatorInst *term = bb->getTerminator();
|
||||
+#else
|
||||
+ Instruction *term = bb->getTerminator();
|
||||
+#endif
|
||||
return term->getNumSuccessors();
|
||||
}
|
||||
|
||||
// return NULL if index out-range of children number
|
||||
static BasicBlock *getChildPossible(BasicBlock *bb, unsigned index) {
|
||||
|
||||
+#if LLVM_VERSION_MAJOR < 8
|
||||
TerminatorInst *term = bb->getTerminator();
|
||||
+#else
|
||||
+ Instruction *term = bb->getTerminator();
|
||||
+#endif
|
||||
unsigned childNo = term->getNumSuccessors();
|
||||
BasicBlock *child = NULL;
|
||||
if(index < childNo) {
|
||||
@@ -0,0 +1,182 @@
|
||||
Regressed by https://github.com/llvm/llvm-project/commit/2e97d2aa1bd3
|
||||
|
||||
ld: error: backend/src/libgbe.so: undefined reference to clang::ast_matchers::MatchFinder::addMatcher(clang::ast_matchers::internal::Matcher<clang::Stmt> const&, clang::ast_matchers::MatchFinder::MatchCallback*)
|
||||
ld: error: backend/src/libgbe.so: undefined reference to clang::ast_matchers::MatchFinder::MatchCallback::~MatchCallback()
|
||||
ld: error: backend/src/libgbe.so: undefined reference to clang::ast_matchers::MatchFinder::match(clang::ast_type_traits::DynTypedNode const&, clang::ASTContext&)
|
||||
ld: error: backend/src/libgbe.so: undefined reference to clang::ast_matchers::MatchFinder::MatchFinder(clang::ast_matchers::MatchFinder::MatchFinderOptions)
|
||||
ld: error: backend/src/libgbe.so: undefined reference to clang::ast_matchers::MatchFinder::~MatchFinder()
|
||||
ld: error: backend/src/libgbe.so: undefined reference to clang::ast_matchers::cxxMethodDecl
|
||||
ld: error: backend/src/libgbe.so: undefined reference to clang::ast_matchers::cxxRecordDecl
|
||||
ld: error: backend/src/libgbe.so: undefined reference to clang::ast_matchers::unaryOperator
|
||||
ld: error: backend/src/libgbe.so: undefined reference to clang::ast_matchers::cxxConstructExpr
|
||||
ld: error: backend/src/libgbe.so: undefined reference to clang::ast_matchers::cxxConstructorDecl
|
||||
ld: error: backend/src/libgbe.so: undefined reference to clang::ast_matchers::cxxOperatorCallExpr
|
||||
ld: error: backend/src/libgbe.so: undefined reference to clang::ast_matchers::expr
|
||||
ld: error: backend/src/libgbe.so: undefined reference to clang::ast_matchers::allOf
|
||||
ld: error: backend/src/libgbe.so: undefined reference to clang::ast_matchers::anyOf
|
||||
ld: error: backend/src/libgbe.so: undefined reference to clang::ast_matchers::eachOf
|
||||
ld: error: backend/src/libgbe.so: undefined reference to clang::ast_matchers::unless
|
||||
ld: error: backend/src/libgbe.so: undefined reference to clang::ast_matchers::varDecl
|
||||
ld: error: backend/src/libgbe.so: undefined reference to clang::ast_matchers::callExpr
|
||||
ld: error: backend/src/libgbe.so: undefined reference to clang::ast_matchers::castExpr
|
||||
ld: error: backend/src/libgbe.so: undefined reference to clang::ast_matchers::internal::hasAnyNameFunc(llvm::ArrayRef<llvm::StringRef const*>)
|
||||
ld: error: too many errors emitted, stopping now (use -error-limit=0 to see all errors)
|
||||
c++: error: linker command failed with exit code 1 (use -v to see invocation)
|
||||
|
||||
Regressed by https://github.com/llvm/llvm-project/commit/13680223b9d8
|
||||
|
||||
backend/src/llvm/llvm_intrinsic_lowering.cpp:80:19: error:
|
||||
no viable conversion from 'llvm::FunctionCallee' to 'llvm::Constant *'
|
||||
Constant* FCache = M->getOrInsertFunction(NewFn,
|
||||
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
backend/src/llvm/llvm_sampler_fix.cpp:85:18: error:
|
||||
no viable conversion from 'llvm::FunctionCallee' to 'llvm::Value *'
|
||||
...Value* samplerCvt = M->getOrInsertFunction("__gen_ocl_sampler_to_int", i32Ty, I->getOperand(0)->getType());
|
||||
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
backend/src/llvm/llvm_sampler_fix.cpp:127:18: error:
|
||||
no viable conversion from 'llvm::FunctionCallee' to 'llvm::Value *'
|
||||
...Value* samplerCvt = M->getOrInsertFunction("__gen_ocl_sampler_to_int", i32Ty, I->getOperand(0)->getType());
|
||||
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
backend/src/llvm/llvm_profiling.cpp:166:27: error: no
|
||||
matching function for call to 'cast'
|
||||
builder->CreateCall(cast<llvm::Function>(module->getOrInsertFunction(
|
||||
^~~~~~~~~~~~~~~~~~~~
|
||||
backend/src/llvm/llvm_device_enqueue.cpp:401:52: error:
|
||||
no matching function for call to 'cast'
|
||||
CallInst* newCI = builder.CreateCall(cast<llvm::Function>(mod->getOrInsertFunction(
|
||||
^~~~~~~~~~~~~~~~~~~~
|
||||
/usr/local/llvm90/include/llvm/Support/Casting.h:256:44: note: candidate function [with X = llvm::Function, Y
|
||||
= llvm::FunctionCallee] not viable: expects an l-value for 1st argument
|
||||
inline typename cast_retty<X, Y>::ret_type cast(Y &Val) {
|
||||
^
|
||||
/usr/local/llvm90/include/llvm/Support/Casting.h:249:1: note: candidate template ignored: requirement
|
||||
'!is_simple_type<llvm::FunctionCallee>::value' was not satisfied [with X = llvm::Function, Y =
|
||||
llvm::FunctionCallee]
|
||||
cast(const Y &Val) {
|
||||
^
|
||||
/usr/local/llvm90/include/llvm/Support/Casting.h:263:46: note: candidate template ignored: could not match
|
||||
'Y *' against 'llvm::FunctionCallee'
|
||||
inline typename cast_retty<X, Y *>::ret_type cast(Y *Val) {
|
||||
^
|
||||
/usr/local/llvm90/include/llvm/Support/Casting.h:271:1: note: candidate template ignored: could not match
|
||||
'unique_ptr<type-parameter-0-1, default_delete<type-parameter-0-1> >' against 'llvm::FunctionCallee'
|
||||
cast(std::unique_ptr<Y> &&Val) {
|
||||
^
|
||||
backend/src/llvm/llvm_profiling.cpp:188:25: error: no
|
||||
matching function for call to 'cast'
|
||||
builder->CreateCall(cast<llvm::Function>(module->getOrInsertFunction(
|
||||
^~~~~~~~~~~~~~~~~~~~
|
||||
/usr/local/llvm90/include/llvm/Support/Casting.h:256:44: note: candidate function [with X = llvm::Function, Y
|
||||
= llvm::FunctionCallee] not viable: expects an l-value for 1st argument
|
||||
inline typename cast_retty<X, Y>::ret_type cast(Y &Val) {
|
||||
^
|
||||
/usr/local/llvm90/include/llvm/Support/Casting.h:249:1: note: candidate template ignored: requirement
|
||||
'!is_simple_type<llvm::FunctionCallee>::value' was not satisfied [with X = llvm::Function, Y =
|
||||
llvm::FunctionCallee]
|
||||
cast(const Y &Val) {
|
||||
^
|
||||
/usr/local/llvm90/include/llvm/Support/Casting.h:263:46: note: candidate template ignored: could not match
|
||||
'Y *' against 'llvm::FunctionCallee'
|
||||
inline typename cast_retty<X, Y *>::ret_type cast(Y *Val) {
|
||||
^
|
||||
/usr/local/llvm90/include/llvm/Support/Casting.h:271:1: note: candidate template ignored: could not match
|
||||
'unique_ptr<type-parameter-0-1, default_delete<type-parameter-0-1> >' against 'llvm::FunctionCallee'
|
||||
cast(std::unique_ptr<Y> &&Val) {
|
||||
^
|
||||
|
||||
--- backend/src/llvm/llvm_intrinsic_lowering.cpp.orig 2017-10-24 06:04:48 UTC
|
||||
+++ backend/src/llvm/llvm_intrinsic_lowering.cpp
|
||||
@@ -77,7 +77,11 @@ namespace gbe {
|
||||
std::vector<Type *> ParamTys;
|
||||
for (Value** I = ArgBegin; I != ArgEnd; ++I)
|
||||
ParamTys.push_back((*I)->getType());
|
||||
+#if LLVM_VERSION_MAJOR * 10 + LLVM_VERSION_MINOR >= 90
|
||||
+ FunctionCallee FCache = M->getOrInsertFunction(NewFn,
|
||||
+#else
|
||||
Constant* FCache = M->getOrInsertFunction(NewFn,
|
||||
+#endif
|
||||
FunctionType::get(RetTy, ParamTys, false));
|
||||
|
||||
IRBuilder<> Builder(CI->getParent(), BasicBlock::iterator(CI));
|
||||
--- backend/src/llvm/llvm_sampler_fix.cpp.orig 2017-10-24 06:04:48 UTC
|
||||
+++ backend/src/llvm/llvm_sampler_fix.cpp
|
||||
@@ -82,7 +82,11 @@ namespace gbe {
|
||||
#if LLVM_VERSION_MAJOR * 10 + LLVM_VERSION_MINOR >= 40
|
||||
Module *M = I->getParent()->getParent()->getParent();
|
||||
#if LLVM_VERSION_MAJOR * 10 + LLVM_VERSION_MINOR >= 50
|
||||
+#if LLVM_VERSION_MAJOR * 10 + LLVM_VERSION_MINOR >= 90
|
||||
+ FunctionCallee samplerCvt = M->getOrInsertFunction("__gen_ocl_sampler_to_int", i32Ty, I->getOperand(0)->getType());
|
||||
+#else
|
||||
Value* samplerCvt = M->getOrInsertFunction("__gen_ocl_sampler_to_int", i32Ty, I->getOperand(0)->getType());
|
||||
+#endif
|
||||
#else
|
||||
Value* samplerCvt = M->getOrInsertFunction("__gen_ocl_sampler_to_int", i32Ty, I->getOperand(0)->getType(), nullptr);
|
||||
#endif
|
||||
@@ -124,7 +128,11 @@ namespace gbe {
|
||||
#if LLVM_VERSION_MAJOR * 10 + LLVM_VERSION_MINOR >= 40
|
||||
Module *M = I->getParent()->getParent()->getParent();
|
||||
#if LLVM_VERSION_MAJOR * 10 + LLVM_VERSION_MINOR >= 50
|
||||
+#if LLVM_VERSION_MAJOR * 10 + LLVM_VERSION_MINOR >= 90
|
||||
+ FunctionCallee samplerCvt = M->getOrInsertFunction("__gen_ocl_sampler_to_int", i32Ty, I->getOperand(0)->getType());
|
||||
+#else
|
||||
Value* samplerCvt = M->getOrInsertFunction("__gen_ocl_sampler_to_int", i32Ty, I->getOperand(0)->getType());
|
||||
+#endif
|
||||
#else
|
||||
Value* samplerCvt = M->getOrInsertFunction("__gen_ocl_sampler_to_int", i32Ty, I->getOperand(0)->getType(), nullptr);
|
||||
#endif
|
||||
--- backend/src/llvm/llvm_profiling.cpp.orig 2017-10-24 06:04:48 UTC
|
||||
+++ backend/src/llvm/llvm_profiling.cpp
|
||||
@@ -163,10 +163,18 @@ namespace gbe
|
||||
// __gen_ocl_store_timestamp(int nth, int type);
|
||||
Value *Args[2] = {ConstantInt::get(intTy, pointNum++), ConstantInt::get(intTy, profilingType)};
|
||||
#if LLVM_VERSION_MAJOR * 10 + LLVM_VERSION_MINOR >= 50
|
||||
+#if LLVM_VERSION_MAJOR * 10 + LLVM_VERSION_MINOR >= 90
|
||||
+ builder->CreateCall(module->getOrInsertFunction(
|
||||
+#else
|
||||
builder->CreateCall(cast<llvm::Function>(module->getOrInsertFunction(
|
||||
+#endif
|
||||
"__gen_ocl_calc_timestamp", Type::getVoidTy(module->getContext()),
|
||||
IntegerType::getInt32Ty(module->getContext()),
|
||||
+#if LLVM_VERSION_MAJOR * 10 + LLVM_VERSION_MINOR >= 90
|
||||
+ IntegerType::getInt32Ty(module->getContext())),
|
||||
+#else
|
||||
IntegerType::getInt32Ty(module->getContext()))),
|
||||
+#endif
|
||||
ArrayRef<Value*>(Args));
|
||||
#else
|
||||
builder->CreateCall(cast<llvm::Function>(module->getOrInsertFunction(
|
||||
@@ -185,10 +193,18 @@ namespace gbe
|
||||
Value *Args2[2] = {profilingBuf, ConstantInt::get(intTy, profilingType)};
|
||||
|
||||
#if LLVM_VERSION_MAJOR * 10 + LLVM_VERSION_MINOR >= 50
|
||||
+#if LLVM_VERSION_MAJOR * 10 + LLVM_VERSION_MINOR >= 90
|
||||
+ builder->CreateCall(module->getOrInsertFunction(
|
||||
+#else
|
||||
builder->CreateCall(cast<llvm::Function>(module->getOrInsertFunction(
|
||||
+#endif
|
||||
"__gen_ocl_store_profiling", Type::getVoidTy(module->getContext()),
|
||||
ptrTy,
|
||||
+#if LLVM_VERSION_MAJOR * 10 + LLVM_VERSION_MINOR >= 90
|
||||
+ IntegerType::getInt32Ty(module->getContext())),
|
||||
+#else
|
||||
IntegerType::getInt32Ty(module->getContext()))),
|
||||
+#endif
|
||||
ArrayRef<Value*>(Args2));
|
||||
#else
|
||||
builder->CreateCall(cast<llvm::Function>(module->getOrInsertFunction(
|
||||
--- backend/src/llvm/llvm_device_enqueue.cpp.orig 2017-10-24 06:04:48 UTC
|
||||
+++ backend/src/llvm/llvm_device_enqueue.cpp
|
||||
@@ -398,8 +398,13 @@ namespace gbe {
|
||||
std::vector<Type *> ParamTys;
|
||||
for (Value** iter = args.begin(); iter != args.end(); ++iter)
|
||||
ParamTys.push_back((*iter)->getType());
|
||||
+#if LLVM_VERSION_MAJOR * 10 + LLVM_VERSION_MINOR >= 90
|
||||
+ CallInst* newCI = builder.CreateCall(mod->getOrInsertFunction(
|
||||
+ "__gen_enqueue_kernel_slm", FunctionType::get(intTy, ParamTys, false)), args);
|
||||
+#else
|
||||
CallInst* newCI = builder.CreateCall(cast<llvm::Function>(mod->getOrInsertFunction(
|
||||
"__gen_enqueue_kernel_slm", FunctionType::get(intTy, ParamTys, false))), args);
|
||||
+#endif
|
||||
CI->replaceAllUsesWith(newCI);
|
||||
deadInsnSet.insert(CI);
|
||||
}
|
||||
Executable
+66
@@ -0,0 +1,66 @@
|
||||
<?xml version="1.0" ?>
|
||||
<!DOCTYPE PISI SYSTEM "http://www.pisilinux.org/projeler/pisi/pisi-spec.dtd">
|
||||
<PISI>
|
||||
<Source>
|
||||
<Name>beignet</Name>
|
||||
<Homepage>https://01.org/beignet/</Homepage>
|
||||
<Packager>
|
||||
<Name>Idris Kalp</Name>
|
||||
<Email>idriskalp@gmail.com</Email>
|
||||
</Packager>
|
||||
<License>GPLv2</License>
|
||||
<IsA>library</IsA>
|
||||
<Summary>Open source implementation of the OpenCL for Intel GPUs</Summary>
|
||||
<Description>Open source implementation of the OpenCL for Intel GPUs</Description>
|
||||
<Archive sha1sum="c3a689ec504c2d28e856a62bf97e5abb0da4a797" type="tarxz">https://sourceforge.net/projects/pisilinux/files/source/beignet-1.3.2_12.tar.xz</Archive>
|
||||
<BuildDependencies>
|
||||
<Dependency>libX11-devel</Dependency>
|
||||
<Dependency>libXext-devel</Dependency>
|
||||
<Dependency>libXfixes-devel</Dependency>
|
||||
<Dependency>llvm-clang-devel</Dependency>
|
||||
<Dependency>libdrm-devel</Dependency>
|
||||
<Dependency>llvm-libs</Dependency>
|
||||
<Dependency>opencl-icd-devel</Dependency>
|
||||
</BuildDependencies>
|
||||
<Patches>
|
||||
<Patch level="0">llvm8.patch</Patch>
|
||||
<Patch level="0">llvm9.patch</Patch>
|
||||
</Patches>
|
||||
</Source>
|
||||
|
||||
<Package>
|
||||
<Name>beignet</Name>
|
||||
<RuntimeDependencies>
|
||||
<Dependency>libX11</Dependency>
|
||||
<Dependency>libXext</Dependency>
|
||||
<Dependency>libXfixes</Dependency>
|
||||
<Dependency>llvm-clang</Dependency>
|
||||
<Dependency>mesa</Dependency>
|
||||
<Dependency>opencl-icd</Dependency>
|
||||
<Dependency>libdrm</Dependency>
|
||||
<Dependency>libdrm-intel</Dependency>
|
||||
<Dependency>llvm</Dependency>
|
||||
<Dependency>llvm-libs</Dependency>
|
||||
</RuntimeDependencies>
|
||||
<Files>
|
||||
<Path fileType="config">/etc</Path>
|
||||
<Path fileType="library">/usr/lib</Path>
|
||||
<Path fileType="data">/usr/share</Path>
|
||||
<Path fileType="doc">/usr/share/doc</Path>
|
||||
</Files>
|
||||
</Package>
|
||||
|
||||
|
||||
|
||||
<History>
|
||||
<Update release="1">
|
||||
<Date>2019-06-26</Date>
|
||||
<Version>1.3.2_12</Version>
|
||||
<Comment>First Release</Comment>
|
||||
<Name>Idris Kalp</Name>
|
||||
<Email>idriskalp@gmail.com</Email>
|
||||
</Update>
|
||||
</History>
|
||||
</PISI>
|
||||
|
||||
|
||||
Executable
+13
@@ -0,0 +1,13 @@
|
||||
<?xml version="1.0" ?>
|
||||
<PISI>
|
||||
<Source>
|
||||
<Name>beignet</Name>
|
||||
<Summary xml:lang="tr">Intel ekran kartları için OpenCL gerçekleştirimi</Summary>
|
||||
<Description xml:lang="tr">Intel ekran kartları için OpenCL gerçekleştirimi</Description>
|
||||
</Source>
|
||||
|
||||
<Package>
|
||||
<Name>beignet-devel</Name>
|
||||
<Summary xml:lang="tr">beignet için geliştirme dosyaları</Summary>
|
||||
</Package>
|
||||
</PISI>
|
||||
Reference in New Issue
Block a user