ABataev added inline comments.

================
Comment at: clang/lib/Sema/SemaOpenMP.cpp:4435-4437
+        if (DMIB == DMIB_alloc) Kind = OMPC_MAP_alloc;
+        else if (DMIB == DMIB_to) Kind = OMPC_MAP_to;
+        else if (DMIB == DMIB_from) Kind = OMPC_MAP_from;
----------------
cchen wrote:
> ABataev wrote:
> > Use `switch`
> In this switch statement, I checked if the implicit map contains any "declare 
> target link" to prove that for the normal case (no declare target link/to), 
> DMIB_default and DMIB_default is unreachable for scalar and pointer.
> However, this change is not quite right since I haven't added any extra 
> ImplicitMap to deal with the case that ImplicitMap contains "declare target 
> link" variable. (instead, I only create an extra field in ImplicitMap only so 
> that I can demonstrate) And the reason why I'm hesitant to do so is that 
> adding another two ImplicitMap only for "declare target link" might be a 
> little be overkill?
Then, I think, you just use the wrong key for the implicit mapping. You're 
using the kind of the mapped data (scalar, pointer or aggregate), instead used 
kind of mapping as the key. It means, that you need to have not 3 arrays but 
arrays for firstprivates, tofrom, to, from, alloc, etc. And all this processing 
must be in one place, in the class.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D69204



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to