diff options
author | Alexey Bataev <a.bataev@hotmail.com> | 2019-12-16 15:54:17 -0500 |
---|---|---|
committer | Alexey Bataev <a.bataev@hotmail.com> | 2019-12-17 14:46:32 -0500 |
commit | b6e7084e25ad0592b8e29ceea6462952e2ad79b9 (patch) | |
tree | 0e84946448175865332d1c56aa3c1d9ea7a6d7e8 /clang/lib/Serialization/ASTReader.cpp | |
parent | 15d47deedd1623289ef8f56cabd44bc2592745ac (diff) | |
download | bcm5719-llvm-b6e7084e25ad0592b8e29ceea6462952e2ad79b9.tar.gz bcm5719-llvm-b6e7084e25ad0592b8e29ceea6462952e2ad79b9.zip |
[OPENMP50]Add parsing/sema analysis for nontemporal clause.
Add basic support for parsing/sema analysis of the nontemporal clause in
simd-based directives.
Diffstat (limited to 'clang/lib/Serialization/ASTReader.cpp')
-rw-r--r-- | clang/lib/Serialization/ASTReader.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/clang/lib/Serialization/ASTReader.cpp b/clang/lib/Serialization/ASTReader.cpp index a2e4e7b469c..9258a6fb126 100644 --- a/clang/lib/Serialization/ASTReader.cpp +++ b/clang/lib/Serialization/ASTReader.cpp @@ -11698,6 +11698,9 @@ OMPClause *OMPClauseReader::readClause() { case OMPC_allocate: C = OMPAllocateClause::CreateEmpty(Context, Record.readInt()); break; + case OMPC_nontemporal: + C = OMPNontemporalClause::CreateEmpty(Context, Record.readInt()); + break; } assert(C && "Unknown OMPClause type"); @@ -12454,3 +12457,13 @@ void OMPClauseReader::VisitOMPIsDevicePtrClause(OMPIsDevicePtrClause *C) { } C->setComponents(Components, ListSizes); } + +void OMPClauseReader::VisitOMPNontemporalClause(OMPNontemporalClause *C) { + C->setLParenLoc(Record.readSourceLocation()); + unsigned NumVars = C->varlist_size(); + SmallVector<Expr *, 16> Vars; + Vars.reserve(NumVars); + for (unsigned i = 0; i != NumVars; ++i) + Vars.push_back(Record.readSubExpr()); + C->setVarRefs(Vars); +} |