Page MenuHomePhabricator

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

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

Details

Summary

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

Repository
rL LLVM

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.

LG

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

Looks like patch was not committed.

Commited r290898.