[all-commits] [llvm/llvm-project] f4f3f6: [OPENMP]Fix PR37671: Privatize local(private) vari...

Alexey Bataev via All-commits all-commits at lists.llvm.org
Wed Aug 12 08:36:23 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: f4f3f678f1994d47f745cbfd6a1026f2408425c6
      https://github.com/llvm/llvm-project/commit/f4f3f678f1994d47f745cbfd6a1026f2408425c6
  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.

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.

Reviewed By: jdoerfert

Differential Revision: https://reviews.llvm.org/D84457




More information about the All-commits mailing list