The patchset is OK
On δΊ”, 2014-09-12 at 14:33 +0800, Zhigang Gong wrote: > If we want to link multiple files together, and one kernel > function need refer other kernel functions in other files, > we must not set those functions as linked once attribute. > > Signed-off-by: Zhigang Gong <zhigang.g...@intel.com> > --- > backend/src/backend/gen_program.cpp | 4 +++- > backend/src/llvm/llvm_to_gen.cpp | 5 +++-- > 2 files changed, 6 insertions(+), 3 deletions(-) > > diff --git a/backend/src/backend/gen_program.cpp > b/backend/src/backend/gen_program.cpp > index 3e16fd6..5324587 100644 > --- a/backend/src/backend/gen_program.cpp > +++ b/backend/src/backend/gen_program.cpp > @@ -56,6 +56,7 @@ > #include "backend/gen_reg_allocation.hpp" > #include "ir/unit.hpp" > #include "llvm/llvm_to_gen.hpp" > +#include "llvm/llvm_gen_backend.hpp" > > #include <clang/CodeGen/CodeGenAction.h> > > @@ -371,9 +372,10 @@ namespace gbe { > } > > for (llvm::Module::iterator I = src->begin(), E = src->end(); I != E; > ++I) { > + llvm::Function *F = llvm::dyn_cast<llvm::Function>(I); > + if (F && isKernelFunction(*F)) continue; > I->setLinkage(llvm::GlobalValue::LinkOnceAnyLinkage); > } > - > llvm::Module* dst = (llvm::Module*)((GenProgram*)dst_program)->module; > llvm::Linker::LinkModules( dst, > src, > diff --git a/backend/src/llvm/llvm_to_gen.cpp > b/backend/src/llvm/llvm_to_gen.cpp > index 755793e..3cb0e5b 100644 > --- a/backend/src/llvm/llvm_to_gen.cpp > +++ b/backend/src/llvm/llvm_to_gen.cpp > @@ -86,10 +86,11 @@ namespace gbe > FPM.add(new DataLayout(DL)); > #endif > > + // XXX remove the verifier pass to workaround a non-fatal error. > #if LLVM_VERSION_MAJOR == 3 && LLVM_VERSION_MINOR >=5 > - FPM.add(createVerifierPass(true)); > + //FPM.add(createVerifierPass(true)); > #else > - FPM.add(createVerifierPass()); > + //FPM.add(createVerifierPass()); > #endif > FPM.add(new TargetLibraryInfo(*libraryInfo)); > FPM.add(createTypeBasedAliasAnalysisPass()); _______________________________________________ Beignet mailing list Beignet@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/beignet