[PATCH] D75318: [mlir] Remove successor operands from the Operation class

River Riddle via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Feb 27 16:47:25 PST 2020


rriddle created this revision.
rriddle added reviewers: mehdi_amini, jpienaar.
Herald added subscribers: llvm-commits, bader, Joonsoo, liufengdb, aartbik, lucyrfox, mgester, arpith-jacob, csigg, nicolasvasilache, antiagainst, shauheen, burmako, jholewinski.
Herald added a reviewer: mravishankar.
Herald added a reviewer: antiagainst.
Herald added a reviewer: herhut.
Herald added a project: LLVM.

This revision removes all of the functionality related to successor operands on the core Operation class. This greatly simplifies a lot of handling of operands, as well as successors. For example, DialectConversion no longer needs a special "matchAndRewrite" for branching terminator operations.(Note, the existing method was also broken for operations with variadic successors!!)

This also enables terminator operations to define their own relationships with successor arguments, instead of the hardcoded "pass-through" behavior that exists today.

Depends On D75317 <https://reviews.llvm.org/D75317>


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D75318

Files:
  mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
  mlir/include/mlir/Dialect/SPIRV/SPIRVControlFlowOps.td
  mlir/include/mlir/Dialect/StandardOps/IR/Ops.td
  mlir/include/mlir/IR/OpDefinition.h
  mlir/include/mlir/IR/OpImplementation.h
  mlir/include/mlir/IR/Operation.h
  mlir/include/mlir/IR/OperationSupport.h
  mlir/include/mlir/IR/UseDefLists.h
  mlir/include/mlir/Transforms/DialectConversion.h
  mlir/lib/Conversion/GPUToNVVM/LowerGpuOpsToNVVMOps.cpp
  mlir/lib/Conversion/StandardToLLVM/ConvertStandardToLLVM.cpp
  mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
  mlir/lib/Dialect/SPIRV/SPIRVOps.cpp
  mlir/lib/IR/AsmPrinter.cpp
  mlir/lib/IR/Operation.cpp
  mlir/lib/IR/OperationSupport.cpp
  mlir/lib/Parser/Parser.cpp
  mlir/lib/Target/LLVMIR/ConvertFromLLVMIR.cpp
  mlir/lib/Transforms/DialectConversion.cpp
  mlir/lib/Transforms/Utils/RegionUtils.cpp
  mlir/test/Dialect/SPIRV/control-flow-ops.mlir
  mlir/test/IR/invalid.mlir
  mlir/test/IR/parser.mlir
  mlir/test/Transforms/canonicalize-dce.mlir
  mlir/test/lib/TestDialect/TestOps.td
  mlir/tools/mlir-tblgen/OpDefinitionsGen.cpp
  mlir/tools/mlir-tblgen/OpFormatGen.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D75318.247135.patch
Type: text/x-patch
Size: 76026 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200228/6688e5e5/attachment-0001.bin>


More information about the llvm-commits mailing list