This is an archive of the discontinued LLVM Phabricator instance.

[PassBuilder] Add OpenMPOpt to default LTO pipeline
ClosedPublic

Authored by jhuber6 on Jan 31 2022, 7:46 AM.

Details

Summary

The LTO support for OpenMP offloading allows us to run the OpenMPOpt
pass during the LTO pipeline. This patch introduces an early run of the
Module pass and a late run of the CGSCC pass. These are quick no-ops if
there is no OpenMP in the module.

Depends on D118198

Diff Detail

Event Timeline

jhuber6 created this revision.Jan 31 2022, 7:46 AM
jhuber6 requested review of this revision.Jan 31 2022, 7:46 AM
Herald added a project: Restricted Project. · View Herald TranscriptJan 31 2022, 7:46 AM
ormris removed a subscriber: ormris.Jan 31 2022, 9:43 AM
tianshilei1992 added inline comments.
llvm/lib/Passes/PassBuilderPipelines.cpp
1458

Per my investigation, we also want SROA before OpenMPOpt; otherwise some optimizations will be off, even those in OpenMPOpt.

tianshilei1992 accepted this revision.Jan 31 2022, 7:42 PM

We can add SROA later.

This revision is now accepted and ready to land.Jan 31 2022, 7:42 PM
This revision was landed with ongoing or failed builds.Jan 31 2022, 8:13 PM
This revision was automatically updated to reflect the committed changes.