]> granicus.if.org Git - clang/commit
[OPRNMP] Fix for PR33445: ICE: OpenMP target containing ordered for.
authorAlexey Bataev <a.bataev@hotmail.com>
Wed, 16 Aug 2017 14:01:00 +0000 (14:01 +0000)
committerAlexey Bataev <a.bataev@hotmail.com>
Wed, 16 Aug 2017 14:01:00 +0000 (14:01 +0000)
commit1b99a792a3e5ed41405c4a79e51fb6f764d842ec
treeaa33a6c09fa7f21262443d3e50c89d9dce00e3dd
parentbd9cd0b5265f10629a226ac11e9ec2c4018318b1
[OPRNMP] Fix for PR33445: ICE: OpenMP target containing ordered for.

If exceptions are enabled, there may be a problem with the codegen of
the finalization functions from OpenMP runtime. It happens because of
the problem with the getting of thread identifier value. Patch tries to
fix it by using the result of the call of function
__kmpc_global_thread_num() rather than loading of value of outlined
function parameter.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@311007 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/CGOpenMPRuntime.cpp
test/OpenMP/critical_codegen.cpp
test/OpenMP/for_codegen.cpp
test/OpenMP/for_simd_codegen.cpp
test/OpenMP/master_codegen.cpp
test/OpenMP/parallel_for_codegen.cpp
test/OpenMP/parallel_for_simd_codegen.cpp
test/OpenMP/parallel_sections_codegen.cpp
test/OpenMP/sections_codegen.cpp
test/OpenMP/single_codegen.cpp
test/OpenMP/taskgroup_codegen.cpp