[all-commits] [llvm/llvm-project] 108abd: [mlir] Add a new MutableOperandRange class for add...

River Riddle via All-commits all-commits at lists.llvm.org
Wed Apr 29 16:49:55 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 108abd2f2eaf9a197f92fcc672777f8561d330dd
      https://github.com/llvm/llvm-project/commit/108abd2f2eaf9a197f92fcc672777f8561d330dd
  Author: River Riddle <riddleriver at gmail.com>
  Date:   2020-04-29 (Wed, 29 Apr 2020)

  Changed paths:
    M mlir/include/mlir/IR/Attributes.h
    M mlir/include/mlir/IR/Operation.h
    M mlir/include/mlir/IR/OperationSupport.h
    M mlir/include/mlir/IR/UseDefLists.h
    M mlir/lib/IR/Attributes.cpp
    M mlir/lib/IR/Operation.cpp
    M mlir/lib/IR/OperationSupport.cpp
    M mlir/test/mlir-tblgen/op-decl.td
    M mlir/tools/mlir-tblgen/OpDefinitionsGen.cpp
    M mlir/unittests/IR/OperationSupportTest.cpp

  Log Message:
  -----------
  [mlir] Add a new MutableOperandRange class for adding/remove operands

This class allows for mutating an operand range in-place, and provides vector like API for adding/erasing/setting. ODS now uses this class to generate mutable wrappers for named operands, with the name `MutableOperandRange <operand-name>Mutable()`

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


  Commit: df00e466daf59358725f977a578e85bae4c52765
      https://github.com/llvm/llvm-project/commit/df00e466daf59358725f977a578e85bae4c52765
  Author: River Riddle <riddleriver at gmail.com>
  Date:   2020-04-29 (Wed, 29 Apr 2020)

  Changed paths:
    M mlir/include/mlir/IR/OperationSupport.h
    M mlir/lib/IR/OperationSupport.cpp
    M mlir/lib/Transforms/CSE.cpp

  Log Message:
  -----------
  [mlir] Move the operation equivalence out of CSE and into OperationSupport

This provides a general hash and comparison for checking if two operations are equivalent. This revision also optimizes the handling of result types to take advantage of how result types are stored on the operation.

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


  Commit: 91dae5708708c0c0b3e2383b419005bfe0402ae0
      https://github.com/llvm/llvm-project/commit/91dae5708708c0c0b3e2383b419005bfe0402ae0
  Author: River Riddle <riddleriver at gmail.com>
  Date:   2020-04-29 (Wed, 29 Apr 2020)

  Changed paths:
    M mlir/docs/OpDefinitions.md
    M mlir/include/mlir/Dialect/StandardOps/IR/Ops.td
    M mlir/include/mlir/IR/OpBase.td
    M mlir/include/mlir/TableGen/OpTrait.h
    M mlir/lib/TableGen/OpTrait.cpp
    M mlir/test/mlir-tblgen/op-interface.td
    M mlir/tools/mlir-tblgen/OpDefinitionsGen.cpp

  Log Message:
  -----------
  [mlir][DeclareOpInterfaceMethods] Allow specifying a set of methods to force declaration generation for.

Currently a declaration won't be generated if the method has a default implementation. Meaning that operations that wan't to override the default have to explicitly declare the method in the extraClassDeclarations. This revision adds an optional list parameter to DeclareOpInterfaceMethods to allow for specifying a set of methods that should always have the declarations generated, even if there is a default.

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


  Commit: 0752d98ccf8771b41718170d46d11f4020b62818
      https://github.com/llvm/llvm-project/commit/0752d98ccf8771b41718170d46d11f4020b62818
  Author: River Riddle <riddleriver at gmail.com>
  Date:   2020-04-29 (Wed, 29 Apr 2020)

  Changed paths:
    M flang/include/flang/Optimizer/Dialect/FIROps.td
    M flang/lib/Optimizer/Dialect/FIROps.cpp
    M mlir/include/mlir/Dialect/StandardOps/IR/Ops.td
    M mlir/include/mlir/IR/OperationSupport.h
    M mlir/include/mlir/Interfaces/ControlFlowInterfaces.h
    M mlir/include/mlir/Interfaces/ControlFlowInterfaces.td
    M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
    M mlir/lib/Dialect/SPIRV/SPIRVOps.cpp
    M mlir/lib/Dialect/StandardOps/IR/Ops.cpp
    M mlir/lib/IR/OperationSupport.cpp
    M mlir/lib/Interfaces/ControlFlowInterfaces.cpp
    M mlir/lib/Transforms/Utils/RegionUtils.cpp
    M mlir/test/lib/Dialect/Test/TestDialect.cpp
    M mlir/tools/mlir-tblgen/OpInterfacesGen.cpp

  Log Message:
  -----------
  [mlir] Simplify BranchOpInterface by using MutableOperandRange

This range allows for performing many different operations on successor operands, including erasing/adding/setting. This removes the need for the explicit canEraseSuccessorOperand and eraseSuccessorOperand methods.

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


Compare: https://github.com/llvm/llvm-project/compare/9b16ece6ca28...0752d98ccf87


More information about the All-commits mailing list