[Mlir-commits] [mlir] 8b2ad5c - [mlir][EmitC] Remove restrictions on include op (#106953)

llvmlistbot at llvm.org llvmlistbot at llvm.org
Mon Sep 2 05:21:12 PDT 2024


Author: Marius Brehler
Date: 2024-09-02T14:21:09+02:00
New Revision: 8b2ad5c8f18096c8ef25d77906391b7c09342137

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

LOG: [mlir][EmitC] Remove restrictions on include op (#106953)

An `emitc.include` should be usable even though the parent is not a
ModuleOp. This requirement is therefore removed.

Added: 
    

Modified: 
    mlir/include/mlir/Dialect/EmitC/IR/EmitC.td
    mlir/test/Target/Cpp/common-cpp.mlir

Removed: 
    


################################################################################
diff  --git a/mlir/include/mlir/Dialect/EmitC/IR/EmitC.td b/mlir/include/mlir/Dialect/EmitC/IR/EmitC.td
index 5122da599b4ce4..2c1ac27cfb8ff8 100644
--- a/mlir/include/mlir/Dialect/EmitC/IR/EmitC.td
+++ b/mlir/include/mlir/Dialect/EmitC/IR/EmitC.td
@@ -730,7 +730,7 @@ def EmitC_ReturnOp : EmitC_Op<"return", [Pure, HasParent<"FuncOp">,
 }
 
 def EmitC_IncludeOp
-    : EmitC_Op<"include", [HasParent<"ModuleOp">]> {
+    : EmitC_Op<"include", []> {
   let summary = "Include operation";
   let description = [{
     The `emitc.include` operation allows to define a source file inclusion via the

diff  --git a/mlir/test/Target/Cpp/common-cpp.mlir b/mlir/test/Target/Cpp/common-cpp.mlir
index 2036a10e0cad15..45fef618621ccd 100644
--- a/mlir/test/Target/Cpp/common-cpp.mlir
+++ b/mlir/test/Target/Cpp/common-cpp.mlir
@@ -5,6 +5,13 @@ emitc.include "myheader.h"
 // CHECK: #include <myheader.h>
 emitc.include <"myheader.h">
 
+// CHECK: void test_include() {
+func.func @test_include() {
+  // CHECK: #include "myheader.h"
+  emitc.include "myheader.h"
+  return
+}
+
 // CHECK: void test_foo_print() {
 func.func @test_foo_print() {
   // CHECK: [[V1:[^ ]*]] = foo::constant({0, 1});


        


More information about the Mlir-commits mailing list