Add a generic loop abstraction to the std dialect
authorNicolas Vasilache <ntv@google.com>
Wed, 3 Jul 2019 09:56:37 +0000 (02:56 -0700)
committerjpienaar <jpienaar@google.com>
Wed, 3 Jul 2019 21:36:30 +0000 (14:36 -0700)
commit0024ddc4aeb76ee9d33f20cb2e3d504b80f38999
tree29cfe6d1325500747403fa34bb1c20e7dd35f07c
parent95279afbf79739eab830c321a279d5a80aabc3e6
Add a generic loop abstraction to the std dialect

This CL is the first step of a refactoring unification of the control flow abstraction used in different dialects. The `std.for` loop accepts unrestricted indices to encode min, max and step and will be used as a common abstraction on the way to lower level dialects.

PiperOrigin-RevId: 256331795
mlir/include/mlir/StandardOps/Ops.h
mlir/include/mlir/StandardOps/Ops.td
mlir/lib/StandardOps/Ops.cpp
mlir/test/IR/core-ops.mlir
mlir/test/IR/invalid-ops.mlir