[OPENMP] Fixed codegen for 'omp cancel' construct.
authorAlexey Bataev <a.bataev@hotmail.com>
Thu, 17 Nov 2016 15:12:05 +0000 (15:12 +0000)
committerAlexey Bataev <a.bataev@hotmail.com>
Thu, 17 Nov 2016 15:12:05 +0000 (15:12 +0000)
commit957d856e7e02de9b172c943c76b6d5caeef31d9b
treed11f04a6991eb06e20b78ab088d91e74e8b106a9
parent5831a00634753782221ae01191a5db0783b0ea88
[OPENMP] Fixed codegen for 'omp cancel' construct.

If 'omp cancel' construct is used in a worksharing construct it may
cause hanging of the software in case if reduction clause is used. Patch fixes this problem by avoiding extra reduction processing for branches that were canceled.

llvm-svn: 287227
clang/lib/CodeGen/CGStmtOpenMP.cpp
clang/lib/CodeGen/CodeGenFunction.h
clang/test/OpenMP/cancel_codegen.cpp