[LLVMGPU] Add CombineSourceLayoutTransformation to TileAndFuse pipeline (#24158)

-- Re-insert CombineSourceLayoutTransformation in the GPU TileAndFuse
pipeline.
-- This is done in order to combine complex relayout op chains from
load_from_buffer into a map_load op.
-- It was previously reverted as part of
[regression](https://github.com/iree-org/iree/pull/23814) which is now
solved by [updating complex chain
definition](https://github.com/iree-org/iree/pull/23860).
diff --git a/compiler/src/iree/compiler/Codegen/LLVMGPU/Passes.cpp b/compiler/src/iree/compiler/Codegen/LLVMGPU/Passes.cpp
index 3644c77..8f510ad 100644
--- a/compiler/src/iree/compiler/Codegen/LLVMGPU/Passes.cpp
+++ b/compiler/src/iree/compiler/Codegen/LLVMGPU/Passes.cpp
@@ -556,6 +556,7 @@
 
   // Step 5. Greedily fuse parallel loops and hoist from serial loops.
   funcPassManager.addPass(createGPUFuseAndHoistParallelLoopsPass());
+  funcPassManager.addPass(createCombineSourceLayoutTransformationPass());
   CombineResultLayoutTransformationPassOptions combineLayoutOptions;
   combineLayoutOptions.scope =
       IREE::Codegen::RelayoutCombinationScope::Workgroup;