This is an archive of the discontinued LLVM Phabricator instance.

[OPENMP]Fix PR46347: several ordered directives in a single region.
ClosedPublic

Authored by ABataev on Jun 16 2020, 10:36 AM.

Details

Summary

According to OpenMP, During execution of an iteration of a worksharing-loop or a loop nest within a worksharing-loop, simd, or worksharing-loop SIMD region, a thread must not execute more than one ordered region corresponding to an ordered construct without a depend clause.
Need to report an error in this case.

Diff Detail

Event Timeline

ABataev created this revision.Jun 16 2020, 10:36 AM
Herald added a project: Restricted Project. · View Herald TranscriptJun 16 2020, 10:36 AM
jdoerfert accepted this revision.Jun 16 2020, 11:42 AM

LGTM, can you add the nested ordered + depend test case too, assuming we don't have it.

This revision is now accepted and ready to land.Jun 16 2020, 11:42 AM

LGTM, can you add the nested ordered + depend test case too, assuming we don't have it.

We have such tests in ordered_ast_print.cpp and ordered_codegen.cpp tests

This revision was automatically updated to reflect the committed changes.