[OPENMP]Add support for analysis of firstprivate variables.
authorAlexey Bataev <a.bataev@hotmail.com>
Mon, 22 Jul 2019 13:51:07 +0000 (13:51 +0000)
committerAlexey Bataev <a.bataev@hotmail.com>
Mon, 22 Jul 2019 13:51:07 +0000 (13:51 +0000)
commit25569296c6d1afe343e895dad00a8ede3abcfaa2
treea11bbd9d5f448ff500d5445dbcf70e2527aa43a7
parent4668ea40722b1082e7a5f8aa0d24055e748836d2
[OPENMP]Add support for analysis of firstprivate variables.

Summary:
Firstprivate variables are the variables, for which the private copies
must be created in the OpenMP regions and must be initialized with the
original values. Thus, we must report if the uninitialized variable is
used as firstprivate.

Reviewers: NoQ

Subscribers: guansong, jdoerfert, caomhin, kkwli0, cfe-commits

Tags: #clang

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

llvm-svn: 366689
26 files changed:
clang/include/clang/AST/OpenMPClause.h
clang/test/Analysis/cfg-openmp.cpp
clang/test/OpenMP/distribute_parallel_for_firstprivate_messages.cpp
clang/test/OpenMP/distribute_parallel_for_simd_firstprivate_messages.cpp
clang/test/OpenMP/parallel_firstprivate_messages.cpp
clang/test/OpenMP/parallel_for_firstprivate_messages.cpp
clang/test/OpenMP/parallel_for_simd_firstprivate_messages.cpp
clang/test/OpenMP/parallel_sections_firstprivate_messages.cpp
clang/test/OpenMP/target_firstprivate_messages.cpp
clang/test/OpenMP/target_parallel_firstprivate_messages.cpp
clang/test/OpenMP/target_parallel_for_firstprivate_messages.cpp
clang/test/OpenMP/target_parallel_for_simd_firstprivate_messages.cpp
clang/test/OpenMP/target_simd_firstprivate_messages.cpp
clang/test/OpenMP/target_teams_distribute_firstprivate_messages.cpp
clang/test/OpenMP/target_teams_distribute_parallel_for_firstprivate_messages.cpp
clang/test/OpenMP/target_teams_distribute_parallel_for_simd_firstprivate_messages.cpp
clang/test/OpenMP/target_teams_distribute_simd_firstprivate_messages.cpp
clang/test/OpenMP/target_teams_firstprivate_messages.cpp
clang/test/OpenMP/task_firstprivate_messages.cpp
clang/test/OpenMP/taskloop_firstprivate_messages.cpp
clang/test/OpenMP/taskloop_simd_firstprivate_messages.cpp
clang/test/OpenMP/teams_distribute_firstprivate_messages.cpp
clang/test/OpenMP/teams_distribute_parallel_for_firstprivate_messages.cpp
clang/test/OpenMP/teams_distribute_parallel_for_simd_firstprivate_messages.cpp
clang/test/OpenMP/teams_distribute_simd_firstprivate_messages.cpp
clang/test/OpenMP/teams_firstprivate_messages.cpp