From 2af1dc7071ff9a49552160ab03e1422a5daa830e Mon Sep 17 00:00:00 2001 From: Christopher Bate Date: Wed, 7 Dec 2022 17:28:27 -0700 Subject: [PATCH] [mlir][EmitC] Remove Pure trait from `emitc.include` The op `emitc.include` does not have results and thus will be elided during canonicalization, which is not correct behavior. This change removes the 'Pure' trait and adds a canonicalization test. Reviewed By: jpienaar, marbre Differential Revision: https://reviews.llvm.org/D141704 --- mlir/include/mlir/Dialect/EmitC/IR/EmitC.td | 2 +- mlir/test/Dialect/EmitC/ops.mlir | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/mlir/include/mlir/Dialect/EmitC/IR/EmitC.td b/mlir/include/mlir/Dialect/EmitC/IR/EmitC.td index 6986364..f6a8150 100644 --- a/mlir/include/mlir/Dialect/EmitC/IR/EmitC.td +++ b/mlir/include/mlir/Dialect/EmitC/IR/EmitC.td @@ -148,7 +148,7 @@ def EmitC_ConstantOp : EmitC_Op<"constant", [ConstantLike]> { } def EmitC_IncludeOp - : EmitC_Op<"include", [Pure, HasParent<"ModuleOp">]> { + : EmitC_Op<"include", [HasParent<"ModuleOp">]> { let summary = "Include operation"; let description = [{ The `include` operation allows to define a source file inclusion via the diff --git a/mlir/test/Dialect/EmitC/ops.mlir b/mlir/test/Dialect/EmitC/ops.mlir index 08b2845..b682aac 100644 --- a/mlir/test/Dialect/EmitC/ops.mlir +++ b/mlir/test/Dialect/EmitC/ops.mlir @@ -1,5 +1,8 @@ // RUN: mlir-opt %s | mlir-opt | FileCheck %s +// RUN: mlir-opt %s -canonicalize | FileCheck %s +// CHECK: emitc.include <"test.h"> +// CHECK: emitc.include "test.h" emitc.include <"test.h"> emitc.include "test.h" -- 2.7.4