This is an archive of the discontinued LLVM Phabricator instance.

[mlir][linalg][bufferize] LinalgOp: Move existing region to new op
ClosedPublic

Authored by springerm on Dec 31 2021, 7:43 AM.

Details

Summary

This has two advantages.

  1. It is more efficient. No need to clone the entire region.
  2. Recreating ops (via cloning) invalidates analysis results. Previously, an OpResult could have bufferized out-of-place, even though the analysis requested an in-place bufferization. That is because BufferizationState keeps track of OpResults for storing bufferization analysis results (and cloned ops have new OpResults).

Depends On D116452

Diff Detail

Event Timeline

springerm created this revision.Dec 31 2021, 7:43 AM
springerm requested review of this revision.Dec 31 2021, 7:43 AM
nicolasvasilache accepted this revision.Jan 5 2022, 12:32 AM
This revision is now accepted and ready to land.Jan 5 2022, 12:32 AM
This revision was landed with ongoing or failed builds.Jan 6 2022, 2:07 PM
This revision was automatically updated to reflect the committed changes.