[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