Skip to content

Commit

Permalink
DNS - Do not hoist encoding ops if the producer is not a flow region op.
Browse files Browse the repository at this point in the history
Signed-off-by: hanhanW <[email protected]>
  • Loading branch information
hanhanW committed Feb 13, 2025
1 parent beae744 commit 6ebfcaa
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,9 @@ struct FuseEncodingOpsIntoDispatchRegionsPass

SmallVector<IREE::Encoding::SetEncodingOp> encodingOps;
funcOp->walk([&](IREE::Encoding::SetEncodingOp encodingOp) {
if (encodingOp->getParentOfType<IREE::Flow::DispatchRegionOp>()) {
return;
}
encodingOps.push_back(encodingOp);
});

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -195,7 +195,9 @@ void HoistEncodingOpsPass::runOnOperation() {

SmallVector<IREE::Encoding::SetEncodingOp> candidates;
funcOp->walk([&](IREE::Encoding::SetEncodingOp setEncodingOp) {
if (setEncodingOp->getParentOfType<IREE::Flow::DispatchRegionOp>()) {
if (setEncodingOp->getParentOfType<IREE::Flow::DispatchRegionOp>() &&
setEncodingOp.getSource()
.getDefiningOp<IREE::Flow::DispatchRegionOp>()) {
candidates.push_back(setEncodingOp);
}
});
Expand Down

0 comments on commit 6ebfcaa

Please sign in to comment.