[Mlir-commits] [mlir] [mlir][EmitC] Remove restrictions on include op (PR #106953)
Marius Brehler
llvmlistbot at llvm.org
Mon Sep 2 02:22:20 PDT 2024
https://github.com/marbre created https://github.com/llvm/llvm-project/pull/106953
An `emitc.include` should be usable even though the parent is not a ModuleOp. This requirement is therefor therefor.
>From 3f26ab61ff1b57afa868850987165934454fa8d1 Mon Sep 17 00:00:00 2001
From: Marius Brehler <marius.brehler at amd.com>
Date: Mon, 2 Sep 2024 09:13:58 +0000
Subject: [PATCH] [mlir][EmitC] Remove restrictions on include op
An `emitc.include` should be usable even though the parent is not a
ModuleOp. This requirement is therefor therefor.
---
mlir/include/mlir/Dialect/EmitC/IR/EmitC.td | 2 +-
mlir/test/Target/Cpp/common-cpp.mlir | 7 +++++++
2 files changed, 8 insertions(+), 1 deletion(-)
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