[PATCH] D71475: [WIP][OPENMP] Try to fix linear clause crash by emitting alloca for step

Johannes Doerfert via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Tue Dec 17 08:28:31 PST 2019


jdoerfert added inline comments.


================
Comment at: clang/lib/Sema/SemaOpenMP.cpp:1128
+           (A == OMPC_firstprivate && (Data.Attributes == OMPC_lastprivate ||
+                                       Data.Attributes == OMPC_linear)) ||
            (A == OMPC_lastprivate && Data.Attributes == OMPC_firstprivate) ||
----------------
ABataev wrote:
> cchen wrote:
> > ABataev wrote:
> > > What is this change for?
> > Since now the variable in step expression has been set as implicit firstprivate.
> No need to do this, the whole expression must be evaluated before entering the parallel region.
The standard is not clear on this, e.g., what if the expression has a side-effect and the loop has 0 iterations. However, evaluating it once in the beginning seems fine to me, assuming we do not evaluate it later again.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D71475





More information about the cfe-commits mailing list