[Beignet] beignet doesnt compile with LLVM 3.6

Yang, Rong R rong.r.yang at intel.com
Wed Oct 29 19:22:21 PDT 2014


Because LLVM change the head file frequently, Beignet only support the released version LLVM, from 3.3 to 3.5. You can get this information from Beignet wiki: http://www.freedesktop.org/wiki/Software/Beignet/.

For any beignet question, you can send to the mailing list, beignet at lists.freedesktop.org<mailto:beignet at lists.freedesktop.org>, and send bug reports to https://bugs.freedesktop.org/enter_bug.cgi?product=Beignet.

Thanks,
Yang Rong

From: Paulo Dias [mailto:paulo.miguel.dias at gmail.com]
Sent: Wednesday, October 29, 2014 21:50
To: Yang, Rong R; junyan.he at linux.intel.com
Subject: beignet doesnt compile with LLVM 3.6

Hi, sorry to bother you.

I've been trying to compile beignet from git with LLVM 3.6.
Unfortunatelly, with the new LLVM restrictions, beignet fails to compile, could you take a look at it?

BTW, what is the proper way to send bug reports? do you guys have a freenode irc channel?

here is the compilation output:

----

In file included from /usr/lib/llvm-3.6/include/clang/AST/Decl.h:17:0,
                 from /usr/lib/llvm-3.6/include/clang/AST/ASTTypeTraits.h:20,
                 from /usr/lib/llvm-3.6/include/clang/AST/ASTContext.h:18,
                 from /usr/lib/llvm-3.6/include/clang/Frontend/ASTUnit.h:18,
                 from /usr/lib/llvm-3.6/include/clang/Frontend/FrontendAction.h:24,
                 from /usr/lib/llvm-3.6/include/clang/CodeGen/CodeGenAction.h:13,
                 from /home/groo/devel/intel/beignet/beignet/backend/src/backend/program.cpp:59:
/usr/lib/llvm-3.6/include/clang/AST/APValue.h: In member function ‘clang::APValue::APSInt& clang::APValue::getInt()’:
/usr/lib/llvm-3.6/include/clang/AST/APValue.h:202:34: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
     return *(APSInt*)(char*)Data.buffer;
                                  ^
/usr/lib/llvm-3.6/include/clang/AST/APValue.h: In member function ‘clang::APValue::APFloat& clang::APValue::getFloat()’:
/usr/lib/llvm-3.6/include/clang/AST/APValue.h:210:35: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
     return *(APFloat*)(char*)Data.buffer;
                                   ^
/usr/lib/llvm-3.6/include/clang/AST/APValue.h: In member function ‘clang::APValue::APSInt& clang::APValue::getComplexIntReal()’:
/usr/lib/llvm-3.6/include/clang/AST/APValue.h:218:48: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
     return ((ComplexAPSInt*)(char*)Data.buffer)->Real;
                                                ^
/usr/lib/llvm-3.6/include/clang/AST/APValue.h: In member function ‘clang::APValue::APSInt& clang::APValue::getComplexIntImag()’:
/usr/lib/llvm-3.6/include/clang/AST/APValue.h:226:48: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
     return ((ComplexAPSInt*)(char*)Data.buffer)->Imag;
                                                ^
/usr/lib/llvm-3.6/include/clang/AST/APValue.h: In member function ‘clang::APValue::APFloat& clang::APValue::getComplexFloatReal()’:
/usr/lib/llvm-3.6/include/clang/AST/APValue.h:234:49: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
     return ((ComplexAPFloat*)(char*)Data.buffer)->Real;
                                                 ^
/usr/lib/llvm-3.6/include/clang/AST/APValue.h: In member function ‘clang::APValue::APFloat& clang::APValue::getComplexFloatImag()’:
/usr/lib/llvm-3.6/include/clang/AST/APValue.h:242:49: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
     return ((ComplexAPFloat*)(char*)Data.buffer)->Imag;
                                                 ^
/usr/lib/llvm-3.6/include/clang/AST/APValue.h: In member function ‘clang::APValue& clang::APValue::getVectorElt(unsigned int)’:
/usr/lib/llvm-3.6/include/clang/AST/APValue.h:261:38: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
     return ((Vec*)(char*)Data.buffer)->Elts[I];
                                      ^
