[all-commits] [llvm/llvm-project] 203d5e: [MLIR][affine-loop-fusion] Handle defining ops bet...

Diego Caballero via All-commits all-commits at lists.llvm.org
Thu Feb 25 08:24:00 PST 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 203d5eeec55b1f0e0dd2aa28f5c5ebe292802e62
      https://github.com/llvm/llvm-project/commit/203d5eeec55b1f0e0dd2aa28f5c5ebe292802e62
  Author: Tung D. Le <tung at jp.ibm.com>
  Date:   2021-02-25 (Thu, 25 Feb 2021)

  Changed paths:
    M mlir/lib/Transforms/LoopFusion.cpp
    M mlir/test/Transforms/loop-fusion.mlir

  Log Message:
  -----------
  [MLIR][affine-loop-fusion] Handle defining ops between the source and dest loops

This patch handles defining ops between the source and dest loop nests, and prevents loop nests with `iter_args` from being fused.

If there is any SSA value in the dest loop nest whose defining op has dependence from the source loop nest, we cannot fuse the loop nests.

If there is a `affine.for` with `iter_args`, prevent it from being fused.

Reviewed By: dcaballe, bondhugula

Differential Revision: https://reviews.llvm.org/D97030


  Commit: ebca222b65cb847f7bf4ee3da1dd7e2df35d0338
      https://github.com/llvm/llvm-project/commit/ebca222b65cb847f7bf4ee3da1dd7e2df35d0338
  Author: Diego Caballero <diego.caballero at intel.com>
  Date:   2021-02-25 (Thu, 25 Feb 2021)

  Changed paths:
    M mlir/lib/Analysis/Utils.cpp
    M mlir/test/Dialect/Affine/parallelize.mlir

  Log Message:
  -----------
  [mlir] Check 'iter_args' in 'isLoopParallel' utility

Fix 'isLoopParallel' utility so that 'iter_args' is taken into account
and loops with loop-carried dependences are not classified as parallel.

Reviewed By: tungld, vinayaka-polymage

Differential Revision: https://reviews.llvm.org/D97347


Compare: https://github.com/llvm/llvm-project/compare/b368fc735d5a...ebca222b65cb


More information about the All-commits mailing list