[all-commits] [llvm/llvm-project] d01ea0: [mlir] Drop reliance of SliceAnalysis on specific ...

Nicolas Vasilache via All-commits all-commits at lists.llvm.org
Mon Feb 15 22:41:01 PST 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: d01ea0edaa2e38e1345dc484f8b74e0e53d3245b
      https://github.com/llvm/llvm-project/commit/d01ea0edaa2e38e1345dc484f8b74e0e53d3245b
  Author: Nicolas Vasilache <nicolas.vasilache at gmail.com>
  Date:   2021-02-16 (Tue, 16 Feb 2021)

  Changed paths:
    M mlir/include/mlir/Analysis/SliceAnalysis.h
    M mlir/lib/Analysis/SliceAnalysis.cpp
    M mlir/lib/Dialect/Linalg/Transforms/Hoisting.cpp
    M mlir/lib/Transforms/Utils/LoopUtils.cpp

  Log Message:
  -----------
  [mlir] Drop reliance of SliceAnalysis on specific ops.

SliceAnalysis originally was developed in the context of affine.for within mlfunc.
It predates the notion of region.
This revision updates it to not hardcode specific ops like scf::ForOp.
When rooted at an op, the behavior of the slice computation changes as it recurses into the regions of the op. This does not support gathering all values transitively depending on a loop induction variable anymore.
Additional variants rooted at a Value are added to also support the existing behavior.

Differential revision: https://reviews.llvm.org/D96702




More information about the All-commits mailing list