[mlir][SCF] Replace use of FuncOp with FunctionOpInterface
authorRiver Riddle <riddleriver@gmail.com>
Tue, 8 Mar 2022 08:04:12 +0000 (00:04 -0800)
committerRiver Riddle <riddleriver@gmail.com>
Tue, 8 Mar 2022 20:25:32 +0000 (12:25 -0800)
There is nothing specific to FuncOp about the check, it can be changed
to be interface based.

Differential Revision: https://reviews.llvm.org/D121194

mlir/lib/Dialect/SCF/SCF.cpp

index 588c675..aced058 100644 (file)
@@ -11,6 +11,7 @@
 #include "mlir/Dialect/Bufferization/IR/Bufferization.h"
 #include "mlir/Dialect/ControlFlow/IR/ControlFlowOps.h"
 #include "mlir/IR/BlockAndValueMapping.h"
+#include "mlir/IR/FunctionInterfaces.h"
 #include "mlir/IR/Matchers.h"
 #include "mlir/IR/PatternMatch.h"
 #include "mlir/Support/MathExtras.h"
@@ -201,7 +202,7 @@ struct MultiBlockExecuteInliner : public OpRewritePattern<ExecuteRegionOp> {
 
   LogicalResult matchAndRewrite(ExecuteRegionOp op,
                                 PatternRewriter &rewriter) const override {
-    if (!isa<FuncOp, ExecuteRegionOp>(op->getParentOp()))
+    if (!isa<FunctionOpInterface, ExecuteRegionOp>(op->getParentOp()))
       return failure();
 
     Block *prevBlock = op->getBlock();