[PATCH] D29922: [OpenMP] Prepare Sema for initial implementation for pragma 'distribute parallel for'

Carlo Bertolli via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Mon Feb 13 18:54:40 PST 2017


carlo.bertolli created this revision.

This patch adds two fields for use in the implementation of 'distribute parallel for':

1. The increment expression for the distribute loop. As the chunk assigned to a team is executed by multiple threads within the 'parallel for' region, the increment expression has to correspond to the value returned by the related runtime call (for_static_init).

2. The upper bound of the innermost loop ('for' in 'distribute parallel for') is not the globalUB expression normally used for pragma 'for' when found in isolation. It is instead the upper bound of the chunk assigned to the team ('distribute' loop). In this way, we prevent teams from executing chunks assigned to other teams.

The use of these two fields can be see in a related explanatory patch:
https://reviews.llvm.org/D29508


Repository:
  rL LLVM

https://reviews.llvm.org/D29922

Files:
  include/clang/AST/StmtOpenMP.h
  lib/AST/StmtOpenMP.cpp
  lib/Basic/OpenMPKinds.cpp
  lib/Sema/SemaOpenMP.cpp
  lib/Serialization/ASTReaderStmt.cpp
  lib/Serialization/ASTWriterStmt.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D29922.88294.patch
Type: text/x-patch
Size: 16732 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20170214/1b7e492f/attachment-0001.bin>


More information about the cfe-commits mailing list