This is an archive of the discontinued LLVM Phabricator instance.

[OpenMP] Cast captures by copy when passed to fork call so that they are compatible to what the runtime library expects.
ClosedPublic

Authored by sfantao on Jun 8 2016, 12:59 PM.

Details

Summary

This patch fixes an issue detected when firstprivate variables are passed to an OpenMP outlined function vararg list. Currently they are not compatible with what the runtime library expects causing malfunction in some targets.

This patch fixes the issue by moving the casting logic already in place for offloading to the common code that creates the outline function and arguments and updates the regression tests accordingly.

Diff Detail

Event Timeline

sfantao updated this revision to Diff 60084.Jun 8 2016, 12:59 PM
sfantao retitled this revision from to [OpenMP] Cast captures by copy when passed to fork call so that they are compatible to what the runtime library expects..
sfantao updated this object.
sfantao added subscribers: caomhin, cfe-commits.
ABataev accepted this revision.Jun 16 2016, 3:01 AM
ABataev edited edge metadata.

LG

This revision is now accepted and ready to land.Jun 16 2016, 3:01 AM
sfantao closed this revision.Jun 16 2016, 8:16 AM