[Mlir-commits] [mlir] [mlir] Make the ml_program dialect allow all of its operations to be inlined. (PR #85479)
Stella Laurenzo
llvmlistbot at llvm.org
Fri Mar 15 15:36:30 PDT 2024
https://github.com/stellaraccident created https://github.com/llvm/llvm-project/pull/85479
None
>From 0efd79e0d28e54a297686317d36dbc371575a22f Mon Sep 17 00:00:00 2001
From: Stella Laurenzo <stellaraccident at gmail.com>
Date: Fri, 15 Mar 2024 15:30:25 -0700
Subject: [PATCH] [mlir] Make the ml_program dialect allow all of its
operations to be inlined.
---
mlir/lib/Dialect/MLProgram/IR/CMakeLists.txt | 1 +
mlir/lib/Dialect/MLProgram/IR/MLProgramDialect.cpp | 14 +++++++++++++-
2 files changed, 14 insertions(+), 1 deletion(-)
diff --git a/mlir/lib/Dialect/MLProgram/IR/CMakeLists.txt b/mlir/lib/Dialect/MLProgram/IR/CMakeLists.txt
index 90c9c9aa787503..725bb5fd9da9ed 100644
--- a/mlir/lib/Dialect/MLProgram/IR/CMakeLists.txt
+++ b/mlir/lib/Dialect/MLProgram/IR/CMakeLists.txt
@@ -15,5 +15,6 @@ add_mlir_dialect_library(MLIRMLProgramDialect
MLIRControlFlowInterfaces
MLIRFunctionInterfaces
MLIRInferTypeOpInterface
+ MLIRTransforms
MLIRIR
)
diff --git a/mlir/lib/Dialect/MLProgram/IR/MLProgramDialect.cpp b/mlir/lib/Dialect/MLProgram/IR/MLProgramDialect.cpp
index 1a8fe208d4099e..0b186a0d072aa6 100644
--- a/mlir/lib/Dialect/MLProgram/IR/MLProgramDialect.cpp
+++ b/mlir/lib/Dialect/MLProgram/IR/MLProgramDialect.cpp
@@ -8,6 +8,7 @@
#include "mlir/Dialect/MLProgram/IR/MLProgram.h"
#include "mlir/IR/DialectImplementation.h"
+#include "mlir/Transforms/InliningUtils.h"
#include "llvm/ADT/TypeSwitch.h"
using namespace mlir;
@@ -24,6 +25,17 @@ using namespace mlir::ml_program;
#include "mlir/Dialect/MLProgram/IR/MLProgramTypes.cpp.inc"
namespace {
+
+struct MLProgramInlinerInterface : public DialectInlinerInterface {
+ using DialectInlinerInterface::DialectInlinerInterface;
+
+ bool isLegalToInline(Operation *, Region *, bool, IRMapping &) const {
+ // We have no specific opinion on whether ops defined in this dialect should
+ // be inlined.
+ return true;
+ }
+};
+
struct MLProgramOpAsmDialectInterface : public OpAsmDialectInterface {
using OpAsmDialectInterface::OpAsmDialectInterface;
@@ -53,5 +65,5 @@ void ml_program::MLProgramDialect::initialize() {
#include "mlir/Dialect/MLProgram/IR/MLProgramOps.cpp.inc"
>();
- addInterfaces<MLProgramOpAsmDialectInterface>();
+ addInterfaces<MLProgramInlinerInterface, MLProgramOpAsmDialectInterface>();
}
More information about the Mlir-commits
mailing list