[PATCH] D83061: [OpenMP] Implement TR8 `present` map type modifier in Clang (1/2)

2020-07-21 Thread Joel E. Denny via Phabricator via cfe-commits
jdenny added a comment. Thanks. It probably won't be soon. At the very least, I need to find the answer to question 3 from the review summary. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D83061/new/ https://reviews.llvm.org/D83061 ___

[PATCH] D83061: [OpenMP] Implement TR8 `present` map type modifier in Clang (1/2)

2020-07-21 Thread Alexey Bataev via Phabricator via cfe-commits
ABataev added a comment. In D83061#2165100 , @jdenny wrote: > In D83061#2165093 , @ABataev wrote: > > > In D83061#2165089 , @jdenny wrote: > > > > > In D83061#2165063

[PATCH] D83061: [OpenMP] Implement TR8 `present` map type modifier in Clang (1/2)

2020-07-21 Thread Joel E. Denny via Phabricator via cfe-commits
jdenny added a comment. In D83061#2165093 , @ABataev wrote: > In D83061#2165089 , @jdenny wrote: > > > In D83061#2165063 , @ABataev wrote: > > > > > LG. > > > > > > Thanks

[PATCH] D83061: [OpenMP] Implement TR8 `present` map type modifier in Clang (1/2)

2020-07-21 Thread Alexey Bataev via Phabricator via cfe-commits
ABataev added a comment. In D83061#2165089 , @jdenny wrote: > In D83061#2165063 , @ABataev wrote: > > > LG. > > > Thanks for the review. > > As discussed in the review summary, please consider the following. A

[PATCH] D83061: [OpenMP] Implement TR8 `present` map type modifier in Clang (1/2)

2020-07-21 Thread Joel E. Denny via Phabricator via cfe-commits
jdenny added a comment. In D83061#2165063 , @ABataev wrote: > LG. Thanks for the review. As discussed in the review summary, please consider the following. A present map type modifier behavior that this patch does not attempt to implement is TR8

[PATCH] D83061: [OpenMP] Implement TR8 `present` map type modifier in Clang (1/2)

2020-07-21 Thread Alexey Bataev via Phabricator via cfe-commits
ABataev accepted this revision. ABataev added a comment. This revision is now accepted and ready to land. LG. Please, land it after the runtime part CHANGES SINCE LAST ACTION https://reviews.llvm.org/D83061/new/ https://reviews.llvm.org/D83061

[PATCH] D83061: [OpenMP] Implement TR8 `present` map type modifier in Clang (1/2)

2020-07-21 Thread Joel E. Denny via Phabricator via cfe-commits
jdenny added inline comments. Comment at: clang/lib/Parse/ParseOpenMP.cpp:3067-3068 + unsigned Type = getOpenMPSimpleClauseType(OMPC_map, PP.getSpelling(Tok)); + if (Type < OMPC_MAP_MODIFIER_unknown) +return OMPC_MAP_MODIFIER_unknown; + return static_cast(Type);

[PATCH] D83061: [OpenMP] Implement TR8 `present` map type modifier in Clang (1/2)

2020-07-21 Thread Alexey Bataev via Phabricator via cfe-commits
ABataev added inline comments. Comment at: clang/lib/Parse/ParseOpenMP.cpp:3067-3068 + unsigned Type = getOpenMPSimpleClauseType(OMPC_map, PP.getSpelling(Tok)); + if (Type < OMPC_MAP_MODIFIER_unknown) +return OMPC_MAP_MODIFIER_unknown; + return static_cast(Type);

[PATCH] D83061: [OpenMP] Implement TR8 `present` map type modifier in Clang (1/2)

2020-07-21 Thread Joel E. Denny via Phabricator via cfe-commits
jdenny marked an inline comment as done. jdenny added inline comments. Comment at: clang/lib/Parse/ParseOpenMP.cpp:3067-3068 + unsigned Type = getOpenMPSimpleClauseType(OMPC_map, PP.getSpelling(Tok)); + if (Type < OMPC_MAP_MODIFIER_unknown) +return

[PATCH] D83061: [OpenMP] Implement TR8 `present` map type modifier in Clang (1/2)

2020-07-21 Thread Alexey Bataev via Phabricator via cfe-commits
ABataev added inline comments. Comment at: clang/lib/Parse/ParseOpenMP.cpp:3067-3068 + unsigned Type = getOpenMPSimpleClauseType(OMPC_map, PP.getSpelling(Tok)); + if (Type < OMPC_MAP_MODIFIER_unknown) +return OMPC_MAP_MODIFIER_unknown; + return static_cast(Type);

[PATCH] D83061: [OpenMP] Implement TR8 `present` map type modifier in Clang (1/2)

2020-07-20 Thread Joel E. Denny via Phabricator via cfe-commits
jdenny marked 2 inline comments as done. jdenny added inline comments. Comment at: clang/lib/Parse/ParseOpenMP.cpp:3067-3068 + unsigned Type = getOpenMPSimpleClauseType(OMPC_map, PP.getSpelling(Tok)); + if (Type < OMPC_MAP_MODIFIER_unknown) +return

