This is an archive of the discontinued LLVM Phabricator instance.

[mlir][AffineOps] Adds affine loop fusion transformation function to LoopFusionUtils.
ClosedPublic

Authored by andydavis1 on Feb 10 2020, 8:39 AM.

Details

Summary

Adds affine loop fusion transformation function to LoopFusionUtils.
Updates TestLoopFusion utility to run loop fusion transformation until a fixed point is reached.
Adds unit tests to test the transformation.
Includes ASAN bug fix for D73190.

Diff Detail

Event Timeline

andydavis1 created this revision.Feb 10 2020, 8:39 AM
dcaballe accepted this revision.Feb 10 2020, 10:47 AM

Thanks, Andy. LGTM. Please wait a bit so that others have time to comment.

This revision is now accepted and ready to land.Feb 10 2020, 10:47 AM
bondhugula accepted this revision.Feb 10 2020, 8:45 PM

Looks good to me; just a few minor doc comments.

mlir/test/lib/Transforms/TestLoopFusion.cpp
76–77

Document return value?

129–131

Document return value.

145–162

Function doc comment.

rriddle added inline comments.Feb 10 2020, 10:34 PM
mlir/lib/Transforms/Utils/LoopFusionUtils.cpp
274

nit: Spell out auto here.

mlir/test/lib/Transforms/TestLoopFusion.cpp
199

do {

} while (iterateLoops(...)); ?

213

nit: Spell out auto here.

214

Drop trivial braces.

andydavis1 marked 7 inline comments as done.Feb 11 2020, 1:27 PM

addressing comments.

addressing comments.

addressing review comments

This revision was automatically updated to reflect the committed changes.