Page MenuHomePhabricator

[OPENMP] Private, firstprivate, and lastprivate clauses for distribute, host code generation

Authored by carlo.bertolli on Mar 2 2016, 8:20 PM.



This patch enables private, firstprivate, and lastprivate clauses for the OpenMP distribute directive.
Regression tests differ from the similar case of the same clauses on the for directive, by removing a reference to two global variables g and g1. This is necessary because: 1. a distribute pragma is only allowed inside a target region; 2. referring a global variable (e.g. g and g1) in a target region requires the program to enclose the variable in a "declare target" region; 3. declare target pragmas, which are used to define a declare target region, are currently unavailable in clang (patch being prepared).
For this reason, I moved the global declarations into local variables.

Diff Detail


Event Timeline

carlo.bertolli retitled this revision from to [OPENMP] Private, firstprivate, and lastprivate clauses for distribute, host code generation.
carlo.bertolli updated this object.
carlo.bertolli set the repository for this revision to rL LLVM.

[OPENMP] Add regression test for private clause and fix type size in regression test for lastprivate.

ABataev accepted this revision.Mar 17 2016, 5:16 AM
ABataev edited edge metadata.


This revision is now accepted and ready to land.Mar 17 2016, 5:16 AM

Looks like patch was not committed.

Commited r290898.