[Mlir-commits] [mlir] c5c9d6e - [mlir][emitc] Adapt to move of FuncOp

Marius Brehler llvmlistbot at llvm.org
Mon Mar 28 08:44:54 PDT 2022


Author: Marius Brehler
Date: 2022-03-28T17:44:47+02:00
New Revision: c5c9d6e0d5abac8a84595f14b43864163e6a5625

URL: https://github.com/llvm/llvm-project/commit/c5c9d6e0d5abac8a84595f14b43864163e6a5625
DIFF: https://github.com/llvm/llvm-project/commit/c5c9d6e0d5abac8a84595f14b43864163e6a5625.diff

LOG: [mlir][emitc] Adapt to move of FuncOp

Reviewed By: rriddle

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

Added: 
    

Modified: 
    mlir/docs/Dialects/emitc.md
    mlir/lib/Target/Cpp/TranslateToCpp.cpp

Removed: 
    


################################################################################
diff  --git a/mlir/docs/Dialects/emitc.md b/mlir/docs/Dialects/emitc.md
index 8974e82c0bf78..995cf06e1b39c 100644
--- a/mlir/docs/Dialects/emitc.md
+++ b/mlir/docs/Dialects/emitc.md
@@ -29,6 +29,7 @@ translating the following operations:
 *   'func' Dialect
     *   `func.call`
     *   `func.constant`
+    *   `func.func`
     *   `func.return`
 *   'scf' Dialect
     *   `scf.for`

diff  --git a/mlir/lib/Target/Cpp/TranslateToCpp.cpp b/mlir/lib/Target/Cpp/TranslateToCpp.cpp
index 2c1dc0d411e5f..c888a6befffec 100644
--- a/mlir/lib/Target/Cpp/TranslateToCpp.cpp
+++ b/mlir/lib/Target/Cpp/TranslateToCpp.cpp
@@ -574,7 +574,8 @@ static LogicalResult printOperation(CppEmitter &emitter, ModuleOp moduleOp) {
   return success();
 }
 
-static LogicalResult printOperation(CppEmitter &emitter, FuncOp functionOp) {
+static LogicalResult printOperation(CppEmitter &emitter,
+                                    func::FuncOp functionOp) {
   // We need to declare variables at top if the function has multiple blocks.
   if (!emitter.shouldDeclareVariablesAtTop() &&
       functionOp.getBlocks().size() > 1) {
@@ -911,8 +912,7 @@ LogicalResult CppEmitter::emitOperation(Operation &op, bool trailingSemicolon) {
   LogicalResult status =
       llvm::TypeSwitch<Operation *, LogicalResult>(&op)
           // Builtin ops.
-          .Case<FuncOp, ModuleOp>(
-              [&](auto op) { return printOperation(*this, op); })
+          .Case<ModuleOp>([&](auto op) { return printOperation(*this, op); })
           // CF ops.
           .Case<cf::BranchOp, cf::CondBranchOp>(
               [&](auto op) { return printOperation(*this, op); })
@@ -921,7 +921,7 @@ LogicalResult CppEmitter::emitOperation(Operation &op, bool trailingSemicolon) {
                 emitc::IncludeOp, emitc::VariableOp>(
               [&](auto op) { return printOperation(*this, op); })
           // Func ops.
-          .Case<func::CallOp, func::ConstantOp, func::ReturnOp>(
+          .Case<func::CallOp, func::ConstantOp, func::FuncOp, func::ReturnOp>(
               [&](auto op) { return printOperation(*this, op); })
           // SCF ops.
           .Case<scf::ForOp, scf::IfOp, scf::YieldOp>(


        


More information about the Mlir-commits mailing list