Skip to content

Commit 5cd2d88

Browse files
JDPailleuxJean-Didier PAILLEUX
authored andcommitted
[DRAFT][flang][Coarray] Dialect Coarray operations
1 parent fdf02a9 commit 5cd2d88

3 files changed

Lines changed: 870 additions & 0 deletions

File tree

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
//===-- CoarrayDialect.td - Coarray dialect base definitions - tablegen -*-===//
2+
//
3+
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4+
// See https://llvm.org/LICENSE.txt for license information.
5+
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6+
//
7+
//===----------------------------------------------------------------------===//
8+
///
9+
/// \file
10+
/// Definition of the Coarray dialect
11+
///
12+
//===----------------------------------------------------------------------===//
13+
14+
#ifndef FORTRAN_DIALECT_COARRAY_COARRAYDIALECT
15+
#define FORTRAN_DIALECT_COARRAY_COARRAYDIALECT
16+
17+
include "mlir/IR/AttrTypeBase.td"
18+
include "mlir/IR/EnumAttr.td"
19+
include "mlir/IR/OpBase.td"
20+
21+
def CoarrayDialect : Dialect {
22+
let name = "coarray";
23+
24+
let summary = "Coarray dialect";
25+
26+
let description = [{
27+
The "coarray" dialect is designed to contain the basic coarray operations
28+
in Fortran as descibed in the standard.
29+
This includes synchronization operations, atomic operations,
30+
image queries, teams, criticals, etc. The Coarray dialect operations use
31+
the FIR types and are tightly coupled with FIR and HLFIR.
32+
}];
33+
34+
let cppNamespace = "::coarray";
35+
let dependentDialects = ["fir::FIROpsDialect"];
36+
}
37+
38+
#endif // FORTRAN_DIALECT_COARRAY_COARRAYDIALECT

0 commit comments

Comments
 (0)