[flang-commits] [flang] [flang][FIR] Make fir.type a valid memref element type (PR #199236)
via flang-commits
flang-commits at lists.llvm.org
Fri May 22 09:58:29 PDT 2026
llvmorg-github-actions[bot] wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-flang-fir-hlfir
Author: Zhen Wang (wangzpgi)
<details>
<summary>Changes</summary>
Implement `MemRefElementTypeInterface` on `fir::RecordType` so that `memref<!fir.type<…>>` verifies, enabling downstream passes to use memrefs of Fortran derived types.
---
Full diff: https://github.com/llvm/llvm-project/pull/199236.diff
1 Files Affected:
- (modified) flang/include/flang/Optimizer/Dialect/FIRTypes.td (+2-1)
``````````diff
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 = [{
``````````
</details>
https://github.com/llvm/llvm-project/pull/199236
More information about the flang-commits
mailing list