This is an archive of the discontinued LLVM Phabricator instance.

[mlir][SCF] Do not peel loops inside partial iterations
ClosedPublic

Authored by springerm on Aug 23 2021, 4:52 AM.

Details

Summary

Do not apply loop peeling to loops that are contained in the partial iteration of an already peeled loop. This is to avoid code explosion when dealing with large loop nests. Can be controlled with a new pass option skip-partial.

Diff Detail

Event Timeline

springerm created this revision.Aug 23 2021, 4:52 AM
springerm requested review of this revision.Aug 23 2021, 4:52 AM
Herald added a project: Restricted Project. · View Herald TranscriptAug 23 2021, 4:52 AM
herhut accepted this revision.Aug 23 2021, 5:09 AM
herhut added inline comments.
mlir/lib/Dialect/SCF/Transforms/LoopSpecialization.cpp
452–456

nit: you could also do this with a single walk.

This revision is now accepted and ready to land.Aug 23 2021, 5:09 AM
springerm updated this revision to Diff 368075.Aug 23 2021, 5:34 AM
springerm marked an inline comment as done.

addressed comments

This revision was landed with ongoing or failed builds.Aug 23 2021, 5:40 AM
This revision was automatically updated to reflect the committed changes.