This is an archive of the discontinued LLVM Phabricator instance.

[NPM] Add -enable-loopinterchange option to NPM
ClosedPublic

Authored by TaWeiTu on Mar 6 2021, 8:45 AM.

Details

Summary

We have the enable-loopinterchange option in legacy pass manager but not in NPM.
Add LoopInterchange pass to the optimization pipeline (at the same position as before)
when enable-loopinterchange is turned on.

Diff Detail

Event Timeline

TaWeiTu created this revision.Mar 6 2021, 8:45 AM
TaWeiTu requested review of this revision.Mar 6 2021, 8:45 AM
Herald added a project: Restricted Project. · View Herald TranscriptMar 6 2021, 8:45 AM

Should this go in the O1 pipeline as well? buildO1FunctionSimplificationPipeline()

TaWeiTu updated this revision to Diff 328776.Mar 6 2021, 9:32 AM
  • Add LoopInterchange for O1 as well
fhahn accepted this revision.Mar 6 2021, 10:04 AM

LGTM, thanks!

llvm/lib/Passes/PassBuilder.cpp
758

nit: not sure the comment adds much, as it is directly in the pass name. (same as above)

llvm/lib/Transforms/IPO/PassManagerBuilder.cpp
89

while you are modifying the option, perhaps drop the new bit as well. It's not really new anymore :D

This revision is now accepted and ready to land.Mar 6 2021, 10:04 AM
TaWeiTu updated this revision to Diff 328779.Mar 6 2021, 10:06 AM
  • Fix nits
TaWeiTu marked 2 inline comments as done.Mar 6 2021, 10:08 AM
aeubanks accepted this revision.Mar 6 2021, 10:36 AM
This revision was landed with ongoing or failed builds.Mar 6 2021, 10:39 AM
This revision was automatically updated to reflect the committed changes.