/usr/lib/llvm-3.6/include/clang/AST/APValue.h: In member function ‘unsigned int clang::APValue::getVectorLength() const’:
/usr/lib/llvm-3.6/include/clang/AST/APValue.h:268:51: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
     return ((const Vec*)(const void *)Data.buffer)->NumElts;
                                                   ^
/usr/lib/llvm-3.6/include/clang/AST/APValue.h: In member function ‘clang::APValue& clang::APValue::getArrayInitializedElt(unsigned int)’:
/usr/lib/llvm-3.6/include/clang/AST/APValue.h:274:38: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
     return ((Arr*)(char*)Data.buffer)->Elts[I];
                                      ^
/usr/lib/llvm-3.6/include/clang/AST/APValue.h: In member function ‘clang::APValue& clang::APValue::getArrayFiller()’:
/usr/lib/llvm-3.6/include/clang/AST/APValue.h:285:38: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
     return ((Arr*)(char*)Data.buffer)->Elts[getArrayInitializedElts()];
                                      ^
/usr/lib/llvm-3.6/include/clang/AST/APValue.h: In member function ‘unsigned int clang::APValue::getArrayInitializedElts() const’:
/usr/lib/llvm-3.6/include/clang/AST/APValue.h:292:51: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
     return ((const Arr*)(const void *)Data.buffer)->NumElts;
                                                   ^
/usr/lib/llvm-3.6/include/clang/AST/APValue.h: In member function ‘unsigned int clang::APValue::getArraySize() const’:
/usr/lib/llvm-3.6/include/clang/AST/APValue.h:296:51: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
     return ((const Arr*)(const void *)Data.buffer)->ArrSize;
                                                   ^
/usr/lib/llvm-3.6/include/clang/AST/APValue.h: In member function ‘unsigned int clang::APValue::getStructNumBases() const’:
/usr/lib/llvm-3.6/include/clang/AST/APValue.h:301:57: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
     return ((const StructData*)(const char*)Data.buffer)->NumBases;
                                                         ^
/usr/lib/llvm-3.6/include/clang/AST/APValue.h: In member function ‘unsigned int clang::APValue::getStructNumFields() const’:
/usr/lib/llvm-3.6/include/clang/AST/APValue.h:305:57: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
     return ((const StructData*)(const char*)Data.buffer)->NumFields;
                                                         ^
/usr/lib/llvm-3.6/include/clang/AST/APValue.h: In member function ‘clang::APValue& clang::APValue::getStructBase(unsigned int)’:
/usr/lib/llvm-3.6/include/clang/AST/APValue.h:309:45: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
     return ((StructData*)(char*)Data.buffer)->Elts[i];
                                             ^
/usr/lib/llvm-3.6/include/clang/AST/APValue.h: In member function ‘clang::APValue& clang::APValue::getStructField(unsigned int)’:
/usr/lib/llvm-3.6/include/clang/AST/APValue.h:313:45: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
     return ((StructData*)(char*)Data.buffer)->Elts[getStructNumBases() + i];
                                             ^
/usr/lib/llvm-3.6/include/clang/AST/APValue.h: In member function ‘const clang::FieldDecl* clang::APValue::getUnionField() const’:
/usr/lib/llvm-3.6/include/clang/AST/APValue.h:324:56: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
     return ((const UnionData*)(const char*)Data.buffer)->Field;
                                                        ^
/usr/lib/llvm-3.6/include/clang/AST/APValue.h: In member function ‘clang::APValue& clang::APValue::getUnionValue()’:
/usr/lib/llvm-3.6/include/clang/AST/APValue.h:328:45: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
     return *((UnionData*)(char*)Data.buffer)->Value;
                                             ^
/usr/lib/llvm-3.6/include/clang/AST/APValue.h: In member function ‘const clang::AddrLabelExpr* clang::APValue::getAddrLabelDiffLHS() const’:
/usr/lib/llvm-3.6/include/clang/AST/APValue.h:340:64: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
     return ((const AddrLabelDiffData*)(const char*)Data.buffer)->LHSExpr;
                                                                ^
/usr/lib/llvm-3.6/include/clang/AST/APValue.h: In member function ‘const clang::AddrLabelExpr* clang::APValue::getAddrLabelDiffRHS() const’:
/usr/lib/llvm-3.6/include/clang/AST/APValue.h:344:64: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
     return ((const AddrLabelDiffData*)(const char*)Data.buffer)->RHSExpr;
                                                                ^
