[flang-commits] [flang] [flang][FIR] Make fir.type a valid memref element type (PR #199236)
Zhen Wang via flang-commits
flang-commits at lists.llvm.org
Fri May 22 09:57:52 PDT 2026
https://github.com/wangzpgi created https://github.com/llvm/llvm-project/pull/199236
Implement `MemRefElementTypeInterface` on `fir::RecordType` so that `memref<!fir.type<…>>` verifies, enabling downstream passes to use memrefs of Fortran derived types.
>From 8515b711113434b166db5cc6f96f42bf627deb79 Mon Sep 17 00:00:00 2001
From: Zhen Wang <zhenw at nvidia.com>
Date: Tue, 19 May 2026 21:40:59 -0700
Subject: [PATCH] Mark fir.type as a valid memref element type
---
flang/include/flang/Optimizer/Dialect/FIRTypes.td | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/flang/include/flang/Optimizer/Dialect/FIRTypes.td b/flang/include/flang/Optimizer/Dialect/FIRTypes.td
index c58d75851349e..dd7ca8169fd86 100644
--- a/flang/include/flang/Optimizer/Dialect/FIRTypes.td
+++ b/flang/include/flang/Optimizer/Dialect/FIRTypes.td
@@ -14,6 +14,7 @@
#define FIR_DIALECT_FIR_TYPES
include "mlir/IR/AttrTypeBase.td"
+include "mlir/IR/BuiltinTypeInterfaces.td"
include "flang/Optimizer/Dialect/FIRDialect.td"
//===----------------------------------------------------------------------===//
@@ -313,7 +314,7 @@ def fir_PointerType : FIR_Type<"Pointer", "ptr"> {
}];
}
-def fir_RecordType : FIR_Type<"Record", "type"> {
+def fir_RecordType : FIR_Type<"Record", "type", [MemRefElementTypeInterface]> {
let summary = "FIR derived type";
let description = [{
More information about the flang-commits
mailing list