This is an archive of the discontinued LLVM Phabricator instance.

[mlir][transforms] CSE ops with multiple regions
ClosedPublic

Authored by springerm on Jan 25 2023, 9:05 AM.

Details

Summary

There were issues with the CSE equivalence analysis that have been fixed with D142558. This makes it possible to CSE ops with multiple regions (multiple block maybe even?).

Depends On: D142558

Diff Detail

Event Timeline

springerm created this revision.Jan 25 2023, 9:05 AM
springerm requested review of this revision.Jan 25 2023, 9:05 AM
Herald added a project: Restricted Project. · View Herald TranscriptJan 25 2023, 9:05 AM
mehdi_amini accepted this revision.Jan 25 2023, 10:02 AM
This revision is now accepted and ready to land.Jan 25 2023, 10:02 AM
rriddle added inline comments.Jan 25 2023, 10:04 AM
mlir/lib/Transforms/CSE.cpp
205

Please don't use size, it's O(N) with the size of the region.

mehdi_amini added inline comments.Jan 25 2023, 10:07 AM
mlir/lib/Transforms/CSE.cpp
205

Oh right, use llvm::hasSingleElement(r.getBlocks()) instead!

This revision was landed with ongoing or failed builds.Jan 27 2023, 3:22 AM
This revision was automatically updated to reflect the committed changes.
springerm marked 2 inline comments as done.