/usr/lib/llvm-3.6/include/clang/AST/APValue.h: In member function ‘void clang::APValue::setInt(clang::APValue::APSInt)’:
/usr/lib/llvm-3.6/include/clang/AST/APValue.h:349:29: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
     *(APSInt *)(char *)Data.buffer = std::move(I);
                             ^
/usr/lib/llvm-3.6/include/clang/AST/APValue.h: In member function ‘void clang::APValue::setFloat(clang::APValue::APFloat)’:
/usr/lib/llvm-3.6/include/clang/AST/APValue.h:353:30: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
     *(APFloat *)(char *)Data.buffer = std::move(F);
                              ^
/usr/lib/llvm-3.6/include/clang/AST/APValue.h: In member function ‘void clang::APValue::setVector(const clang::APValue*, unsigned int)’:
/usr/lib/llvm-3.6/include/clang/AST/APValue.h:357:31: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
     ((Vec*)(char*)Data.buffer)->Elts = new APValue[N];
                               ^
/usr/lib/llvm-3.6/include/clang/AST/APValue.h:358:31: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
     ((Vec*)(char*)Data.buffer)->NumElts = N;
                               ^
/usr/lib/llvm-3.6/include/clang/AST/APValue.h:360:33: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
       ((Vec*)(char*)Data.buffer)->Elts[i] = E[i];
                                 ^
/usr/lib/llvm-3.6/include/clang/AST/APValue.h: In member function ‘void clang::APValue::setComplexInt(clang::APValue::APSInt, clang::APValue::APSInt)’:
/usr/lib/llvm-3.6/include/clang/AST/APValue.h:366:43: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
     ((ComplexAPSInt *)(char *)Data.buffer)->Real = std::move(R);
                                           ^
/usr/lib/llvm-3.6/include/clang/AST/APValue.h:367:43: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
     ((ComplexAPSInt *)(char *)Data.buffer)->Imag = std::move(I);
                                           ^
/usr/lib/llvm-3.6/include/clang/AST/APValue.h: In member function ‘void clang::APValue::setComplexFloat(clang::APValue::APFloat, clang::APValue::APFloat)’:
/usr/lib/llvm-3.6/include/clang/AST/APValue.h:373:44: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
     ((ComplexAPFloat *)(char *)Data.buffer)->Real = std::move(R);
                                            ^
/usr/lib/llvm-3.6/include/clang/AST/APValue.h:374:44: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
     ((ComplexAPFloat *)(char *)Data.buffer)->Imag = std::move(I);
                                            ^
/usr/lib/llvm-3.6/include/clang/AST/APValue.h: In member function ‘void clang::APValue::setUnion(const clang::FieldDecl*, const clang::APValue&)’:
/usr/lib/llvm-3.6/include/clang/AST/APValue.h:383:37: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
     ((UnionData*)(char*)Data.buffer)->Field = Field;
                                     ^
/usr/lib/llvm-3.6/include/clang/AST/APValue.h:384:38: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
     *((UnionData*)(char*)Data.buffer)->Value = Value;
                                      ^
/usr/lib/llvm-3.6/include/clang/AST/APValue.h: In member function ‘void clang::APValue::setAddrLabelDiff(const clang::AddrLabelExpr*, const clang::AddrLabelExpr*)’:
/usr/lib/llvm-3.6/include/clang/AST/APValue.h:388:45: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
     ((AddrLabelDiffData*)(char*)Data.buffer)->LHSExpr = LHSExpr;
                                             ^
/usr/lib/llvm-3.6/include/clang/AST/APValue.h:389:45: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
     ((AddrLabelDiffData*)(char*)Data.buffer)->RHSExpr = RHSExpr;
                                             ^
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:583<http://gbe.dir/build.make:583>: recipe for target 'backend/src/CMakeFiles/gbe.dir/backend/program.cpp.o<http://gbe.dir/backend/program.cpp.o>' failed
make[3]: *** [backend/src/CMakeFiles/gbe.dir/backend/program.cpp.o<http://gbe.dir/backend/program.cpp.o>] Error 1
---
best regards

| Paulo Dias
| paulo.miguel.dias at gmail.com<mailto:paulo.miguel.dias at gmail.com>

Tempora mutantur, nos et mutamur in illis.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/beignet/attachments/20141030/a9f471ed/attachment-0001.html>


More information about the Beignet mailing list