This is an archive of the discontinued LLVM Phabricator instance.

[OpenMP] Remove noinline attributes in the device runtime
ClosedPublic

Authored by jhuber6 on Jul 22 2022, 8:42 AM.

Details

Summary

We previously used the noinline attributes to specify some defintions
which should be kept alive in the runtime. These were then stripped
immediately in the OpenMPOpt module pass. However, Since the changes in
D130298, we not explicitly state which functions will have external
visiblity in the bitcode library. Additionally the OpenMPOpt module pass
should run before the inliner pass, so this shouldn't make a difference
in whether or not the functions will be alive for the initial pass of
OpenMPOpt. This should simplify the interface, and additionally save
time spend on scanning funciton names for noinline.

Diff Detail

Event Timeline

jhuber6 created this revision.Jul 22 2022, 8:42 AM
Herald added a project: Restricted Project. · View Herald TranscriptJul 22 2022, 8:42 AM
jhuber6 requested review of this revision.Jul 22 2022, 8:42 AM
Herald added projects: Restricted Project, Restricted Project. · View Herald TranscriptJul 22 2022, 8:42 AM
jdoerfert accepted this revision.Jul 25 2022, 9:56 AM

Assuming this works properly now, LGTM.

This revision is now accepted and ready to land.Jul 25 2022, 9:56 AM
This revision was landed with ongoing or failed builds.Jul 25 2022, 12:45 PM
This revision was automatically updated to reflect the committed changes.
llvm/lib/Transforms/IPO/OpenMPOpt.cpp