This is an archive of the discontinued LLVM Phabricator instance.

[OpenMP] Apply OpenMP assumptions to applicable call sites
ClosedPublic

Authored by jhuber6 on Sep 28 2021, 2:09 PM.

Details

Summary

This patch adds OpenMP assumption attributes to call sites in applicable
regions. Currently this applies the caller's assumption attributes to
any calls contained within it. So, if a call occurs inside an OpenMP
assumes region to a function outside that region, we will assume that
call respects the assumptions. This is primarily useful for inline
assembly calls used heavily in the OpenMP GPU device runtime, which
allows us to then make judgements about what the ASM will do.

Diff Detail

Event Timeline

jhuber6 created this revision.Sep 28 2021, 2:09 PM
jhuber6 requested review of this revision.Sep 28 2021, 2:09 PM
Herald added a project: Restricted Project. · View Herald TranscriptSep 28 2021, 2:09 PM
jhuber6 updated this revision to Diff 375773.Sep 28 2021, 8:22 PM

Fix test.

jdoerfert accepted this revision.Sep 29 2021, 12:19 PM

LG, once we can propagate assumptions we can remove this again.

This revision is now accepted and ready to land.Sep 29 2021, 12:19 PM
This revision was landed with ongoing or failed builds.Sep 29 2021, 1:08 PM
This revision was automatically updated to reflect the committed changes.