Jean-Didier PAILLEUX 4ba30c6eb6
[flang][Multi-Image] Moving Mutli-image lowering to PRIF into the MIF dialect (#161179)
Support for multi-image features has begun to be integrated into LLVM. A
new dialect which simplifies lowering to PRIF wil be proposed in this
PR.
The initial definition of this dialect (MIF) is based only on operations
already upstreamed in LLVM and the current lowering will be moved to
this dialect.


---------

Co-authored-by: Dan Bonachea <dobonachea@lbl.gov>
Co-authored-by: Valentin Clement (バレンタイン クレメン) <clementval@gmail.com>
2025-10-20 08:00:52 +02:00

39 lines
1.3 KiB
TableGen

//===-- MIFDialect.td - MIF dialect base definitions - tablegen ---------*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//
///
/// \file
/// Definition of the Multi-Image Fortran (MIF) dialect
///
//===----------------------------------------------------------------------===//
#ifndef FORTRAN_DIALECT_MIF_MIFDIALECT
#define FORTRAN_DIALECT_MIF_MIFDIALECT
include "mlir/IR/AttrTypeBase.td"
include "mlir/IR/EnumAttr.td"
include "mlir/IR/OpBase.td"
def MIFDialect : Dialect {
let name = "mif";
let summary = "Multi-Image Fortran dialect";
let description = [{
The "MIF" dialect is designed to contain the basic coarray operations
in Fortran and all multi image operations as descibed in the standard.
This includes synchronization operations, atomic operations,
image queries, teams, criticals, etc. The MIF dialect operations use
the FIR types and are tightly coupled with FIR and HLFIR.
}];
let cppNamespace = "::mif";
let dependentDialects = ["fir::FIROpsDialect"];
}
#endif // FORTRAN_DIALECT_MIF_MIFDIALECT