[Openmp-commits] [PATCH] D145093: Add map info for dereference pointer.

Alexey Bataev via Phabricator via Openmp-commits openmp-commits at lists.llvm.org
Fri Mar 3 15:14:37 PST 2023


ABataev added inline comments.


================
Comment at: clang/lib/CodeGen/CGOpenMPRuntime.cpp:7489-7493
+      if (UO && UO->getOpcode() == UO_Deref)
+        if (isa<OMPArraySectionExpr>(Last->getAssociatedExpression()) ||
+            isa<OMPArrayShapingExpr>(Last->getAssociatedExpression()) ||
+            isa<ArraySubscriptExpr>(Last->getAssociatedExpression()))
+          IsVarDerefAssoWithArray = true;
----------------
jyu2 wrote:
> ABataev wrote:
> > What if we have something like:
> > ```
> > typedef int (T)[3];
> > 
> > T** p;
> > map(**p)
> > ```
> > ? Shall it work? I.e. mapping of the whole array by dereferening the pointer to the array.
> No, it is not work currently.  What about *(*(p+a)+b)...
My question - shall it work? Mapping  (**a)[:3] should result in the same in the same code for **a if a is
```
typedef int(T)[3];
T** a;
```


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D145093



More information about the Openmp-commits mailing list