[MLIR] Change Operation::create() methods to use Value/Type/Block ranges.
authorRahul Joshi <jurahul@google.com>
Wed, 2 Sep 2020 22:33:19 +0000 (15:33 -0700)
committerRahul Joshi <jurahul@google.com>
Tue, 8 Sep 2020 21:19:05 +0000 (14:19 -0700)
commit8893d0816ccdf8998d2e21b5430e9d6abe7ef465
tree388a5399aa7e42a6ad651f73893d29e4c28f0dc6
parentd183f472617dfedf23381be90612d713d0f439af
[MLIR] Change Operation::create() methods to use Value/Type/Block ranges.

- Introduce a new BlockRange class to represent range of blocks (constructible from
  an ArrayRef<Block *> or a SuccessorRange);
- Change Operation::create() methods to use TypeRange for result types, ValueRange for
  operands and BlockRange for successors.

Differential Revision: https://reviews.llvm.org/D86985
mlir/include/mlir/IR/BlockSupport.h
mlir/include/mlir/IR/Operation.h
mlir/include/mlir/IR/OperationSupport.h
mlir/lib/IR/Block.cpp
mlir/lib/IR/Operation.cpp
mlir/lib/IR/OperationSupport.cpp