[all-commits] [llvm/llvm-project] ec9563: [OPENMP]Fix PR37671: Privatize local(private) vari...
Alexey Bataev via All-commits
all-commits at lists.llvm.org
Wed Aug 12 06:39:25 PDT 2020
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: ec9563c54ed25e9f9cbe60985399212d50bd801d
https://github.com/llvm/llvm-project/commit/ec9563c54ed25e9f9cbe60985399212d50bd801d
Author: Alexey Bataev <a.bataev at hotmail.com>
Date: 2020-08-12 (Wed, 12 Aug 2020)
Changed paths:
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/lib/CodeGen/CGOpenMPRuntime.h
M clang/lib/CodeGen/CGStmtOpenMP.cpp
M clang/test/OpenMP/task_codegen.cpp
Log Message:
-----------
[OPENMP]Fix PR37671: Privatize local(private) variables in untied tasks.
Summary:
In untied tasks, need to allocate the space for local variales, declared
in task region, when the memory for task data is allocated. THe function
can be interrupted and we can exit from the function in untied task
switch. Need to keep the state of the local variables in this case.
Also, the compiler should not call cleanup when exiting in untied task
switch until the real exit out of the declaration scope is met during
execution.
Reviewers: jdoerfert
Subscribers: yaxunl, guansong, cfe-commits, sstefan1, caomhin
Tags: #clang
Differential Revision: https://reviews.llvm.org/D84457
More information about the All-commits
mailing list