diff options
author | Alexey Bataev <a.bataev@hotmail.com> | 2019-12-19 10:01:10 -0500 |
---|---|---|
committer | Alexey Bataev <a.bataev@hotmail.com> | 2019-12-23 10:04:46 -0500 |
commit | 0860db966a7d2ab61b26e41426a55189986924b4 (patch) | |
tree | d90f8ba8208077ca27a6ebc27db727c97bda583c /clang/lib/CodeGen/CGStmtOpenMP.cpp | |
parent | e40ac74dacda99ff6330945f0f105252b7c28c9c (diff) | |
download | bcm5719-llvm-0860db966a7d2ab61b26e41426a55189986924b4.tar.gz bcm5719-llvm-0860db966a7d2ab61b26e41426a55189986924b4.zip |
[OPENMP50]Codegen for nontemporal clause.
Summary:
Basic codegen for the declarations marked as nontemporal. Also, if the
base declaration in the member expression is marked as nontemporal,
lvalue for member decl access inherits nonteporal flag from the base
lvalue.
Reviewers: rjmccall, hfinkel, jdoerfert
Subscribers: guansong, arphaman, caomhin, kkwli0, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D71708
Diffstat (limited to 'clang/lib/CodeGen/CGStmtOpenMP.cpp')
-rw-r--r-- | clang/lib/CodeGen/CGStmtOpenMP.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/clang/lib/CodeGen/CGStmtOpenMP.cpp b/clang/lib/CodeGen/CGStmtOpenMP.cpp index e8a3790e3b5..a2a59b64ddb 100644 --- a/clang/lib/CodeGen/CGStmtOpenMP.cpp +++ b/clang/lib/CodeGen/CGStmtOpenMP.cpp @@ -1803,8 +1803,9 @@ static LValue EmitOMPHelperVar(CodeGenFunction &CGF, static void emitCommonSimdLoop(CodeGenFunction &CGF, const OMPLoopDirective &S, const RegionCodeGenTy &SimdInitGen, const RegionCodeGenTy &BodyCodeGen) { - auto &&ThenGen = [&SimdInitGen, &BodyCodeGen](CodeGenFunction &CGF, - PrePostActionTy &) { + auto &&ThenGen = [&S, &SimdInitGen, &BodyCodeGen](CodeGenFunction &CGF, + PrePostActionTy &) { + CGOpenMPRuntime::NontemporalDeclsRAII NontemporalsRegion(CGF.CGM, S); CodeGenFunction::OMPLocalDeclMapRAII Scope(CGF); SimdInitGen(CGF); |