[GlobalOpt] Centralize data-tiling options under an if-statement. (#15537)

Also add canonicalier and cse passes after IPO. It introduces
arith.constant ops that can be folded into constant attributes for some
ops.
diff --git a/compiler/src/iree/compiler/GlobalOptimization/Passes.cpp b/compiler/src/iree/compiler/GlobalOptimization/Passes.cpp
index f56b0c3..850c683 100644
--- a/compiler/src/iree/compiler/GlobalOptimization/Passes.cpp
+++ b/compiler/src/iree/compiler/GlobalOptimization/Passes.cpp
@@ -79,16 +79,17 @@
             clEnableQuantizedMatmulReassociation);
       })
       .addPass(mlir::createCanonicalizerPass)
-      .addPass(mlir::createCSEPass)
-      // Expand all vectors in vecmat/matvec ops into matrices for tiling.
-      .addPredicatedPass(transformOptions.options.dataTiling,
-                         createExpandVectorsPass)
-      // Enable data tiling after they are in a canonical form.
-      .addPredicatedPass(transformOptions.options.dataTiling,
-                         createSetEncodingPass)
-      .addPass(mlir::createCanonicalizerPass)
       .addPass(mlir::createCSEPass);
-  mainPassManager.addPass(createMaterializeHomogeneousEncodingsPass());
+
+  // Enable data tiling after they are in a canonical form.
+  if (transformOptions.options.dataTiling) {
+    // Expand all vectors in vecmat/matvec ops into matrices for tiling.
+    mainPassManager.addPass(createExpandVectorsPass());
+    mainPassManager.addPass(createSetEncodingPass());
+    mainPassManager.addPass(createMaterializeHomogeneousEncodingsPass());
+    mainPassManager.addPass(createCanonicalizerPass());
+    mainPassManager.addPass(createCSEPass());
+  }
 
   OpPassManager pipeline(ModuleOp::getOperationName());
   FunctionLikeNest(pipeline)
@@ -101,6 +102,8 @@
   pipeline.addPass(IREE::Util::createApplyPatternsPass());
   pipeline.addPass(IREE::Util::createFoldGlobalsPass());
   pipeline.addPass(IREE::Util::createIPOPass());
+  pipeline.addPass(createCanonicalizerPass());
+  pipeline.addPass(createCSEPass());
 
   if (transformOptions.options.constExprHoisting) {
     pipeline.addPass(IREE::Util::createHoistIntoGlobalsPass(