[PATCH] D83061: [OpenMP] Implement TR8 `present` map type modifier in Clang (1/2)

2020-07-20 Thread Alexey Bataev via Phabricator via cfe-commits
ABataev added inline comments. Comment at: clang/lib/Parse/ParseOpenMP.cpp:3067-3068 + unsigned Type = getOpenMPSimpleClauseType(OMPC_map, PP.getSpelling(Tok)); + if (Type < OMPC_MAP_MODIFIER_unknown) +return OMPC_MAP_MODIFIER_unknown; + return static_cast(Type);

[PATCH] D83061: [OpenMP] Implement TR8 `present` map type modifier in Clang (1/2)

2020-07-17 Thread Joel E. Denny via Phabricator via cfe-commits
jdenny marked 2 inline comments as done. jdenny added inline comments. Comment at: clang/lib/CodeGen/CGOpenMPRuntime.cpp:7934-7940 +// If any element has the present modifier, then make sure the runtime +// doesn't attempt to allocate the struct. +if (CurTypes.end()

[PATCH] D83061: [OpenMP] Implement TR8 `present` map type modifier in Clang (1/2)

2020-07-17 Thread Joel E. Denny via Phabricator via cfe-commits
jdenny marked 4 inline comments as done. jdenny added inline comments. Comment at: clang/lib/Parse/ParseOpenMP.cpp:3067-3068 + unsigned Type = getOpenMPSimpleClauseType(OMPC_map, PP.getSpelling(Tok)); + if (Type < OMPC_MAP_MODIFIER_unknown) +return

[PATCH] D83061: [OpenMP] Implement TR8 `present` map type modifier in Clang (1/2)

2020-07-17 Thread Alexey Bataev via Phabricator via cfe-commits
ABataev added inline comments. Comment at: clang/lib/CodeGen/CGOpenMPRuntime.cpp:7043-7044 OMP_MAP_CLOSE = 0x400, +/// Produce a runtime error if the data is not already allocated. +OMP_MAP_PRESENT = 0x800, /// The 16 MSBs of the flags indicate whether the

[PATCH] D83061: [OpenMP] Implement TR8 `present` map type modifier in Clang (1/2)

2020-07-17 Thread Alexey Bataev via Phabricator via cfe-commits
ABataev added inline comments. Comment at: clang/include/clang/Basic/DiagnosticParseKinds.td:1252-1253 + "incorrect map type modifier, expected 'always', 'close', 'mapper', or 'present'">; +def err_omp_map_type_modifier_wrong_version : Error< + "map type modifier '%0'

[PATCH] D83061: [OpenMP] Implement TR8 `present` map type modifier in Clang (1/2)

2020-07-17 Thread Joel E. Denny via Phabricator via cfe-commits
jdenny added inline comments. Comment at: clang/include/clang/Basic/DiagnosticParseKinds.td:1252-1253 + "incorrect map type modifier, expected 'always', 'close', 'mapper', or 'present'">; +def err_omp_map_type_modifier_wrong_version : Error< + "map type modifier '%0' requires

[PATCH] D83061: [OpenMP] Implement TR8 `present` map type modifier in Clang (1/2)

2020-07-17 Thread Alexey Bataev via Phabricator via cfe-commits
ABataev added inline comments. Comment at: clang/include/clang/Basic/DiagnosticParseKinds.td:1252-1253 + "incorrect map type modifier, expected 'always', 'close', 'mapper', or 'present'">; +def err_omp_map_type_modifier_wrong_version : Error< + "map type modifier '%0'

[PATCH] D83061: [OpenMP] Implement TR8 `present` map type modifier in Clang (1/2)

2020-07-16 Thread Joel E. Denny via Phabricator via cfe-commits
jdenny updated this revision to Diff 278658. jdenny added a comment. Rebased onto latest D83922 . Implemented rejection of `present` if not OpenMP >= 5.1. Cleaned up tests some. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D83061/new/

[PATCH] D83061: [OpenMP] Implement TR8 `present` map type modifier in Clang (1/2)

2020-07-16 Thread Joel E. Denny via Phabricator via cfe-commits
jdenny marked an inline comment as done. jdenny added inline comments. Comment at: clang/lib/CodeGen/CGOpenMPRuntime.cpp:7043-7044 OMP_MAP_CLOSE = 0x400, +/// Produce a runtime error if the data is not already allocated. +OMP_MAP_PRESENT = 0x800, /// The 16

[PATCH] D83061: [OpenMP] Implement TR8 `present` map type modifier in Clang (1/2)

2020-07-16 Thread Alexey Bataev via Phabricator via cfe-commits
ABataev added a comment. This new modifier must be enabed only for OpenMP 5.1, need to add the checks for OpenMP version. Also, this change should not affect the functionality of previous versions Comment at: clang/lib/CodeGen/CGOpenMPRuntime.cpp:7043-7044 OMP_MAP_CLOSE

