- Change Operation::create() methods to use TypeRange for result types, ValueRange for operands and SuccessorRange for successors.
- Extend SuccessorRange to be able to represent a range of blocks from BlockOperands or from an array of Block pointers.
Details
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
Thanks!
| mlir/include/mlir/IR/BlockSupport.h | ||
|---|---|---|
| 58 | I would not do this for SuccessorRange. It is intended to have the same limited scope that OperandRange and ResultRange have. If we want something general I would suggest adding a BlockRange instead. | |
| mlir/include/mlir/IR/BlockSupport.h | ||
|---|---|---|
| 58 | Thanks. I looked into how ResultRange, OperandRange and ValueRange are layered. So I guess your suggestion is to keep SuccessorRange as is, and add a new BlockRange which can work with either a SuccessorRange or an ArrayRef<Block *>, right? And then the Operation::create() functions would use a BlockRange argument for successors. | |
| mlir/include/mlir/IR/BlockSupport.h | ||
|---|---|---|
| 58 | Yes, exactly. | |
| mlir/include/mlir/IR/BlockSupport.h | ||
|---|---|---|
| 93 | Missing doc comment. | |
I would not do this for SuccessorRange. It is intended to have the same limited scope that OperandRange and ResultRange have. If we want something general I would suggest adding a BlockRange instead.