[mlir][Inliner] Add a new hook for checking if it is legal to inline a callable into...
authorRiver Riddle <riddleriver@gmail.com>
Thu, 29 Oct 2020 04:48:38 +0000 (21:48 -0700)
committerRiver Riddle <riddleriver@gmail.com>
Thu, 29 Oct 2020 04:49:28 +0000 (21:49 -0700)
commit501fda0167341f2db0da5198f70defb017a36178
treefb78783c5ccc11f0f1c1a88344391fd6a2310f1e
parent5be50d79c0b8e01e7085a668aa5cac1e20807c30
[mlir][Inliner] Add a new hook for checking if it is legal to inline a callable into a call

In certain situations it isn't legal to inline a call operation, but this isn't something that is possible(at least not easily) to prevent with the current hooks. This revision adds a new hook so that dialects with call operations that shouldn't be inlined can prevent it.

Differential Revision: https://reviews.llvm.org/D90359
12 files changed:
mlir/docs/Tutorials/Toy/Ch-4.md
mlir/examples/toy/Ch4/mlir/Dialect.cpp
mlir/examples/toy/Ch5/mlir/Dialect.cpp
mlir/examples/toy/Ch6/mlir/Dialect.cpp
mlir/examples/toy/Ch7/mlir/Dialect.cpp
mlir/include/mlir/IR/Operation.h
mlir/include/mlir/Transforms/InliningUtils.h
mlir/lib/Dialect/SPIRV/SPIRVDialect.cpp
mlir/lib/Dialect/StandardOps/IR/Ops.cpp
mlir/lib/Transforms/Utils/InliningUtils.cpp
mlir/test/Transforms/inlining.mlir
mlir/test/lib/Dialect/Test/TestDialect.cpp