I planned to support llvm3.6 before. But after fix all llvm3.6 compiler errors, 
there are some beignet’s utests fails.
Because llvm 3.6 seems has some bugs in that time and it’s release schedule 
delayed, I pending it.
Now, I will restart supporting and need some time.

Thanks
From: Beignet [mailto:[email protected]] On Behalf Of Paulo 
Dias
Sent: Monday, December 15, 2014 19:47
To: Zhenyu Wang; Yang, Rong R
Cc: [email protected]; [email protected]
Subject: Re: [Beignet] beignet doesnt compile with LLVM 3.6

Hi to you,

sorry to bother you guys again, but llvm 3.6 is almost out and beignet still 
doesnt compile with the latest git:

In file included from 
/home/groo/devel/intel/beignet/beignet/backend/src/./sys/vector.hpp:28:0,
                 from 
/home/groo/devel/intel/beignet/beignet/backend/src/./ir/register.hpp:27,
                 from 
/home/groo/devel/intel/beignet/beignet/backend/src/./ir/instruction.hpp:27,
                 from 
/home/groo/devel/intel/beignet/beignet/backend/src/./backend/context.hpp:23,
                 from 
/home/groo/devel/intel/beignet/beignet/backend/src/backend/program.hpp:29,
                 from 
/home/groo/devel/intel/beignet/beignet/backend/src/backend/program.cpp:26:
/usr/lib/llvm-3.6/include/llvm/Support/SpecialCaseList.h: At global scope:
/home/groo/devel/intel/beignet/beignet/backend/src/./sys/platform.hpp:263:12: 
error: expected ‘,’ or ‘...’ before ‘(’ token
 #define MB (KB*KB)
            ^
/usr/lib/llvm-3.6/include/llvm/Support/SpecialCaseList.h:67:70: note: in 
expansion of macro ‘MB’
   static std::unique_ptr<SpecialCaseList> create(const MemoryBuffer *MB,
                                                                      ^
/home/groo/devel/intel/beignet/beignet/backend/src/./sys/platform.hpp:263:12: 
error: expected ‘,’ or ‘...’ before ‘(’ token
 #define MB (KB*KB)
            ^
/usr/lib/llvm-3.6/include/llvm/Support/SpecialCaseList.h:92:34: note: in 
expansion of macro ‘MB’
   bool parse(const MemoryBuffer *MB, std::string &Error);
                                  ^
/home/groo/devel/intel/beignet/beignet/backend/src/backend/program.cpp: In 
function ‘bool gbe::buildModuleFromSource(const char*, llvm::Module**, 
llvm::LLVMContext*, std::vector<std::basic_string<char> >&, size_t, char*, 
size_t*)’:
/home/groo/devel/intel/beignet/beignet/backend/src/backend/program.cpp:614:44: 
error: cannot convert ‘std::unique_ptr<llvm::Module>’ to ‘llvm::Module*’ in 
initialization
     llvm::Module *module = Act->takeModule();
                                            ^
backend/src/CMakeFiles/gbe.dir/build.make:586<http://gbe.dir/build.make:586>: 
recipe for target 
'backend/src/CMakeFiles/gbe.dir/backend/program.cpp.o<http://gbe.dir/backend/program.cpp.o>'
 failed
make[2]: *** 
[backend/src/CMakeFiles/gbe.dir/backend/program.cpp.o<http://gbe.dir/backend/program.cpp.o>]
 Error 1
CMakeFiles/Makefile2:114: recipe for target 
'backend/src/CMakeFiles/gbe.dir/all<http://gbe.dir/all>' failed

could you guys take a look at it?

thanks in advance

Paulo Dias

On Tue Nov 04 2014 at 5:18:25 AM Zhenyu Wang 
<[email protected]<mailto:[email protected]>> wrote:
On 2014.11.03 08:46:41 +0000, Yang, Rong R wrote:
> Yes, some errors is because llvm use std:: unique_ptr as some function’s 
> return
> value instead of the normal ptr, there are some other errors after fix std::
> unique_ptr error.
>
> As we notice that LLVM plan to release LLVM/Clang 3.6 soon, suppose the LLVM
> 3.6 approach to stable now, I am working to support LLVM 3.6 now. Hope could
> finish it soon.
>

One option is to explicitly say the llvm version that beignet does support
and refuse to go on otherwise, like below one?

From: Zhenyu Wang <[email protected]<mailto:[email protected]>>
Date: Tue, 4 Nov 2014 15:14:44 +0800
Subject: [PATCH] Explicitly check LLVM version when building

Instead of allowing for failure attemps to build with llvm unstable
version this trys to explicitly tell the llvm version that beignet support.

Signed-off-by: Zhenyu Wang 
<[email protected]<mailto:[email protected]>>
---
 CMakeLists.txt | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 40cb74c..7059b2b 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -94,6 +94,9 @@ set (CMAKE_C_FLAGS_RELEASE        "-O2 -DNDEBUG 
-DGBE_DEBUG=0")
 # Front end stuff we need
 #INCLUDE(CMake/FindLLVM.cmake)
 Find_Package(LLVM 3.3)
+IF(LLVM_VERSION VERSION_GREATER 3.5)
+  MESSAGE(FATAL_ERROR "Don't support LLVM > 3.5 now.")
+ENDIF(LLVM_VERSION VERSION_GREATER 3.5)

 set (CMAKE_SHARED_LINKER_FLAGS "-Wl,--no-undefined ${LLVM_LDFLAGS}")

--
2.1.1

--
Open Source Technology Center, Intel ltd.

$gpg --keyserver wwwkeys.pgp.net<http://wwwkeys.pgp.net> --recv-keys 4D781827
_______________________________________________
Beignet mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/beignet

Reply via email to