Implement simple loop-invariant-code-motion based on dialect interfaces.
authorStephan Herhut <herhut@google.com>
Wed, 16 Oct 2019 11:28:13 +0000 (04:28 -0700)
committerA. Unique TensorFlower <gardener@tensorflow.org>
Wed, 16 Oct 2019 11:28:38 +0000 (04:28 -0700)
commitb843cc5d5af10e35081751866d4fc216a0b5e5e4
tree6d23fc79d0eb7ac88ad3036bdd5bf0cac8eada3d
parent98f64b4da1afb7ca2c96de75d5c9cbe628ce3976
Implement simple loop-invariant-code-motion based on dialect interfaces.

PiperOrigin-RevId: 275004258
15 files changed:
mlir/include/mlir/Dialect/AffineOps/AffineOps.h
mlir/include/mlir/Dialect/AffineOps/AffineOps.td
mlir/include/mlir/Dialect/LoopOps/LoopOps.h
mlir/include/mlir/Dialect/LoopOps/LoopOps.td
mlir/include/mlir/IR/Block.h
mlir/include/mlir/Transforms/LoopLikeInterface.h [new file with mode: 0644]
mlir/include/mlir/Transforms/LoopLikeInterface.td [new file with mode: 0644]
mlir/include/mlir/Transforms/Passes.h
mlir/include/mlir/Transforms/SideEffectsInterface.h [new file with mode: 0644]
mlir/lib/Dialect/AffineOps/AffineOps.cpp
mlir/lib/Dialect/LoopOps/LoopOps.cpp
mlir/lib/Transforms/AffineLoopInvariantCodeMotion.cpp [new file with mode: 0644]
mlir/lib/Transforms/LoopInvariantCodeMotion.cpp
mlir/test/Transforms/affine-loop-invariant-code-motion.mlir [new file with mode: 0644]
mlir/test/Transforms/loop-invariant-code-motion.mlir