[mlir][ODS] Add support for specifying the successors of an operation.
authorRiver Riddle <riddleriver@gmail.com>
Fri, 21 Feb 2020 21:19:50 +0000 (13:19 -0800)
committerRiver Riddle <riddleriver@gmail.com>
Fri, 21 Feb 2020 23:15:32 +0000 (15:15 -0800)
commitb1de971ba8c83c82ef63077b666aaff3ba8e56b9
tree8adafb12c7adc26e593e43b4c4b213f8f59c7a89
parent93813e5feb18ece7becd1eece24d0138c955fd53
[mlir][ODS] Add support for specifying the successors of an operation.

This revision add support in ODS for specifying the successors of an operation. Successors are specified via the `successors` list:
```
let successors = (successor AnySuccessor:$target, AnySuccessor:$otherTarget);
```

Differential Revision: https://reviews.llvm.org/D74783
18 files changed:
mlir/docs/OpDefinitions.md
mlir/include/mlir/Dialect/LLVMIR/LLVMOpBase.td
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/OpBase.td
mlir/include/mlir/TableGen/Constraint.h
mlir/include/mlir/TableGen/Operator.h
mlir/include/mlir/TableGen/Successor.h [new file with mode: 0644]
mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
mlir/lib/Dialect/SPIRV/SPIRVOps.cpp
mlir/lib/TableGen/CMakeLists.txt
mlir/lib/TableGen/Constraint.cpp
mlir/lib/TableGen/Operator.cpp
mlir/lib/TableGen/Successor.cpp [new file with mode: 0644]
mlir/test/Dialect/SPIRV/control-flow-ops.mlir
mlir/test/lib/TestDialect/TestOps.td
mlir/tools/mlir-tblgen/OpDefinitionsGen.cpp