[PATCH] D83061: [OpenMP] Implement TR8 `present` map type modifier in Clang (1/2)

2020-07-15 Thread Joel E. Denny via Phabricator via cfe-commits
jdenny updated this revision to Diff 278343. jdenny edited the summary of this revision. jdenny set the repository for this revision to rG LLVM Github Monorepo. jdenny added a comment. Rebased, and extracted D83922 as discussed. Repository: rG LLVM Github

[PATCH] D83061: [OpenMP] Implement TR8 `present` map type modifier in Clang (1/2)

2020-07-15 Thread Alexey Bataev via Phabricator via cfe-commits
ABataev added inline comments. Comment at: clang/lib/CodeGen/CGOpenMPRuntime.cpp:9566 +MEHandler.generateAllInfo(BasePointers, Pointers, Sizes, MapTypes, + CapturedVarSet, /*PresentModifierOnly=*/true); jdenny wrote: > ABataev

[PATCH] D83061: [OpenMP] Implement TR8 `present` map type modifier in Clang (1/2)

2020-07-15 Thread Joel E. Denny via Phabricator via cfe-commits
jdenny added inline comments. Comment at: clang/lib/CodeGen/CGOpenMPRuntime.cpp:9566 +MEHandler.generateAllInfo(BasePointers, Pointers, Sizes, MapTypes, + CapturedVarSet, /*PresentModifierOnly=*/true); ABataev wrote: > jdenny

[PATCH] D83061: [OpenMP] Implement TR8 `present` map type modifier in Clang (1/2)

2020-07-15 Thread Alexey Bataev via Phabricator via cfe-commits
ABataev added inline comments. Comment at: clang/lib/CodeGen/CGOpenMPRuntime.cpp:9566 +MEHandler.generateAllInfo(BasePointers, Pointers, Sizes, MapTypes, + CapturedVarSet, /*PresentModifierOnly=*/true); jdenny wrote: > ABataev

[PATCH] D83061: [OpenMP] Implement TR8 `present` map type modifier in Clang (1/2)

2020-07-15 Thread Joel E. Denny via Phabricator via cfe-commits
jdenny added inline comments. Comment at: clang/lib/CodeGen/CGOpenMPRuntime.cpp:9566 +MEHandler.generateAllInfo(BasePointers, Pointers, Sizes, MapTypes, + CapturedVarSet, /*PresentModifierOnly=*/true); ABataev wrote: > jdenny

[PATCH] D83061: [OpenMP] Implement TR8 `present` map type modifier in Clang (1/2)

2020-07-15 Thread Alexey Bataev via Phabricator via cfe-commits
ABataev added inline comments. Comment at: clang/lib/CodeGen/CGOpenMPRuntime.cpp:9566 +MEHandler.generateAllInfo(BasePointers, Pointers, Sizes, MapTypes, + CapturedVarSet, /*PresentModifierOnly=*/true); jdenny wrote: > In

[PATCH] D83061: [OpenMP] Implement TR8 `present` map type modifier in Clang (1/2)

2020-07-15 Thread Joel E. Denny via Phabricator via cfe-commits
jdenny added inline comments. Comment at: clang/lib/CodeGen/CGOpenMPRuntime.cpp:9566 +MEHandler.generateAllInfo(BasePointers, Pointers, Sizes, MapTypes, + CapturedVarSet, /*PresentModifierOnly=*/true); In today's OpenMP/LLVM

[PATCH] D83061: [OpenMP] Implement TR8 `present` map type modifier in Clang (1/2)

2020-07-13 Thread Joel E. Denny via Phabricator via cfe-commits
jdenny added a comment. Ping. Maybe we can start with the simplest question from the review summary: > The Clang codegen test files are difficult to maintain because of their > sizes, but I tried to insert `present` tests into them anyway to be > consistent with the existing `always` and

[PATCH] D83061: [OpenMP] Implement TR8 `present` map type modifier in Clang (1/2)

2020-07-10 Thread Joel E. Denny via Phabricator via cfe-commits
jdenny updated this revision to Diff 277215. jdenny added a comment. Rebased. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D83061/new/ https://reviews.llvm.org/D83061 Files: clang/include/clang/AST/OpenMPClause.h clang/include/clang/Basic/DiagnosticParseKinds.td

[PATCH] D83061: [OpenMP] Implement TR8 `present` map type modifier in Clang (1/2)

2020-07-02 Thread Joel E. Denny via Phabricator via cfe-commits
jdenny created this revision. jdenny added reviewers: ABataev, jdoerfert, hfinkel, Meinersbur, kkwli0, grokos, sfantao, gtbercea. Herald added subscribers: cfe-commits, sstefan1, guansong, yaxunl. Herald added a project: clang. jdenny added a parent revision: D83057: [OpenMP][NFC] Remove