Skip to content

Commit

Permalink
Revert "[DispatchCreation] Run preprocessing before..." (#18934)
Browse files Browse the repository at this point in the history
This PR got merged before I was able to resolve the perf regressions in
VAE decode on MI250. See @ScottTodd's comment on the original PR. 
I need time to resolve the regressions but this can be relanded once
resolved


Reverts #18920
  • Loading branch information
IanWood1 authored Oct 29, 2024
1 parent 3eeea7f commit b31b033
Showing 1 changed file with 8 additions and 6 deletions.
14 changes: 8 additions & 6 deletions compiler/src/iree/compiler/DispatchCreation/Passes.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -127,12 +127,9 @@ static void addCleanupPatterns(OpPassManager &passManager) {
//===----------------------------------------------------------------------===//

void addDispatchRegionCreationPreprocessingPasses(OpPassManager &passManager) {
// 1. Do some simple elementwise op fusion. This could be skipped,
// but could reduce the surface area of ops to handle later.
FunctionLikeNest(passManager)
.addPass(IREE::Flow::createCanonicalizerPass)
.addPass(mlir::createCSEPass)
.addPass(DispatchCreation::createFusionPreprocessingPass)
// 1. Do some simple elementwise op fusion. This could be skipped,
// but could reduce the surface area of ops to handle later.
.addPass([]() {
return DispatchCreation::createElementwiseOpFusionPass(
ElementwiseOpFusionPassOptions{
Expand All @@ -151,7 +148,6 @@ void addDispatchRegionCreationPreprocessingPasses(OpPassManager &passManager) {

// 3. Perform elementwise operation fusion again (now with higher
// dimensionality).
.addPass(DispatchCreation::createFusionPreprocessingPass)
.addPass([]() {
return DispatchCreation::createElementwiseOpFusionPass(
ElementwiseOpFusionPassOptions{
Expand Down Expand Up @@ -298,6 +294,12 @@ void buildDispatchCreationPassPipeline(
IREE::Util::createFixedPointIteratorPass(std::move(ipoPipeline)));
}

FunctionLikeNest(passManager)
// Preprocess the input to a form more amenable for fusion.
.addPass(DispatchCreation::createFusionPreprocessingPass)
.addPass(IREE::Flow::createCanonicalizerPass)
.addPass(mlir::createCSEPass);

addDispatchRegionCreationPreprocessingPasses(passManager);
addDispatchRegionCreationPasses(passManager);

Expand Down

0 comments on commit b31b033

Please sign in to comment.