This is an archive of the discontinued LLVM Phabricator instance.

[OpenMP] Always inline the OpenMP outlined function
ClosedPublic

Authored by jhuber6 on Jul 26 2021, 8:36 AM.

Details

Summary

This patch adds the always inline attribute to the outlined functions generated
by OpenMP regions. Because there is only a single instance of this function and
it always has internal linkage it is safe to inline in every instance it is
created. This could potentially lead to performance degredation due to
inflated register counts in the parallel region.

Diff Detail

Event Timeline

jhuber6 created this revision.Jul 26 2021, 8:36 AM
jhuber6 requested review of this revision.Jul 26 2021, 8:36 AM
Herald added a project: Restricted Project. · View Herald TranscriptJul 26 2021, 8:36 AM
jdoerfert accepted this revision.Jul 26 2021, 12:00 PM

One test needs to be fixed. LG

This revision is now accepted and ready to land.Jul 26 2021, 12:00 PM
This revision was landed with ongoing or failed builds.Jul 26 2021, 2:28 PM
This revision was automatically updated to reflect the committed changes.

Looks like now omp.outlined functions are marked with both 'noinline' and 'alwaysinline'. See https://bugs.llvm.org/show_bug.cgi?id=51349