[all-commits] [llvm/llvm-project] 8fb0d7: [mlir][Interfaces] `LoopLikeOpInterface`: Expose m...

Matthias Springer via All-commits all-commits at lists.llvm.org
Mon Oct 23 17:33:43 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 8fb0d77b4c04a33a3591b69389b4a2033f2b7c77
      https://github.com/llvm/llvm-project/commit/8fb0d77b4c04a33a3591b69389b4a2033f2b7c77
  Author: Matthias Springer <me at m-sp.org>
  Date:   2023-10-24 (Tue, 24 Oct 2023)

  Changed paths:
    M flang/include/flang/Optimizer/Dialect/FIROps.td
    M flang/lib/Optimizer/Dialect/FIROps.cpp
    M mlir/include/mlir/Dialect/Affine/IR/AffineOps.td
    M mlir/include/mlir/Dialect/SCF/IR/SCFOps.td
    M mlir/include/mlir/IR/ValueRange.h
    M mlir/include/mlir/Interfaces/LoopLikeInterface.td
    M mlir/lib/Dialect/Affine/IR/AffineOps.cpp
    M mlir/lib/Dialect/SCF/IR/SCF.cpp
    M mlir/lib/IR/OperationSupport.cpp

  Log Message:
  -----------
  [mlir][Interfaces] `LoopLikeOpInterface`: Expose mutable inits/yielded values (#69137)

Expose a `MutableArrayRef<OpOperand>` instead of
`ValueRange`/`OperandRange`. This allows users of this interface to
change the yielded values and the init values. The names of the
interface methods are the same as the auto-generated op accessor names
(`get...()` returns `OperandRange`, `get...Mutable()` returns
`MutableOperandRange`).

Note: The interface methods return a `MutableArrayRef` instead of a
`MutableOperandRange` because a loop op may not implement
`getYieldedValuesMutable` etc. and there is no safe way to return an
"empty" range with a `MutableOperandRange`.




More information about the All-commits mailing list