This is an archive of the discontinued LLVM Phabricator instance.

[flang][OpenMP] Added lowering support for requires directive
AbandonedPublic

Authored by skatrak on Dec 21 2022, 7:16 AM.

Details

Summary

This patch adds support for representing and registering OpenMP requires information in flang.

Current limitations:

  • No support for the atomic_default_mem_order clause, as the relevant libomptarget flags structure cannot currently represent it.
  • A call to the __tgt_register_requires() function will be generated regardless of the presence of a target region, because it can't be tested in its current state otherwise.
  • Potentially necessary modifications to the handling of other directives depending on the specified clauses is left for future patches. The only code being currently generated is the registration of the flags on the OpenMP runtime.

Diff Detail

Event Timeline

skatrak created this revision.Dec 21 2022, 7:16 AM
Herald added projects: Restricted Project, Restricted Project. · View Herald Transcript
skatrak requested review of this revision.Dec 21 2022, 7:16 AM
skatrak added a project: Restricted Project.Dec 21 2022, 7:26 AM
skatrak planned changes to this revision.Feb 9 2023, 7:56 AM
skatrak abandoned this revision.Mar 30 2023, 3:59 AM

Closing this patch to split work into multiple ones.