[PATCH] D60568: [OpenMP] Add support for registering requires directives with the runtime

Alexey Bataev via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Fri May 17 08:16:35 PDT 2019


ABataev added inline comments.


================
Comment at: lib/CodeGen/CGOpenMPRuntime.cpp:10364
+  if (const auto *FD = dyn_cast<FunctionDecl>(D)) {
+    if (OMPDeclareTargetDeclAttr::isDeclareTargetDeclaration(FD)) {
+      HasEmittedDeclareTargetRegion = true;
----------------
gtbercea wrote:
> ABataev wrote:
> > gtbercea wrote:
> > > ABataev wrote:
> > > > ABataev wrote:
> > > > > No need for the braces
> > > > What if `declare target` is used only for variabes but not for the functions?
> > > Even more reason to error in that case since it may contain clauses like link or to which need for requires directives to be used consistently.
> > But I don't see that your patch works in this situation. Currently, it will emit the error only if the declare target function is found, no?
> Actually it will work even when just variables are used in the declare target region. There is another problem which I have a fix for. I will update the patch in a bit. 
Why will it work in this case? If you have just a declare target region in the code for the variables and nothing else. You don't have target regions, declare target functions etc. It won't work in this case.


Repository:
  rC Clang

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D60568/new/

https://reviews.llvm.org/D60568





More information about the cfe-commits mailing list