This is an archive of the discontinued LLVM Phabricator instance.

[OPENMP] Generate !llvm.mem.loop_parallel_access metadata for loops with dynamic/guided scheduling.
ClosedPublic

Authored by ABataev on May 6 2015, 2:11 AM.

Details

Summary

Inner bodies of OpenMP worksharing loop-based constructs with dynamic or guided scheduling are allowed to be marked with !llvm.mem.parallel_loop_access metadata for better optimization. Worksharing constructs with static scheduling cannot be marked this way (according to OpenMP standard "A data dependence between the same logical iterations in two such loops is guaranteed").
Constructs with auto and runtime scheduling are also not marked because automatically chosen scheduling may be static also.

Diff Detail

Repository
rL LLVM

Event Timeline

ABataev updated this revision to Diff 25020.May 6 2015, 2:11 AM
ABataev retitled this revision from to [OPENMP] Generate !llvm.mem.loop_parallel_access metadata for loops with dynamic/guided scheduling..
ABataev updated this object.
ABataev edited the test plan for this revision. (Show Details)
ABataev added reviewers: rjmccall, hfinkel.
ABataev added subscribers: Unknown Object (MLST), fraggamuffin, ejstotzer.
This revision was automatically updated to reflect the committed changes.