This is an archive of the discontinued LLVM Phabricator instance.

[mlir] properly fix concurrent transform interpreter pass base
ClosedPublic

Authored by ftynse on Jan 31 2023, 1:42 AM.

Details

Summary

The original implementation of the transform interpreter pass base was
cloning the entire transform IR in presence of PDL-related operations to
avoid concurrency issues when running the pass with the same transform
IR on multiple operations of the payload IR. The root cause of those
issues is the transform.pdl_match operation that was moving the PDL
pattern definition operation into a new module, consumed by the PDL
interpreter and leading to a race. Clone the pattern operation instead.
This avoids the race as well as the cost for transform IR that doesn't
use PDL.

Depends on D142729.

Diff Detail

Event Timeline

ftynse created this revision.Jan 31 2023, 1:42 AM
ftynse requested review of this revision.Jan 31 2023, 1:42 AM
Herald added a project: Restricted Project. · View Herald TranscriptJan 31 2023, 1:42 AM
nicolasvasilache accepted this revision.Jan 31 2023, 6:31 AM
This revision is now accepted and ready to land.Jan 31 2023, 6:31 AM
This revision was landed with ongoing or failed builds.Feb 3 2023, 6:12 AM
This revision was automatically updated to reflect the committed changes.