Skip to content

Conversation

@jorickert
Copy link

No description provided.

MaheshRavishankar and others added 2 commits September 11, 2024 22:15
…to continue tile + fuse. (llvm#107882)

Current implementation of `scf::tileConsumerAndFuseProducerUsingSCF`
looks at operands of tiled/tiled+fused operations to see if they are
produced by `extract_slice` operations to populate the worklist used to
continue fusion. This implicit assumption does not always work. Instead
make the implementations of `getTiledImplementation` return the slices
to use to continue fusion.

This is a breaking change

- To continue to get the same behavior of
`scf::tileConsumerAndFuseProducerUsingSCF`, change all out-of-tree
implementation of `TilingInterface::getTiledImplementation` to return
the slices to continue fusion on. All in-tree implementations have been
adapted to this.
- This change touches parts that required a simplification to the
`ControlFn` in `scf::SCFTileAndFuseOptions`. It now returns a
`std::optional<scf::SCFTileAndFuseOptions::ControlFnResult>` object that
should be `std::nullopt` if fusion is not to be performed.

Signed-off-by: MaheshRavishankar <mahesh.revishankar@gmail.com>
@jorickert jorickert requested a review from mgehre-amd December 12, 2024 11:04
Base automatically changed from bump_to_1211d979 to feature/fused-ops December 12, 2024 11:14
@jorickert jorickert merged commit 63401e3 into feature/fused-ops Dec 12, 2024
4 checks passed
@jorickert jorickert deleted the bump_to_d5f0969c branch December 12, 2024 15:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants