From: Pan Xiuli <xiuli....@intel.com> In the llvmToGen function the module will be deleted, we only need to delete the cloned_module when the first llvmToGen success.
Signed-off-by: Pan Xiuli <xiuli....@intel.com> --- backend/src/backend/program.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/backend/src/backend/program.cpp b/backend/src/backend/program.cpp index 724058c..8fb33c4 100644 --- a/backend/src/backend/program.cpp +++ b/backend/src/backend/program.cpp @@ -154,7 +154,12 @@ namespace gbe { //suppose file exists and llvmToGen will not return false. llvmToGen(*unit, fileName, module, 0, strictMath, OCL_PROFILING_LOG, error); } + } else { + if(cloned_module){ + delete (llvm::Module*) cloned_module; + } } + if(unit->getValid()){ std::string error2; if (this->buildFromUnit(*unit, error2)){ @@ -163,9 +168,6 @@ namespace gbe { error = error + error2; } delete unit; - if(cloned_module){ - delete (llvm::Module*) cloned_module; - } return ret; } -- 2.7.4 _______________________________________________ Beignet mailing list Beignet@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/beignet