[CIR][NFC] Fix shared library build caused by interface->IR dependence #1900
+33
−28
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
After #1878, we introduced a dependency from the LoopOpInterface on BreakOp.
A similar dependency was resolved for ConditionOp by introducing a ConditionOpInterface.
However, this isn't very scalable since we actually rely on BreakOp methods in LoopOpInterface, where we only relied on the ConditionOp class before.
This PR moves the default implementation of
cir::LoopOpInterface::getLoopOpSuccessorRegions
intoCIRDialect
to resolve the dependency.We may want to think of a more long term solution for handling CIR interfaces.
Should they be a separate build target?
Should they be within CIR dialect?
Should we move the implementation of interfaces into the CIR op themself, like we do for RegionBranchOpInterface? (I prefer this, personally)